@ynput/ayon-frontend-shared 0.2.34 → 0.2.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +24 -23
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Feed.cjs.js +1 -1
- package/dist/Feed.es.js +20 -19
- package/dist/_virtual/attach-listener.cjs.js +2 -0
- package/dist/_virtual/attach-listener.cjs.js.map +1 -0
- package/dist/_virtual/attach-listener.es.js +5 -0
- package/dist/_virtual/attach-listener.es.js.map +1 -0
- package/dist/_virtual/attach-shared-listeners.cjs.js +2 -0
- package/dist/_virtual/attach-shared-listeners.cjs.js.map +1 -0
- package/dist/_virtual/attach-shared-listeners.es.js +5 -0
- package/dist/_virtual/attach-shared-listeners.es.js.map +1 -0
- package/dist/_virtual/constants.cjs.js +2 -0
- package/dist/_virtual/constants.cjs.js.map +1 -0
- package/dist/_virtual/constants.es.js +5 -0
- package/dist/_virtual/constants.es.js.map +1 -0
- package/dist/_virtual/create-or-join.cjs.js +2 -0
- package/dist/_virtual/create-or-join.cjs.js.map +1 -0
- package/dist/_virtual/create-or-join.es.js +5 -0
- package/dist/_virtual/create-or-join.es.js.map +1 -0
- package/dist/_virtual/get-url.cjs.js +2 -0
- package/dist/_virtual/get-url.cjs.js.map +1 -0
- package/dist/_virtual/get-url.es.js +5 -0
- package/dist/_virtual/get-url.es.js.map +1 -0
- package/dist/_virtual/globals.cjs.js +2 -0
- package/dist/_virtual/globals.cjs.js.map +1 -0
- package/dist/_virtual/globals.es.js +5 -0
- package/dist/_virtual/globals.es.js.map +1 -0
- package/dist/_virtual/heartbeat.cjs.js +2 -0
- package/dist/_virtual/heartbeat.cjs.js.map +1 -0
- package/dist/_virtual/heartbeat.es.js +5 -0
- package/dist/_virtual/heartbeat.es.js.map +1 -0
- package/dist/_virtual/index.cjs.js +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +2 -0
- package/dist/_virtual/index.cjs11.js.map +1 -0
- package/dist/_virtual/index.cjs12.js +2 -0
- package/dist/_virtual/index.cjs12.js.map +1 -0
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es.js +5 -4
- package/dist/_virtual/index.es10.js +5 -5
- package/dist/_virtual/index.es11.js +8 -0
- package/dist/_virtual/index.es11.js.map +1 -0
- package/dist/_virtual/index.es12.js +8 -0
- package/dist/_virtual/index.es12.js.map +1 -0
- package/dist/_virtual/index.es2.js +2 -2
- package/dist/_virtual/index.es3.js +5 -2
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es6.js +5 -5
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +2 -5
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/_virtual/manage-subscribers.cjs.js +2 -0
- package/dist/_virtual/manage-subscribers.cjs.js.map +1 -0
- package/dist/_virtual/manage-subscribers.es.js +5 -0
- package/dist/_virtual/manage-subscribers.es.js.map +1 -0
- package/dist/_virtual/proxy.cjs.js +2 -0
- package/dist/_virtual/proxy.cjs.js.map +1 -0
- package/dist/_virtual/proxy.es.js +5 -0
- package/dist/_virtual/proxy.es.js.map +1 -0
- package/dist/_virtual/socket-io.cjs.js +2 -0
- package/dist/_virtual/socket-io.cjs.js.map +1 -0
- package/dist/_virtual/socket-io.es.js +5 -0
- package/dist/_virtual/socket-io.es.js.map +1 -0
- package/dist/_virtual/use-event-source.cjs.js +2 -0
- package/dist/_virtual/use-event-source.cjs.js.map +1 -0
- package/dist/_virtual/use-event-source.es.js +5 -0
- package/dist/_virtual/use-event-source.es.js.map +1 -0
- package/dist/_virtual/use-socket-io.cjs.js +2 -0
- package/dist/_virtual/use-socket-io.cjs.js.map +1 -0
- package/dist/_virtual/use-socket-io.es.js +5 -0
- package/dist/_virtual/use-socket-io.es.js.map +1 -0
- package/dist/_virtual/use-websocket.cjs.js +2 -0
- package/dist/_virtual/use-websocket.cjs.js.map +1 -0
- package/dist/_virtual/use-websocket.es.js +5 -0
- package/dist/_virtual/use-websocket.es.js.map +1 -0
- package/dist/_virtual/util.cjs.js +2 -0
- package/dist/_virtual/util.cjs.js.map +1 -0
- package/dist/_virtual/util.es.js +5 -0
- package/dist/_virtual/util.es.js.map +1 -0
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +233 -230
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +25 -23
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +17 -13
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +11 -10
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/index.es.js +36 -0
- package/dist/node_modules/react-use-websocket/dist/index.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js +79 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js +72 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js +32 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js +53 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js +144 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js +19 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js +35 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js +36 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js +24 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js +39 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js +51 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js +54 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js +198 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.es.js +21 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +7 -6
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +71 -60
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.es.js +11 -6
- package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +2 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +144 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +36 -35
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +28 -27
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -3
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -3
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +3 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js +9 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js +30 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -5
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +4 -3
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +5 -4
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +1 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +1 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -1
- package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js +2 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js.map +1 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.es.js +10 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -3
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -4
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -3
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +4 -4
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +3 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -5
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -3
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -3
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -3
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -3
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +4 -3
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js +42 -39
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +13 -12
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +258 -245
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +66 -11
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +68 -13
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +13 -10
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +6 -5
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +63 -51
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js +35 -31
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +73 -72
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -14
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -3
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -3
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +3 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +5 -4
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +27 -13
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +11 -10
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +2 -0
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -0
- package/dist/shared/src/context/WebsocketContext.es.js +309 -0
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -6
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +11 -10
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
- package/dist/types/api/queries/activities/index.d.ts +0 -1
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +40 -0
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/components/Powerpack/RequiredAddonVersion.d.ts +12 -0
- package/dist/types/components/Powerpack/index.d.ts +1 -1
- package/dist/types/components/RefreshToast/RefreshToast.d.ts +1 -0
- package/dist/types/components/RefreshToast/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +5 -0
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +2 -1
- package/dist/types/containers/Feed/components/FilesGrid/FilesGrid.d.ts +6 -2
- package/dist/types/context/AddonContext.d.ts +1 -0
- package/dist/types/context/AddonProjectContext.d.ts +6 -1
- package/dist/types/context/WebsocketContext.d.ts +21 -0
- package/dist/types/context/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +0 -9
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +0 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +0 -25
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +0 -1
- package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +0 -5
|
@@ -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, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } 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 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 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 currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature } = useDetailsPanelContext()\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: currentTab,\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),\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 // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] = []\n\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n annotationMetadata = 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 if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, {\n annotations: annotationMetadata,\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n })\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 > 6\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}\n onRemove={handleFileRemove}\n style={{ borderBottom: '1px solid var(--md-sys-color-outline-variant)' }}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\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 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","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","useDetailsPanelContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_a","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","_b","_c","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","type","href","selection","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","data","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","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","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'\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 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 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 currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isUser = !user?.data?.isAdmin && !user?.data?.isManager\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: currentTab,\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),\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 // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] = []\n\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n annotationMetadata = 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 if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, {\n annotations: annotationMetadata,\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n })\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, isUser })}\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","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isUser","_a","_b","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_c","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","type","href","selection","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","data","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,IAAIA,KAAQC,GAAM,OAAO,OAAO;AAEhC,MAAMC,IAAe,CAAC,KAAK,MAAM,KAAK,GACzBC,IAAqB;AAAA,EAChC,OAAO;AAAA,IACL,IAAI;AAAA,EACN;AAAA,EACA,MAAM;AAAA,IACJ,IAAI;AAAA,EACN;AAAA,EACA,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,UAAU;AAAA,EAAA;AAEd,GAeMC,KAAsC,CAAC;AAAA,EAC3C,WAAAC;AAAA,EACA,WAAAC,KAAY,CAAC;AAAA,EACb,cAAAC,KAAe;AAAA,EACf,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AACF,MAAM;;AACE,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,MACEC,GAAe,GAEb,EAAE,YAAAC,IAAY,gBAAAC,IAAgB,MAAAC,EAAA,IAASC,GAAuB,GAC9DC,KAAS,GAACC,KAAAH,KAAA,gBAAAA,EAAM,SAAN,QAAAG,GAAY,YAAW,GAACC,KAAAJ,KAAA,gBAAAA,EAAM,SAAN,QAAAI,GAAY,YAE9C;AAAA,IACJ,OAAOC;AAAA,IACP,UAAUC;AAAA,IACV,OAAOC;AAAA,EACT,IAAIb,MAA0B,CAAC,GAEzB,CAACc,IAAYC,EAAa,IAAIC,EAAS,EAAE,GACzC,CAACC,GAAaC,CAAc,IAAIF,EAAS,EAAE,GAE3C,CAACG,GAAOC,CAAQ,IAAIJ,EAAS9B,EAAS,GACtC,CAACmC,GAAgBC,CAAiB,IAAIN,EAAS,CAAA,CAAE,GACjD,CAACO,IAAYC,CAAa,IAAIR,EAAS,EAAK,GAC5C,CAACS,IAAcC,EAAe,IAAIV,EAAS,EAAK,GAEhD,EAAE,aAAAW,GAAa,kBAAAC,GAAkB,gBAAAC,GAAA,IAAmBC,GAAmB;AAAA,IAC3E,WAAUC,KAAAnC,EAAS,CAAC,MAAV,gBAAAmC,GAAa;AAAA,IACvB,gBAAAV;AAAA,EAAA,CACD,GAGK,CAACW,GAASC,CAAU,IAAIjB,EAAqB,IAAI,GACjD,CAACkB,GAAsBC,CAAuB,IAAInB,EAAS,CAAC,GAE5D,CAACoB,GAAUC,EAAW,IAAIrB,EAAwB7B,EAAY,GAC9DmD,KAAkBrC,GAAW,OAAO,CAACsC,MAAQA,EAAI,eAAe,EAAE,GAClEC,IAAevC,GAAW,KAAK,CAACsC,MAAQA,EAAI,SAASH,CAAQ,GAE7DK,KAAuBC,GAAwBF,KAAA,gBAAAA,EAAc,KAAK,GAElEG,IAAYC,EAAY,IAAI,GAC5BC,KAAqBD,EAAuB,IAAI,GAEhDE,KAAcF,EAAuB,IAAI;AAG/B,EAAAG,GAAA;AAAA,IACd,aAAAD;AAAA,IACA,WAAA7D;AAAA,IACA,gBAAAiC;AAAA,IACA,eAAAH;AAAA,IACA,QAAAvB;AAAA,IACA,QAAQO;AAAA,EAAA,CACT,GAGDiD,GAAgB,EAAE,YAAAlC,IAAY,WAAA6B,GAAW,WAAAtD,EAAA,CAAW,GAErC4D,GAAA,EAAE,aAAAtD,GAAa,GAG9BuD,GAAU,MAAM;;AACd,QAAI1D,GAAQ;AAGV,WAFUkB,KAAAD,IAAAkC,EAAA,YAAA,gBAAAlC,EAAS,gBAAT,QAAAC,EAAsB,UAE5BiB,EAAY,SAAS,KAAKR,EAAM,WAAW;AAC7C;AAGF,OAAAY,IAAAY,EAAU,YAAV,QAAAZ,EAAmB;AAAA,IAAM;AAAA,EAC3B,GAGC,CAACvC,GAAQmD,CAAS,CAAC,GAEtB7D,EAAa,KAAK,CAACqE,GAAGC,MAAMA,EAAE,SAASD,EAAE,MAAM;AAE/C,QAAME,KAAiBC;AAAA,IACrB,MACEC;AAAA,MACEvB,KAAA,gBAAAA,EAAS;AAAA,MACT;AAAA,QACE,KAAK,MAAMwB,GAAgB7C,EAAY;AAAA,QACvC,MAAM,MAAM8C,GAAmB7C,EAAe;AAAA,QAC9C,OAAO,MAAM8C,GAAgB7C,IAAchB,GAAY,SAAS;AAAA,MAClE;AAAA,MACAmC,KAAA,gBAAAA,EAAS;AAAA,IACX;AAAA,IACF,CAACnB,IAAcD,IAAiBD,IAAcqB,KAAA,gBAAAA,EAAS,MAAMA,KAAA,gBAAAA,EAAS,MAAM;AAAA,EAC9E,GAGM2B,IAAsBN,GAAe,MAAM,GAAG,CAAC,GAG/C,CAACO,GAAcC,EAAe,IAAI7C,EAAwB;AAEhE,EAAAkC,GAAU,MAAM;AACd,IAAIU,MACFC,GAAgB,IAAI,GAENlB,EAAU,QAAQ,UAAU,EACpC,aAAaiB,CAAY;AAAA,EACjC,GACC,CAACA,CAAY,CAAC;AAEX,QAAAE,KAAsB,CAACC,MAAwB;AAE7C,UAAAC,IAAQrB,EAAU,QAAQ,UAAU,GAEpCsB,IAAajC,EAAQ,MACrBkC,IAASD,KAAcjC,EAAQ,UAAU,KACzCmC,IAAeF,IAAaF,EAAe,OAE3CK,IAAOrF,EAAmBkF,CAAU,GACpCI,IAAO,GAAGD,KAAA,gBAAAA,EAAM,EAAE,IAAIL,EAAe,EAAE,IAGvCO,IAAYN,EAAM,aAAa,EAAI,GAEnCO,MADiBD,KAAA,gBAAAA,EAAW,UAAS,KACPJ,EAAO;AAGrC,IAAAF,EAAA,WAAWO,GAAYL,EAAO,MAAM,GAG1CF,EAAM,WAAWO,GAAYJ,GAAc,WAAWE,CAAI;AAEpD,UAAAG,IAAWD,IAAaJ,EAAa;AAGrC,IAAAH,EAAA,eAAe,IAAIpF,GAAM,EAAE,OAAO4F,CAAQ,EAAE,OAAO,GAAG,CAAC,GAGvDR,EAAA,eAAe,IAAIpF,KAAQ,OAAO4F,IAAW,CAAC,EAAE,OAAO,CAAC,CAAC,GAG/DX,GAAgBW,IAAW,CAAC,GAG5BvC,EAAW,IAAI,GACfE,EAAwB,CAAC;AAAA,EAC3B,GAEMsC,KAAqB,CAACC,MAAgB;AAC1C,IAAAZ,GAAoBY,CAAM;AAAA,EAC5B,GAEMC,KAAe,CAACC,GAAiBC,GAAYC,GAAQC,MAAgB;;AACzE,QAAIC,IACDH,EAAM,IAAI,CAAC,KAAKA,EAAM,IAAI,CAAC,EAAE,UAAYA,EAAM,IAAI,CAAC,KAAKA,EAAM,IAAI,CAAC,EAAE;AAEnE,UAAAI,IAAaD,MAAqB;AAAA,KAAQA,MAAqB,KAE/DjB,IAAiBV,GAAenB,CAAoB;AAE1D,QAAIF,KAAWiD,KAAclB,KAAkB,CAAC7D,GAAS;AAEvC,MAAA2E,EAAM,IAAI,CAAC,KAAKA,EAAM,IAAI,CAAC,EAAE,QAI7Cf,GAAoBC,CAAsB;AAE1C;AAAA,IAAA;AAGF,IAAA7C,EAAe0D,CAAO;AAEhB,UAAAM,IAAWL,EAAM,IAAI,WAAW,KAAK,CAAC,CAACA,EAAM,IAAI,CAAC,EAAE;AAQ1D,QANI,CAACG,KAAoBE,MACJF,IAAAD,EAAO,QAAQF,EAAM,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,IAG5C/F,EAAa,SAASkG,CAAgB,GAEzC;AACP,YAAAG,IAAeN,EAAM,IAAI,UAAU,CAACO,MAAY,YAAYA,KAAM,YAAYA,CAAE,GAChFpD,IAAUgD;AACZ,UAAAK,IAASF,MAAiB,IAAI,IAAIN,EAAM,IAAIM,IAAe,CAAC,EAAE;AAC9D,MAAAD,UAAmBG,IAAS;AAIhC,UAAIC,IAAe;AAGnB,iBAAWC,KAASzG,GAAc;AAChC,YAAI0G,IAAU;AAEV,YAAAD,EAAM,SAASvD,CAAO;AAExB,mBAASyD,IAAIF,EAAM,SAAS,GAAGE,KAAK,GAAGA,KAAK;AAE1C,gBAAIA,MAAM,EAAG;AACP,kBAAAC,IAAOH,EAAME,IAAI,CAAC,GAClBE,KAAeN,KAAUE,EAAM,SAASE;AAE9C,gBADyBV,EAAO,QAAQY,IAAc,CAAC,MAC9BD,GAAM;AACnB,cAAAF,IAAA;AACV;AAAA,YAAA;AAAA,UACF;AAAA;AAGQ,UAAAA,IAAA;AAGZ,YAAIA,GAAS;AAEI,UAAAF,IAAAC;AACf;AAAA,QAAA;AAAA,MACF;AAGF,MAAID,IACSrD,EAAA;AAAA,QACT,MAAMqD;AAAA,QACN,QAAAD;AAAA,MAAA,CACD,KAEDpD,EAAW,IAAI,GACfE,EAAwB,CAAC;AAAA,IAC3B,WAIIH,GAAS;AACX,YAAMqD,IAASR,EAAM,IAAI,CAAC,EAAE;AAExB,UAAAG,MAAqB,OAAO,CAACK,GAAQ;AACvC,QAAApD,EAAW,IAAI,GACfE,EAAwB,CAAC;AACzB;AAAA,MAAA;AAGE,UAAAyD,IAA0BP,IAASrD,EAAQ;AAC/C,MAAKkD,KAAUU;AACf,YAAMC,IAAcd,EAAO,QAAQ/C,EAAQ,QAAQ4D,CAAuB,GACpEE,IAAgBD,EAAY,QAAQ7D,EAAQ,KAAK,MAAM,EAAE,GAAG,EAAE;AAEhE,MAAA6D,EAAY,SAAS,GAAG,KAC1B5D,EAAW,IAAI,GACfE,EAAwB,CAAC,KAEdF,EAAA;AAAA,QACT,GAAGD;AAAA,QACH,QAAQ8D,KAAA,gBAAAA,EAAe;AAAA,MAAY,CACpC;AAAA,IACH,OACK;AAEC,YAAA9B,IAAQrB,EAAU,QAAQ,UAAU,GACpCoD,IAAmB/B,EAAM,aAAa,EAAK;AAEjD,UADsBA,EAAM,UAAU+B,KAAA,gBAAAA,EAAkB,OAAOA,KAAA,gBAAAA,EAAkB,MAAM,EACrE,SAAS;AAEnB,cAAA,CAACC,CAAS,IAAIhC,EAAM,QAAQ+B,EAAiB,QAAQ,CAAC,KAAK,CAAC,GAG5DE,OAFMvF,KAAAD,IAAAuF,KAAA,gBAAAA,EAAW,UAAX,gBAAAvF,EAAkB,UAAlB,gBAAAC,EAAyB,QAAO,CAAC,GAEnB,UAAU,KAAK,CAAC0E,MAAY;;AAAA,kBAAA3E,IAAA2E,EAAG,eAAH,gBAAA3E,EAAe;AAAA,SAAO;AAC5E,YAAIwF,GAAe;AACX,gBAAAC,IAAgBD,EAAc,OAAO;AAC3C,UAAAjC,EAAM,WAAW+B,EAAiB,QAAQG,GAAeA,CAAa;AAAA,QAAA;AAAA,MACxE;AAAA,IACF;AAAA,EAGN,GAEMC,KAAkB,CAAC/B,MAAiB;;AAElC,UAAAJ,IAAQrB,EAAU,QAAQ,UAAU;AAE1C,QAAI0C,MAAS5E,IAAAuD,EAAM,aAAa,EAAI,MAAvB,gBAAAvD,EAA0B,UAAS;AAGhD,UAAMuE,IAAmBhB,EAAM,QAAQqB,IAAS,GAAG,CAAC;AAIpD,IADiBL,MAAqB,OAAOA,MAErChB,EAAA,WAAWqB,GAAQ,GAAG,GAC5BA,MAIYe,GAAApC,GAAOqB,GAAQjB,CAAI;AAAA,EACnC,GAEMiC,IAAsB,CAACjC,MAAiB;AAE5C,QAAIpC,GAAS;AACX,YAAM,EAAE,MAAAoC,GAAM,QAAAiB,GAAQ,QAAAnB,IAAS,OAAOlC,GAEhCgC,IAAQrB,EAAU,QAAQ,UAAU,GACpC2D,IAASlC,EAAK,SAASF,EAAO,QAC9BqC,IAAQlB,IAASjB,EAAK,SAAS;AAE/B,MAAAJ,EAAA,WAAWuC,GAAOD,CAAM;AAAA,IAAA;AAGhC,IAAAH,GAAgB/B,CAAI;AAAA,EACtB,GAEMoC,KAAkB,MAAM;AAC5B,IAAIhH,KAAUF,KAEdG,MAAUA,GAAO;AAAA,EACnB,GAEMgH,KAAc,MAAM;AAIpB,KAFW9D,EAAU,QAAQ,UAAU,EACvB,QAAQ,EACnB,SAAS,KAAKtD,MACrB6B,EAAe,EAAE,GAInBxB,MAAWA,GAAQ;AAAA,EACrB,GAEMgH,IAAqB,CAAC,EAAE,MAAAC,GAAM,MAAAC,QAAgB;AAClD,UAAMC,IAAU;AAAA,MACd,IAAID,EAAK;AAAA,MACT,MAAMD,EAAK;AAAA,MACX,MAAMA,EAAK;AAAA,MACX,MAAMA,EAAK;AAAA,MACX,OAAOxF,EAAM;AAAA,IACf;AAEA,WAAAC,EAAS,CAAC0F,MAAS,CAAC,GAAGA,GAAMD,CAAO,CAAC,GAEnBvF,EAAA,CAACwF,MAASA,EAAK,OAAO,CAACC,MAAmBA,EAAU,SAASJ,EAAK,IAAI,CAAC,GAElFE;AAAA,EACT,GAEMG,KAAmB,CAACC,GAAYC,GAAcC,MAAiC;AACnF,IAAIA,IAEFvF,KAAA,QAAAA,EAAmBqF,MAGV7F,EAAA,CAAC0F,MAASA,EAAK,OAAO,CAACH,MAASA,EAAK,OAAOM,CAAE,CAAC,GAExD3F,EAAkB,CAACwF,MACVA,EAAK,OAAO,CAACH,MAAcA,EAAK,SAASO,CAAI,CACrD;AAAA,EAEL,GAEME,KAAqB,CAACC,GAAQV,MAAc;AAChD,UAAMW,IAAW,KAAK,MAAOD,EAAE,SAAS,MAAOA,EAAE,KAAK;AACtD,QAAIC,MAAa,KAAK;AACpB,YAAMC,IAAiB;AAAA,QACrB,MAAMZ,EAAK;AAAA,QACX,UAAAW;AAAA,QACA,MAAMX,EAAK;AAAA,QACX,OAAOxF,EAAM,SAASE,EAAe;AAAA,MACvC;AAGA,MAAAC,EAAkB,CAACwF,MAGV,CAAC,GADYA,EAAK,OAAO,CAACI,MAAcA,EAAK,SAASP,EAAK,IAAI,GAC9CY,CAAc,CACvC;AAAA,IAAA;AAAA,EAEL,GAGMC,KAAa,CAACH,MAAuC;AACzD,IAAA7F,EAAc,EAAK,GAEJiG,GAAAJ,GAAG1H,GAAayH,IAAoBV,CAAkB;AAAA,EACvE,GAEMgB,KAAiB,CAACL,MAAuC;AAC7D,IAAAA,EAAE,eAAe,GACjBA,EAAE,gBAAgB,GAClB7F,EAAc,EAAI;AAAA,EACpB,GAEMmG,KAAoBC,GAAqB;AAAA,IAC7C,aAAAjI;AAAA,IACA,WAAW+G;AAAA,EAAA,CACZ,GAEKmB,KAAe,YAAY;AAC3B,QAAA;AACF,MAAAnG,GAAgB,EAAI;AAEpB,UAAIoG,IAAkB,CAAC,GACnBC,IAAgD,CAAC;AAErD,UAAIpG,EAAY,QAAQ;AACtB,cAAM,EAAE,OAAAR,GAAO,UAAA6G,MAAa,MAAML,GAAkBhG,CAAW;AAC7CR,QAAAA,IAAAA,GACG4G,IAAAC;AAAA,MAAA;AAIvB,YAAM,CAACC,CAAQ,IAAIC,GAAkBjH,CAAW,GAG1CkH,IAAiBC,GAAYH,CAAQ,GAErCI,IAAgB,CAAC,GAAGlH,GAAO,GAAG2G,CAAe;AAE9C,WAAAK,KAAkBE,EAAc,WAAWjJ;AAC1C,YAAA;AACI,gBAAAA,EAAS+I,GAAgBE,GAAe;AAAA,YAC5C,aAAaN;AAAA,YACb,UAAU7H,IAAU,OAAOkC;AAAA;AAAA,UAAA,CAC5B,GAEDlB,EAAe,EAAE,GACjBE,EAAS,CAAA,CAAE;AAAA,gBACG;AAEd;AAAA,QAAA;AAAA,aAGGkH,GAAO;AACd,cAAQ,MAAMA,CAAK,GACnBC,GAAM,MAAM,sBAAsB;AAAA,IAAA,UAClC;AACA,MAAA7G,GAAgB,EAAK;AAAA,IAAA;AAAA,EAEzB,GAEM8G,KAAgB,CAACnB,MAAwC;AAC7D,QAAIrF,GAAS;AAEP,UAAAqF,EAAE,QAAQ,UAAU;AACtB,QAAApF,EAAW,IAAI,GACfE,EAAwB,CAAC;AACzB;AAAA,MAAA;AAIE,MAAAH,KAAWqF,EAAE;AAIX,YAAAoB,IAAiBpB,EAAE,QAAQ,YAAY,KAAKA,EAAE,QAAQ,cAAc,IAAI;AAE9E,UAAIoB,GAAgB;AAElB,QAAApB,EAAE,eAAe;AACjB,YAAIqB,IAAWxG,IAAuBuG;AACtC,QAAIC,IAAW,MAAcA,IAAA/E,EAAoB,SAAS,IACtD+E,KAAY/E,EAAoB,WAAmB+E,IAAA,IACvDvG,EAAwBuG,CAAQ;AAAA,MAAA;AAG9B,MAAArB,EAAE;AAAA,IAEN;AAGF,IAAIA,EAAE,QAAQ,YAAYA,EAAE,WAAWA,EAAE,YAC1BQ,GAAA,GAGXR,EAAE,QAAQ,YACAZ,GAAA;AAAA,EAEhB;AAEI,MAAAkC,KAAqCnJ,IAASsB,KAAa,KAAK;AACpE,EAAIzB,MAA4BsJ,KAAA;AAGhC,QAAMC,KAAUtF;AAAA,IACd,MACEuF,GAAW;AAAA,MACT,eAAe;AAAA,QACb,aAAAlJ;AAAA,QACA,UAAU+G;AAAA,QACV,kBAAkBU;AAAA,MAAA;AAAA,IACpB,CACD;AAAA,IACH,CAACzH,GAAayB,GAAUE,CAAiB;AAAA,EAC3C,GAEMwH,KAAW,CAAC,GAAGnH,GAAa,GAAIR,KAAS,IAAK,GAAGE,CAAc,EAAE;AAAA,IACrE,CAAC8B,GAAGC,MAAMD,EAAE,QAAQC,EAAE;AAAA,EACxB,GACM2F,KAAcD,GAAS,SAAS;AAGtC,MAAIE,KAAgB;AACpB,EAAIpJ,EAAS,UAAUA,EAAS,CAAC,EAAE,eAAe,aAC5CoC,KAAA,gBAAAA,EAAS,UAAS,SACJgH,KAAA;AAId,QAAAC,KAAwB,CAACzJ,MACzBF,IACEY,IAAgB,2CACb,qDAGLA,KAAW,CAACV,IAAe,oBAExB;AAGT,SAEI0J,gBAAAA,MAAAC,EAAAA,UAAA,EAAA,UAAAC,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWC,EAAK,qBAAqB,EAAE,QAAA9J,GAAQ,WAAAH,GAAW;AAAA,MAC1D,YAAYqI;AAAA,MACZ,aAAa,MAAMlG,EAAc,EAAK;AAAA,MACtC,QAAQgG;AAAA,MACR,SAAS,MAAMhG,EAAc,EAAK;AAAA,MAClC,WAAW,CAAC6F,MAAMA,EAAE,gBAAgB;AAAA,MAEpC,UAAA;AAAA,QAAA+B,gBAAAA,EAAA;AAAA,UAACG;AAAAA,UAAA;AAAA,YACC,WAAWD,EAAK,mBAAmB;AAAA,cACjC,QAAA9J;AAAA,cACA,UAAU,CAACA,KAAUF;AAAA,cACrB,WAAAD;AAAA,cACA,YAAAkC;AAAA,cACA,UAAAjC;AAAA,cACA,WAAAC;AAAA,cACA,cAAAkC;AAAA,cACA,UAAU,CAAC,CAACW,KAAY,CAAClC;AAAA,YAAA,CAC1B;AAAA,YACD,WAAWsI;AAAA,YACX,SAAShC;AAAA,YACT,kBAAkBhE,KAAA,gBAAAA,EAAc;AAAA,YAChC,mBAAmBC,GAAqB;AAAA,YACxC,oBAAoBA,GAAqB;AAAA,YAEzC,UAAA;AAAA,cAACyG,gBAAAA,EAAAA,IAAAM,IAAA,EAAgB,KAAK1G,IAEpB,gCAAC2G,IAAqB,EAAA,aAAa1K,GAAoB,WAAAE,EAAA,CAAsB,EAC/E,CAAA;AAAA,cAGCO,KACC0J,gBAAAA,EAAA;AAAA,gBAACQ;AAAA,gBAAA;AAAA,kBACC,OAAOZ;AAAA,kBACP,WAAWC,MAAe1J;AAAA,kBAC1B,UAAU2H;AAAA,kBACV,aAAArH;AAAA,kBACA,mBAAmBkC;AAAA,kBACnB,OAAO;AAAA,oBACL,cAAc;AAAA,oBACd,QAAQ;AAAA,kBACV;AAAA,kBACA,WAAS;AAAA,kBACT,IAAI;AAAA,oBACF,MAAM;AAAA,sBACJ,OAAO;AAAA,wBACL,QAAQxC,IAAY,KAAK;AAAA,sBAAA;AAAA,oBAC3B;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,cAEDG,KAAU,CAACF,IACT8J,gBAAAA,EAAA,KAAAO,IAAA,EAAgB,KAAK9G,IACnB,UAAA;AAAA,gBAAA,CAAC3C,KACAgJ,gBAAAA,EAAA;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACC,OAAOxH;AAAA,oBACP,YAAYE;AAAA,oBACZ,UAAU,CAACuH,MAAMxH,GAAYwH,CAAC;AAAA,oBAC9B,WAAWxK;AAAA,oBACX,cAAce;AAAA,oBACd,gBAAAC;AAAA,oBACA,UAAUyJ,GAAiBxH,IAAiB,EAAE,SAAApC,GAAS,QAAAM,IAAQ;AAAA,oBAC/D,OAAO;AAAA,sBACL,UAAUnB,IAAY,aAAa;AAAA,sBACnC,MAAM;AAAA,sBACN,KAAKA,IAAY,IAAI;AAAA,oBAAA;AAAA,kBACvB;AAAA,gBACF;AAAA,gBAGF6J,gBAAAA,EAAA;AAAA,kBAACa;AAAA,kBAAA;AAAA,oBACC,OAAM;AAAA,oBACN,OAAO,EAAE,WAAWpB,IAAgB,WAAW,IAAI;AAAA,oBACnD,KAAKhG;AAAA,oBACL,OAAO1B;AAAA,oBACP,UAAU0D;AAAA,oBACV,UAAU,CAACnF;AAAA,oBACX,aAAayJ,GAAsB,EAAI;AAAA,oBACvC,SAAAL;AAAA,oBACA,SAASoB;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACX,EACF,CAAA,IAECd,gBAAAA,EAAAA,IAAAe,IAAA,EAAoB,gBAAwB;AAAA,cAG/Cb,gBAAAA,OAACc,IAAA,EACE,UAAA;AAAA,gBAAA,CAAChK,KACAkJ,gBAAAA,EAAAA,KAACe,IAAA,EAEC,UAAA;AAAA,kBAAAjB,gBAAAA,EAAA;AAAA,oBAACkB;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR,SAAS,MAAM/D,EAAoB,GAAG;AAAA,sBACtC,gBAAc;AAAA,sBACd,iBAAe;AAAA,oBAAA;AAAA,kBACjB;AAAA,kBAEA6C,gBAAAA,EAAA;AAAA,oBAACkB;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR,SAAS,MAAM/D,EAAoB,IAAI;AAAA,sBACvC,gBAAc;AAAA,sBACd,iBAAe;AAAA,oBAAA;AAAA,kBACjB;AAAA,kBAEA6C,gBAAAA,EAAA;AAAA,oBAACkB;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR,SAAS,MAAM/D,EAAoB,KAAK;AAAA,sBACxC,gBAAc;AAAA,sBACd,iBAAe;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACjB,GACF;AAAA,gBAEF+C,gBAAAA,EAAA,KAACe,IAAA,EAAe,OAAO,EAAE,YAAY,OAClC,GAAA,UAAA;AAAA,kBAAA9K,2BACE+K,GAAO,EAAA,SAAQ,QAAO,SAAS3D,IAAa,UAE7C,UAAA;AAAA,kBAEFyC,gBAAAA,EAAA;AAAA,oBAACmB;AAAA,oBAAA;AAAA,sBACC,OAAOhL,IAAY,SAAS;AAAA,sBAC5B,WAAU;AAAA,sBACV,QAAQ,CAAC,CAAC4B,KAAe,CAAC,CAACE,EAAM;AAAA,sBACjC,SAAS0G;AAAA,sBACT,UAAUtI;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACZ,EACF,CAAA;AAAA,cAAA,GACF;AAAA,oCAEC+K,IAAA,EAAgB,WAAWhB,EAAK,EAAE,MAAM/H,MAAc/B,EAAQ,CAAA,GAC7D,UAAA0J,gBAAAA,EAAAA,IAACqB,IAAK,EAAA,MAAK,gBAAe,EAC5B,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,QACArB,gBAAAA,EAAA;AAAA,UAACsB;AAAA,UAAA;AAAA,YACC,SAAAxI;AAAA,YACA,SAAS2B;AAAA,YACT,UAAUc;AAAA,YACV,OAAO3F;AAAA,YAEP,QAAQC,EAAmBiD,KAAA,gBAAAA,EAAS,IAAI;AAAA,YACxC,WAAW,CAAC2B,EAAoB,WAAU3B,KAAA,gBAAAA,EAAS;AAAA,YACnD,gBAAgB,CAAC2B,EAAoB,UAAU,EAAC3B,KAAA,QAAAA,EAAS;AAAA,YACzD,eAAeE;AAAA,YAEf,OAAO8G;AAAA,YACP,SAAA9I;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("styled-components"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("styled-components"),i=o.div`
|
|
2
2
|
/* use grid tick for auto height transition */
|
|
3
3
|
display: grid;
|
|
4
4
|
height: 100%;
|
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
&.isEditing {
|
|
21
21
|
padding: 0;
|
|
22
22
|
}
|
|
23
|
-
`,
|
|
23
|
+
`,e=(r,t,n)=>r&&o.css`
|
|
24
24
|
--background-color: ${n};
|
|
25
25
|
--button-color: ${r};
|
|
26
|
-
--button-color-secondary: ${
|
|
26
|
+
--button-color-secondary: ${t};
|
|
27
27
|
--border-color: ${r};
|
|
28
|
-
`,
|
|
28
|
+
`,a=o.div`
|
|
29
29
|
/* VARS */
|
|
30
30
|
--background-color: var(--md-sys-color-surface-container);
|
|
31
31
|
--button-color: var(--md-sys-color-primary);
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
&.category {
|
|
36
36
|
/* CATEGORY */
|
|
37
|
-
${({$categoryPrimary:r,$categorySecondary:
|
|
37
|
+
${({$categoryPrimary:r,$categorySecondary:t,$categoryTertiary:n})=>e(r,t,n)}
|
|
38
38
|
button.comment {
|
|
39
39
|
color: var(--md-sys-color-on-surface);
|
|
40
40
|
&:hover {
|
|
@@ -291,6 +291,61 @@
|
|
|
291
291
|
button:hover {
|
|
292
292
|
background-color: var(--button-color-secondary);
|
|
293
293
|
}
|
|
294
|
+
|
|
295
|
+
/* container queries to hide buttons as the width gets smaller */
|
|
296
|
+
container-type: inline-size;
|
|
297
|
+
container-name: format-buttons;
|
|
298
|
+
|
|
299
|
+
@container format-buttons (max-width: 432px) {
|
|
300
|
+
/* hide first button */
|
|
301
|
+
.ql-formats:first-child {
|
|
302
|
+
button:first-child {
|
|
303
|
+
display: none;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
@container format-buttons (max-width: 400px) {
|
|
309
|
+
/* hide first two buttons */
|
|
310
|
+
.ql-formats:first-child {
|
|
311
|
+
button:nth-child(2) {
|
|
312
|
+
display: none;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
@container format-buttons (max-width: 368px) {
|
|
317
|
+
/* hide first two buttons */
|
|
318
|
+
.ql-formats:first-child {
|
|
319
|
+
button:nth-child(3) {
|
|
320
|
+
display: none;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
@container format-buttons (max-width: 336px) {
|
|
325
|
+
/* hide first two buttons */
|
|
326
|
+
.ql-formats:first-child {
|
|
327
|
+
button:nth-child(4) {
|
|
328
|
+
display: none;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
@container format-buttons (max-width: 304px) {
|
|
333
|
+
/* hide first two buttons */
|
|
334
|
+
.ql-formats:first-child {
|
|
335
|
+
display: none;
|
|
336
|
+
button:nth-child(5) {
|
|
337
|
+
display: none;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/* it should never get this small but if it does: hide all list options */
|
|
343
|
+
@container format-buttons (max-width: 250px) {
|
|
344
|
+
/* hide first two buttons */
|
|
345
|
+
.ql-formats:nth-child(2) {
|
|
346
|
+
display: none;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
294
349
|
}
|
|
295
350
|
|
|
296
351
|
/* EDITING */
|
|
@@ -313,7 +368,7 @@
|
|
|
313
368
|
}
|
|
314
369
|
}
|
|
315
370
|
}
|
|
316
|
-
`,
|
|
371
|
+
`,s=o.footer`
|
|
317
372
|
display: flex;
|
|
318
373
|
justify-content: space-between;
|
|
319
374
|
padding: var(--padding-m);
|
|
@@ -329,7 +384,7 @@
|
|
|
329
384
|
}
|
|
330
385
|
background-color: var(--button-color);
|
|
331
386
|
}
|
|
332
|
-
`,
|
|
387
|
+
`,l=o.div`
|
|
333
388
|
display: flex;
|
|
334
389
|
gap: var(--base-gap-small);
|
|
335
390
|
|
|
@@ -340,10 +395,10 @@
|
|
|
340
395
|
}
|
|
341
396
|
}
|
|
342
397
|
}
|
|
343
|
-
`,
|
|
398
|
+
`,d=o.div`
|
|
344
399
|
position: fixed;
|
|
345
400
|
visibility: hidden;
|
|
346
|
-
`,
|
|
401
|
+
`,c=o.div`
|
|
347
402
|
position: absolute;
|
|
348
403
|
inset: 0;
|
|
349
404
|
user-select: none;
|
|
@@ -367,10 +422,10 @@
|
|
|
367
422
|
.icon {
|
|
368
423
|
font-size: 40px;
|
|
369
424
|
}
|
|
370
|
-
`,
|
|
425
|
+
`,u=o.span`
|
|
371
426
|
padding: 12px 15px;
|
|
372
427
|
/* italic */
|
|
373
428
|
font-style: italic;
|
|
374
429
|
opacity: 0.4;
|
|
375
|
-
`;exports.AutoHeight=
|
|
430
|
+
`;exports.AutoHeight=i;exports.Buttons=l;exports.Comment=a;exports.Dropzone=c;exports.Footer=s;exports.Markdown=d;exports.Placeholder=u;exports.categoryColorCss=e;
|
|
376
431
|
//# sourceMappingURL=CommentInput.styled.cjs.js.map
|
package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map
CHANGED
|
@@ -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'\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 --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 --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 color: var(--md-sys-color-on-surface);\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\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 }\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","Comment","Footer","Buttons","Markdown","Dropzone","Placeholder"],"mappings":"qHAEaA,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,EAAA;AAAA,0BACwBD,CAAiB;AAAA,sBACrBF,CAAgB;AAAA,gCACNC,CAAkB;AAAA,sBAC5BD,CAAgB;AAAA,IAGzBI,EAAUN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASxB,CAAC,CAAE,iBAAAE,EAAkB,mBAAAC,EAAoB,kBAAAC,KACzCH,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,EAyRlEG,EAASP,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBhBQ,EAAUR,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAajBS,EAAWT,EAAO;AAAA;AAAA;AAAA,EAKlBU,EAAWV,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,EA0BlBW,EAAcX,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'\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 --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 --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 color: var(--md-sys-color-on-surface);\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 }\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","Comment","Footer","Buttons","Markdown","Dropzone","Placeholder"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import o, { css as
|
|
2
|
-
const
|
|
1
|
+
import o, { css as e } from "styled-components";
|
|
2
|
+
const s = o.div`
|
|
3
3
|
/* use grid tick for auto height transition */
|
|
4
4
|
display: grid;
|
|
5
5
|
height: 100%;
|
|
@@ -21,12 +21,12 @@ const l = o.div`
|
|
|
21
21
|
&.isEditing {
|
|
22
22
|
padding: 0;
|
|
23
23
|
}
|
|
24
|
-
`,
|
|
24
|
+
`, i = (r, t, n) => r && e`
|
|
25
25
|
--background-color: ${n};
|
|
26
26
|
--button-color: ${r};
|
|
27
|
-
--button-color-secondary: ${
|
|
27
|
+
--button-color-secondary: ${t};
|
|
28
28
|
--border-color: ${r};
|
|
29
|
-
`,
|
|
29
|
+
`, l = o.div`
|
|
30
30
|
/* VARS */
|
|
31
31
|
--background-color: var(--md-sys-color-surface-container);
|
|
32
32
|
--button-color: var(--md-sys-color-primary);
|
|
@@ -35,7 +35,7 @@ const l = o.div`
|
|
|
35
35
|
|
|
36
36
|
&.category {
|
|
37
37
|
/* CATEGORY */
|
|
38
|
-
${({ $categoryPrimary: r, $categorySecondary:
|
|
38
|
+
${({ $categoryPrimary: r, $categorySecondary: t, $categoryTertiary: n }) => i(r, t, n)}
|
|
39
39
|
button.comment {
|
|
40
40
|
color: var(--md-sys-color-on-surface);
|
|
41
41
|
&:hover {
|
|
@@ -292,6 +292,61 @@ const l = o.div`
|
|
|
292
292
|
button:hover {
|
|
293
293
|
background-color: var(--button-color-secondary);
|
|
294
294
|
}
|
|
295
|
+
|
|
296
|
+
/* container queries to hide buttons as the width gets smaller */
|
|
297
|
+
container-type: inline-size;
|
|
298
|
+
container-name: format-buttons;
|
|
299
|
+
|
|
300
|
+
@container format-buttons (max-width: 432px) {
|
|
301
|
+
/* hide first button */
|
|
302
|
+
.ql-formats:first-child {
|
|
303
|
+
button:first-child {
|
|
304
|
+
display: none;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
@container format-buttons (max-width: 400px) {
|
|
310
|
+
/* hide first two buttons */
|
|
311
|
+
.ql-formats:first-child {
|
|
312
|
+
button:nth-child(2) {
|
|
313
|
+
display: none;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
@container format-buttons (max-width: 368px) {
|
|
318
|
+
/* hide first two buttons */
|
|
319
|
+
.ql-formats:first-child {
|
|
320
|
+
button:nth-child(3) {
|
|
321
|
+
display: none;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
@container format-buttons (max-width: 336px) {
|
|
326
|
+
/* hide first two buttons */
|
|
327
|
+
.ql-formats:first-child {
|
|
328
|
+
button:nth-child(4) {
|
|
329
|
+
display: none;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
@container format-buttons (max-width: 304px) {
|
|
334
|
+
/* hide first two buttons */
|
|
335
|
+
.ql-formats:first-child {
|
|
336
|
+
display: none;
|
|
337
|
+
button:nth-child(5) {
|
|
338
|
+
display: none;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/* it should never get this small but if it does: hide all list options */
|
|
344
|
+
@container format-buttons (max-width: 250px) {
|
|
345
|
+
/* hide first two buttons */
|
|
346
|
+
.ql-formats:nth-child(2) {
|
|
347
|
+
display: none;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
295
350
|
}
|
|
296
351
|
|
|
297
352
|
/* EDITING */
|
|
@@ -314,7 +369,7 @@ const l = o.div`
|
|
|
314
369
|
}
|
|
315
370
|
}
|
|
316
371
|
}
|
|
317
|
-
`,
|
|
372
|
+
`, d = o.footer`
|
|
318
373
|
display: flex;
|
|
319
374
|
justify-content: space-between;
|
|
320
375
|
padding: var(--padding-m);
|
|
@@ -330,7 +385,7 @@ const l = o.div`
|
|
|
330
385
|
}
|
|
331
386
|
background-color: var(--button-color);
|
|
332
387
|
}
|
|
333
|
-
`,
|
|
388
|
+
`, c = o.div`
|
|
334
389
|
display: flex;
|
|
335
390
|
gap: var(--base-gap-small);
|
|
336
391
|
|
|
@@ -375,13 +430,13 @@ const l = o.div`
|
|
|
375
430
|
opacity: 0.4;
|
|
376
431
|
`;
|
|
377
432
|
export {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
433
|
+
s as AutoHeight,
|
|
434
|
+
c as Buttons,
|
|
435
|
+
l as Comment,
|
|
381
436
|
b as Dropzone,
|
|
382
|
-
|
|
437
|
+
d as Footer,
|
|
383
438
|
p as Markdown,
|
|
384
439
|
u as Placeholder,
|
|
385
|
-
|
|
440
|
+
i as categoryColorCss
|
|
386
441
|
};
|
|
387
442
|
//# sourceMappingURL=CommentInput.styled.es.js.map
|
package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map
CHANGED
|
@@ -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'\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 --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 --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 color: var(--md-sys-color-on-surface);\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\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 }\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","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'\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 --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 --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 color: var(--md-sys-color-on-surface);\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 }\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","Comment","Footer","Buttons","Markdown","Dropzone","Placeholder"],"mappings":"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"}
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),u=require("../../../context/FeedContext.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");const q=require("../../../../../context/DetailsPanelContext.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/PowerpackContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");const a=(t,n,r)=>(n||console.warn("filterEntityAnnotations: entityId is empty"),Object.values(t).forEach(e=>{e.versionId||console.warn("filterEntityAnnotations: annotation.versionId is empty",e)}),Object.values(t).filter(e=>e.versionId===n&&!r.some(i=>i.name===e.name)).map(e=>({...e,unsavedAnnotation:e}))),A=({entityId:t,filesUploading:n})=>{const{editingId:r,setEditingId:e,annotations:i,removeAnnotation:l}=u.useFeedContext(),{onGoToFrame:o}=q.useDetailsPanelContext(),s=a(i||[],t,n);return f.useEffect(()=>{s.length>0&&!r&&e(u.FEED_NEW_COMMENT)},[s]),{annotations:s,goToAnnotation:c=>{const d=c.range[0];o==null||o(d)},removeAnnotation:l}};exports.default=A;exports.filterEntityAnnotations=a;
|
|
2
2
|
//# sourceMappingURL=useAnnotationsSync.cjs.js.map
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationsSync.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["filterEntityAnnotations","annotations","entityId","filesUploading","annotation","file","annotationFile","useAnnotationsSync","editingId","setEditingId","removeAnnotation","useFeedContext","onGoToFrame","useDetailsPanelContext","filteredAnnotations","useEffect","FEED_NEW_COMMENT","firstFrame"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAnnotationsSync.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n if (!entityId) {\n console.warn('filterEntityAnnotations: entityId is empty')\n }\n // Check if any annotation has empty versionId\n Object.values(annotations).forEach((annotation) => {\n if (!annotation.versionId) {\n console.warn('filterEntityAnnotations: annotation.versionId is empty', annotation)\n }\n })\n\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["filterEntityAnnotations","annotations","entityId","filesUploading","annotation","file","annotationFile","useAnnotationsSync","editingId","setEditingId","removeAnnotation","useFeedContext","onGoToFrame","useDetailsPanelContext","filteredAnnotations","useEffect","FEED_NEW_COMMENT","firstFrame"],"mappings":"s5BAcO,MAAMA,EAA0B,CACrCC,EACAC,EACAC,KAEKD,GACH,QAAQ,KAAK,4CAA4C,EAG3D,OAAO,OAAOD,CAAW,EAAE,QAASG,GAAe,CAC5CA,EAAW,WACN,QAAA,KAAK,yDAA0DA,CAAU,CACnF,CACD,EAEM,OAAO,OAAOH,CAAW,EAC7B,OACEG,GACCA,EAAW,YAAcF,GACzB,CAACC,EAAe,KAAME,GAASA,EAAK,OAASD,EAAW,IAAI,CAAA,EAE/D,IAAKE,IAAoB,CACxB,GAAGA,EACH,kBAAmBA,CAAA,EACnB,GAGAC,EAAqB,CAAC,CAAE,SAAAL,EAAU,eAAAC,KAA4B,CAClE,KAAM,CAAE,UAAAK,EAAW,aAAAC,EAAc,YAAAR,EAAa,iBAAAS,CAAA,EAAqBC,EAAAA,eAAe,EAC5E,CAAE,YAAAC,CAAY,EAAIC,yBAAuB,EAGzCC,EAAsBd,EAAwBC,GAAe,CAAA,EAAIC,EAAUC,CAAc,EAG/FY,OAAAA,EAAAA,UAAU,IAAM,CAEVD,EAAoB,OAAS,GAAK,CAACN,GACrCC,EAAaO,EAAAA,gBAAgB,CAC/B,EACC,CAACF,CAAmB,CAAC,EAOjB,CACL,YAAaA,EACb,eAP4BV,GAAkC,CACxD,MAAAa,EAAab,EAAW,MAAM,CAAC,EACrCQ,GAAA,MAAAA,EAAcK,EAChB,EAKE,iBAAAP,CACF,CACF"}
|