@ynput/ayon-frontend-shared 0.3.18 → 0.3.21

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 (821) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +134 -123
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +19 -18
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs14.js +1 -1
  11. package/dist/_virtual/index.cjs22.js +1 -1
  12. package/dist/_virtual/index.cjs23.js +1 -1
  13. package/dist/_virtual/index.cjs24.js +1 -1
  14. package/dist/_virtual/index.cjs9.js +1 -1
  15. package/dist/_virtual/index.es10.js +2 -2
  16. package/dist/_virtual/index.es11.js +2 -2
  17. package/dist/_virtual/index.es13.js +2 -2
  18. package/dist/_virtual/index.es14.js +2 -5
  19. package/dist/_virtual/index.es14.js.map +1 -1
  20. package/dist/_virtual/index.es22.js +3 -3
  21. package/dist/_virtual/index.es23.js +5 -5
  22. package/dist/_virtual/index.es24.js +5 -5
  23. package/dist/_virtual/index.es9.js +5 -2
  24. package/dist/_virtual/index.es9.js.map +1 -1
  25. package/dist/api.cjs.js +1 -1
  26. package/dist/api.es.js +152 -144
  27. package/dist/api.es.js.map +1 -1
  28. package/dist/components.cjs.js +1 -1
  29. package/dist/components.es.js +119 -113
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/index.cjs.js +1 -1
  32. package/dist/index.es.js +15 -11
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js +1 -1
  35. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js.map +1 -1
  36. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +1 -1
  37. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
  38. package/dist/node_modules/graphql/language/parser.cjs.js +1 -1
  39. package/dist/node_modules/graphql/language/parser.cjs.js.map +1 -1
  40. package/dist/node_modules/graphql/language/parser.es.js +2 -4
  41. package/dist/node_modules/graphql/language/parser.es.js.map +1 -1
  42. package/dist/node_modules/graphql-request/build/legacy/helpers/runRequest.cjs.js +1 -1
  43. package/dist/node_modules/graphql-request/build/legacy/helpers/runRequest.cjs.js.map +1 -1
  44. package/dist/node_modules/graphql-request/build/legacy/helpers/runRequest.es.js +33 -35
  45. package/dist/node_modules/graphql-request/build/legacy/helpers/runRequest.es.js.map +1 -1
  46. package/dist/node_modules/immer/dist/immer.es.js +1 -1
  47. package/dist/node_modules/immer/dist/immer.es.js.map +1 -1
  48. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +2 -2
  49. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +1 -1
  50. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +1 -1
  51. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +1 -1
  52. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  53. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  54. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  55. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  56. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  57. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  58. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +2 -2
  60. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js.map +1 -1
  61. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  62. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  63. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  64. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  65. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  70. package/dist/shared/node_modules/react-is/cjs/react-is.development.es.js +1 -1
  71. package/dist/shared/node_modules/react-is/cjs/react-is.development.es.js.map +1 -1
  72. package/dist/shared/node_modules/react-is/cjs/react-is.production.min.es.js +1 -1
  73. package/dist/shared/node_modules/react-is/cjs/react-is.production.min.es.js.map +1 -1
  74. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  75. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  76. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  77. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  78. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  79. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  80. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  81. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  82. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  83. package/dist/shared/src/api/base/client.cjs.js +1 -1
  84. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  85. package/dist/shared/src/api/base/client.es.js +0 -1
  86. package/dist/shared/src/api/base/client.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/activityFeed.cjs.js.map +1 -1
  88. package/dist/shared/src/api/generated/activityFeed.es.js.map +1 -1
  89. package/dist/shared/src/api/generated/graphql.cjs.js +6 -3
  90. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  91. package/dist/shared/src/api/generated/graphql.es.js +3 -0
  92. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/activities/getMentions.es.js +7 -6
  96. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +3 -2
  100. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  102. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  104. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/overview/getOverview.es.js +207 -189
  108. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/overview/updateOverview.es.js +7 -6
  112. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/teams/getTeams.cjs.js +2 -0
  114. package/dist/shared/src/api/queries/teams/getTeams.cjs.js.map +1 -0
  115. package/dist/shared/src/api/queries/teams/getTeams.es.js +90 -0
  116. package/dist/shared/src/api/queries/teams/getTeams.es.js.map +1 -0
  117. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  118. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  120. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  121. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  122. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  123. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +3 -2
  124. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  125. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  126. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  127. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  128. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  129. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  130. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  131. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  132. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  133. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  134. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  135. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  136. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  137. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  138. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  139. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  140. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  141. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  142. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  143. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  144. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  145. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  146. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  147. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +61 -57
  148. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  149. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  150. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  151. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +298 -33
  152. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  153. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +1 -1
  154. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  155. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +50 -44
  156. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  157. package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js +1 -1
  158. package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js.map +1 -1
  159. package/dist/shared/src/components/EnumEditor/EnumEditor.es.js +68 -55
  160. package/dist/shared/src/components/EnumEditor/EnumEditor.es.js.map +1 -1
  161. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js +1 -1
  162. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
  163. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js +146 -122
  164. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
  165. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js +1 -1
  166. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js.map +1 -1
  167. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js +45 -37
  168. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js.map +1 -1
  169. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  170. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  171. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  172. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  173. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  174. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  175. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
  176. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  177. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  178. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  179. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  180. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  181. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  182. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  183. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -3
  184. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  185. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  186. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  187. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
  188. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  189. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  190. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  191. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +8 -4
  192. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  193. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  194. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  195. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +54 -50
  196. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  197. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  198. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  199. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +8 -4
  200. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  201. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  202. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  203. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +7 -3
  204. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  205. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  206. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  207. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +54 -50
  208. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  209. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  210. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  211. package/dist/shared/src/components/RenameForm/RenameForm.es.js +54 -50
  212. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  213. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  214. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  216. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  217. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  218. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  219. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -4
  220. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  221. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  222. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  223. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +9 -5
  224. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  225. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  226. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  227. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -4
  228. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  229. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  230. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  231. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +64 -59
  232. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  233. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
  234. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
  235. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +8 -4
  236. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
  237. package/dist/shared/src/components/SearchFilter/filterDates.cjs.js +1 -1
  238. package/dist/shared/src/components/SearchFilter/filterDates.cjs.js.map +1 -1
  239. package/dist/shared/src/components/SearchFilter/filterDates.es.js +147 -54
  240. package/dist/shared/src/components/SearchFilter/filterDates.es.js.map +1 -1
  241. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  242. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  243. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +316 -263
  244. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  245. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +3 -2
  246. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  247. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +8 -6
  248. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  249. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +12 -12
  250. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  251. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +344 -80
  252. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  253. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  254. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  255. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -4
  256. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  257. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  258. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  259. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +3 -2
  260. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  261. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  262. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  263. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -4
  264. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  265. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  266. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  267. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +268 -96
  268. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  269. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  270. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  271. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  272. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  273. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  274. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
  276. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  277. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  278. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  280. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  281. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  282. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
  284. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  285. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +1 -1
  286. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +33 -32
  288. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  289. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +8 -4
  292. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  293. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  294. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -4
  296. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  297. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  298. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +8 -4
  300. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  301. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  302. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -4
  304. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  305. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  306. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  308. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  309. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  310. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -17
  312. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  313. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  314. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -4
  316. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  317. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  318. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +57 -53
  320. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  322. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +3 -2
  324. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  326. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  328. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  329. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  330. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +8 -4
  332. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  333. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  334. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -4
  336. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  337. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  338. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -4
  340. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  341. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  342. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -4
  344. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  345. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  346. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  348. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  350. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/Feed.es.js +49 -48
  352. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  353. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  354. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
  356. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  357. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  358. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +121 -112
  360. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  361. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +11 -6
  362. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +13 -8
  364. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  366. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +8 -4
  368. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
  370. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +65 -52
  372. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  374. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +10 -10
  376. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.cjs.js +1 -1
  378. package/dist/shared/src/containers/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.es.js +16 -14
  380. package/dist/shared/src/containers/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.es.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  382. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +313 -300
  384. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +5 -3
  386. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +2 -0
  388. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/components/CommentInput/InputMarkdownConvert.cjs.js +3 -3
  390. package/dist/shared/src/containers/Feed/components/CommentInput/InputMarkdownConvert.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/components/CommentInput/InputMarkdownConvert.es.js +39 -35
  392. package/dist/shared/src/containers/Feed/components/CommentInput/InputMarkdownConvert.es.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  394. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +306 -39
  396. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  397. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.cjs.js +7 -11
  398. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.es.js +27 -30
  400. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.es.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.cjs.js +1 -1
  402. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.es.js +64 -41
  404. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.es.js.map +1 -1
  405. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.cjs.js +37 -8
  406. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.es.js +42 -11
  408. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.es.js.map +1 -1
  409. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  410. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +56 -52
  412. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +2 -0
  414. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -0
  415. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +134 -0
  416. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -0
  417. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js +42 -0
  418. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js.map +1 -0
  419. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.es.js +52 -0
  420. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.es.js.map +1 -0
  421. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.cjs.js +1 -1
  422. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.es.js +5 -12
  424. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.es.js.map +1 -1
  425. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js +1 -8
  426. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js +4 -12
  428. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js.map +1 -1
  429. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltipItem.cjs.js +27 -0
  430. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltipItem.cjs.js.map +1 -0
  431. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltipItem.es.js +39 -0
  432. package/dist/shared/src/containers/Feed/components/Tooltips/UserTooltipItem.es.js.map +1 -0
  433. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  434. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +57 -49
  436. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  438. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  440. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionOptions.cjs.js +1 -1
  442. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionOptions.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionOptions.es.js +25 -12
  444. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionOptions.es.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js +1 -1
  446. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js +19 -8
  448. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +464 -456
  452. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +85 -80
  456. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +52 -48
  460. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
  462. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +104 -100
  464. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -4
  468. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +114 -110
  472. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +5 -4
  476. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  480. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +120 -109
  486. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +89 -85
  490. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +170 -165
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +280 -225
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +107 -103
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +107 -103
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +101 -97
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +145 -143
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +121 -111
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +131 -110
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +103 -99
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +7 -3
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +7 -3
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +137 -131
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +103 -98
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +110 -106
  546. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +53 -51
  550. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.cjs.js +2 -0
  552. package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.cjs.js.map +1 -0
  553. package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.es.js +28 -0
  554. package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.es.js.map +1 -0
  555. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +379 -52
  558. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +39 -36
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -6
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +98 -94
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -4
  576. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +2 -2
  578. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -3
  580. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  581. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  582. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +51 -47
  584. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  585. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  586. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -4
  588. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  589. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  590. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
  592. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  593. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  594. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +5 -4
  596. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  597. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  598. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +3 -2
  600. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  601. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  602. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +54 -50
  604. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  605. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
  606. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +3 -2
  608. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
  609. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  610. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +3 -2
  612. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  613. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  614. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +3 -2
  616. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  617. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  618. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  620. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  621. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  622. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +57 -53
  624. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  625. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  626. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +27 -26
  628. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  629. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  630. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +3 -2
  632. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  633. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  634. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +6 -5
  636. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  637. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  638. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  640. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  641. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  642. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +11 -10
  644. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  645. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  646. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  647. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  648. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  649. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  650. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  651. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  652. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  653. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  654. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  655. package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
  656. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  657. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  658. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  659. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  660. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  661. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  662. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  663. package/dist/shared/src/context/PowerpackContext.es.js +7 -6
  664. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  665. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  666. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  667. package/dist/shared/src/context/ProjectContext.es.js +5 -4
  668. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  669. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  670. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  671. package/dist/shared/src/context/ProjectFoldersContext.es.js +5 -4
  672. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  673. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  674. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  675. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  676. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  677. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  678. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  679. package/dist/shared/src/context/SubtasksModulesContext.es.js +5 -4
  680. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  681. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  682. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  683. package/dist/shared/src/context/UriContext.es.js +6 -5
  684. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  685. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  686. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  687. package/dist/shared/src/context/WebsocketContext.es.js +10 -6
  688. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  689. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  690. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  691. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  692. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  693. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  694. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  695. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  696. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  697. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  698. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  699. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  700. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  701. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  702. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  703. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +3 -2
  704. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  705. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  706. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  707. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  708. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  709. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  710. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  711. package/dist/shared/src/hooks/useScopedTypes.es.js +3 -2
  712. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  713. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  714. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  715. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  716. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  717. package/dist/shared/src/util/checkName.cjs.js +1 -1
  718. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  719. package/dist/shared/src/util/checkName.es.js +0 -1
  720. package/dist/shared/src/util/checkName.es.js.map +1 -1
  721. package/dist/types/api/generated/activityFeed.d.ts +8 -0
  722. package/dist/types/api/generated/graphql.d.ts +11 -3
  723. package/dist/types/api/queries/index.d.ts +1 -0
  724. package/dist/types/api/queries/teams/getTeams.d.ts +994 -0
  725. package/dist/types/api/queries/teams/index.d.ts +1 -0
  726. package/dist/types/components/AccessSearchInput/AccessSearchInput.styled.d.ts +2 -2
  727. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -1
  728. package/dist/types/components/Badge/Badge.d.ts +1 -1
  729. package/dist/types/components/DateRangePicker/DateRangePicker.styled.d.ts +15 -9
  730. package/dist/types/components/DetailsPanelDetails/DescriptionSection.styles.d.ts +10 -10
  731. package/dist/types/components/EmptyPlaceholder/EmptyPlaceholder.d.ts +1 -1
  732. package/dist/types/components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.d.ts +2 -2
  733. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.styled.d.ts +8 -6
  734. package/dist/types/components/EntityPath/EntityPath.styled.d.ts +8 -8
  735. package/dist/types/components/EnumEditor/DraggableEnumEditorItem.d.ts +12 -3
  736. package/dist/types/components/EnumEditor/EnumEditor.d.ts +10 -3
  737. package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +30 -16
  738. package/dist/types/components/EnumEditor/EnumEditorItem.d.ts +21 -2
  739. package/dist/types/components/EnumEditor/hooks/useDraggable.d.ts +2 -1
  740. package/dist/types/components/LinksManager/LinksManager.styled.d.ts +25 -17
  741. package/dist/types/components/Menu/Menu.styled.d.ts +8 -8
  742. package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +9 -5
  743. package/dist/types/components/ProjectTableSettings/TableSettings.styled.d.ts +1 -1
  744. package/dist/types/components/QuillListStyles/QuillListStyles.d.ts +1 -1
  745. package/dist/types/components/ReviewableCard/ReviewableCard.styled.d.ts +10 -6
  746. package/dist/types/components/ReviewableProgressCard/ReviewableProgressCard.styled.d.ts +3 -3
  747. package/dist/types/components/ReviewablesList/ReviewablesList.styled.d.ts +3 -3
  748. package/dist/types/components/ReviewablesList/ReviewablesUpload.styled.d.ts +3 -3
  749. package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +1 -0
  750. package/dist/types/components/ReviewablesSelector/ReviewablesSelector.styled.d.ts +7 -5
  751. package/dist/types/components/SearchFilter/filterDates.d.ts +23 -1
  752. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  753. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +3 -1
  754. package/dist/types/components/StyledLink/StyledLink.d.ts +1 -1
  755. package/dist/types/components/TableGridSwitch/TableGridSwitch.styled.d.ts +4 -2
  756. package/dist/types/components/Thumbnail/Thumbnail.styled.d.ts +2 -2
  757. package/dist/types/components/index.d.ts +0 -1
  758. package/dist/types/containers/Actions/Actions.styled.d.ts +4 -2
  759. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +5 -3
  760. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -0
  761. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +11 -5
  762. package/dist/types/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.d.ts +7 -7
  763. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +25 -15
  764. package/dist/types/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.d.ts +1 -1
  765. package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.d.ts +3 -1
  766. package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +15 -9
  767. package/dist/types/containers/Feed/Feed.styled.d.ts +5 -5
  768. package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.d.ts +3 -3
  769. package/dist/types/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.d.ts +1 -1
  770. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.styled.d.ts +14 -12
  771. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +2 -1
  772. package/dist/types/containers/Feed/components/ActivityGroup/ActivityGroup.styled.d.ts +2 -2
  773. package/dist/types/containers/Feed/components/ActivityHeader/ActivityHeader.styled.d.ts +4 -4
  774. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +6 -2
  775. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.d.ts +3 -3
  776. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +7 -7
  777. package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +7 -7
  778. package/dist/types/containers/Feed/components/CommentInput/InputMarkdownConvert.d.ts +1 -0
  779. package/dist/types/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.d.ts +4 -1
  780. package/dist/types/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.d.ts +8 -6
  781. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.styled.d.ts +8 -6
  782. package/dist/types/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +5 -3
  783. package/dist/types/containers/Feed/components/FilesGrid/FilesGrid.styled.d.ts +1 -1
  784. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.styled.d.ts +6 -6
  785. package/dist/types/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.d.ts +3 -1
  786. package/dist/types/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.d.ts +9 -0
  787. package/dist/types/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.d.ts +16 -0
  788. package/dist/types/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.d.ts +1 -2
  789. package/dist/types/containers/Feed/components/Tooltips/UserTooltipItem.d.ts +10 -0
  790. package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -0
  791. package/dist/types/containers/Feed/mentionHelpers/getMentionOptions.d.ts +15 -0
  792. package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +2 -2
  793. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +15 -13
  794. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +2 -1
  795. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -0
  796. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +10 -1
  797. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +3 -1
  798. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  799. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +4 -0
  800. package/dist/types/containers/ProjectTreeTable/utils/expandRelativeDates.d.ts +23 -0
  801. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  802. package/dist/types/containers/ProjectTreeTable/widgets/EnumWidget.d.ts +1 -1
  803. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +1 -1
  804. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +15 -14
  805. package/dist/types/containers/SimpleTable/SimpleTable.styled.d.ts +10 -6
  806. package/dist/types/containers/Views/ViewItem/ViewItem.styled.d.ts +4 -2
  807. package/dist/types/containers/Views/Views.styled.d.ts +9 -5
  808. package/dist/types/containers/Views/ViewsMenu/SectionHeader.styled.d.ts +1 -1
  809. package/dist/types/containers/Views/ViewsMenu/ViewsMenu.styled.d.ts +4 -4
  810. package/package.json +43 -43
  811. package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js +0 -2
  812. package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js.map +0 -1
  813. package/dist/shared/src/components/SortingSetting/SortingSetting.es.js +0 -10
  814. package/dist/shared/src/components/SortingSetting/SortingSetting.es.js.map +0 -1
  815. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js +0 -43
  816. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js.map +0 -1
  817. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js +0 -51
  818. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js.map +0 -1
  819. package/dist/types/components/SortingSetting/SortingSetting.d.ts +0 -6
  820. package/dist/types/components/SortingSetting/SortingSetting.styled.d.ts +0 -3
  821. package/dist/types/components/SortingSetting/index.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CommentInput.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.tsx"],"sourcesContent":["// React and related hooks\nimport React, { FC, useEffect, useMemo, useRef, useState } from 'react'\n\n// Third-party libraries\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport ReactQuill, { Quill } from 'react-quill-ayon'\n\n// Components\nimport { Button, Icon, SaveButton } from '@ynput/ayon-react-components'\nimport CommentMentionSelect from '../CommentMentionSelect/CommentMentionSelect'\nimport InputMarkdownConvert from './InputMarkdownConvert'\nimport FilesGrid from '../FilesGrid'\n\n// Styled components\nimport * as Styled from './CommentInput.styled'\nimport { QuillListStyles } from '../../../../components/QuillListStyles'\n\n// Helpers and utilities\nimport getMentionOptions from '../../mentionHelpers/getMentionOptions'\nimport getMentionUsers from '../../mentionHelpers/getMentionUsers'\nimport getMentionTasks from '../../mentionHelpers/getMentionTasks'\nimport getMentionVersions from '../../mentionHelpers/getMentionVersions'\nimport { convertToMarkdown } from './quillToMarkdown'\nimport { handleFileDrop, parseImages, typeWithDelay } from './helpers'\nimport { getModules, quillFormats } from './modules'\n\n// Hooks\nimport useInitialValue from './hooks/useInitialValue'\nimport useSetCursorEnd from './hooks/useSetCursorEnd'\nimport useMentionLink from './hooks/useMentionLink'\nimport useAnnotationsSync from './hooks/useAnnotationsSync'\nimport { useBlendedCategoryColor } from './hooks/useBlendedCategoryColor'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { ActivityCategorySelect, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { useProjectContext } from '@shared/context'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n data?: any\n onSubmit: (markdown: string, files: any[], data?: any) => Promise<void>\n isEditing?: boolean\n disabled?: boolean\n isLoading?: boolean\n isOpen: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CommentInput: FC<CommentInputProps> = ({\n initValue,\n initFiles = [],\n initCategory = null,\n data = {},\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n feedFilter,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isAdmin = user?.data?.isAdmin\n\n const project = useProjectContext()\n\n const {\n users: mentionUsers,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: feedFilter,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers),\n '@@': () => getMentionVersions(mentionVersions, project),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mention?.search,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mention?.type, mention?.search],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n const href = `${type?.id}:${selectedOption.id}` // the href of the mention: user:user.123\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n setMention(null)\n setMentionSelectedIndex(0)\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n setMention(null)\n setMentionSelectedIndex(0)\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n setMention(null)\n setMentionSelectedIndex(0)\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const newFile = {\n id: data.id,\n name: file.name,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) => prev.filter((uploading: any) => uploading.name !== file.name))\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => file.name !== name)\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const uploadProgress = {\n name: file.name,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => name.name !== file.name)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] | undefined = undefined\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n // get current files data\n const { annotations: annotationsData = [] } = data || {}\n // merge existing annotations data with new metadata\n annotationMetadata = [...annotationsData, ...metadata]\n }\n\n // convert to markdown\n const [markdown] = convertToMarkdown(editorValue)\n\n // remove img query params\n const markdownParsed = parseImages(markdown)\n\n const uploadedFiles = [...files, ...annotationFiles]\n\n const newData = {\n ...data,\n annotations: annotationMetadata, // could be undefined\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n }\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, newData)\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isAdmin })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && mention?.search}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","data","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","feedFilter","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isAdmin","project","useProjectContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","href","startIndex","endIndex","handleSelectChange","option","handleChange","content","delta","_","editor","currentCharacter","tabOrEnter","isDelete","mentionIndex","op","retain","mentionMatch","chars","isMatch","i","char","indexInDelta","distanceMentionToRetain","mentionFull","mentionSearch","currentSelection","lineBlock","lastMentionOp","mentionLength","addTextToEditor","type","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","annotationsData","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","newData","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"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"}
1
+ {"version":3,"file":"CommentInput.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.tsx"],"sourcesContent":["// React and related hooks\nimport React, { FC, useEffect, useMemo, useRef, useState } from 'react'\n\n// Third-party libraries\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport ReactQuill, { Quill } from 'react-quill-ayon'\n\n// Components\nimport { Button, Icon, SaveButton } from '@ynput/ayon-react-components'\nimport CommentMentionSelect from '../CommentMentionSelect/CommentMentionSelect'\nimport InputMarkdownConvert from './InputMarkdownConvert'\nimport FilesGrid from '../FilesGrid'\n\n// Styled components\nimport * as Styled from './CommentInput.styled'\nimport { QuillListStyles } from '../../../../components/QuillListStyles'\n\n// Helpers and utilities\nimport getMentionOptions from '../../mentionHelpers/getMentionOptions'\nimport getMentionUsers from '../../mentionHelpers/getMentionUsers'\nimport getMentionTasks from '../../mentionHelpers/getMentionTasks'\nimport getMentionVersions from '../../mentionHelpers/getMentionVersions'\nimport { convertToMarkdown } from './quillToMarkdown'\nimport { handleFileDrop, parseImages, typeWithDelay } from './helpers'\nimport { getModules, quillFormats } from './modules'\n\n// Hooks\nimport useInitialValue from './hooks/useInitialValue'\nimport useSetCursorEnd from './hooks/useSetCursorEnd'\nimport useMentionLink from './hooks/useMentionLink'\nimport useAnnotationsSync from './hooks/useAnnotationsSync'\nimport { useBlendedCategoryColor } from './hooks/useBlendedCategoryColor'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { ActivityCategorySelect, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { useProjectContext } from '@shared/context'\nimport { parseFilename } from '@shared/components'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n data?: any\n onSubmit: (markdown: string, files: any[], data?: any) => Promise<void>\n isEditing?: boolean\n disabled?: boolean\n isLoading?: boolean\n isOpen: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CommentInput: FC<CommentInputProps> = ({\n initValue,\n initFiles = [],\n initCategory = null,\n data = {},\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n feedFilter,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isAdmin = user?.data?.isAdmin\n\n const project = useProjectContext()\n\n const {\n users: mentionUsers,\n teams: mentionTeams,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // Prefix filter for mentions (e.g. 'team:' or 'user:')\n const [mentionPrefix, setMentionPrefix] = useState('')\n\n const clearMention = () => {\n setMention(null)\n setMentionSelectedIndex(0)\n setMentionPrefix('')\n }\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: feedFilter,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n // Combine prefix filter with typed search for options filtering\n const mentionSearchWithPrefix = mentionPrefix + (mention?.search || '')\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers, mentionTeams),\n '@@': () => getMentionVersions(mentionVersions, project),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mentionSearchWithPrefix || undefined,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mentionTeams, mention?.type, mentionSearchWithPrefix],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n // Use the option's own type (e.g. 'team') if available, otherwise fall back to the mention type config\n const refType = selectedOption.type || type?.id\n const href = `${refType}:${selectedOption.id}` // the href of the mention: user:user.123 or team:Thunder boys\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n clearMention()\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n clearMention()\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n clearMention()\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n clearMention()\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const fileName = parseFilename(file.name)\n const newFile = {\n id: data.id,\n name: fileName,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) =>\n prev.filter((uploading: any) => parseFilename(uploading.name) !== fileName),\n )\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => parseFilename(file.name) !== parseFilename(name))\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const fileName = parseFilename(file.name)\n const uploadProgress = {\n name: fileName,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => parseFilename(name.name) !== fileName)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] | undefined = undefined\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n // get current files data\n const { annotations: annotationsData = [] } = data || {}\n // merge existing annotations data with new metadata\n annotationMetadata = [...annotationsData, ...metadata]\n }\n\n // convert to markdown\n const [markdown] = convertToMarkdown(editorValue)\n\n // remove img query params\n const markdownParsed = parseImages(markdown)\n\n const uploadedFiles = [...files, ...annotationFiles]\n\n const newData = {\n ...data,\n annotations: annotationMetadata, // could be undefined\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n }\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, newData)\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n clearMention()\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isAdmin })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n onPrefixFilter={(prefix) => {\n setMentionPrefix(prefix)\n setMentionSelectedIndex(0)\n }}\n activePrefix={mentionPrefix ? mentionPrefix.replace(':', '') : undefined}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && (mention?.search || mentionPrefix)}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search && !mentionPrefix}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","data","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","feedFilter","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isAdmin","project","useProjectContext","mentionUsers","mentionTeams","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","mentionPrefix","setMentionPrefix","clearMention","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionSearchWithPrefix","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","type","href","startIndex","endIndex","handleSelectChange","option","handleChange","content","delta","_","editor","currentCharacter","tabOrEnter","isDelete","mentionIndex","op","retain","mentionMatch","chars","isMatch","i","char","indexInDelta","distanceMentionToRetain","mentionFull","mentionSearch","currentSelection","lineBlock","lastMentionOp","mentionLength","addTextToEditor","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","fileName","parseFilename","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","annotationsData","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","newData","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect","prefix"],"mappings":"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"}
@@ -85,6 +85,7 @@
85
85
  border-radius: var(--border-radius-m);
86
86
  user-select: none;
87
87
  padding: 0 4px;
88
+ margin-right: -2px;
88
89
  /* remove underline */
89
90
  text-decoration: none;
90
91
 
@@ -366,6 +367,7 @@
366
367
 
367
368
  .ql-editor {
368
369
  padding: 8px;
370
+ padding-top: 0px;
369
371
  }
370
372
  }
371
373
  }
@@ -400,7 +402,7 @@
400
402
  `,c=o.div`
401
403
  position: fixed;
402
404
  visibility: hidden;
403
- `,u=o.div`
405
+ `,p=o.div`
404
406
  position: absolute;
405
407
  inset: 0;
406
408
  user-select: none;
@@ -424,10 +426,10 @@
424
426
  .icon {
425
427
  font-size: 40px;
426
428
  }
427
- `,b=o.span`
429
+ `,u=o.span`
428
430
  padding: 12px 15px;
429
431
  /* italic */
430
432
  font-style: italic;
431
433
  opacity: 0.4;
432
- `;exports.AutoHeight=a;exports.Buttons=d;exports.Comment=s;exports.Dropzone=u;exports.Footer=l;exports.Markdown=c;exports.Placeholder=b;exports.categoryColorCss=e;
434
+ `;exports.AutoHeight=a;exports.Buttons=d;exports.Comment=s;exports.Dropzone=p;exports.Footer=l;exports.Markdown=c;exports.Placeholder=u;exports.categoryColorCss=e;
433
435
  //# sourceMappingURL=CommentInput.styled.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentInput.styled.cjs.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { getTextColor } from '@ynput/ayon-react-components'\n\nexport const AutoHeight = styled.div`\n /* use grid tick for auto height transition */\n display: grid;\n height: 100%;\n /* transition: translate 0.1s, margin-top 0.1s; */\n position: relative;\n\n /* when closed default */\n translate: 0 50px;\n margin-top: -50px;\n\n /* when open */\n &.isOpen {\n translate: 0 0;\n margin-top: 0;\n }\n\n padding: 0 4px 4px 4px;\n /* when editing */\n &.isEditing {\n padding: 0;\n }\n`\n\nexport type CommentProps = {\n $categoryPrimary?: string\n $categorySecondary?: string\n $categoryTertiary?: string\n}\n\n// Reusable function for category color CSS\nexport const categoryColorCss = (\n $categoryPrimary?: string,\n $categorySecondary?: string,\n $categoryTertiary?: string,\n) =>\n $categoryPrimary &&\n css`\n --background-color: ${$categoryTertiary};\n --button-color: ${$categoryPrimary};\n --button-color-secondary: ${$categorySecondary};\n --button-text-color: ${getTextColor($categoryPrimary)};\n --border-color: ${$categoryPrimary};\n `\n\nexport const Comment = styled.div<CommentProps>`\n /* VARS */\n --background-color: var(--md-sys-color-surface-container);\n --button-color: var(--md-sys-color-primary);\n --button-color-secondary: var(--md-sys-color-surface-container-highest);\n --button-text-color: var(--md-sys-color-on-primary);\n --border-color: var(--md-sys-color-outline-variant);\n\n &.category {\n /* CATEGORY */\n ${({ $categoryPrimary, $categorySecondary, $categoryTertiary }) =>\n categoryColorCss($categoryPrimary, $categorySecondary, $categoryTertiary)}\n button.comment {\n &:hover {\n background-color: var(--button-color);\n filter: brightness(1.2);\n }\n }\n }\n\n display: flex;\n flex-direction: column;\n position: relative;\n\n background-color: var(--background-color);\n border: 1px solid var(--border-color);\n &.isDropping.isOpen {\n border-color: var(--md-sys-color-primary);\n }\n\n border-radius: var(--border-radius-l);\n overflow: hidden;\n transition: opacity 250ms 250ms, background-color 250ms, border-color 250ms;\n\n &.isOpen {\n /* box shadow */\n box-shadow: 0 -3px 10px 0 rgba(0, 0, 0, 0.2);\n\n .quill {\n background-color: var(--background-color);\n }\n }\n\n .ql-editor.ql-blank::before {\n color: var(--md-sys-color-on-surface);\n opacity: 0.25;\n }\n\n .ql-editor {\n ol {\n padding-left: 0;\n }\n }\n\n /* custom mention styles */\n .ql-editor {\n .mention {\n border-radius: var(--border-radius-m);\n user-select: none;\n padding: 0 4px;\n /* remove underline */\n text-decoration: none;\n\n white-space: nowrap;\n cursor: pointer;\n\n color: var(--button-color);\n background-color: var(--button-color-secondary);\n\n &:hover {\n background-color: color-mix(in srgb, var(--button-color-secondary) 85%, white);\n }\n &:active {\n background-color: color-mix(in srgb, var(--button-color-secondary) 70%, white);\n }\n }\n }\n\n /* container styles reset */\n .ql-container.ql-snow {\n border: none;\n /* takes into account the top toolbar */\n height: calc(100% - 41px);\n\n .ql-editor {\n max-height: 259px !important;\n\n /* code block */\n .ql-code-block-container {\n background-color: var(--md-sys-color-surface-container-lowest);\n padding: var(--padding-m);\n border-radius: var(--border-radius-m);\n }\n\n .ql-code-block-container .ql-code-block,\n .ql-code-block-container .ql-code-block *,\n .ql-code-block-container * {\n font-family: monospace;\n font-size: var(--md-sys-typescale-body-small-font-size);\n }\n\n a {\n &::before,\n &::after {\n display: none;\n }\n\n color: var(--md-sys-color-primary);\n }\n\n a[href^='@'] {\n text-decoration: none;\n color: var(--md-sys-color-primary);\n }\n\n strong {\n em,\n u {\n font-weight: 800;\n }\n }\n }\n\n /* link popup */\n .ql-tooltip {\n &.ql-hidden {\n display: none;\n }\n\n left: 1px !important;\n top: -29px !important;\n\n width: 100%;\n\n box-shadow: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n border-color: var(--md-sys-color-surface-container-low);\n border-radius: var(--border-radius-l);\n padding: 4px;\n overflow: hidden;\n\n display: flex;\n align-items: center;\n\n .ql-preview {\n flex: 1;\n max-width: unset;\n }\n\n input {\n flex: 1;\n border: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n &:focus-visible {\n outline: none;\n }\n }\n\n a {\n color: var(--md-sys-color-primary);\n }\n\n /* remove before text */\n /* remove save button */\n &::before,\n .ql-action {\n display: none;\n }\n\n .ql-remove {\n color: var(--md-sys-color-on-surface-variant);\n margin-right: 4px;\n }\n }\n }\n\n /* CLOSED */\n &.isClosed {\n cursor: pointer;\n .ql-editor > * {\n cursor: pointer !important;\n }\n &:hover:not(.disabled) {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n .ql-container.ql-snow {\n padding-bottom: 0;\n height: 44px;\n\n .ql-editor {\n overflow: hidden;\n }\n }\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n height: 0;\n padding: 0;\n margin: 0;\n border-width: 0;\n opacity: 0;\n pointer-events: none;\n overflow: hidden;\n }\n }\n\n &.disabled {\n cursor: default;\n pointer-events: none;\n user-select: none;\n border-color: var(--md-sys-color-surface-container-lowest);\n background-color: var(--md-sys-color-surface-container-lowest);\n }\n\n &.isLoading,\n &.isSubmitting {\n cursor: default;\n pointer-events: none;\n user-select: none;\n }\n\n &.isSubmitting {\n opacity: 0.3;\n }\n\n /* toolbar styles */\n .ql-toolbar.ql-snow {\n border: none;\n background-color: var(--background-color);\n border-bottom: 1px solid var(--md-sys-color-surface-container-hover);\n padding: var(--padding-s);\n display: flex;\n justify-content: flex-end;\n height: unset;\n width: unset;\n\n .ql-formats {\n height: 32px;\n margin-left: 8px;\n margin-right: 0;\n padding-left: 8px;\n border-left: 1px solid var(--md-sys-color-surface-container-hover);\n display: flex;\n gap: 2px;\n\n button {\n float: none;\n padding: 6px;\n border-radius: var(--border-radius-m);\n height: 32px;\n width: 32px;\n\n /* highlight when action */\n &.ql-active {\n background-color: var(--button-color-secondary);\n .icon {\n color: var(--button-color);\n }\n }\n }\n }\n\n button:hover {\n background-color: var(--button-color-secondary);\n }\n\n /* container queries to hide buttons as the width gets smaller */\n container-type: inline-size;\n container-name: format-buttons;\n\n @container format-buttons (max-width: 432px) {\n /* hide first button */\n .ql-formats:first-child {\n button:first-child {\n display: none;\n }\n }\n }\n\n @container format-buttons (max-width: 400px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(2) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 368px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(3) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 336px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(4) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 304px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n display: none;\n button:nth-child(5) {\n display: none;\n }\n }\n }\n\n /* it should never get this small but if it does: hide all list options */\n @container format-buttons (max-width: 250px) {\n /* hide first two buttons */\n .ql-formats:nth-child(2) {\n display: none;\n }\n }\n }\n\n /* EDITING */\n &.isEditing {\n /* remove box shadow */\n box-shadow: none;\n /* remove outline */\n outline: none;\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n display: none;\n }\n\n .ql-container.ql-snow {\n height: 100%;\n\n .ql-editor {\n padding: 8px;\n }\n }\n }\n`\n\nexport const Footer = styled.footer`\n display: flex;\n justify-content: space-between;\n padding: var(--padding-m);\n border-top: 1px solid var(--md-sys-color-surface-container-hover);\n background-color: var(--background-color);\n z-index: 100;\n\n /* remove save button icon */\n .comment {\n min-width: 75px;\n .icon {\n display: none;\n }\n background-color: var(--button-color);\n color: var(--button-text-color);\n }\n`\n\nexport const Buttons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n button {\n &.text {\n &:hover {\n background-color: var(--button-color-secondary);\n }\n }\n }\n`\n\nexport const Markdown = styled.div`\n position: fixed;\n visibility: hidden;\n`\n\nexport const Dropzone = styled.div`\n position: absolute;\n inset: 0;\n user-select: none;\n pointer-events: none;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n opacity: 0;\n transition: opacity 0.2s;\n\n &.show {\n opacity: 1;\n }\n\n background-color: rgba(0, 0, 0, 0.5);\n\n z-index: 300;\n\n .icon {\n font-size: 40px;\n }\n`\n\nexport const Placeholder = styled.span`\n padding: 12px 15px;\n /* italic */\n font-style: italic;\n opacity: 0.4;\n`\n"],"names":["AutoHeight","styled","categoryColorCss","$categoryPrimary","$categorySecondary","$categoryTertiary","css","getTextColor","Comment","Footer","Buttons","Markdown","Dropzone","Placeholder"],"mappings":"+JAGaA,EAAaC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BpBC,EAAmB,CAC9BC,EACAC,EACAC,IAEAF,GACAG,EAAAA;AAAAA,0BACwBD,CAAiB;AAAA,sBACrBF,CAAgB;AAAA,gCACNC,CAAkB;AAAA,2BACvBG,EAAAA,aAAaJ,CAAgB,CAAC;AAAA,sBACnCA,CAAgB;AAAA,IAGzBK,EAAUP,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAUxB,CAAC,CAAE,iBAAAE,EAAkB,mBAAAC,EAAoB,kBAAAC,CAAA,IACzCH,EAAiBC,EAAkBC,EAAoBC,CAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+UlEI,EAASR,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBhBS,EAAUT,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAajBU,EAAWV,EAAO;AAAA;AAAA;AAAA,EAKlBW,EAAWX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BlBY,EAAcZ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"CommentInput.styled.cjs.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { getTextColor } from '@ynput/ayon-react-components'\n\nexport const AutoHeight = styled.div`\n /* use grid tick for auto height transition */\n display: grid;\n height: 100%;\n /* transition: translate 0.1s, margin-top 0.1s; */\n position: relative;\n\n /* when closed default */\n translate: 0 50px;\n margin-top: -50px;\n\n /* when open */\n &.isOpen {\n translate: 0 0;\n margin-top: 0;\n }\n\n padding: 0 4px 4px 4px;\n /* when editing */\n &.isEditing {\n padding: 0;\n }\n`\n\nexport type CommentProps = {\n $categoryPrimary?: string\n $categorySecondary?: string\n $categoryTertiary?: string\n}\n\n// Reusable function for category color CSS\nexport const categoryColorCss = (\n $categoryPrimary?: string,\n $categorySecondary?: string,\n $categoryTertiary?: string,\n) =>\n $categoryPrimary &&\n css`\n --background-color: ${$categoryTertiary};\n --button-color: ${$categoryPrimary};\n --button-color-secondary: ${$categorySecondary};\n --button-text-color: ${getTextColor($categoryPrimary)};\n --border-color: ${$categoryPrimary};\n `\n\nexport const Comment = styled.div<CommentProps>`\n /* VARS */\n --background-color: var(--md-sys-color-surface-container);\n --button-color: var(--md-sys-color-primary);\n --button-color-secondary: var(--md-sys-color-surface-container-highest);\n --button-text-color: var(--md-sys-color-on-primary);\n --border-color: var(--md-sys-color-outline-variant);\n\n &.category {\n /* CATEGORY */\n ${({ $categoryPrimary, $categorySecondary, $categoryTertiary }) =>\n categoryColorCss($categoryPrimary, $categorySecondary, $categoryTertiary)}\n button.comment {\n &:hover {\n background-color: var(--button-color);\n filter: brightness(1.2);\n }\n }\n }\n\n display: flex;\n flex-direction: column;\n position: relative;\n\n background-color: var(--background-color);\n border: 1px solid var(--border-color);\n &.isDropping.isOpen {\n border-color: var(--md-sys-color-primary);\n }\n\n border-radius: var(--border-radius-l);\n overflow: hidden;\n transition: opacity 250ms 250ms, background-color 250ms, border-color 250ms;\n\n &.isOpen {\n /* box shadow */\n box-shadow: 0 -3px 10px 0 rgba(0, 0, 0, 0.2);\n\n .quill {\n background-color: var(--background-color);\n }\n }\n\n .ql-editor.ql-blank::before {\n color: var(--md-sys-color-on-surface);\n opacity: 0.25;\n }\n\n .ql-editor {\n ol {\n padding-left: 0;\n }\n }\n\n /* custom mention styles */\n .ql-editor {\n .mention {\n border-radius: var(--border-radius-m);\n user-select: none;\n padding: 0 4px;\n margin-right: -2px;\n /* remove underline */\n text-decoration: none;\n\n white-space: nowrap;\n cursor: pointer;\n\n color: var(--button-color);\n background-color: var(--button-color-secondary);\n\n &:hover {\n background-color: color-mix(in srgb, var(--button-color-secondary) 85%, white);\n }\n &:active {\n background-color: color-mix(in srgb, var(--button-color-secondary) 70%, white);\n }\n }\n }\n\n /* container styles reset */\n .ql-container.ql-snow {\n border: none;\n /* takes into account the top toolbar */\n height: calc(100% - 41px);\n\n .ql-editor {\n max-height: 259px !important;\n\n /* code block */\n .ql-code-block-container {\n background-color: var(--md-sys-color-surface-container-lowest);\n padding: var(--padding-m);\n border-radius: var(--border-radius-m);\n }\n\n .ql-code-block-container .ql-code-block,\n .ql-code-block-container .ql-code-block *,\n .ql-code-block-container * {\n font-family: monospace;\n font-size: var(--md-sys-typescale-body-small-font-size);\n }\n\n a {\n &::before,\n &::after {\n display: none;\n }\n\n color: var(--md-sys-color-primary);\n }\n\n a[href^='@'] {\n text-decoration: none;\n color: var(--md-sys-color-primary);\n }\n\n strong {\n em,\n u {\n font-weight: 800;\n }\n }\n }\n\n /* link popup */\n .ql-tooltip {\n &.ql-hidden {\n display: none;\n }\n\n left: 1px !important;\n top: -29px !important;\n\n width: 100%;\n\n box-shadow: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n border-color: var(--md-sys-color-surface-container-low);\n border-radius: var(--border-radius-l);\n padding: 4px;\n overflow: hidden;\n\n display: flex;\n align-items: center;\n\n .ql-preview {\n flex: 1;\n max-width: unset;\n }\n\n input {\n flex: 1;\n border: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n &:focus-visible {\n outline: none;\n }\n }\n\n a {\n color: var(--md-sys-color-primary);\n }\n\n /* remove before text */\n /* remove save button */\n &::before,\n .ql-action {\n display: none;\n }\n\n .ql-remove {\n color: var(--md-sys-color-on-surface-variant);\n margin-right: 4px;\n }\n }\n }\n\n /* CLOSED */\n &.isClosed {\n cursor: pointer;\n .ql-editor > * {\n cursor: pointer !important;\n }\n &:hover:not(.disabled) {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n .ql-container.ql-snow {\n padding-bottom: 0;\n height: 44px;\n\n .ql-editor {\n overflow: hidden;\n }\n }\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n height: 0;\n padding: 0;\n margin: 0;\n border-width: 0;\n opacity: 0;\n pointer-events: none;\n overflow: hidden;\n }\n }\n\n &.disabled {\n cursor: default;\n pointer-events: none;\n user-select: none;\n border-color: var(--md-sys-color-surface-container-lowest);\n background-color: var(--md-sys-color-surface-container-lowest);\n }\n\n &.isLoading,\n &.isSubmitting {\n cursor: default;\n pointer-events: none;\n user-select: none;\n }\n\n &.isSubmitting {\n opacity: 0.3;\n }\n\n /* toolbar styles */\n .ql-toolbar.ql-snow {\n border: none;\n background-color: var(--background-color);\n border-bottom: 1px solid var(--md-sys-color-surface-container-hover);\n padding: var(--padding-s);\n display: flex;\n justify-content: flex-end;\n height: unset;\n width: unset;\n\n .ql-formats {\n height: 32px;\n margin-left: 8px;\n margin-right: 0;\n padding-left: 8px;\n border-left: 1px solid var(--md-sys-color-surface-container-hover);\n display: flex;\n gap: 2px;\n\n button {\n float: none;\n padding: 6px;\n border-radius: var(--border-radius-m);\n height: 32px;\n width: 32px;\n\n /* highlight when action */\n &.ql-active {\n background-color: var(--button-color-secondary);\n .icon {\n color: var(--button-color);\n }\n }\n }\n }\n\n button:hover {\n background-color: var(--button-color-secondary);\n }\n\n /* container queries to hide buttons as the width gets smaller */\n container-type: inline-size;\n container-name: format-buttons;\n\n @container format-buttons (max-width: 432px) {\n /* hide first button */\n .ql-formats:first-child {\n button:first-child {\n display: none;\n }\n }\n }\n\n @container format-buttons (max-width: 400px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(2) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 368px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(3) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 336px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(4) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 304px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n display: none;\n button:nth-child(5) {\n display: none;\n }\n }\n }\n\n /* it should never get this small but if it does: hide all list options */\n @container format-buttons (max-width: 250px) {\n /* hide first two buttons */\n .ql-formats:nth-child(2) {\n display: none;\n }\n }\n }\n\n /* EDITING */\n &.isEditing {\n /* remove box shadow */\n box-shadow: none;\n /* remove outline */\n outline: none;\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n display: none;\n }\n\n .ql-container.ql-snow {\n height: 100%;\n\n .ql-editor {\n padding: 8px;\n padding-top: 0px;\n }\n }\n }\n`\n\nexport const Footer = styled.footer`\n display: flex;\n justify-content: space-between;\n padding: var(--padding-m);\n border-top: 1px solid var(--md-sys-color-surface-container-hover);\n background-color: var(--background-color);\n z-index: 100;\n\n /* remove save button icon */\n .comment {\n min-width: 75px;\n .icon {\n display: none;\n }\n background-color: var(--button-color);\n color: var(--button-text-color);\n }\n`\n\nexport const Buttons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n button {\n &.text {\n &:hover {\n background-color: var(--button-color-secondary);\n }\n }\n }\n`\n\nexport const Markdown = styled.div`\n position: fixed;\n visibility: hidden;\n`\n\nexport const Dropzone = styled.div`\n position: absolute;\n inset: 0;\n user-select: none;\n pointer-events: none;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n opacity: 0;\n transition: opacity 0.2s;\n\n &.show {\n opacity: 1;\n }\n\n background-color: rgba(0, 0, 0, 0.5);\n\n z-index: 300;\n\n .icon {\n font-size: 40px;\n }\n`\n\nexport const Placeholder = styled.span`\n padding: 12px 15px;\n /* italic */\n font-style: italic;\n opacity: 0.4;\n`\n"],"names":["AutoHeight","styled","categoryColorCss","$categoryPrimary","$categorySecondary","$categoryTertiary","css","getTextColor","Comment","Footer","Buttons","Markdown","Dropzone","Placeholder"],"mappings":"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"}
@@ -87,6 +87,7 @@ const d = o.div`
87
87
  border-radius: var(--border-radius-m);
88
88
  user-select: none;
89
89
  padding: 0 4px;
90
+ margin-right: -2px;
90
91
  /* remove underline */
91
92
  text-decoration: none;
92
93
 
@@ -368,6 +369,7 @@ const d = o.div`
368
369
 
369
370
  .ql-editor {
370
371
  padding: 8px;
372
+ padding-top: 0px;
371
373
  }
372
374
  }
373
375
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommentInput.styled.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { getTextColor } from '@ynput/ayon-react-components'\n\nexport const AutoHeight = styled.div`\n /* use grid tick for auto height transition */\n display: grid;\n height: 100%;\n /* transition: translate 0.1s, margin-top 0.1s; */\n position: relative;\n\n /* when closed default */\n translate: 0 50px;\n margin-top: -50px;\n\n /* when open */\n &.isOpen {\n translate: 0 0;\n margin-top: 0;\n }\n\n padding: 0 4px 4px 4px;\n /* when editing */\n &.isEditing {\n padding: 0;\n }\n`\n\nexport type CommentProps = {\n $categoryPrimary?: string\n $categorySecondary?: string\n $categoryTertiary?: string\n}\n\n// Reusable function for category color CSS\nexport const categoryColorCss = (\n $categoryPrimary?: string,\n $categorySecondary?: string,\n $categoryTertiary?: string,\n) =>\n $categoryPrimary &&\n css`\n --background-color: ${$categoryTertiary};\n --button-color: ${$categoryPrimary};\n --button-color-secondary: ${$categorySecondary};\n --button-text-color: ${getTextColor($categoryPrimary)};\n --border-color: ${$categoryPrimary};\n `\n\nexport const Comment = styled.div<CommentProps>`\n /* VARS */\n --background-color: var(--md-sys-color-surface-container);\n --button-color: var(--md-sys-color-primary);\n --button-color-secondary: var(--md-sys-color-surface-container-highest);\n --button-text-color: var(--md-sys-color-on-primary);\n --border-color: var(--md-sys-color-outline-variant);\n\n &.category {\n /* CATEGORY */\n ${({ $categoryPrimary, $categorySecondary, $categoryTertiary }) =>\n categoryColorCss($categoryPrimary, $categorySecondary, $categoryTertiary)}\n button.comment {\n &:hover {\n background-color: var(--button-color);\n filter: brightness(1.2);\n }\n }\n }\n\n display: flex;\n flex-direction: column;\n position: relative;\n\n background-color: var(--background-color);\n border: 1px solid var(--border-color);\n &.isDropping.isOpen {\n border-color: var(--md-sys-color-primary);\n }\n\n border-radius: var(--border-radius-l);\n overflow: hidden;\n transition: opacity 250ms 250ms, background-color 250ms, border-color 250ms;\n\n &.isOpen {\n /* box shadow */\n box-shadow: 0 -3px 10px 0 rgba(0, 0, 0, 0.2);\n\n .quill {\n background-color: var(--background-color);\n }\n }\n\n .ql-editor.ql-blank::before {\n color: var(--md-sys-color-on-surface);\n opacity: 0.25;\n }\n\n .ql-editor {\n ol {\n padding-left: 0;\n }\n }\n\n /* custom mention styles */\n .ql-editor {\n .mention {\n border-radius: var(--border-radius-m);\n user-select: none;\n padding: 0 4px;\n /* remove underline */\n text-decoration: none;\n\n white-space: nowrap;\n cursor: pointer;\n\n color: var(--button-color);\n background-color: var(--button-color-secondary);\n\n &:hover {\n background-color: color-mix(in srgb, var(--button-color-secondary) 85%, white);\n }\n &:active {\n background-color: color-mix(in srgb, var(--button-color-secondary) 70%, white);\n }\n }\n }\n\n /* container styles reset */\n .ql-container.ql-snow {\n border: none;\n /* takes into account the top toolbar */\n height: calc(100% - 41px);\n\n .ql-editor {\n max-height: 259px !important;\n\n /* code block */\n .ql-code-block-container {\n background-color: var(--md-sys-color-surface-container-lowest);\n padding: var(--padding-m);\n border-radius: var(--border-radius-m);\n }\n\n .ql-code-block-container .ql-code-block,\n .ql-code-block-container .ql-code-block *,\n .ql-code-block-container * {\n font-family: monospace;\n font-size: var(--md-sys-typescale-body-small-font-size);\n }\n\n a {\n &::before,\n &::after {\n display: none;\n }\n\n color: var(--md-sys-color-primary);\n }\n\n a[href^='@'] {\n text-decoration: none;\n color: var(--md-sys-color-primary);\n }\n\n strong {\n em,\n u {\n font-weight: 800;\n }\n }\n }\n\n /* link popup */\n .ql-tooltip {\n &.ql-hidden {\n display: none;\n }\n\n left: 1px !important;\n top: -29px !important;\n\n width: 100%;\n\n box-shadow: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n border-color: var(--md-sys-color-surface-container-low);\n border-radius: var(--border-radius-l);\n padding: 4px;\n overflow: hidden;\n\n display: flex;\n align-items: center;\n\n .ql-preview {\n flex: 1;\n max-width: unset;\n }\n\n input {\n flex: 1;\n border: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n &:focus-visible {\n outline: none;\n }\n }\n\n a {\n color: var(--md-sys-color-primary);\n }\n\n /* remove before text */\n /* remove save button */\n &::before,\n .ql-action {\n display: none;\n }\n\n .ql-remove {\n color: var(--md-sys-color-on-surface-variant);\n margin-right: 4px;\n }\n }\n }\n\n /* CLOSED */\n &.isClosed {\n cursor: pointer;\n .ql-editor > * {\n cursor: pointer !important;\n }\n &:hover:not(.disabled) {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n .ql-container.ql-snow {\n padding-bottom: 0;\n height: 44px;\n\n .ql-editor {\n overflow: hidden;\n }\n }\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n height: 0;\n padding: 0;\n margin: 0;\n border-width: 0;\n opacity: 0;\n pointer-events: none;\n overflow: hidden;\n }\n }\n\n &.disabled {\n cursor: default;\n pointer-events: none;\n user-select: none;\n border-color: var(--md-sys-color-surface-container-lowest);\n background-color: var(--md-sys-color-surface-container-lowest);\n }\n\n &.isLoading,\n &.isSubmitting {\n cursor: default;\n pointer-events: none;\n user-select: none;\n }\n\n &.isSubmitting {\n opacity: 0.3;\n }\n\n /* toolbar styles */\n .ql-toolbar.ql-snow {\n border: none;\n background-color: var(--background-color);\n border-bottom: 1px solid var(--md-sys-color-surface-container-hover);\n padding: var(--padding-s);\n display: flex;\n justify-content: flex-end;\n height: unset;\n width: unset;\n\n .ql-formats {\n height: 32px;\n margin-left: 8px;\n margin-right: 0;\n padding-left: 8px;\n border-left: 1px solid var(--md-sys-color-surface-container-hover);\n display: flex;\n gap: 2px;\n\n button {\n float: none;\n padding: 6px;\n border-radius: var(--border-radius-m);\n height: 32px;\n width: 32px;\n\n /* highlight when action */\n &.ql-active {\n background-color: var(--button-color-secondary);\n .icon {\n color: var(--button-color);\n }\n }\n }\n }\n\n button:hover {\n background-color: var(--button-color-secondary);\n }\n\n /* container queries to hide buttons as the width gets smaller */\n container-type: inline-size;\n container-name: format-buttons;\n\n @container format-buttons (max-width: 432px) {\n /* hide first button */\n .ql-formats:first-child {\n button:first-child {\n display: none;\n }\n }\n }\n\n @container format-buttons (max-width: 400px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(2) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 368px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(3) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 336px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(4) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 304px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n display: none;\n button:nth-child(5) {\n display: none;\n }\n }\n }\n\n /* it should never get this small but if it does: hide all list options */\n @container format-buttons (max-width: 250px) {\n /* hide first two buttons */\n .ql-formats:nth-child(2) {\n display: none;\n }\n }\n }\n\n /* EDITING */\n &.isEditing {\n /* remove box shadow */\n box-shadow: none;\n /* remove outline */\n outline: none;\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n display: none;\n }\n\n .ql-container.ql-snow {\n height: 100%;\n\n .ql-editor {\n padding: 8px;\n }\n }\n }\n`\n\nexport const Footer = styled.footer`\n display: flex;\n justify-content: space-between;\n padding: var(--padding-m);\n border-top: 1px solid var(--md-sys-color-surface-container-hover);\n background-color: var(--background-color);\n z-index: 100;\n\n /* remove save button icon */\n .comment {\n min-width: 75px;\n .icon {\n display: none;\n }\n background-color: var(--button-color);\n color: var(--button-text-color);\n }\n`\n\nexport const Buttons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n button {\n &.text {\n &:hover {\n background-color: var(--button-color-secondary);\n }\n }\n }\n`\n\nexport const Markdown = styled.div`\n position: fixed;\n visibility: hidden;\n`\n\nexport const Dropzone = styled.div`\n position: absolute;\n inset: 0;\n user-select: none;\n pointer-events: none;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n opacity: 0;\n transition: opacity 0.2s;\n\n &.show {\n opacity: 1;\n }\n\n background-color: rgba(0, 0, 0, 0.5);\n\n z-index: 300;\n\n .icon {\n font-size: 40px;\n }\n`\n\nexport const Placeholder = styled.span`\n padding: 12px 15px;\n /* italic */\n font-style: italic;\n opacity: 0.4;\n`\n"],"names":["AutoHeight","styled","categoryColorCss","$categoryPrimary","$categorySecondary","$categoryTertiary","css","getTextColor","Comment","Footer","Buttons","Markdown","Dropzone","Placeholder"],"mappings":"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"}
1
+ {"version":3,"file":"CommentInput.styled.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { getTextColor } from '@ynput/ayon-react-components'\n\nexport const AutoHeight = styled.div`\n /* use grid tick for auto height transition */\n display: grid;\n height: 100%;\n /* transition: translate 0.1s, margin-top 0.1s; */\n position: relative;\n\n /* when closed default */\n translate: 0 50px;\n margin-top: -50px;\n\n /* when open */\n &.isOpen {\n translate: 0 0;\n margin-top: 0;\n }\n\n padding: 0 4px 4px 4px;\n /* when editing */\n &.isEditing {\n padding: 0;\n }\n`\n\nexport type CommentProps = {\n $categoryPrimary?: string\n $categorySecondary?: string\n $categoryTertiary?: string\n}\n\n// Reusable function for category color CSS\nexport const categoryColorCss = (\n $categoryPrimary?: string,\n $categorySecondary?: string,\n $categoryTertiary?: string,\n) =>\n $categoryPrimary &&\n css`\n --background-color: ${$categoryTertiary};\n --button-color: ${$categoryPrimary};\n --button-color-secondary: ${$categorySecondary};\n --button-text-color: ${getTextColor($categoryPrimary)};\n --border-color: ${$categoryPrimary};\n `\n\nexport const Comment = styled.div<CommentProps>`\n /* VARS */\n --background-color: var(--md-sys-color-surface-container);\n --button-color: var(--md-sys-color-primary);\n --button-color-secondary: var(--md-sys-color-surface-container-highest);\n --button-text-color: var(--md-sys-color-on-primary);\n --border-color: var(--md-sys-color-outline-variant);\n\n &.category {\n /* CATEGORY */\n ${({ $categoryPrimary, $categorySecondary, $categoryTertiary }) =>\n categoryColorCss($categoryPrimary, $categorySecondary, $categoryTertiary)}\n button.comment {\n &:hover {\n background-color: var(--button-color);\n filter: brightness(1.2);\n }\n }\n }\n\n display: flex;\n flex-direction: column;\n position: relative;\n\n background-color: var(--background-color);\n border: 1px solid var(--border-color);\n &.isDropping.isOpen {\n border-color: var(--md-sys-color-primary);\n }\n\n border-radius: var(--border-radius-l);\n overflow: hidden;\n transition: opacity 250ms 250ms, background-color 250ms, border-color 250ms;\n\n &.isOpen {\n /* box shadow */\n box-shadow: 0 -3px 10px 0 rgba(0, 0, 0, 0.2);\n\n .quill {\n background-color: var(--background-color);\n }\n }\n\n .ql-editor.ql-blank::before {\n color: var(--md-sys-color-on-surface);\n opacity: 0.25;\n }\n\n .ql-editor {\n ol {\n padding-left: 0;\n }\n }\n\n /* custom mention styles */\n .ql-editor {\n .mention {\n border-radius: var(--border-radius-m);\n user-select: none;\n padding: 0 4px;\n margin-right: -2px;\n /* remove underline */\n text-decoration: none;\n\n white-space: nowrap;\n cursor: pointer;\n\n color: var(--button-color);\n background-color: var(--button-color-secondary);\n\n &:hover {\n background-color: color-mix(in srgb, var(--button-color-secondary) 85%, white);\n }\n &:active {\n background-color: color-mix(in srgb, var(--button-color-secondary) 70%, white);\n }\n }\n }\n\n /* container styles reset */\n .ql-container.ql-snow {\n border: none;\n /* takes into account the top toolbar */\n height: calc(100% - 41px);\n\n .ql-editor {\n max-height: 259px !important;\n\n /* code block */\n .ql-code-block-container {\n background-color: var(--md-sys-color-surface-container-lowest);\n padding: var(--padding-m);\n border-radius: var(--border-radius-m);\n }\n\n .ql-code-block-container .ql-code-block,\n .ql-code-block-container .ql-code-block *,\n .ql-code-block-container * {\n font-family: monospace;\n font-size: var(--md-sys-typescale-body-small-font-size);\n }\n\n a {\n &::before,\n &::after {\n display: none;\n }\n\n color: var(--md-sys-color-primary);\n }\n\n a[href^='@'] {\n text-decoration: none;\n color: var(--md-sys-color-primary);\n }\n\n strong {\n em,\n u {\n font-weight: 800;\n }\n }\n }\n\n /* link popup */\n .ql-tooltip {\n &.ql-hidden {\n display: none;\n }\n\n left: 1px !important;\n top: -29px !important;\n\n width: 100%;\n\n box-shadow: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n border-color: var(--md-sys-color-surface-container-low);\n border-radius: var(--border-radius-l);\n padding: 4px;\n overflow: hidden;\n\n display: flex;\n align-items: center;\n\n .ql-preview {\n flex: 1;\n max-width: unset;\n }\n\n input {\n flex: 1;\n border: none;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n &:focus-visible {\n outline: none;\n }\n }\n\n a {\n color: var(--md-sys-color-primary);\n }\n\n /* remove before text */\n /* remove save button */\n &::before,\n .ql-action {\n display: none;\n }\n\n .ql-remove {\n color: var(--md-sys-color-on-surface-variant);\n margin-right: 4px;\n }\n }\n }\n\n /* CLOSED */\n &.isClosed {\n cursor: pointer;\n .ql-editor > * {\n cursor: pointer !important;\n }\n &:hover:not(.disabled) {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n .ql-container.ql-snow {\n padding-bottom: 0;\n height: 44px;\n\n .ql-editor {\n overflow: hidden;\n }\n }\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n height: 0;\n padding: 0;\n margin: 0;\n border-width: 0;\n opacity: 0;\n pointer-events: none;\n overflow: hidden;\n }\n }\n\n &.disabled {\n cursor: default;\n pointer-events: none;\n user-select: none;\n border-color: var(--md-sys-color-surface-container-lowest);\n background-color: var(--md-sys-color-surface-container-lowest);\n }\n\n &.isLoading,\n &.isSubmitting {\n cursor: default;\n pointer-events: none;\n user-select: none;\n }\n\n &.isSubmitting {\n opacity: 0.3;\n }\n\n /* toolbar styles */\n .ql-toolbar.ql-snow {\n border: none;\n background-color: var(--background-color);\n border-bottom: 1px solid var(--md-sys-color-surface-container-hover);\n padding: var(--padding-s);\n display: flex;\n justify-content: flex-end;\n height: unset;\n width: unset;\n\n .ql-formats {\n height: 32px;\n margin-left: 8px;\n margin-right: 0;\n padding-left: 8px;\n border-left: 1px solid var(--md-sys-color-surface-container-hover);\n display: flex;\n gap: 2px;\n\n button {\n float: none;\n padding: 6px;\n border-radius: var(--border-radius-m);\n height: 32px;\n width: 32px;\n\n /* highlight when action */\n &.ql-active {\n background-color: var(--button-color-secondary);\n .icon {\n color: var(--button-color);\n }\n }\n }\n }\n\n button:hover {\n background-color: var(--button-color-secondary);\n }\n\n /* container queries to hide buttons as the width gets smaller */\n container-type: inline-size;\n container-name: format-buttons;\n\n @container format-buttons (max-width: 432px) {\n /* hide first button */\n .ql-formats:first-child {\n button:first-child {\n display: none;\n }\n }\n }\n\n @container format-buttons (max-width: 400px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(2) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 368px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(3) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 336px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n button:nth-child(4) {\n display: none;\n }\n }\n }\n @container format-buttons (max-width: 304px) {\n /* hide first two buttons */\n .ql-formats:first-child {\n display: none;\n button:nth-child(5) {\n display: none;\n }\n }\n }\n\n /* it should never get this small but if it does: hide all list options */\n @container format-buttons (max-width: 250px) {\n /* hide first two buttons */\n .ql-formats:nth-child(2) {\n display: none;\n }\n }\n }\n\n /* EDITING */\n &.isEditing {\n /* remove box shadow */\n box-shadow: none;\n /* remove outline */\n outline: none;\n\n /* hide toolbar */\n .ql-toolbar.ql-snow {\n display: none;\n }\n\n .ql-container.ql-snow {\n height: 100%;\n\n .ql-editor {\n padding: 8px;\n padding-top: 0px;\n }\n }\n }\n`\n\nexport const Footer = styled.footer`\n display: flex;\n justify-content: space-between;\n padding: var(--padding-m);\n border-top: 1px solid var(--md-sys-color-surface-container-hover);\n background-color: var(--background-color);\n z-index: 100;\n\n /* remove save button icon */\n .comment {\n min-width: 75px;\n .icon {\n display: none;\n }\n background-color: var(--button-color);\n color: var(--button-text-color);\n }\n`\n\nexport const Buttons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n button {\n &.text {\n &:hover {\n background-color: var(--button-color-secondary);\n }\n }\n }\n`\n\nexport const Markdown = styled.div`\n position: fixed;\n visibility: hidden;\n`\n\nexport const Dropzone = styled.div`\n position: absolute;\n inset: 0;\n user-select: none;\n pointer-events: none;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n opacity: 0;\n transition: opacity 0.2s;\n\n &.show {\n opacity: 1;\n }\n\n background-color: rgba(0, 0, 0, 0.5);\n\n z-index: 300;\n\n .icon {\n font-size: 40px;\n }\n`\n\nexport const Placeholder = styled.span`\n padding: 12px 15px;\n /* italic */\n font-style: italic;\n opacity: 0.4;\n`\n"],"names":["AutoHeight","styled","categoryColorCss","$categoryPrimary","$categorySecondary","$categoryTertiary","css","getTextColor","Comment","Footer","Buttons","Markdown","Dropzone","Placeholder"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- "use strict";const p=require("../../../../../../_virtual/jsx-runtime.cjs.js"),a=require("react-markdown"),d=require("remark-gfm"),x=require("rehype-raw"),m=(r,t)=>{if(!r)return{href:r};const i=r&&r.split(":")[0],e=Object.entries(t).find(([,s])=>s.id===i)?.[0];return e?{href:"@"+r,type:e}:{href:r}},h=r=>r.split(`
2
- `).map((t,i)=>p.jsxRuntimeExports.jsxs("p",{children:["> ",t]},i)),j=({node:r,...t})=>p.jsxRuntimeExports.jsx("p",{...t}),f=r=>r.replace(/\n{3,}/g,t=>{const i=Math.floor(t.length/2)-1;return`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("../../../../../../_virtual/jsx-runtime.cjs.js"),a=require("react-markdown"),m=require("remark-gfm"),x=require("rehype-raw"),j=(e,n)=>{if(!e)return{href:e};const s=e&&e.split(":")[0],r=s==="team"?"@":Object.entries(n).find(([,o])=>o.id===s)?.[0];return r?{href:"@"+e,type:r}:{href:e}},h=e=>e.split(`
2
+ `).map((n,s)=>c.jsxRuntimeExports.jsxs("p",{children:["> ",n]},s)),d=e=>e.trim()===""||e.includes("&nbsp;")||e.includes("<br>"),f=({node:e,...n})=>{const s=n.children?.[0];return typeof s=="string"&&d(s)?c.jsxRuntimeExports.jsx("p",{className:"empty-line",children:c.jsxRuntimeExports.jsx("br",{})}):c.jsxRuntimeExports.jsx("p",{...n})},y=e=>e.replace(/\n{3,}/g,n=>{const s=Math.floor(n.length/2)-1;return`
3
3
 
4
4
  `+`<br>
5
5
 
6
- `.repeat(i)}),k=({typeOptions:r,initValue:t})=>{const i=t&&f(t);return p.jsxRuntimeExports.jsx(a,{remarkPlugins:[d],rehypePlugins:[x],urlTransform:e=>e,components:{p:j,a:({children:e,href:n})=>{const{href:s,type:c}=m(n,r);return p.jsxRuntimeExports.jsxs("a",{href:s,children:[c,e]})},li:({children:e,...n})=>{if(n.className?.includes("task-list-item")){const l=e.find(o=>o.type==="p")?.props?.children?.find(o=>o.type==="input")?.props?.checked?"checked":"unchecked";return p.jsxRuntimeExports.jsx("li",{"data-list":l,...n,children:e})}else return p.jsxRuntimeExports.jsx("li",{...n,children:e})},code:({children:e,...n})=>p.jsxRuntimeExports.jsx("pre",{...n,children:e}),blockquote:({children:e})=>{const n=e.find(o=>!!o?.props);if(!n)return e;const s=n.props.children;if(!s)return e;const u=(Array.isArray(s)?s:[s]).flatMap(o=>typeof o=="string"?h(o):o);return{...n,props:{...n.props,children:u}}}},children:i})};module.exports=k;
6
+ `.repeat(s)}),k=({typeOptions:e,initValue:n})=>{const s=n&&y(n);return c.jsxRuntimeExports.jsx(a,{remarkPlugins:[m],rehypePlugins:[x],urlTransform:r=>r,components:{p:f,a:({children:r,href:t})=>{const{href:o,type:p}=j(t,e);return c.jsxRuntimeExports.jsxs("a",{href:o,children:[p,r]})},li:({children:r,...t})=>{if(t.className?.includes("task-list-item")){const l=r.find(i=>i.type==="p")?.props?.children?.find(i=>i.type==="input")?.props?.checked?"checked":"unchecked";return c.jsxRuntimeExports.jsx("li",{"data-list":l,...t,children:r})}else return c.jsxRuntimeExports.jsx("li",{...t,children:r})},code:({children:r,...t})=>c.jsxRuntimeExports.jsx("pre",{...t,children:r}),blockquote:({children:r})=>{const t=r.find(i=>!!i?.props);if(!t)return r;const o=t.props.children;if(!o)return r;const u=(Array.isArray(o)?o:[o]).flatMap(i=>typeof i=="string"?h(i):i);return{...t,props:{...t.props,children:u}}}},children:s})};exports.checkForEmptyLine=d;exports.default=k;
7
7
  //# sourceMappingURL=InputMarkdownConvert.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputMarkdownConvert.cjs.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/InputMarkdownConvert.tsx"],"sourcesContent":["import { type ComponentProps } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport rehypeRaw from 'rehype-raw'\n\ninterface TypeOptions {\n [key: string]: { id: string }\n}\n\ninterface InputMarkdownConvertProps {\n typeOptions: TypeOptions\n initValue: string | null\n}\n\n// transform url to mention (if it is a mention)\nconst urlToMention = (href: string | null, options: TypeOptions) => {\n if (!href) return { href }\n // check href is a mention\n const type = href && href.split(':')[0]\n // find the type in mention options\n const typeSymbol = Object.entries(options).find(([, value]) => value.id === type)?.[0]\n if (!typeSymbol) return { href }\n // prefix @ to the href\n const newHref = '@' + href\n return { href: newHref, type: typeSymbol }\n}\n\nconst convertStringToBlockquotes = (text: string) =>\n text.split('\\n').map((line, index) => (\n <p key={index}>\n {`> `}\n {line}\n </p>\n ))\n\ntype ParagraphProps = ComponentProps<'p'> & { node?: unknown }\n\nconst Paragraph = ({ node: _node, ...props }: ParagraphProps) => <p {...props} />\n\n// Preserve multiple blank lines by replacing sequences of 3+ newlines\n// with interleaved <br> tags so ReactMarkdown renders empty paragraphs.\nconst preserveBlankLines = (text: string): string => {\n return text.replace(/\\n{3,}/g, (match) => {\n const extraLines = Math.floor(match.length / 2) - 1\n return '\\n\\n' + `<br>\\n\\n`.repeat(extraLines)\n })\n}\n\nconst InputMarkdownConvert = ({ typeOptions, initValue }: InputMarkdownConvertProps) => {\n const processedValue = initValue ? preserveBlankLines(initValue) : initValue\n\n return (\n <ReactMarkdown\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n urlTransform={(url) => url}\n components={{\n p: Paragraph,\n a: ({ children, href }) => {\n // @ts-ignore\n const { href: newHref, type } = urlToMention(href, typeOptions)\n\n return (\n // @ts-ignore\n <a href={newHref}>\n {type}\n {children}\n </a>\n )\n },\n // convert li into check list items\n li: ({ children, ...props }) => {\n if (!props.className?.includes('task-list-item')) return <li {...props}>{children}</li>\n else {\n // @ts-ignore\n const p = children.find((item) => item.type === 'p')\n // @ts-ignore\n const input = p?.props?.children?.find((item) => item.type === 'input')\n const isChecked = input?.props?.checked\n\n const checked = isChecked ? 'checked' : 'unchecked'\n return (\n <li data-list={checked} {...props}>\n {children}\n </li>\n )\n }\n },\n code: ({ children, ...props }) => {\n // @ts-ignore\n return <pre {...props}>{children}</pre>\n },\n blockquote: ({ children }) => {\n // insert `>` in front of first child\n // @ts-ignore\n const quoteChild = children.find((item) => !!item?.props)\n\n if (!quoteChild) return children\n const propsChildren = quoteChild.props.children\n if (!propsChildren) return children\n\n let normalizedChildren = Array.isArray(propsChildren) ? propsChildren : [propsChildren]\n\n const newPropsChildren = normalizedChildren.flatMap((child) => {\n return typeof child === 'string' ? convertStringToBlockquotes(child) : child\n })\n\n const newQuoteChild = {\n ...quoteChild,\n props: {\n ...quoteChild.props,\n children: newPropsChildren,\n },\n }\n\n return newQuoteChild\n },\n }}\n >\n {processedValue}\n </ReactMarkdown>\n )\n}\n\nexport default InputMarkdownConvert\n"],"names":["urlToMention","href","options","type","typeSymbol","value","convertStringToBlockquotes","text","line","index","jsxs","Paragraph","_node","props","jsx","preserveBlankLines","match","extraLines","InputMarkdownConvert","typeOptions","initValue","processedValue","ReactMarkdown","remarkGfm","rehypeRaw","url","children","newHref","checked","item","quoteChild","propsChildren","newPropsChildren","child"],"mappings":"0JAeMA,EAAe,CAACC,EAAqBC,IAAyB,CAClE,GAAI,CAACD,EAAM,MAAO,CAAE,KAAAA,CAAA,EAEpB,MAAME,EAAOF,GAAQA,EAAK,MAAM,GAAG,EAAE,CAAC,EAEhCG,EAAa,OAAO,QAAQF,CAAO,EAAE,KAAK,CAAC,CAAA,CAAGG,CAAK,IAAMA,EAAM,KAAOF,CAAI,IAAI,CAAC,EACrF,OAAKC,EAGE,CAAE,KADO,IAAMH,EACE,KAAMG,CAAA,EAHN,CAAE,KAAAH,CAAA,CAI5B,EAEMK,EAA8BC,GAClCA,EAAK,MAAM;AAAA,CAAI,EAAE,IAAI,CAACC,EAAMC,IAC1BC,EAAAA,kBAAAA,KAAC,IAAA,CACE,SAAA,CAAA,KACAF,CAAA,CAAA,EAFKC,CAGR,CACD,EAIGE,EAAY,CAAC,CAAE,KAAMC,EAAO,GAAGC,KAA4BC,EAAAA,kBAAAA,IAAC,IAAA,CAAG,GAAGD,EAAO,EAIzEE,EAAsBR,GACnBA,EAAK,QAAQ,UAAYS,GAAU,CACxC,MAAMC,EAAa,KAAK,MAAMD,EAAM,OAAS,CAAC,EAAI,EAClD,MAAO;AAAA;AAAA,EAAS;AAAA;AAAA,EAAW,OAAOC,CAAU,CAC9C,CAAC,EAGGC,EAAuB,CAAC,CAAE,YAAAC,EAAa,UAAAC,KAA2C,CACtF,MAAMC,EAAiBD,GAAYL,EAAmBK,CAAS,EAE/D,OACEN,EAAAA,kBAAAA,IAACQ,EAAA,CACC,cAAe,CAACC,CAAS,EACzB,cAAe,CAACC,CAAS,EACzB,aAAeC,GAAQA,EACvB,WAAY,CACV,EAAGd,EACH,EAAG,CAAC,CAAE,SAAAe,EAAU,KAAAzB,KAAW,CAEzB,KAAM,CAAE,KAAM0B,EAAS,KAAAxB,GAASH,EAAaC,EAAMkB,CAAW,EAE9D,OAEET,EAAAA,kBAAAA,KAAC,IAAA,CAAE,KAAMiB,EACN,SAAA,CAAAxB,EACAuB,CAAA,CAAA,CACH,CAEJ,EAEA,GAAI,CAAC,CAAE,SAAAA,EAAU,GAAGb,KAAY,CAC9B,GAAKA,EAAM,WAAW,SAAS,gBAAgB,EAC1C,CAOH,MAAMe,EALIF,EAAS,KAAMG,GAASA,EAAK,OAAS,GAAG,GAElC,OAAO,UAAU,KAAMA,GAASA,EAAK,OAAS,OAAO,GAC7C,OAAO,QAEJ,UAAY,YACxC,+BACG,KAAA,CAAG,YAAWD,EAAU,GAAGf,EACzB,SAAAa,EACH,CAEJ,KAdkD,QAAOZ,EAAAA,kBAAAA,IAAC,KAAA,CAAI,GAAGD,EAAQ,SAAAa,CAAA,CAAS,CAepF,EACA,KAAM,CAAC,CAAE,SAAAA,EAAU,GAAGb,KAEbC,EAAAA,kBAAAA,IAAC,MAAA,CAAK,GAAGD,EAAQ,SAAAa,CAAA,CAAS,EAEnC,WAAY,CAAC,CAAE,SAAAA,KAAe,CAG5B,MAAMI,EAAaJ,EAAS,KAAMG,GAAS,CAAC,CAACA,GAAM,KAAK,EAExD,GAAI,CAACC,EAAY,OAAOJ,EACxB,MAAMK,EAAgBD,EAAW,MAAM,SACvC,GAAI,CAACC,EAAe,OAAOL,EAI3B,MAAMM,GAFmB,MAAM,QAAQD,CAAa,EAAIA,EAAgB,CAACA,CAAa,GAE1C,QAASE,GAC5C,OAAOA,GAAU,SAAW3B,EAA2B2B,CAAK,EAAIA,CACxE,EAUD,MARsB,CACpB,GAAGH,EACH,MAAO,CACL,GAAGA,EAAW,MACd,SAAUE,CAAA,CACZ,CAIJ,CAAA,EAGD,SAAAX,CAAA,CAAA,CAGP"}
1
+ {"version":3,"file":"InputMarkdownConvert.cjs.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/InputMarkdownConvert.tsx"],"sourcesContent":["import { type ComponentProps } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport rehypeRaw from 'rehype-raw'\n\ninterface TypeOptions {\n [key: string]: { id: string }\n}\n\ninterface InputMarkdownConvertProps {\n typeOptions: TypeOptions\n initValue: string | null\n}\n\n// transform url to mention (if it is a mention)\nconst urlToMention = (href: string | null, options: TypeOptions) => {\n if (!href) return { href }\n // check href is a mention\n const type = href && href.split(':')[0]\n // find the type in mention options\n // Team shares the @ symbol with user, so handle it explicitly\n const typeSymbol =\n type === 'team'\n ? '@'\n : Object.entries(options).find(([, value]) => value.id === type)?.[0]\n if (!typeSymbol) return { href }\n // prefix @ to the href\n const newHref = '@' + href\n return { href: newHref, type: typeSymbol }\n}\n\nconst convertStringToBlockquotes = (text: string) =>\n text.split('\\n').map((line, index) => (\n <p key={index}>\n {`> `}\n {line}\n </p>\n ))\n\ntype ParagraphProps = ComponentProps<'p'> & { node?: unknown }\n\nexport const checkForEmptyLine = (text: string) => {\n return text.trim() === '' || text.includes('&nbsp;') || text.includes('<br>')\n}\n\nconst Paragraph = ({ node: _node, ...props }: ParagraphProps) => {\n // ensure empty lines are preserved by checking if the text is empty or contains only &nbsp; or <br>\n // @ts-expect-error\n const text = props.children?.[0]\n if (typeof text === 'string' && checkForEmptyLine(text)) {\n return (\n <p className=\"empty-line\">\n <br></br>\n </p>\n )\n }\n return <p {...props} />\n}\n\n// Preserve multiple blank lines by replacing sequences of 3+ newlines\n// with interleaved <br> tags so ReactMarkdown renders empty paragraphs.\nconst preserveBlankLines = (text: string): string => {\n return text.replace(/\\n{3,}/g, (match) => {\n const extraLines = Math.floor(match.length / 2) - 1\n return '\\n\\n' + `<br>\\n\\n`.repeat(extraLines)\n })\n}\n\nconst InputMarkdownConvert = ({ typeOptions, initValue }: InputMarkdownConvertProps) => {\n const processedValue = initValue ? preserveBlankLines(initValue) : initValue\n\n return (\n <ReactMarkdown\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n urlTransform={(url) => url}\n components={{\n p: Paragraph,\n a: ({ children, href }) => {\n // @ts-ignore\n const { href: newHref, type } = urlToMention(href, typeOptions)\n\n return (\n // @ts-ignore\n <a href={newHref}>\n {type}\n {children}\n </a>\n )\n },\n // convert li into check list items\n li: ({ children, ...props }) => {\n if (!props.className?.includes('task-list-item')) return <li {...props}>{children}</li>\n else {\n // @ts-ignore\n const p = children.find((item) => item.type === 'p')\n // @ts-ignore\n const input = p?.props?.children?.find((item) => item.type === 'input')\n const isChecked = input?.props?.checked\n\n const checked = isChecked ? 'checked' : 'unchecked'\n return (\n <li data-list={checked} {...props}>\n {children}\n </li>\n )\n }\n },\n code: ({ children, ...props }) => {\n // @ts-ignore\n return <pre {...props}>{children}</pre>\n },\n blockquote: ({ children }) => {\n // insert `>` in front of first child\n // @ts-ignore\n const quoteChild = children.find((item) => !!item?.props)\n\n if (!quoteChild) return children\n const propsChildren = quoteChild.props.children\n if (!propsChildren) return children\n\n let normalizedChildren = Array.isArray(propsChildren) ? propsChildren : [propsChildren]\n\n const newPropsChildren = normalizedChildren.flatMap((child) => {\n return typeof child === 'string' ? convertStringToBlockquotes(child) : child\n })\n\n const newQuoteChild = {\n ...quoteChild,\n props: {\n ...quoteChild.props,\n children: newPropsChildren,\n },\n }\n\n return newQuoteChild\n },\n }}\n >\n {processedValue}\n </ReactMarkdown>\n )\n}\n\nexport default InputMarkdownConvert\n"],"names":["urlToMention","href","options","type","typeSymbol","value","convertStringToBlockquotes","text","line","index","jsxs","checkForEmptyLine","Paragraph","_node","props","jsx","preserveBlankLines","match","extraLines","InputMarkdownConvert","typeOptions","initValue","processedValue","ReactMarkdown","remarkGfm","rehypeRaw","url","children","newHref","checked","item","quoteChild","propsChildren","newPropsChildren","child"],"mappings":"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"}
@@ -1,57 +1,60 @@
1
- import { j as i } from "../../../../../../_virtual/jsx-runtime.es.js";
2
- import u from "react-markdown";
1
+ import { j as p } from "../../../../../../_virtual/jsx-runtime.es.js";
2
+ import a from "react-markdown";
3
3
  import d from "remark-gfm";
4
- import f from "rehype-raw";
5
- const m = (r, t) => {
6
- if (!r) return { href: r };
7
- const p = r && r.split(":")[0], e = Object.entries(t).find(([, o]) => o.id === p)?.[0];
8
- return e ? { href: "@" + r, type: e } : { href: r };
9
- }, h = (r) => r.split(`
10
- `).map((t, p) => /* @__PURE__ */ i.jsxs("p", { children: [
4
+ import m from "rehype-raw";
5
+ const f = (e, t) => {
6
+ if (!e) return { href: e };
7
+ const s = e && e.split(":")[0], r = s === "team" ? "@" : Object.entries(t).find(([, o]) => o.id === s)?.[0];
8
+ return r ? { href: "@" + e, type: r } : { href: e };
9
+ }, h = (e) => e.split(`
10
+ `).map((t, s) => /* @__PURE__ */ p.jsxs("p", { children: [
11
11
  "> ",
12
12
  t
13
- ] }, p)), k = ({ node: r, ...t }) => /* @__PURE__ */ i.jsx("p", { ...t }), y = (r) => r.replace(/\n{3,}/g, (t) => {
14
- const p = Math.floor(t.length / 2) - 1;
13
+ ] }, s)), k = (e) => e.trim() === "" || e.includes("&nbsp;") || e.includes("<br>"), y = ({ node: e, ...t }) => {
14
+ const s = t.children?.[0];
15
+ return typeof s == "string" && k(s) ? /* @__PURE__ */ p.jsx("p", { className: "empty-line", children: /* @__PURE__ */ p.jsx("br", {}) }) : /* @__PURE__ */ p.jsx("p", { ...t });
16
+ }, j = (e) => e.replace(/\n{3,}/g, (t) => {
17
+ const s = Math.floor(t.length / 2) - 1;
15
18
  return `
16
19
 
17
20
  ` + `<br>
18
21
 
19
- `.repeat(p);
20
- }), g = ({ typeOptions: r, initValue: t }) => {
21
- const p = t && y(t);
22
- return /* @__PURE__ */ i.jsx(
23
- u,
22
+ `.repeat(s);
23
+ }), b = ({ typeOptions: e, initValue: t }) => {
24
+ const s = t && j(t);
25
+ return /* @__PURE__ */ p.jsx(
26
+ a,
24
27
  {
25
28
  remarkPlugins: [d],
26
- rehypePlugins: [f],
27
- urlTransform: (e) => e,
29
+ rehypePlugins: [m],
30
+ urlTransform: (r) => r,
28
31
  components: {
29
- p: k,
30
- a: ({ children: e, href: n }) => {
31
- const { href: o, type: c } = m(n, r);
32
+ p: y,
33
+ a: ({ children: r, href: n }) => {
34
+ const { href: o, type: c } = f(n, e);
32
35
  return (
33
36
  // @ts-ignore
34
- /* @__PURE__ */ i.jsxs("a", { href: o, children: [
37
+ /* @__PURE__ */ p.jsxs("a", { href: o, children: [
35
38
  c,
36
- e
39
+ r
37
40
  ] })
38
41
  );
39
42
  },
40
43
  // convert li into check list items
41
- li: ({ children: e, ...n }) => {
44
+ li: ({ children: r, ...n }) => {
42
45
  if (n.className?.includes("task-list-item")) {
43
- const a = e.find((s) => s.type === "p")?.props?.children?.find((s) => s.type === "input")?.props?.checked ? "checked" : "unchecked";
44
- return /* @__PURE__ */ i.jsx("li", { "data-list": a, ...n, children: e });
46
+ const u = r.find((i) => i.type === "p")?.props?.children?.find((i) => i.type === "input")?.props?.checked ? "checked" : "unchecked";
47
+ return /* @__PURE__ */ p.jsx("li", { "data-list": u, ...n, children: r });
45
48
  } else
46
- return /* @__PURE__ */ i.jsx("li", { ...n, children: e });
49
+ return /* @__PURE__ */ p.jsx("li", { ...n, children: r });
47
50
  },
48
- code: ({ children: e, ...n }) => /* @__PURE__ */ i.jsx("pre", { ...n, children: e }),
49
- blockquote: ({ children: e }) => {
50
- const n = e.find((s) => !!s?.props);
51
- if (!n) return e;
51
+ code: ({ children: r, ...n }) => /* @__PURE__ */ p.jsx("pre", { ...n, children: r }),
52
+ blockquote: ({ children: r }) => {
53
+ const n = r.find((i) => !!i?.props);
54
+ if (!n) return r;
52
55
  const o = n.props.children;
53
- if (!o) return e;
54
- const l = (Array.isArray(o) ? o : [o]).flatMap((s) => typeof s == "string" ? h(s) : s);
56
+ if (!o) return r;
57
+ const l = (Array.isArray(o) ? o : [o]).flatMap((i) => typeof i == "string" ? h(i) : i);
55
58
  return {
56
59
  ...n,
57
60
  props: {
@@ -61,11 +64,12 @@ const m = (r, t) => {
61
64
  };
62
65
  }
63
66
  },
64
- children: p
67
+ children: s
65
68
  }
66
69
  );
67
70
  };
68
71
  export {
69
- g as default
72
+ k as checkForEmptyLine,
73
+ b as default
70
74
  };
71
75
  //# sourceMappingURL=InputMarkdownConvert.es.js.map