* fix: stroing the transactions in page
* fix: page details changes
* chore: page response change
* chore: removed duplicated endpoints
* chore: optimised the urls
* chore: removed archived and favorite pages
* chore: revamping pages store and components
* mentions loading state part done
* fixed mentions not showing in modals
* removed comments and cleaned up types
* removed unused types
* reset: head
* chore: pages store and component updates
* style: pages list item UI
* fix: improved colors and drag handle width
* fix: slash commands are no more shown in the code blocks
* fix: cleanup/hide drag handles post drop
* fix: hide/cleanup drag handles post drag start
* fix: aligning the drag handles better with the node post css changes of the length
* fix: juggling back and forth of drag handles in ordered and unordered lists
* chore: fix imports, ts errors and other things
* fix: clearing nodes to default node i.e paragraph before converting it to other types of nodes
For more reference on what this does, please refer https://tiptap.dev/docs/editor/api/commands/clear-nodes
* chore: clearNodes after delete in case of selections being present
* fix: hiding link selector in the bubble menu if inline code block is selected
* chore: filtering, ordering and searching implemented
* chore: updated pages store and updated UI
* chore: new core editor just for document editor created
* chore: removed setIsSubmitting prop in doc editor
* fix: fixed submitting state for image uploads
* refactor: setShouldShowAlert removed
* refactor: rerenderOnPropsChange prop removed
* chore: type inference magic in ref to expose an api for controlling editor menu items from outside
* fix: naming imports
* chore: change names of the exposed functions and removing old types
* refactor: remove debouncedUpdatesEnabled prop;
* refactor: editor heading markings now parsed using html
* chore: removed unrelated components from the document editor
* refactor: page details granular components
* fix: remove onActionCompleteHandler
* refactor: removed rerenderOnProps change prop
* feat: added getMarkDown function
* chore: update dropdown option actions
* fix: sidebar markings update logic
* chore: add image and to-do list actions to the toolbar
* fix: handling refs and populating them via callbacks
* feat: scroll to node api exposed
* cleaning up editor refs when the editor is destroyed
* feat: scrolling added to read only instance of the editor
* fix: markings logic
* fix: build errors with types
* fix: build erros
* fix: subscribing to transactions of editor via ref
* chore: remove debug statements
* fix: type errors
* fix: temporary different slash commands for document editor
* chore: inline code extension style
* chore: remove border from readOnly editor
* fix: editor bottom padding
* chore: pages improvements
* chore: handle Enter key on the page title
* feat: added loading indicator logic in mentions
* fix: mentions and slash commands now work well with multiple editors in one place
* refactor: page store structure, filtering logic
* feat: added better seperation in inline code blocks
* feat: list autojoining added
* fix: pages folder structure
* fix: image refocus from external parts
* working lists somewhat
* chore: implement page reactions
* fix: build errors
* fix: build errors
* fixed drag handles stuff
* task list item fixed
* working
* fix: working on multiple nested lists
* chore: remove debug statements
* fix: Tab key on first list item handled to not go out of editor focus
* feat: threshold auto scroll support added and multi nested list selection fixed
* fix: caret color bug with improved inline code blocks
* fix: node range error when bulk deleting with list
* fix: removed slash commands from working in code blocks
* chore: update typography margins
* chore: new field added in page model
* fix: better type inference in slash commands
* chore: code block UI
* feat: image insertion at correct position using ref added
* feat: added improved mentions support for space
* fix: type errors in mentions for comments in web app
* sync: core with document-core
* fix: build errors
* fix: fallback for appendTo not being able to find active container instantly
* fix: page store
* fix: page description
* fix: css quality issues
* chore: code cleanup
* chore: removed placeholder text in codeblocks
* chore: archived pages response change
* chore: archived pages response change
* fix: initial pages list fetch
* fix: pages list filters and ordering
* chore: add access change option in the quick actions dropdown
* fix: inline code block caret fixed
* regression: removing extra text
* chore: caret color removed
* feat: copy code button added in code blocks
* fix: initial load of page details
* fix: initial load of page details
* fix: image resizing weird behavior on click/expanding it too much fixed now
* chore: copy page response
* fix: todo list spacing
* chore: description html in the copy page
* chore: handle latest description on refetch
* fix: saner scroll behaviours
* fix: block menu positioning
* fix: updated empty string description
* feat: tab change sync support added
* fix: infinite rerendering with markings
* fix: block menu finally
* fix: intial load on reload bug fixed
* fix: nested lists alignment
* fix: editor padding
* fix: first level list items copyable
* chore: list spacing
* fix: title change
* fix: pages list block items interaction
* fix: saving chip position
* fix: delete action from block menu to focus properly
* fix: margin-bottom as 0 to avoid weird spacing when a paragraph node follows a list node
* style: table, chore: lite text editor toolbar
* fix: page description tab sync
* fix: lists spacing and alignment
* refactor: document editor props
* feat: rich text editor wrapper created and migrated core
* feat: created wrapper around lite text editor and merged core
* chore: add lite text editor toolbar
* fix: build errors
* fix: type errors and addead live updation of toolbar
* chore: pages migration
* fix: inbox issue
* refactor: remove redundant package
* refactor: unused files
* fix: add dompurify to space app
* fix: inline code margin
* fix: editor className props
* fix: build errors
* fix: traversing up the tree before assuming the parent is not a list item
* fix: drag handle positions for list items fixed
* fix: removed focus at end logic after deleting block
* fix: image wrapper overflow scroll fix with block menu's position
* fix: selection and deletion logic for nested lists fixed!!
* fix: hiding the block menu while scrolling in the document/app
* fix: merge conflicts resolved from develop
* fix: inbox issue description
* chore: move page title to the web app
* fix: handling edge cases for table selection
* chore: lint issues
* refactor: list item functions moved to same file
* refactor: use mention hook
* fix: added try catch blocks for mention suggestions
* chore: remove unused code
* fix: remove console logs
* fix: remove console logs
---------
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
Co-authored-by: gurusainath <gurusainath007@gmail.com>
Co-authored-by: Palanikannan1437 <73993394+Palanikannan1437@users.noreply.github.com>
* Sentry Fix for "Non-Error promise rejection captured with value: Route change to url was aborted"
* Sentry fix for "undefined is not an object (evaluating 'n.response')"
* Possible Sentry Fix for "TypeError Function.entries(<anonymous>)"
* Possible Sentry fix for "null is not an object (evaluating 'e.type')"
* fix date related exceptions
* replace new Date from develop branch changes as well
* changes from self review
* wrap getDate logic with try catch to handle in case of error scenarios
* fix formatted time
* fix date time misalignment
* fix failing build
* fix gantt chart view position fix
* comments for getDate method
* remove new Date() where not required
* changes from my self review
* fix: clearing nodes to default node i.e paragraph before converting it to other types of nodes
For more reference on what this does, please refer https://tiptap.dev/docs/editor/api/commands/clear-nodes
* chore: clearNodes after delete in case of selections being present
* fix: hiding link selector in the bubble menu if inline code block is selected
* feat: added tab index support to navigate using Tab key in all the editors
* chore: changed the name of Table of Contents in Pages
* chore: file formatting
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* fix: horizontal rule no more causes issues on last node
* fixed the mismatched transaction by using native tiptap stuff
* added support to add new line onclick at bottom if last node is an image
TODO: blockquote at last node
* fix: simplified adding node at end of the document logic
* feat: rewrite entire logic handling all cases
* feat: arrow down and arrow up keys add empty node at top and bottom of doc from first/last row's cells
* feat: added arrow up and down key support to images too
* remove unnecessary console logs
* chore: formatting components
* fix: reduced bottom padding to increase onclick area
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* fix: z index issues with modals and on hover color in table item picker menu
* feat: added text indicators inside the table colors to give a gist of how text would look
* fix: updated description init loading and added loading confirmation alert in inbox issues, issue peek overview, and issue detail
* fix: updated the space issue in the editor and removed unwanted props in the description-input for issues
* 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>