diff --git a/.changeset/rotten-cobras-hang.md b/.changeset/rotten-cobras-hang.md new file mode 100644 index 0000000000..19b37db122 --- /dev/null +++ b/.changeset/rotten-cobras-hang.md @@ -0,0 +1,6 @@ +--- +"@udecode/plate-utils": minor +--- + +- New prop in `createPrimitiveComponent`: `setProps` where the first parameter is the props returned by the "props hook". Returned attributes are passed to the component. You can use this prop to merge or override all props. +- Plate components `className` and `style` props are now merged with the "props hook" ones if defined. To override instead of merging, use `setProps`. diff --git a/apps/www/content/docs/components/changelog.mdx b/apps/www/content/docs/components/changelog.mdx index 1aa0417bf8..57ebfa77a1 100644 --- a/apps/www/content/docs/components/changelog.mdx +++ b/apps/www/content/docs/components/changelog.mdx @@ -4,9 +4,20 @@ description: Latest component updates and announcements. toc: true --- -Since Plate UI is not a component library, a changelog is maintained here. +Since Plate UI is not a component library, a changelog is maintained here. -Use the [CLI](https://platejs.org/docs/components/cli) to install the latest version of the components. +Use the [CLI](https://platejs.org/docs/components/cli) to install the latest version of the components. + +## September 2023 #4 + +### 2 Sept #4.1 + +- `link-floating-toolbar` + - [fix](https://github.com/udecode/plate/pull/2593/files#diff-bd61ef4cfdcfe9401df0307a461ac13dce507b178d8e9a7ed693cb36453e9202): props type +- `media-embed-element` + - [fix](https://github.com/udecode/plate/pull/2593/files#diff-13ddd3e18dbdc399e507d7bb512e0f592fba062a36bca14d66d39069773617bdR54): use `align` option +- `caption` + - fix: `style` prop ## August 2023 #3 @@ -48,10 +59,10 @@ Use the [CLI](https://platejs.org/docs/components/cli) to install the latest ver - `caption` - new component - `image-element`: - refactor: state - - new registry deps: `caption`, `resizable` + - new registry deps: `caption`, `resizable` - `media-embed-element` is now fully headless: - new deps: `react-lite-youtube-embed`, `react-tweet` to decrease the bundle size - - new registry deps: `caption`, `resizable` + - new registry deps: `caption`, `resizable` - `media-popover` - fix: popover closing - `resizable` - new component - `table-element` - fix: popover closing @@ -59,12 +70,13 @@ Use the [CLI](https://platejs.org/docs/components/cli) to install the latest ver ### 17 July #2.1 - `comments-popover` - fix: popover not opening on new comment -- `comment-toolbar-button` - feat: hide when `myUserId` is null +- `comment-toolbar-button` - feat: hide when `myUserId` is null - `excalidraw-element` - fix: typo ### Launch #1 Plate headless components are now available: + - [Manual Installation](https://platejs.org/docs/components/installation/manual) - [Theming](https://platejs.org/docs/components/theming) -- [CLI](https://platejs.org/docs/components/cli) \ No newline at end of file +- [CLI](https://platejs.org/docs/components/cli) diff --git a/apps/www/public/registry/styles/default/caption.json b/apps/www/public/registry/styles/default/caption.json index a693120bfd..4306780dce 100644 --- a/apps/www/public/registry/styles/default/caption.json +++ b/apps/www/public/registry/styles/default/caption.json @@ -7,7 +7,7 @@ "files": [ { "name": "caption.tsx", - "content": "import React, { ComponentProps } from 'react';\nimport {\n Caption as CaptionPrimitive,\n CaptionTextarea as CaptionTextareaPrimitive,\n} from '@udecode/plate-caption';\nimport { cva, VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst captionVariants = cva('max-w-full', {\n variants: {\n align: {\n left: 'mr-auto',\n center: 'mx-auto',\n right: 'ml-auto',\n },\n },\n defaultVariants: {\n align: 'center',\n },\n});\n\nconst Caption = React.forwardRef<\n React.ElementRef,\n ComponentProps & VariantProps\n>(({ className, style, align, ...props }, ref) => (\n \n));\nCaption.displayName = 'Caption';\n\nconst CaptionTextarea = React.forwardRef<\n React.ElementRef,\n ComponentProps\n>(({ className, ...props }, ref) => (\n \n));\nCaptionTextarea.displayName = 'CaptionTextarea';\n\nexport { Caption, CaptionTextarea };\n" + "content": "import React, { ComponentProps } from 'react';\nimport {\n Caption as CaptionPrimitive,\n CaptionTextarea as CaptionTextareaPrimitive,\n} from '@udecode/plate-caption';\nimport { cva, VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst captionVariants = cva('max-w-full', {\n variants: {\n align: {\n left: 'mr-auto',\n center: 'mx-auto',\n right: 'ml-auto',\n },\n },\n defaultVariants: {\n align: 'center',\n },\n});\n\nconst Caption = React.forwardRef<\n React.ElementRef,\n ComponentProps & VariantProps\n>(({ className, align, ...props }, ref) => (\n \n));\nCaption.displayName = 'Caption';\n\nconst CaptionTextarea = React.forwardRef<\n React.ElementRef,\n ComponentProps\n>(({ className, ...props }, ref) => (\n \n));\nCaptionTextarea.displayName = 'CaptionTextarea';\n\nexport { Caption, CaptionTextarea };\n" } ], "type": "components:plate-ui" diff --git a/apps/www/public/registry/styles/default/floating-toolbar.json b/apps/www/public/registry/styles/default/floating-toolbar.json index cde42ea972..03c228ba24 100644 --- a/apps/www/public/registry/styles/default/floating-toolbar.json +++ b/apps/www/public/registry/styles/default/floating-toolbar.json @@ -9,7 +9,7 @@ "files": [ { "name": "floating-toolbar.tsx", - "content": "import React, { ReactNode } from 'react';\nimport { flip, offset } from '@floating-ui/react';\nimport { PortalBody, useComposedRef } from '@udecode/plate-common';\nimport {\n useFloatingToolbar,\n UseVirtualFloatingOptions,\n} from '@udecode/plate-floating';\n\nimport { cn } from '@/lib/utils';\n\nimport { Toolbar, ToolbarProps } from './toolbar';\n\nexport interface FloatingToolbarProps extends ToolbarProps {\n children: ReactNode;\n\n floatingOptions?: UseVirtualFloatingOptions;\n\n ignoreReadOnly?: boolean;\n\n hideToolbar?: boolean;\n}\n\nconst FloatingToolbar = React.forwardRef<\n React.ElementRef,\n FloatingToolbarProps\n>(\n (\n { floatingOptions, ignoreReadOnly, hideToolbar, children, ...props },\n _ref\n ) => {\n const { refs, style, open } = useFloatingToolbar({\n floatingOptions: {\n placement: 'top',\n middleware: [\n offset(12),\n flip({\n padding: 12,\n fallbackPlacements: [\n 'top-start',\n 'top-end',\n 'bottom-start',\n 'bottom-end',\n ],\n }),\n ],\n },\n ignoreReadOnly,\n hideToolbar,\n });\n\n const ref = useComposedRef(_ref, refs.setFloating);\n\n if (!open) return null;\n\n return (\n \n \n {children}\n \n \n );\n }\n);\nFloatingToolbar.displayName = 'FloatingToolbar';\n\nexport { FloatingToolbar };\n" + "content": "import React from 'react';\nimport { flip, offset } from '@floating-ui/react';\nimport { PortalBody, useComposedRef } from '@udecode/plate-common';\nimport {\n useFloatingToolbar,\n useFloatingToolbarState,\n} from '@udecode/plate-floating';\nimport { FloatingToolbarState } from '@udecode/plate-floating/dist';\n\nimport { cn } from '@/lib/utils';\n\nimport { Toolbar, ToolbarProps } from './toolbar';\n\nexport interface FloatingToolbarProps extends ToolbarProps {\n state?: FloatingToolbarState;\n}\n\nconst FloatingToolbar = React.forwardRef<\n React.ElementRef,\n FloatingToolbarProps\n>(({ state, children, ...props }, componentRef) => {\n const floatingToolbarState = useFloatingToolbarState({\n ...state,\n floatingOptions: {\n placement: 'top',\n middleware: [\n offset(12),\n flip({\n padding: 12,\n fallbackPlacements: [\n 'top-start',\n 'top-end',\n 'bottom-start',\n 'bottom-end',\n ],\n }),\n ],\n ...state?.floatingOptions,\n },\n });\n\n const {\n ref: floatingRef,\n props: rootProps,\n hidden,\n } = useFloatingToolbar(floatingToolbarState);\n\n const ref = useComposedRef(componentRef, floatingRef);\n\n if (hidden) return null;\n\n return (\n \n \n {children}\n \n \n );\n});\nFloatingToolbar.displayName = 'FloatingToolbar';\n\nexport { FloatingToolbar };\n" } ], "type": "components:plate-ui" diff --git a/apps/www/public/registry/styles/default/image-element.json b/apps/www/public/registry/styles/default/image-element.json index fa7645778e..d88c6b4718 100644 --- a/apps/www/public/registry/styles/default/image-element.json +++ b/apps/www/public/registry/styles/default/image-element.json @@ -11,7 +11,7 @@ "files": [ { "name": "image-element.tsx", - "content": "import React from 'react';\nimport { PlateElement, PlateElementProps, Value } from '@udecode/plate-common';\nimport {\n ELEMENT_IMAGE,\n Image,\n TImageElement,\n useMediaState,\n} from '@udecode/plate-media';\nimport { useResizableStore } from '@udecode/plate-resizable';\n\nimport { cn } from '@/lib/utils';\n\nimport { Caption, CaptionTextarea } from './caption';\nimport { MediaPopover } from './media-popover';\nimport {\n mediaResizeHandleVariants,\n Resizable,\n ResizeHandle,\n} from './resizable';\n\nexport function ImageElement({\n className,\n children,\n nodeProps,\n ...props\n}: PlateElementProps) {\n const { readOnly, focused, selected, align = 'center' } = useMediaState();\n const width = useResizableStore().get.width();\n\n return (\n \n \n
\n \n \n \n \n \n\n \n \n \n
\n\n {children}\n
\n
\n );\n}\n" + "content": "import React from 'react';\nimport { PlateElement, PlateElementProps, Value } from '@udecode/plate-common';\nimport {\n ELEMENT_IMAGE,\n Image,\n TImageElement,\n useMediaState,\n} from '@udecode/plate-media';\nimport { useResizableStore } from '@udecode/plate-resizable';\n\nimport { cn } from '@/lib/utils';\n\nimport { Caption, CaptionTextarea } from './caption';\nimport { MediaPopover } from './media-popover';\nimport {\n mediaResizeHandleVariants,\n Resizable,\n ResizeHandle,\n} from './resizable';\n\nexport function ImageElement({\n className,\n children,\n nodeProps,\n ...props\n}: PlateElementProps) {\n const { readOnly, focused, selected, align = 'center' } = useMediaState();\n const width = useResizableStore().get.width();\n\n return (\n \n \n
\n \n \n \n \n \n\n \n \n \n
\n\n {children}\n
\n
\n );\n}\n" } ], "type": "components:plate-ui" diff --git a/apps/www/public/registry/styles/default/link-floating-toolbar.json b/apps/www/public/registry/styles/default/link-floating-toolbar.json index 13912ac870..748a96ee0e 100644 --- a/apps/www/public/registry/styles/default/link-floating-toolbar.json +++ b/apps/www/public/registry/styles/default/link-floating-toolbar.json @@ -12,7 +12,7 @@ "files": [ { "name": "link-floating-toolbar.tsx", - "content": "import React from 'react';\nimport { TEditableProps } from '@udecode/plate-common';\nimport {\n flip,\n offset,\n UseVirtualFloatingOptions,\n} from '@udecode/plate-floating';\nimport {\n FloatingLinkUrlInput,\n LinkOpenButton,\n useFloatingLinkEdit,\n useFloatingLinkEditState,\n useFloatingLinkInsert,\n useFloatingLinkInsertState,\n useFloatingLinkSelectors,\n} from '@udecode/plate-link';\n\nimport { cn } from '@/lib/utils';\nimport { Icons } from '@/components/icons';\n\nimport { buttonVariants } from './button';\nimport { inputVariants } from './input';\nimport { popoverVariants } from './popover';\nimport { Separator } from './separator';\n\nconst floatingOptions: UseVirtualFloatingOptions = {\n placement: 'bottom-start',\n middleware: [\n offset(12),\n flip({\n padding: 12,\n fallbackPlacements: [\n 'top-start',\n 'top-end',\n 'bottom-start',\n 'bottom-end',\n ],\n }),\n ],\n};\n\nexport function LinkFloatingToolbar({ readOnly }: TEditableProps) {\n const isEditing = useFloatingLinkSelectors().isEditing();\n\n const state = useFloatingLinkInsertState({ floatingOptions });\n const {\n props: insertProps,\n ref: insertRef,\n textInputProps,\n } = useFloatingLinkInsert(state);\n\n const editState = useFloatingLinkEditState({ floatingOptions });\n const {\n props: editProps,\n ref: editRef,\n editButtonProps,\n unlinkButtonProps,\n } = useFloatingLinkEdit(editState);\n\n if (readOnly) return null;\n\n const input = (\n
\n
\n
\n \n
\n\n \n
\n\n \n\n
\n
\n \n
\n \n
\n
\n );\n\n const editContent = isEditing ? (\n input\n ) : (\n
\n \n Edit link\n \n\n \n\n \n \n \n\n \n\n \n \n \n
\n );\n\n return (\n <>\n \n {input}\n \n\n \n {editContent}\n \n \n );\n}\n" + "content": "import React from 'react';\nimport {\n flip,\n offset,\n UseVirtualFloatingOptions,\n} from '@udecode/plate-floating';\nimport {\n FloatingLinkUrlInput,\n LinkFloatingToolbarState,\n LinkOpenButton,\n useFloatingLinkEdit,\n useFloatingLinkEditState,\n useFloatingLinkInsert,\n useFloatingLinkInsertState,\n} from '@udecode/plate-link';\n\nimport { cn } from '@/lib/utils';\nimport { Icons } from '@/components/icons';\n\nimport { buttonVariants } from './button';\nimport { inputVariants } from './input';\nimport { popoverVariants } from './popover';\nimport { Separator } from './separator';\n\nconst floatingOptions: UseVirtualFloatingOptions = {\n placement: 'bottom-start',\n middleware: [\n offset(12),\n flip({\n padding: 12,\n fallbackPlacements: ['bottom-end', 'top-start', 'top-end'],\n }),\n ],\n};\n\nexport interface LinkFloatingToolbarProps {\n state?: LinkFloatingToolbarState;\n}\n\nexport function LinkFloatingToolbar({ state }: LinkFloatingToolbarProps) {\n const insertState = useFloatingLinkInsertState({\n ...state,\n floatingOptions: {\n ...floatingOptions,\n ...state?.floatingOptions,\n },\n });\n const {\n props: insertProps,\n ref: insertRef,\n hidden,\n textInputProps,\n } = useFloatingLinkInsert(insertState);\n\n const editState = useFloatingLinkEditState({\n ...state,\n floatingOptions: {\n ...floatingOptions,\n ...state?.floatingOptions,\n },\n });\n const {\n props: editProps,\n ref: editRef,\n editButtonProps,\n unlinkButtonProps,\n } = useFloatingLinkEdit(editState);\n\n if (hidden) return null;\n\n const input = (\n
\n
\n
\n \n
\n\n \n
\n\n \n\n
\n
\n \n
\n \n
\n
\n );\n\n const editContent = editState.isEditing ? (\n input\n ) : (\n
\n \n Edit link\n \n\n \n\n \n \n \n\n \n\n \n \n \n
\n );\n\n return (\n <>\n \n {input}\n \n\n \n {editContent}\n \n \n );\n}\n" } ], "type": "components:plate-ui" diff --git a/apps/www/public/registry/styles/default/media-embed-element.json b/apps/www/public/registry/styles/default/media-embed-element.json index 4a65eed900..af17313a74 100644 --- a/apps/www/public/registry/styles/default/media-embed-element.json +++ b/apps/www/public/registry/styles/default/media-embed-element.json @@ -13,7 +13,7 @@ "files": [ { "name": "media-embed-element.tsx", - "content": "import React from 'react';\nimport { PlateElement, PlateElementProps, Value } from '@udecode/plate-common';\nimport {\n ELEMENT_MEDIA_EMBED,\n parseTwitterUrl,\n parseVideoUrl,\n TMediaEmbedElement,\n useMediaState,\n} from '@udecode/plate-media';\nimport { useResizableStore } from '@udecode/plate-resizable';\nimport LiteYouTubeEmbed from 'react-lite-youtube-embed';\nimport { Tweet } from 'react-tweet';\n\nimport { cn } from '@/lib/utils';\n\nimport { Caption, CaptionTextarea } from './caption';\nimport { MediaPopover } from './media-popover';\nimport {\n mediaResizeHandleVariants,\n Resizable,\n ResizeHandle,\n} from './resizable';\n\nconst MediaEmbedElement = React.forwardRef<\n React.ElementRef,\n PlateElementProps\n>(({ className, children, ...props }, ref) => {\n const {\n align = 'center',\n focused,\n readOnly,\n selected,\n embed,\n isTweet,\n isVideo,\n isYoutube,\n } = useMediaState({\n urlParsers: [parseTwitterUrl, parseVideoUrl],\n });\n const width = useResizableStore().get.width();\n const provider = embed?.provider;\n\n return (\n \n \n
\n \n \n\n {isVideo ? (\n isYoutube ? (\n _iframe]:absolute [&_>_iframe]:left-0 [&_>_iframe]:top-0 [&_>_iframe]:h-full [&_>_iframe]:w-full',\n '[&_>_.lty-playbtn]:z-[1] [&_>_.lty-playbtn]:h-[46px] [&_>_.lty-playbtn]:w-[70px] [&_>_.lty-playbtn]:rounded-[14%] [&_>_.lty-playbtn]:bg-[#212121] [&_>_.lty-playbtn]:opacity-80 [&_>_.lty-playbtn]:[transition:all_0.2s_cubic-bezier(0,_0,_0.2,_1)]',\n '[&:hover_>_.lty-playbtn]:bg-[red] [&:hover_>_.lty-playbtn]:opacity-100',\n '[&_>_.lty-playbtn]:before:border-y-[11px] [&_>_.lty-playbtn]:before:border-l-[19px] [&_>_.lty-playbtn]:before:border-r-0 [&_>_.lty-playbtn]:before:border-[transparent_transparent_transparent_#fff] [&_>_.lty-playbtn]:before:content-[\"\"]',\n '[&_>_.lty-playbtn]:absolute [&_>_.lty-playbtn]:left-1/2 [&_>_.lty-playbtn]:top-1/2 [&_>_.lty-playbtn]:[transform:translate3d(-50%,-50%,0)]',\n '[&_>_.lty-playbtn]:before:absolute [&_>_.lty-playbtn]:before:left-1/2 [&_>_.lty-playbtn]:before:top-1/2 [&_>_.lty-playbtn]:before:[transform:translate3d(-50%,-50%,0)]',\n '[&.lyt-activated]:cursor-[unset]',\n '[&.lyt-activated]:before:pointer-events-none [&.lyt-activated]:before:opacity-0',\n '[&.lyt-activated_>_.lty-playbtn]:pointer-events-none [&.lyt-activated_>_.lty-playbtn]:!opacity-0'\n )}\n />\n ) : (\n \n \n \n )\n ) : null}\n\n {isTweet && (\n \n \n \n )}\n\n \n \n\n \n \n \n
\n\n {children}\n \n
\n );\n});\nMediaEmbedElement.displayName = 'MediaEmbedElement';\n\nexport { MediaEmbedElement };\n" + "content": "import React from 'react';\nimport { PlateElement, PlateElementProps, Value } from '@udecode/plate-common';\nimport {\n ELEMENT_MEDIA_EMBED,\n parseTwitterUrl,\n parseVideoUrl,\n TMediaEmbedElement,\n useMediaState,\n} from '@udecode/plate-media';\nimport { useResizableStore } from '@udecode/plate-resizable';\nimport LiteYouTubeEmbed from 'react-lite-youtube-embed';\nimport { Tweet } from 'react-tweet';\n\nimport { cn } from '@/lib/utils';\n\nimport { Caption, CaptionTextarea } from './caption';\nimport { MediaPopover } from './media-popover';\nimport {\n mediaResizeHandleVariants,\n Resizable,\n ResizeHandle,\n} from './resizable';\n\nconst MediaEmbedElement = React.forwardRef<\n React.ElementRef,\n PlateElementProps\n>(({ className, children, ...props }, ref) => {\n const {\n align = 'center',\n focused,\n readOnly,\n selected,\n embed,\n isTweet,\n isVideo,\n isYoutube,\n } = useMediaState({\n urlParsers: [parseTwitterUrl, parseVideoUrl],\n });\n const width = useResizableStore().get.width();\n const provider = embed?.provider;\n\n return (\n \n \n
\n \n \n\n {isVideo ? (\n isYoutube ? (\n _iframe]:absolute [&_>_iframe]:left-0 [&_>_iframe]:top-0 [&_>_iframe]:h-full [&_>_iframe]:w-full',\n '[&_>_.lty-playbtn]:z-[1] [&_>_.lty-playbtn]:h-[46px] [&_>_.lty-playbtn]:w-[70px] [&_>_.lty-playbtn]:rounded-[14%] [&_>_.lty-playbtn]:bg-[#212121] [&_>_.lty-playbtn]:opacity-80 [&_>_.lty-playbtn]:[transition:all_0.2s_cubic-bezier(0,_0,_0.2,_1)]',\n '[&:hover_>_.lty-playbtn]:bg-[red] [&:hover_>_.lty-playbtn]:opacity-100',\n '[&_>_.lty-playbtn]:before:border-y-[11px] [&_>_.lty-playbtn]:before:border-l-[19px] [&_>_.lty-playbtn]:before:border-r-0 [&_>_.lty-playbtn]:before:border-[transparent_transparent_transparent_#fff] [&_>_.lty-playbtn]:before:content-[\"\"]',\n '[&_>_.lty-playbtn]:absolute [&_>_.lty-playbtn]:left-1/2 [&_>_.lty-playbtn]:top-1/2 [&_>_.lty-playbtn]:[transform:translate3d(-50%,-50%,0)]',\n '[&_>_.lty-playbtn]:before:absolute [&_>_.lty-playbtn]:before:left-1/2 [&_>_.lty-playbtn]:before:top-1/2 [&_>_.lty-playbtn]:before:[transform:translate3d(-50%,-50%,0)]',\n '[&.lyt-activated]:cursor-[unset]',\n '[&.lyt-activated]:before:pointer-events-none [&.lyt-activated]:before:opacity-0',\n '[&.lyt-activated_>_.lty-playbtn]:pointer-events-none [&.lyt-activated_>_.lty-playbtn]:!opacity-0'\n )}\n />\n ) : (\n \n \n \n )\n ) : null}\n\n {isTweet && (\n \n \n \n )}\n\n \n \n\n \n \n \n
\n\n {children}\n \n
\n );\n});\nMediaEmbedElement.displayName = 'MediaEmbedElement';\n\nexport { MediaEmbedElement };\n" } ], "type": "components:plate-ui" diff --git a/apps/www/src/registry/default/plate-ui/caption.tsx b/apps/www/src/registry/default/plate-ui/caption.tsx index 86a25a9773..85c794f5de 100644 --- a/apps/www/src/registry/default/plate-ui/caption.tsx +++ b/apps/www/src/registry/default/plate-ui/caption.tsx @@ -23,7 +23,7 @@ const captionVariants = cva('max-w-full', { const Caption = React.forwardRef< React.ElementRef, ComponentProps & VariantProps ->(({ className, style, align, ...props }, ref) => ( +>(({ className, align, ...props }, ref) => ( diff --git a/apps/www/src/registry/default/plate-ui/link-floating-toolbar.tsx b/apps/www/src/registry/default/plate-ui/link-floating-toolbar.tsx index fafce5b13d..cf0b696455 100644 --- a/apps/www/src/registry/default/plate-ui/link-floating-toolbar.tsx +++ b/apps/www/src/registry/default/plate-ui/link-floating-toolbar.tsx @@ -21,7 +21,6 @@ import { buttonVariants } from './button'; import { inputVariants } from './input'; import { popoverVariants } from './popover'; import { Separator } from './separator'; -import { ToolbarProps } from './toolbar'; const floatingOptions: UseVirtualFloatingOptions = { placement: 'bottom-start', @@ -34,11 +33,11 @@ const floatingOptions: UseVirtualFloatingOptions = { ], }; -export interface LinkFloatingToolbarProps extends ToolbarProps { +export interface LinkFloatingToolbarProps { state?: LinkFloatingToolbarState; } -export function LinkFloatingToolbar({ state, children, ...props }) { +export function LinkFloatingToolbar({ state }: LinkFloatingToolbarProps) { const insertState = useFloatingLinkInsertState({ ...state, floatingOptions: { diff --git a/apps/www/src/registry/default/plate-ui/media-embed-element.tsx b/apps/www/src/registry/default/plate-ui/media-embed-element.tsx index d18d6dd6c2..6584bb0c2b 100644 --- a/apps/www/src/registry/default/plate-ui/media-embed-element.tsx +++ b/apps/www/src/registry/default/plate-ui/media-embed-element.tsx @@ -51,6 +51,7 @@ const MediaEmbedElement = React.forwardRef< = (options: O) => any; -type PropsHook = (state: S) => { - ref?: any; - props?: any; - hidden?: boolean; - [key: string]: unknown; -}; - /** * Primitive component factory. It uses hooks for managing * state and props, and forwards references to child components. @@ -21,6 +14,9 @@ type PropsHook = (state: S) => { * - `asChild`: If true, the component will be rendered as a `Slot` {@link https://www.radix-ui.com/docs/primitives/utilities/slot}. * - `options`: Options passed to the state hook. * - `state`: Provide your state instead of using the state hook. + * - `className`: Class name to be merged to the component. + * - `style`: Style object to be merged to the component. + * - `setProps`: Function to set props from the props hook. * - `...props`: Props to be passed to the component. * Props hook return value: * - `ref`: Reference to be forwarded to the component. @@ -45,40 +41,73 @@ export const createPrimitiveComponent = < ) => { const Comp = createSlotComponent(element); - return ({ + return any, PH extends (state: any) => any>({ propsHook, stateHook, }: { - propsHook?: PropsHook; - stateHook?: StateHook; + stateHook?: SH; + propsHook?: PH; } = {}) => { return React.forwardRef< any, { as?: React.ElementType; asChild?: boolean; - state?: S; - options?: O; + className?: string; + style?: CSSProperties; + options?: Parameters[0]; + state?: Parameters[0]; + setProps?: (hookProps: NonNullable['props']>) => P; } & P - >(({ asChild, options, state: _state, ...props }, ref) => { - const state = isDefined(_state) - ? _state - : stateHook - ? stateHook(options as any) - : undefined; - const { - ref: hookRef, - props: hookProps, - hidden, - } = propsHook - ? propsHook(state) - : { props: {}, hidden: false, ref: null }; + >( + ( + { + asChild, + options, + state: stateProp, + className: classNameProp, + getClassName, + ...props + }, + ref + ) => { + const state = isDefined(stateProp) + ? stateProp + : stateHook + ? stateHook(options as any) + : undefined; + const { + ref: hookRef, + props: hookProps, + hidden, + } = propsHook + ? propsHook(state) + : { props: {}, hidden: false, ref: null }; - const _ref = useComposedRef(ref, hookRef); + const _ref = useComposedRef(ref, hookRef); + const className = + isDefined(hookProps?.className) || isDefined(classNameProp) + ? clsx(hookProps?.className, classNameProp) + : undefined; + const style = + hookProps?.style || props.style + ? { ...hookProps?.style, ...props.style } + : undefined; - if (!asChild && hidden) return null; + if (!asChild && hidden) return null; - return ; - }); + return ( + + ); + } + ); }; }; diff --git a/templates/plate-playground-template/.eslintrc.js b/templates/plate-playground-template/.eslintrc.js index e83ed3a3bd..199ea293c5 100644 --- a/templates/plate-playground-template/.eslintrc.js +++ b/templates/plate-playground-template/.eslintrc.js @@ -13,8 +13,8 @@ module.exports = { '@next/next/no-html-link-for-pages': 'off', 'prettier/prettier': ['warn', prettierConfig], 'react/jsx-key': 'off', - 'tailwindcss/classnames-order': 'off', - 'tailwindcss/no-custom-classname': 'off', + 'tailwindcss/classnames-order': 'warn', + 'tailwindcss/no-custom-classname': 'error', 'unused-imports/no-unused-imports': 'warn', 'unused-imports/no-unused-vars': [ 'warn', diff --git a/yarn.lock b/yarn.lock index 71321d71fc..2376d5efac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6626,11 +6626,11 @@ __metadata: languageName: node linkType: hard -"@udecode/plate-alignment@npm:23.3.1, @udecode/plate-alignment@workspace:^, @udecode/plate-alignment@workspace:packages/alignment": +"@udecode/plate-alignment@npm:23.6.0, @udecode/plate-alignment@workspace:^, @udecode/plate-alignment@workspace:packages/alignment": version: 0.0.0-use.local resolution: "@udecode/plate-alignment@workspace:packages/alignment" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6640,11 +6640,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-autoformat@npm:23.3.1, @udecode/plate-autoformat@workspace:^, @udecode/plate-autoformat@workspace:packages/autoformat": +"@udecode/plate-autoformat@npm:23.6.0, @udecode/plate-autoformat@workspace:^, @udecode/plate-autoformat@workspace:packages/autoformat": version: 0.0.0-use.local resolution: "@udecode/plate-autoformat@workspace:packages/autoformat" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6654,15 +6654,15 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-basic-elements@npm:23.3.1, @udecode/plate-basic-elements@workspace:^, @udecode/plate-basic-elements@workspace:packages/basic-elements": +"@udecode/plate-basic-elements@npm:23.6.0, @udecode/plate-basic-elements@workspace:^, @udecode/plate-basic-elements@workspace:packages/basic-elements": version: 0.0.0-use.local resolution: "@udecode/plate-basic-elements@workspace:packages/basic-elements" dependencies: - "@udecode/plate-block-quote": "npm:23.3.1" - "@udecode/plate-code-block": "npm:23.3.1" - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-heading": "npm:23.3.1" - "@udecode/plate-paragraph": "npm:23.3.1" + "@udecode/plate-block-quote": "npm:23.6.0" + "@udecode/plate-code-block": "npm:23.6.0" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-heading": "npm:23.6.0" + "@udecode/plate-paragraph": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6672,11 +6672,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-basic-marks@npm:23.3.1, @udecode/plate-basic-marks@workspace:^, @udecode/plate-basic-marks@workspace:packages/basic-marks": +"@udecode/plate-basic-marks@npm:23.6.0, @udecode/plate-basic-marks@workspace:^, @udecode/plate-basic-marks@workspace:packages/basic-marks": version: 0.0.0-use.local resolution: "@udecode/plate-basic-marks@workspace:packages/basic-marks" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6686,11 +6686,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-block-quote@npm:23.3.1, @udecode/plate-block-quote@workspace:^, @udecode/plate-block-quote@workspace:packages/block-quote": +"@udecode/plate-block-quote@npm:23.6.0, @udecode/plate-block-quote@workspace:^, @udecode/plate-block-quote@workspace:packages/block-quote": version: 0.0.0-use.local resolution: "@udecode/plate-block-quote@workspace:packages/block-quote" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6700,11 +6700,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-break@npm:23.3.1, @udecode/plate-break@workspace:^, @udecode/plate-break@workspace:packages/break": +"@udecode/plate-break@npm:23.6.0, @udecode/plate-break@workspace:^, @udecode/plate-break@workspace:packages/break": version: 0.0.0-use.local resolution: "@udecode/plate-break@workspace:packages/break" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6718,7 +6718,7 @@ __metadata: version: 0.0.0-use.local resolution: "@udecode/plate-caption@workspace:packages/caption" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" react-textarea-autosize: "npm:^8.5.2" peerDependencies: react: ">=16.8.0" @@ -6734,7 +6734,7 @@ __metadata: resolution: "@udecode/plate-cloud@workspace:packages/cloud" dependencies: "@portive/client": "npm:10.0.3" - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" delay: "npm:5.0.0" p-defer: "npm:^3.0.0" peerDependencies: @@ -6746,11 +6746,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-code-block@npm:23.3.1, @udecode/plate-code-block@workspace:^, @udecode/plate-code-block@workspace:packages/code-block": +"@udecode/plate-code-block@npm:23.6.0, @udecode/plate-code-block@workspace:^, @udecode/plate-code-block@workspace:packages/code-block": version: 0.0.0-use.local resolution: "@udecode/plate-code-block@workspace:packages/code-block" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" prismjs: "npm:^1.29.0" peerDependencies: react: ">=16.8.0" @@ -6761,11 +6761,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-combobox@npm:23.3.1, @udecode/plate-combobox@workspace:^, @udecode/plate-combobox@workspace:packages/combobox": +"@udecode/plate-combobox@npm:23.6.0, @udecode/plate-combobox@workspace:^, @udecode/plate-combobox@workspace:packages/combobox": version: 0.0.0-use.local resolution: "@udecode/plate-combobox@workspace:packages/combobox" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" downshift: "npm:^6.1.12" peerDependencies: react: ">=16.8.0" @@ -6776,11 +6776,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-comments@npm:23.3.1, @udecode/plate-comments@workspace:^, @udecode/plate-comments@workspace:packages/comments": +"@udecode/plate-comments@npm:23.6.0, @udecode/plate-comments@workspace:^, @udecode/plate-comments@workspace:packages/comments": version: 0.0.0-use.local resolution: "@udecode/plate-comments@workspace:packages/comments" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6790,12 +6790,12 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-common@npm:23.3.1, @udecode/plate-common@workspace:^, @udecode/plate-common@workspace:packages/common": +"@udecode/plate-common@npm:23.6.0, @udecode/plate-common@workspace:^, @udecode/plate-common@workspace:packages/common": version: 0.0.0-use.local resolution: "@udecode/plate-common@workspace:packages/common" dependencies: - "@udecode/plate-core": "npm:23.3.1" - "@udecode/plate-utils": "npm:23.3.1" + "@udecode/plate-core": "npm:23.6.0" + "@udecode/plate-utils": "npm:23.6.0" "@udecode/slate": "npm:22.0.2" "@udecode/slate-react": "npm:22.0.2" "@udecode/slate-utils": "npm:22.0.2" @@ -6809,7 +6809,7 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-core@npm:23.3.1, @udecode/plate-core@workspace:^, @udecode/plate-core@workspace:packages/core": +"@udecode/plate-core@npm:23.6.0, @udecode/plate-core@workspace:^, @udecode/plate-core@workspace:packages/core": version: 0.0.0-use.local resolution: "@udecode/plate-core@workspace:packages/core" dependencies: @@ -6837,7 +6837,7 @@ __metadata: version: 0.0.0-use.local resolution: "@udecode/plate-cursor@workspace:packages/cursor" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6851,7 +6851,7 @@ __metadata: version: 0.0.0-use.local resolution: "@udecode/plate-dnd@workspace:packages/dnd" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" raf: "npm:^3.4.1" peerDependencies: react: ">=16.8.0" @@ -6869,8 +6869,8 @@ __metadata: resolution: "@udecode/plate-emoji@workspace:packages/emoji" dependencies: "@emoji-mart/data": "npm:^1.1.2" - "@udecode/plate-combobox": "npm:23.3.1" - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-combobox": "npm:23.6.0" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6885,7 +6885,7 @@ __metadata: resolution: "@udecode/plate-excalidraw@workspace:packages/excalidraw" dependencies: "@excalidraw/excalidraw": "npm:0.12.0" - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6895,11 +6895,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-find-replace@npm:23.3.1, @udecode/plate-find-replace@workspace:^, @udecode/plate-find-replace@workspace:packages/find-replace": +"@udecode/plate-find-replace@npm:23.6.0, @udecode/plate-find-replace@workspace:^, @udecode/plate-find-replace@workspace:packages/find-replace": version: 0.0.0-use.local resolution: "@udecode/plate-find-replace@workspace:packages/find-replace" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6909,13 +6909,13 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-floating@npm:23.5.0, @udecode/plate-floating@workspace:^, @udecode/plate-floating@workspace:packages/floating": +"@udecode/plate-floating@npm:23.6.0, @udecode/plate-floating@workspace:^, @udecode/plate-floating@workspace:packages/floating": version: 0.0.0-use.local resolution: "@udecode/plate-floating@workspace:packages/floating" dependencies: "@floating-ui/react": "npm:^0.22.3" "@radix-ui/react-dropdown-menu": "npm:^2.0.5" - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6925,11 +6925,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-font@npm:23.3.1, @udecode/plate-font@workspace:^, @udecode/plate-font@workspace:packages/font": +"@udecode/plate-font@npm:23.6.0, @udecode/plate-font@workspace:^, @udecode/plate-font@workspace:packages/font": version: 0.0.0-use.local resolution: "@udecode/plate-font@workspace:packages/font" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6939,11 +6939,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-heading@npm:23.3.1, @udecode/plate-heading@workspace:^, @udecode/plate-heading@workspace:packages/heading": +"@udecode/plate-heading@npm:23.6.0, @udecode/plate-heading@workspace:^, @udecode/plate-heading@workspace:packages/heading": version: 0.0.0-use.local resolution: "@udecode/plate-heading@workspace:packages/heading" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6953,11 +6953,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-highlight@npm:23.3.1, @udecode/plate-highlight@workspace:^, @udecode/plate-highlight@workspace:packages/highlight": +"@udecode/plate-highlight@npm:23.6.0, @udecode/plate-highlight@workspace:^, @udecode/plate-highlight@workspace:packages/highlight": version: 0.0.0-use.local resolution: "@udecode/plate-highlight@workspace:packages/highlight" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6967,11 +6967,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-horizontal-rule@npm:23.3.1, @udecode/plate-horizontal-rule@workspace:^, @udecode/plate-horizontal-rule@workspace:packages/horizontal-rule": +"@udecode/plate-horizontal-rule@npm:23.6.0, @udecode/plate-horizontal-rule@workspace:^, @udecode/plate-horizontal-rule@workspace:packages/horizontal-rule": version: 0.0.0-use.local resolution: "@udecode/plate-horizontal-rule@workspace:packages/horizontal-rule" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6981,13 +6981,13 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-indent-list@npm:23.3.1, @udecode/plate-indent-list@workspace:^, @udecode/plate-indent-list@workspace:packages/indent-list": +"@udecode/plate-indent-list@npm:23.6.0, @udecode/plate-indent-list@workspace:^, @udecode/plate-indent-list@workspace:packages/indent-list": version: 0.0.0-use.local resolution: "@udecode/plate-indent-list@workspace:packages/indent-list" dependencies: - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-indent": "npm:23.3.1" - "@udecode/plate-list": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-indent": "npm:23.6.0" + "@udecode/plate-list": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -6997,11 +6997,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-indent@npm:23.3.1, @udecode/plate-indent@workspace:^, @udecode/plate-indent@workspace:packages/indent": +"@udecode/plate-indent@npm:23.6.0, @udecode/plate-indent@workspace:^, @udecode/plate-indent@workspace:packages/indent": version: 0.0.0-use.local resolution: "@udecode/plate-indent@workspace:packages/indent" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7015,7 +7015,7 @@ __metadata: version: 0.0.0-use.local resolution: "@udecode/plate-juice@workspace:packages/juice" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" juice: "npm:^8.1.0" peerDependencies: react: ">=16.8.0" @@ -7026,11 +7026,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-kbd@npm:23.3.1, @udecode/plate-kbd@workspace:^, @udecode/plate-kbd@workspace:packages/kbd": +"@udecode/plate-kbd@npm:23.6.0, @udecode/plate-kbd@workspace:^, @udecode/plate-kbd@workspace:packages/kbd": version: 0.0.0-use.local resolution: "@udecode/plate-kbd@workspace:packages/kbd" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7040,11 +7040,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-line-height@npm:23.3.1, @udecode/plate-line-height@workspace:^, @udecode/plate-line-height@workspace:packages/line-height": +"@udecode/plate-line-height@npm:23.6.0, @udecode/plate-line-height@workspace:^, @udecode/plate-line-height@workspace:packages/line-height": version: 0.0.0-use.local resolution: "@udecode/plate-line-height@workspace:packages/line-height" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7054,13 +7054,13 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-link@npm:23.5.0, @udecode/plate-link@workspace:^, @udecode/plate-link@workspace:packages/link": +"@udecode/plate-link@npm:23.6.0, @udecode/plate-link@workspace:^, @udecode/plate-link@workspace:packages/link": version: 0.0.0-use.local resolution: "@udecode/plate-link@workspace:packages/link" dependencies: - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-floating": "npm:23.5.0" - "@udecode/plate-normalizers": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-floating": "npm:23.6.0" + "@udecode/plate-normalizers": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7070,12 +7070,12 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-list@npm:23.3.1, @udecode/plate-list@workspace:^, @udecode/plate-list@workspace:packages/list": +"@udecode/plate-list@npm:23.6.0, @udecode/plate-list@workspace:^, @udecode/plate-list@workspace:packages/list": version: 0.0.0-use.local resolution: "@udecode/plate-list@workspace:packages/list" dependencies: - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-reset-node": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-reset-node": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7085,11 +7085,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-media@npm:23.3.1, @udecode/plate-media@workspace:^, @udecode/plate-media@workspace:packages/media": +"@udecode/plate-media@npm:23.6.0, @udecode/plate-media@workspace:^, @udecode/plate-media@workspace:packages/media": version: 0.0.0-use.local resolution: "@udecode/plate-media@workspace:packages/media" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" js-video-url-parser: "npm:^0.5.1" peerDependencies: react: ">=16.8.0" @@ -7100,12 +7100,12 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-mention@npm:23.3.1, @udecode/plate-mention@workspace:^, @udecode/plate-mention@workspace:packages/mention": +"@udecode/plate-mention@npm:23.6.0, @udecode/plate-mention@workspace:^, @udecode/plate-mention@workspace:packages/mention": version: 0.0.0-use.local resolution: "@udecode/plate-mention@workspace:packages/mention" dependencies: - "@udecode/plate-combobox": "npm:23.3.1" - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-combobox": "npm:23.6.0" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7115,11 +7115,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-node-id@npm:23.4.0, @udecode/plate-node-id@workspace:^, @udecode/plate-node-id@workspace:packages/node-id": +"@udecode/plate-node-id@npm:23.6.0, @udecode/plate-node-id@workspace:^, @udecode/plate-node-id@workspace:packages/node-id": version: 0.0.0-use.local resolution: "@udecode/plate-node-id@workspace:packages/node-id" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7129,11 +7129,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-normalizers@npm:23.3.1, @udecode/plate-normalizers@workspace:^, @udecode/plate-normalizers@workspace:packages/normalizers": +"@udecode/plate-normalizers@npm:23.6.0, @udecode/plate-normalizers@workspace:^, @udecode/plate-normalizers@workspace:packages/normalizers": version: 0.0.0-use.local resolution: "@udecode/plate-normalizers@workspace:packages/normalizers" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7143,11 +7143,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-paragraph@npm:23.3.1, @udecode/plate-paragraph@workspace:^, @udecode/plate-paragraph@workspace:packages/paragraph": +"@udecode/plate-paragraph@npm:23.6.0, @udecode/plate-paragraph@workspace:^, @udecode/plate-paragraph@workspace:packages/paragraph": version: 0.0.0-use.local resolution: "@udecode/plate-paragraph@workspace:packages/paragraph" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7157,11 +7157,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-reset-node@npm:23.3.1, @udecode/plate-reset-node@workspace:^, @udecode/plate-reset-node@workspace:packages/reset-node": +"@udecode/plate-reset-node@npm:23.6.0, @udecode/plate-reset-node@workspace:^, @udecode/plate-reset-node@workspace:packages/reset-node": version: 0.0.0-use.local resolution: "@udecode/plate-reset-node@workspace:packages/reset-node" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7171,11 +7171,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-resizable@npm:23.3.1, @udecode/plate-resizable@workspace:^, @udecode/plate-resizable@workspace:packages/resizable": +"@udecode/plate-resizable@npm:23.6.0, @udecode/plate-resizable@workspace:^, @udecode/plate-resizable@workspace:packages/resizable": version: 0.0.0-use.local resolution: "@udecode/plate-resizable@workspace:packages/resizable" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7185,11 +7185,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-select@npm:23.3.1, @udecode/plate-select@workspace:^, @udecode/plate-select@workspace:packages/select": +"@udecode/plate-select@npm:23.6.0, @udecode/plate-select@workspace:^, @udecode/plate-select@workspace:packages/select": version: 0.0.0-use.local resolution: "@udecode/plate-select@workspace:packages/select" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7203,7 +7203,7 @@ __metadata: version: 0.0.0-use.local resolution: "@udecode/plate-selection@workspace:packages/selection" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" "@viselect/vanilla": "npm:3.2.5" copy-to-clipboard: "npm:^3.3.3" peerDependencies: @@ -7215,13 +7215,13 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-serializer-csv@npm:23.4.1, @udecode/plate-serializer-csv@workspace:^, @udecode/plate-serializer-csv@workspace:packages/serializer-csv": +"@udecode/plate-serializer-csv@npm:23.6.0, @udecode/plate-serializer-csv@workspace:^, @udecode/plate-serializer-csv@workspace:packages/serializer-csv": version: 0.0.0-use.local resolution: "@udecode/plate-serializer-csv@workspace:packages/serializer-csv" dependencies: "@types/papaparse": "npm:^5.3.7" - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-table": "npm:23.4.1" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-table": "npm:23.6.0" papaparse: "npm:^5.4.1" peerDependencies: react: ">=16.8.0" @@ -7233,17 +7233,17 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-serializer-docx@npm:23.4.1, @udecode/plate-serializer-docx@workspace:^, @udecode/plate-serializer-docx@workspace:packages/serializer-docx": +"@udecode/plate-serializer-docx@npm:23.6.0, @udecode/plate-serializer-docx@workspace:^, @udecode/plate-serializer-docx@workspace:packages/serializer-docx": version: 0.0.0-use.local resolution: "@udecode/plate-serializer-docx@workspace:packages/serializer-docx" dependencies: - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-heading": "npm:23.3.1" - "@udecode/plate-indent": "npm:23.3.1" - "@udecode/plate-indent-list": "npm:23.3.1" - "@udecode/plate-media": "npm:23.3.1" - "@udecode/plate-paragraph": "npm:23.3.1" - "@udecode/plate-table": "npm:23.4.1" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-heading": "npm:23.6.0" + "@udecode/plate-indent": "npm:23.6.0" + "@udecode/plate-indent-list": "npm:23.6.0" + "@udecode/plate-media": "npm:23.6.0" + "@udecode/plate-paragraph": "npm:23.6.0" + "@udecode/plate-table": "npm:23.6.0" validator: "npm:^13.9.0" peerDependencies: react: ">=16.8.0" @@ -7255,12 +7255,12 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-serializer-html@npm:23.3.1, @udecode/plate-serializer-html@workspace:^, @udecode/plate-serializer-html@workspace:packages/serializer-html": +"@udecode/plate-serializer-html@npm:23.6.0, @udecode/plate-serializer-html@workspace:^, @udecode/plate-serializer-html@workspace:packages/serializer-html": version: 0.0.0-use.local resolution: "@udecode/plate-serializer-html@workspace:packages/serializer-html" dependencies: "@types/papaparse": "npm:^5.3.7" - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" html-entities: "npm:^2.4.0" peerDependencies: react: ">=16.8.0" @@ -7272,17 +7272,17 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-serializer-md@npm:23.5.0, @udecode/plate-serializer-md@workspace:^, @udecode/plate-serializer-md@workspace:packages/serializer-md": +"@udecode/plate-serializer-md@npm:23.6.0, @udecode/plate-serializer-md@workspace:^, @udecode/plate-serializer-md@workspace:packages/serializer-md": version: 0.0.0-use.local resolution: "@udecode/plate-serializer-md@workspace:packages/serializer-md" dependencies: - "@udecode/plate-block-quote": "npm:23.3.1" - "@udecode/plate-code-block": "npm:23.3.1" - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-heading": "npm:23.3.1" - "@udecode/plate-link": "npm:23.5.0" - "@udecode/plate-list": "npm:23.3.1" - "@udecode/plate-paragraph": "npm:23.3.1" + "@udecode/plate-block-quote": "npm:23.6.0" + "@udecode/plate-code-block": "npm:23.6.0" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-heading": "npm:23.6.0" + "@udecode/plate-link": "npm:23.6.0" + "@udecode/plate-list": "npm:23.6.0" + "@udecode/plate-paragraph": "npm:23.6.0" remark-parse: "npm:^9.0.0" unified: "npm:^9.2.2" peerDependencies: @@ -7294,11 +7294,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-suggestion@npm:23.3.1, @udecode/plate-suggestion@workspace:^, @udecode/plate-suggestion@workspace:packages/suggestion": +"@udecode/plate-suggestion@npm:23.6.0, @udecode/plate-suggestion@workspace:^, @udecode/plate-suggestion@workspace:packages/suggestion": version: 0.0.0-use.local resolution: "@udecode/plate-suggestion@workspace:packages/suggestion" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7308,11 +7308,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-tabbable@npm:23.3.1, @udecode/plate-tabbable@workspace:^, @udecode/plate-tabbable@workspace:packages/tabbable": +"@udecode/plate-tabbable@npm:23.6.0, @udecode/plate-tabbable@workspace:^, @udecode/plate-tabbable@workspace:packages/tabbable": version: 0.0.0-use.local resolution: "@udecode/plate-tabbable@workspace:packages/tabbable" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" tabbable: "npm:^6.2.0" peerDependencies: react: ">=16.8.0" @@ -7323,12 +7323,12 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-table@npm:23.4.1, @udecode/plate-table@workspace:^, @udecode/plate-table@workspace:packages/table": +"@udecode/plate-table@npm:23.6.0, @udecode/plate-table@workspace:^, @udecode/plate-table@workspace:packages/table": version: 0.0.0-use.local resolution: "@udecode/plate-table@workspace:packages/table" dependencies: - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-resizable": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-resizable": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7347,11 +7347,11 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-trailing-block@npm:23.3.1, @udecode/plate-trailing-block@workspace:^, @udecode/plate-trailing-block@workspace:packages/trailing-block": +"@udecode/plate-trailing-block@npm:23.6.0, @udecode/plate-trailing-block@workspace:^, @udecode/plate-trailing-block@workspace:packages/trailing-block": version: 0.0.0-use.local resolution: "@udecode/plate-trailing-block@workspace:packages/trailing-block" dependencies: - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" @@ -7390,12 +7390,12 @@ __metadata: languageName: unknown linkType: soft -"@udecode/plate-utils@npm:23.3.1, @udecode/plate-utils@workspace:^, @udecode/plate-utils@workspace:packages/plate-utils": +"@udecode/plate-utils@npm:23.6.0, @udecode/plate-utils@workspace:^, @udecode/plate-utils@workspace:packages/plate-utils": version: 0.0.0-use.local resolution: "@udecode/plate-utils@workspace:packages/plate-utils" dependencies: "@radix-ui/react-slot": "npm:^1.0.2" - "@udecode/plate-core": "npm:23.3.1" + "@udecode/plate-core": "npm:23.6.0" "@udecode/slate": "npm:22.0.2" "@udecode/slate-react": "npm:22.0.2" "@udecode/slate-utils": "npm:22.0.2" @@ -7415,7 +7415,7 @@ __metadata: dependencies: "@hocuspocus/provider": "npm:^2.2.1" "@slate-yjs/core": "npm:^1.0.1" - "@udecode/plate-common": "npm:23.3.1" + "@udecode/plate-common": "npm:23.6.0" yjs: "npm:^13.5.42" peerDependencies: react: ">=16.8.0" @@ -7430,44 +7430,44 @@ __metadata: version: 0.0.0-use.local resolution: "@udecode/plate@workspace:packages/plate" dependencies: - "@udecode/plate-alignment": "npm:23.3.1" - "@udecode/plate-autoformat": "npm:23.3.1" - "@udecode/plate-basic-elements": "npm:23.3.1" - "@udecode/plate-basic-marks": "npm:23.3.1" - "@udecode/plate-block-quote": "npm:23.3.1" - "@udecode/plate-break": "npm:23.3.1" - "@udecode/plate-code-block": "npm:23.3.1" - "@udecode/plate-combobox": "npm:23.3.1" - "@udecode/plate-comments": "npm:23.3.1" - "@udecode/plate-common": "npm:23.3.1" - "@udecode/plate-find-replace": "npm:23.3.1" - "@udecode/plate-floating": "npm:23.5.0" - "@udecode/plate-font": "npm:23.3.1" - "@udecode/plate-heading": "npm:23.3.1" - "@udecode/plate-highlight": "npm:23.3.1" - "@udecode/plate-horizontal-rule": "npm:23.3.1" - "@udecode/plate-indent": "npm:23.3.1" - "@udecode/plate-indent-list": "npm:23.3.1" - "@udecode/plate-kbd": "npm:23.3.1" - "@udecode/plate-line-height": "npm:23.3.1" - "@udecode/plate-link": "npm:23.5.0" - "@udecode/plate-list": "npm:23.3.1" - "@udecode/plate-media": "npm:23.3.1" - "@udecode/plate-mention": "npm:23.3.1" - "@udecode/plate-node-id": "npm:23.4.0" - "@udecode/plate-normalizers": "npm:23.3.1" - "@udecode/plate-paragraph": "npm:23.3.1" - "@udecode/plate-reset-node": "npm:23.3.1" - "@udecode/plate-resizable": "npm:23.3.1" - "@udecode/plate-select": "npm:23.3.1" - "@udecode/plate-serializer-csv": "npm:23.4.1" - "@udecode/plate-serializer-docx": "npm:23.4.1" - "@udecode/plate-serializer-html": "npm:23.3.1" - "@udecode/plate-serializer-md": "npm:23.5.0" - "@udecode/plate-suggestion": "npm:23.3.1" - "@udecode/plate-tabbable": "npm:23.3.1" - "@udecode/plate-table": "npm:23.4.1" - "@udecode/plate-trailing-block": "npm:23.3.1" + "@udecode/plate-alignment": "npm:23.6.0" + "@udecode/plate-autoformat": "npm:23.6.0" + "@udecode/plate-basic-elements": "npm:23.6.0" + "@udecode/plate-basic-marks": "npm:23.6.0" + "@udecode/plate-block-quote": "npm:23.6.0" + "@udecode/plate-break": "npm:23.6.0" + "@udecode/plate-code-block": "npm:23.6.0" + "@udecode/plate-combobox": "npm:23.6.0" + "@udecode/plate-comments": "npm:23.6.0" + "@udecode/plate-common": "npm:23.6.0" + "@udecode/plate-find-replace": "npm:23.6.0" + "@udecode/plate-floating": "npm:23.6.0" + "@udecode/plate-font": "npm:23.6.0" + "@udecode/plate-heading": "npm:23.6.0" + "@udecode/plate-highlight": "npm:23.6.0" + "@udecode/plate-horizontal-rule": "npm:23.6.0" + "@udecode/plate-indent": "npm:23.6.0" + "@udecode/plate-indent-list": "npm:23.6.0" + "@udecode/plate-kbd": "npm:23.6.0" + "@udecode/plate-line-height": "npm:23.6.0" + "@udecode/plate-link": "npm:23.6.0" + "@udecode/plate-list": "npm:23.6.0" + "@udecode/plate-media": "npm:23.6.0" + "@udecode/plate-mention": "npm:23.6.0" + "@udecode/plate-node-id": "npm:23.6.0" + "@udecode/plate-normalizers": "npm:23.6.0" + "@udecode/plate-paragraph": "npm:23.6.0" + "@udecode/plate-reset-node": "npm:23.6.0" + "@udecode/plate-resizable": "npm:23.6.0" + "@udecode/plate-select": "npm:23.6.0" + "@udecode/plate-serializer-csv": "npm:23.6.0" + "@udecode/plate-serializer-docx": "npm:23.6.0" + "@udecode/plate-serializer-html": "npm:23.6.0" + "@udecode/plate-serializer-md": "npm:23.6.0" + "@udecode/plate-suggestion": "npm:23.6.0" + "@udecode/plate-tabbable": "npm:23.6.0" + "@udecode/plate-table": "npm:23.6.0" + "@udecode/plate-trailing-block": "npm:23.6.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0"