* fix: issue embed going to next line when selected on slash commands
* fix: issue suggestions selecting next embed on arrow down
* fix: pages crashing, because of incorrect data type
* chore: removed issue embeds from document editor and page interface
* fix: upgraded issue widget card to show only Placeholder
* fix: pricing url changes for issue embed placeholder
* fix: build errors
* fix: inline codes now exitable with right arrow key and inclusive
* regression: toggle inline code on bubble menu selection
* feat: added different code block behaviour on selection and not selection
* fix: blockquote toggling and isActive state fixed
- Removed unused `switchLinkView` function in `PageRenderer`
- Added `hideDragHandle` prop to `PageRenderer` component
- Updated `EditorContainer` component in `PageRenderer` to include `hideDragHandle` prop
- Removed unused code and variables in `DocumentEditor` component
- Added `hideDragHandleOnMouseLeave` state variable in `DocumentEditor` component
- Added `setHideDragHandleFunction` to set the hideDragHandle function from the DragAndDrop extension
- Passed `hideDragHandleOnMouseLeave` as prop to `PageRenderer` component in `DocumentEditor`
- Removed unused code and variables in `PageDetailsPage` component
- Updated `customClassName` prop in `PageRenderer` component used in `PageDetailsPage`
chore(deps): Update dependencies
- Updated `@tippyjs/react` dependency to version 4.2.6
- Updated `mobx-react-lite` dependency to version 4.0.5
- Updated `tippy.js` dependency to version 6.3.7
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
This fix adds support for hiding the drag handle when the cursor leaves the editor container. It improves the user experience by providing a cleaner interface and removing unnecessary visual elements especially while scrolling.
- Add `hideDragHandle` prop to `EditorContainer` component in `editor-container.tsx`.
- Implement `onMouseLeave` event handler in `EditorContainer` to invoke `hideDragHandle` function.
- Update `DragAndDrop` extension in `drag-drop.tsx` to accept a `setHideDragHandle` function as an optional parameter.
- Pass the `setHideDragHandle` function from `RichTextEditor` component to `DragAndDrop` extension in `RichTextEditorExtensions` function in `index.tsx`.
- Set `hideDragHandleOnMouseLeave` state in `RichTextEditor` component to store the `hideDragHandlerFromDragDrop` function.
- Create `setHideDragHandleFunction` callback function in `RichTextEditor` to update the `hideDragHandleOnMouseLeave` state.
- Pass `hideDragHandleOnMouseLeave` as `hideDragHandle` prop to `EditorContainer` component in `RichTextEditor`.
* fix: removed backticks in inline code blocks
* added better error handling while cancelling uploads
* fix: inline code blocks, code blocks and links have saner behaviour
- Inline code blocks are now exitable, don't have backticks, have better padding vertically and better regex matching
- Code blocks on the top and bottom of the document are now exitable via Up and Down Arrow keys
- Links are now exitable while being autolinkable via a custom re-write of the tiptap-link-extension
* fix: more robust link checking
error of table not being defined while getting getBoundingClientRect()
and solve other TS issues
- Added ResolvedPos import from @tiptap/pm/model
- Updated setCellsBackgroundColor function parameter type to string
- Declared ToolboxItem type for toolbox items
- Modified columnsToolboxItems and rowsToolboxItems to use the ToolboxItem type
- Updated createToolbox function parameters to specify Element or null for triggerButton and ToolboxItem[] for items
- Added ts-expect-error comment above the toolbox variable declaration
- Updated update method parameter type to readonly Decoration[]
- Changed destructuring assignment of hoveredTable and hoveredCell in updateControls method to use Object.values and reduce method
- Added null check for this.table in updateControls method
- Wrapped the code that updates columnsControl and rowsControl with null checks for each control
- Replaced ts-ignore comments with proper dispatch calls in selectColumn and selectRow methods
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* 🔧 chore: Update revalidate option and add useEffect hook in PageDetailsPage component
- Set the `revalidate` option to `false` in the `commonSwrOptions` object.
- Add an `useEffect` hook that calls the `mutatePageDetails` function with specific options.
- Inside the `useEffect` hook, set `revalidate` to `true`, `populateCache` to `true`, and define a rollback function for error handling.
- If an error occurs during the rollback, display an error alert message using the `actionCompleteAlert` function.
- In the `updatePage` function, ensure that `workspaceSlug`, `projectId`, and `pageId` are all defined before proceeding.
* ♻️ refactor: Update code styling for inline code in CoreEditorExtensions
In the `packages/editor/core/src/ui/extensions/index.tsx` file, the code for inline code styling in the CoreEditorExtensions component has been updated. Previously, it was set to `false`, but now it is defined as an object with specific HTML attributes. The code styling includes a rounded-md background, custom primary color, margin, padding, font styling, and disabling spellcheck. This change improves the visual appearance and readability of inline code elements in the editor.
* Fix position bug in the UploadImagesPlugin widget decoration and adjust transaction to correctly insert image node and set meta data for image removal.
* Update CSS styles in editor.css to remove margin top and bottom on images and img placeholders and adjust the margin on the table in the editor container.
* Better typescript support for images extension.
Update the `Command` extension in `slash-commands.tsx` to include a `SlashCommandOptions` type for better TS support and allow spaces in the suggestion options and modify the `image` suggestion's search terms to include "img" in addition to "photo", "picture", and "media".
* removed relative imports from editor core
* Update issue widget file paths and imports to use kebab case instead of camel case, to align with coding conventions and improve consistency.
* Update Tiptap core and extensions versions to 2.1.13 and Tiptap React version to 2.1.13. Update Tiptap table imports to use the new location in package @tiptap/pm/tables. Update AlertLabel component to use the new type definition for LucideIcon.
* updated lock file
* removed default exports from editor/core
* fixed injecting css into the core package itself
* seperated css code to have single source of origin wrt to the package
* removed default imports from document editor
* all instances using index as key while mapping fixed
* Update Lite Text Editor package.json to remove @plane/editor-types as a dependency.
Update Lite Text Editor index.ts to update the import of IMentionSuggestion and IMentionHighlight from @plane/editor-types to @plane/editor-core.
Update Lite Text Editor ui/index.tsx to update the import of UploadImage, DeleteImage, IMentionSuggestion, and RestoreImage from @plane/editor-types to @plane/editor-core.
Update Lite Text Editor ui/menus/fixed-menu/index.tsx to update the import of UploadImage from @plane/editor-types to @plane/editor-core.
Update turbo.json to remove @plane/editor-types#build as a dependency for @plane/lite-text-editor#build, @plane/rich-text-editor#build, and @plane/document-editor#build.
* Remove deprecated import and adjust tippy.js usage in the slash-commands.tsx file of the editor extensions package.
* Update dependencies in `rich-text-editor/package.json`, remove `@plane/editor-types` and add `@plane/editor-core` in `rich-text-editor/src/index.ts`, and update imports in `rich-text-editor/src/ui/extensions/index.tsx` and `rich-text-editor/src/ui/index.tsx` to use `@plane/editor-core` instead of `@plane/editor-types`.
* Update package.json dependencies and add new types for image deletion, upload, restore, mention highlight, mention suggestion, and slash command item.
* Update import statements in various files to use the new package "@plane/editor-core" instead of "@plane/editor-types".
* fixed document editor to follow conventions
* Refactor imports in the Rich Text Editor package to use relative paths instead of absolute paths.
- Updated imports in `index.ts`, `ui/index.tsx`, and `ui/menus/bubble-menu/index.tsx` to use relative paths.
- Updated `tsconfig.json` to include the `baseUrl` compiler option and adjust the `include` and `exclude` paths.
* Refactor Lite Text Editor code to use relative import paths instead of absolute import paths.
* Added LucideIconType to the exports in index.ts for use in other files.
Created a new file lucide-icon.ts which contains the type LucideIconType.
Updated the icon type in HeadingOneItem in menu-items/index.tsx to use LucideIconType.
Updated the Icon type in AlertLabel in alert-label.tsx to use LucideIconType.
Updated the Icon type in VerticalDropdownItemProps in vertical-dropdown-menu.tsx to use LucideIconType.
Updated the Icon type in BubbleMenuItem in fixed-menu/index.tsx to use LucideIconType.
Deleted the file tooltip.tsx since it is no longer used.
Updated the Icon type in BubbleMenuItem in bubble-menu/index.tsx to use LucideIconType.
* ♻️ refactor: simplify rendering logic in slash-commands.tsx
The rendering logic in the file "slash-commands.tsx" has been simplified. Previously, the code used inline positioning for the popup, but it has now been removed. Instead of appending the popup to the document body, it is now appended to the element with the ID "tiptap-container". The "flip" option has also been removed. These changes have improved the readability and maintainability of the code.
* fixed build errors caused due to core's internal imports
* regression: fixed pages not saving issue and not duplicating with proper content issue
* build: Update @tiptap dependencies
Updated the @tiptap dependencies in the package.json files of `document-editor`, `extensions`, and `rich-text-editor` packages to version 2.1.13.
* 🚑 fix: Correct appendTo selector in slash-commands.tsx
Update the `appendTo` function call in `slash-commands.tsx` to use the correct selector `#editor-container` instead of `#tiptap-container`. This ensures that the component is appended to the appropriate container in the editor extension.
Note: The commit message assumes that the change is a fix for an issue or error. If it's not a fix, please provide more context so that an appropriate commit type can be determined.
* chore: format all files in the project
* fix: removing @types/react from dependencies
* fix: adding prettier and eslint config
* chore: format files
* fix: upgrading turbo version
* chore: ignoring warnings and adding todos
* fix: updated the type of bubble menu item in the document editor
* chore: format files
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* feat: added heading 3 in the editor summary markings
* feat: fixed editor and summary bar sizing
* feat: added `issue-embed` extension
* feat: exposed issue embed extension
* feat: added main embed config configuration to document editor body
* feat: added peek overview and issue embed fetch function
* feat: enabled slash commands to take additonal suggestions from editors
* chore: replaced `IssueEmbedWidget` into widget extension
* chore: removed issue embed from previous places
* feat: added issue embed suggestion extension
* feat: added issue embed suggestion renderer
* feat: added issue embed suggestions into extensions module
* feat: added issues in issueEmbedConfiguration in document editor
* chore: package fixes
* chore: removed log statements
* feat: added title updation logic into document editor
* fix: issue suggestion items, not rendering issue widget on enter
* feat: added error card for issue widget
* feat: improved focus logic for issue search and navigate
* feat: appended transactionid for issueWidgetTransaction
* chore: packages update
* feat: disabled editing of title in readonly mode
* feat: added issueEmbedConfig in readonly editor
* fix: issue suggestions not loading after structure changed to object
* feat: added toast messages for success/error messages from doc editor
* fix: issue suggestions sorting issue
* fix: formatting errors resolved
* fix: infinite reloading of the readonly document editor
* fix: css in avatar of issue widget card
* feat: added show alert on pages reload
* feat: added saving state for the pages editor
* fix: issue with heading 3 in side bar view
* style: updated issue suggestions dropdown ui
* fix: Pages intiliazation and mutation with updated MobX store
* fixed image uploads being cancelled on refocus due to swr
* fix: issue with same description rerendering empty content fixed
* fix: scroll in issue suggestion view
* fix: added submission prop
* fix: Updated the comment update to take issue id in inbox issues
* feat:changed date representation in IssueEmbedCard
* fix: page details mutation with optimistic updates using swr
* fix: menu options in read only editor with auth fixed
* fix: add error handling for title and page desc
* fixed yarn.lock
* fix: read-only editor title wrapping
* fix: build error with rich text editor
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
Co-authored-by: Palanikannan1437 <73993394+Palanikannan1437@users.noreply.github.com>
* added image min width and height programatically
* fixed editor initialization for peek view and inbox issues
* fixed ts issues with issue id in inbox
* image restoration fixed (marks an image to be deleted after a week)
* removed clgs
* added image constraints
* formatted editor-core package using yarn format
* lite-text-editor nothing to format
* rich-text-editor nothing to format
* formatted document-editor with prettier
* modified file service to follow api change
* fixed more formatting in document editor
* fixed all instances of types with that from the package
* fixed delete to work consistently (minor optimizations turned off)
* stop duplicate images inside editor
* restore image on editor creation
say if user A deletes image number 2, user B was also in the same issue and in their screen the image was there, if user B makes certain changes and that gets saved in backend, according to user B image 2 should exist but since user A deleted it, it'll not get restored and get deleted in 7 days, hence I've added a check such that whenever a issue loads we restore all images by default
* added restore image function with types
* replaced all instances to have restore image logic
* fixed issue detail for peek view
* disabled option to insert table inside a table
* image can't be inserted inside table
Now we've diabled image icon from showing up if the cursor is inside a table node or if a table cell is selected
* added drag drop support for document editor
* fixed missing dependencies
* better variable names and comments
* drag drop migrated
* custom horizontal rule created
* init transaction hijack
* fixed code block with better contrast, keyboard tripple enter press disabled and syntax highlighting
* fixed link selector closing on open behaviour
* added better keymaps and syntax highlights
* made drag and drop working for code blocks
* fixed drag drop for code blocks
* moved drag drop only to rich text editor
* fixed drag and drop only for description
* enabled drag handles for peek overview and main issues
* got images to old state
* fixed task lists to be smaller
* removed validate image functions and uncessary imports
* table icons svg attributes fixed
* custom list keymap extension added
* more uncessary imports of validate image removed
* removed console logs
* fixed drag-handle styles
* space styles updated for the editor
* removed showing quotes from blockquotes
* removed validateImage for now
* added better comments and improved redundant renders
* removed uncessary console logs
* created util for creating the drag handle element
* fixed file names
* better variable names and comments
* drag drop migrated
* custom horizontal rule created
* init transaction hijack
* fixed code block with better contrast, keyboard tripple enter press disabled and syntax highlighting
* fixed link selector closing on open behaviour
* added better keymaps and syntax highlights
* made drag and drop working for code blocks
* fixed drag drop for code blocks
* moved drag drop only to rich text editor
* fixed drag and drop only for description
* enabled drag handles for peek overview and main issues
* got images to old state
* feat: add mentions store to the space project
* fix: added mentions highlights in read only comment cards
* feat: added mention highlights in richtexteditor in space app
* migrated table to new project structure
* fixed range errors while deleting table nodes with no nodes below and removed console logs
* fixed css for rendering table menu
* removed old table menu
* added support for read only editors as well
* text-black removed
* added design colors
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* fix: removed text color in peek view
* fix: fixed list view UI bugs and node view colors
* feat: update imports in suggestions for mentionSuggestion type
* fix: updated mention list css
* fix: updated mention node UI according to the design provided
* style: update the mentions dropdown UI
* style: mentioned users UI in the editor
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* feat: created custom mention component
* feat: added mention suggestions and suggestion highlights
* feat: created mention suggestion list for displaying mention suggestions
* feat: created custom mention text component, for handling click event
* feat: exposed mention component
* feat: integrated and exposed `mentions` componenet with `editor-core`
* feat: integrated mentions extension with the core editor package
* feat: exposed suggestion types from mentions
* feat: added `mention-suggestion` parameters in `r-t-e` and `l-t-e`
* feat: added `IssueMention` model in apiserver models
* chore: updated activities background job and added bs4 in requirements
* feat: added mention removal logic in issue_activity
* chore: exposed mention types from `r-t-e` and `l-t-e`
* feat: integrated mentions in side peek view description form
* feat: added mentions in issue modal form
* feat: created custom react-hook for editor suggestions
* feat: integrated mention suggestions block in RichTextEditor
* feat: added `mentions` integration in `lite-text-editor` instances
* fix: tailwind loading nodemodules from packages
* feat: added styles for the mention suggestion list
* fix: update module import to resolve build failure
* feat: added mentions as an issue filter
* feat: added UI Changes to Implement `mention` filters
* feat: added `mentions` as a filter option in the header
* feat: added mentions in the filter list options
* feat: added mentions in default display filter options
* feat: added filters in applied and issue params in store
* feat: modified types for adding mentions as a filter option
* feat: modified `notification-card` to display message when it exists in object
* feat: rewrote user mention management upon the changes made in develop
* chore: merged debounce PR with the current PR for tracing changes
* fix: mentions_filters updated with the new setup
* feat: updated requirements for bs4
* feat: modified `mentions-filter` to remove many to many dependency
* feat: implemented list manipulation instead of for loop
* feat: added readonly functionality in `read-only` editor core
* feat: added UI Changes for read-only mode
* feat: added mentions store in web Root Store
* chore: renamed `use-editor-suggestions` hook
* feat: UI Improvements for conditional highlights w.r.t readonly in mentionNode
* fix: removed mentions from `filter_set` parameters
* fix: minor merge fixes
* fix: package lock updates
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
When using a boolean attribute in JSX, you can set the attribute value to true or omit the value. This helps to keep consistency in code.
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
* fixed debounce logic and extracted the same
* fixed editor mounting with custom hook
* removed console logs and improved structure
* fixed comment editor behavior on Shift-Enter
* fixed editor initialization behaviour for new peek view
* fixed button type to avoid reload while editing comments
* fixed initialization of content in peek overview
* improved naming variables in updated title debounce logic
* added react-hook-form support to the issue detail in peek view with save states
* delete image plugin's ts support improved
* initialized tiptap component with common tailwind config
* added common tailwind config to web
* abstracted upload and delete functions
* removed tiptap pro extension
* fixed types
* removed old tailwind config and fixed plane package imports
* exported tiptap editor with and without ref
* updated package name to @plane/editor
* finally fixed import errors
* added turbo dependency for tiptap
* reverted back types and fixed tailwind
* migrated all components to use the common package
* removed old tiptap dependency
* improved dev experience to build the tiptap package before starting dev server
* resolved lock life and missing deps
* fixed dependency issue with react type resolution
* chore: updated pulls build CI for using turbo builds
* comment editor basic version added
* new structure of editor components
* refactored editor to not require workspace slug
* added seperation of extensions and props
* refactoring to LiteTextEditor and RichTextEditor
* fixed global css issue with highlight js
* refactoring tiptap to core/lite/rich text editor
* read only editor support added
* replaced all read-only instances
* trimming html at start and end of content added
* onSubmit on enterkey captured
* removed absolute imports from editor/core package
* removed absolute imports from lite-text-editor
* removed absolute imports from rich-text-editor
* fixed dependencies in editor package
* fixed tailwind config for editor
* Enter key behaviour added for Comments
* fixed modal form issue
* added comment editor with fixed menu
* added support for range commands
* modified turbo config for build pipeline of space and web projects
* fixed shift enter behavior for lists
* removed extra margin from access specifiers
* removed tiptap instance from web
* fixed bugs returning empty editor boxes
* fixed toggle Underline behvaiour
* updated bubble menu to use core package's utilities
* added editor/core readme and fixed imports
* fixed ts issues with link plugin
* added usage of common dependance for slash commands
* completed core package's documentation
* fixed tsconfig by removing path aliases
* Completed readme for rich-text-editor
* Added rich text editor documentation
* changed readme title of core package
---------
Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>