@payloadcms/richtext-lexical 3.0.0-beta.54 → 3.0.0-beta.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/exports/client/{RelationshipComponent-5OU5HATX.js → RelationshipComponent-AFXEJMZQ.js} +2 -2
- package/dist/exports/client/bundled.css +1 -1
- package/dist/exports/client/{chunk-TZLHAUCW.js → chunk-5RJS5YZT.js} +2 -2
- package/dist/exports/client/chunk-5RJS5YZT.js.map +7 -0
- package/dist/exports/client/{chunk-MLIITFAS.js → chunk-Q5DYR7MH.js} +2 -2
- package/dist/exports/client/chunk-Q5DYR7MH.js.map +7 -0
- package/dist/exports/client/{chunk-OSR74ZNW.js → chunk-YL52LJO3.js} +2 -2
- package/dist/exports/client/chunk-YL52LJO3.js.map +7 -0
- package/dist/exports/client/{component-CEUVAHRO.js → component-F6V63OLD.js} +2 -2
- package/dist/exports/client/{component-QWIGEOVD.js → component-VM36FRT2.js} +2 -2
- package/dist/exports/client/index.d.ts +2 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +6 -6
- package/dist/exports/client/index.js.map +4 -4
- package/dist/features/blockquote/feature.server.d.ts +5 -0
- package/dist/features/blockquote/feature.server.d.ts.map +1 -1
- package/dist/features/blockquote/feature.server.js.map +1 -1
- package/dist/features/blocks/nodes/BlocksNode.d.ts +2 -0
- package/dist/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
- package/dist/features/blocks/nodes/BlocksNode.js +1 -1
- package/dist/features/blocks/nodes/BlocksNode.js.map +1 -1
- package/dist/features/converters/html/feature.server.d.ts +1 -1
- package/dist/features/converters/html/feature.server.d.ts.map +1 -1
- package/dist/features/converters/html/feature.server.js.map +1 -1
- package/dist/features/heading/i18n.js +2 -2
- package/dist/features/heading/i18n.js.map +1 -1
- package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts +5 -2
- package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts.map +1 -1
- package/dist/features/horizontalRule/nodes/HorizontalRuleNode.js.map +1 -1
- package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
- package/dist/features/link/nodes/AutoLinkNode.js +7 -1
- package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
- package/dist/features/link/nodes/LinkNode.js +1 -1
- package/dist/features/link/nodes/LinkNode.js.map +1 -1
- package/dist/features/link/nodes/types.d.ts +7 -4
- package/dist/features/link/nodes/types.d.ts.map +1 -1
- package/dist/features/link/nodes/types.js.map +1 -1
- package/dist/features/lists/checklist/feature.server.js.map +1 -1
- package/dist/features/lists/htmlConverter.d.ts +1 -1
- package/dist/features/lists/htmlConverter.d.ts.map +1 -1
- package/dist/features/lists/htmlConverter.js.map +1 -1
- package/dist/features/lists/orderedList/feature.server.js.map +1 -1
- package/dist/features/lists/plugin/index.d.ts +10 -0
- package/dist/features/lists/plugin/index.d.ts.map +1 -1
- package/dist/features/lists/plugin/index.js.map +1 -1
- package/dist/features/lists/unorderedList/feature.server.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/feature.server.d.ts +3 -1
- package/dist/features/migrations/slateToLexical/feature.server.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/feature.server.js +3 -1
- package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
- package/dist/features/relationship/nodes/RelationshipNode.d.ts +6 -2
- package/dist/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/features/relationship/nodes/RelationshipNode.js +1 -1
- package/dist/features/relationship/nodes/RelationshipNode.js.map +1 -1
- package/dist/features/toolbars/types.d.ts +30 -3
- package/dist/features/toolbars/types.d.ts.map +1 -1
- package/dist/features/toolbars/types.js.map +1 -1
- package/dist/features/typesClient.d.ts +2 -2
- package/dist/features/typesClient.d.ts.map +1 -1
- package/dist/features/typesClient.js.map +1 -1
- package/dist/features/typesServer.d.ts +26 -3
- package/dist/features/typesServer.d.ts.map +1 -1
- package/dist/features/typesServer.js.map +1 -1
- package/dist/features/upload/nodes/UploadNode.d.ts +6 -2
- package/dist/features/upload/nodes/UploadNode.d.ts.map +1 -1
- package/dist/features/upload/nodes/UploadNode.js +1 -1
- package/dist/features/upload/nodes/UploadNode.js.map +1 -1
- package/dist/field/index.js +8 -8
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lexical/config/server/default.d.ts +1 -1
- package/dist/lexical/config/server/default.d.ts.map +1 -1
- package/dist/lexical/config/server/default.js.map +1 -1
- package/dist/lexical/config/types.d.ts +2 -2
- package/dist/lexical/config/types.d.ts.map +1 -1
- package/dist/lexical/config/types.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +9 -2
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
- package/dist/nodeTypes.d.ts +27 -0
- package/dist/nodeTypes.d.ts.map +1 -0
- package/dist/nodeTypes.js +3 -0
- package/dist/nodeTypes.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/migrateSlateToLexical/index.d.ts +15 -0
- package/dist/utilities/migrateSlateToLexical/index.d.ts.map +1 -0
- package/dist/utilities/migrateSlateToLexical/index.js +105 -0
- package/dist/utilities/migrateSlateToLexical/index.js.map +1 -0
- package/dist/utilities/migrateSlateToLexical/recurse.d.ts +9 -0
- package/dist/utilities/migrateSlateToLexical/recurse.d.ts.map +1 -0
- package/dist/utilities/migrateSlateToLexical/recurse.js +77 -0
- package/dist/utilities/migrateSlateToLexical/recurse.js.map +1 -0
- package/package.json +9 -9
- package/dist/exports/client/chunk-MLIITFAS.js.map +0 -7
- package/dist/exports/client/chunk-OSR74ZNW.js.map +0 -7
- package/dist/exports/client/chunk-TZLHAUCW.js.map +0 -7
- /package/dist/exports/client/{RelationshipComponent-5OU5HATX.js.map → RelationshipComponent-AFXEJMZQ.js.map} +0 -0
- /package/dist/exports/client/{component-CEUVAHRO.js.map → component-F6V63OLD.js.map} +0 -0
- /package/dist/exports/client/{component-QWIGEOVD.js.map → component-VM36FRT2.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useAuth as f,useConfig as D,useEntityVisibility as g}from"@payloadcms/ui";import*as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{useAuth as f,useConfig as D,useEntityVisibility as g}from"@payloadcms/ui";import*as l from"react";var y=(e,t)=>e.filter(({slug:o,admin:{enableRichTextRelationship:a},upload:n})=>t.visibleEntities.collections.includes(o)?t?.uploads?a&&!!n:n?!1:a:!1),S=e=>{let{children:t,uploads:o=!1,...a}=e,{collections:n}=D(),{user:d}=f(),{visibleEntities:u}=g(),[r]=l.useState(()=>y(n,{uploads:o,user:d,visibleEntities:u}).map(({slug:m})=>m));return r.length?l.cloneElement(t,{...a,enabledCollectionSlugs:r}):null};import{createCommand as C}from"lexical";var T=C("INSERT_UPLOAD_WITH_DRAWER_COMMAND");import{DecoratorBlockNode as x}from"@lexical/react/LexicalDecoratorBlockNode.js";import s from"bson-objectid";import{$applyNodeReplacement as _}from"lexical";import*as p from"react";import{jsx as O}from"react/jsx-runtime";var U=p.lazy(()=>import("./component-F6V63OLD.js").then(e=>({default:e.UploadComponent})));function v(e){return e.parentElement!=null&&e.parentElement.tagName==="LI"&&e.previousSibling===null&&e.getAttribute("aria-roledescription")==="checkbox"}function E(e){if(e.hasAttribute("data-lexical-upload-relation-to")&&e.hasAttribute("data-lexical-upload-id")){let o=e.getAttribute("data-lexical-upload-id"),a=e.getAttribute("data-lexical-upload-relation-to");if(o!=null&&a!=null)return{node:c({data:{fields:{},relationTo:a,value:o}})}}let t=e;return t.src.startsWith("file:///")||v(t),null}var i=class e extends x{__data;constructor({data:t,format:o,key:a}){super(o,a),this.__data=t}static clone(t){return new e({data:t.__data,format:t.__format,key:t.__key})}static getType(){return"upload"}static importDOM(){return{img:t=>({conversion:E,priority:0})}}static importJSON(t){t.version===1&&t?.value?.id&&(t.value=t.value.id),t.version===2&&!t?.id&&(t.id=new s.default().toHexString(),t.version=3);let o={id:t.id,fields:t.fields,relationTo:t.relationTo,value:t.value},a=c({data:o});return a.setFormat(t.format),a}static isInline(){return!1}decorate(){return O(U,{data:this.__data,format:this.__format,nodeKey:this.getKey()})}exportDOM(){let t=document.createElement("img");return t.setAttribute("data-lexical-upload-id",String(this.__data?.value)),t.setAttribute("data-lexical-upload-relation-to",this.__data?.relationTo),{element:t}}exportJSON(){return{...super.exportJSON(),...this.getData(),type:"upload",version:3}}getData(){return this.getLatest().__data}setData(t){let o=this.getWritable();o.__data=t}updateDOM(){return!1}};function c({data:e}){return e?.id||(e.id=new s.default().toHexString()),_(new i({data:e}))}function I(e){return e instanceof i}export{S as a,T as b,i as c,c as d,I as e};
|
|
2
|
+
//# sourceMappingURL=chunk-5RJS5YZT.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/features/relationship/utils/EnabledRelationshipsCondition.tsx", "../../../src/features/upload/drawer/commands.ts", "../../../src/features/upload/nodes/UploadNode.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { ClientCollectionConfig, ClientUser, VisibleEntities } from 'payload'\n\nimport { useAuth, useConfig, useEntityVisibility } from '@payloadcms/ui'\nimport * as React from 'react'\n\ntype Options = {\n uploads: boolean\n user: ClientUser\n visibleEntities: VisibleEntities\n}\n\ntype FilteredCollectionsT = (\n collections: ClientCollectionConfig[],\n options?: Options,\n) => ClientCollectionConfig[]\n\nconst filterRichTextCollections: FilteredCollectionsT = (collections, options) => {\n return collections.filter(({ slug, admin: { enableRichTextRelationship }, upload }) => {\n if (!options.visibleEntities.collections.includes(slug)) {\n return false\n }\n\n if (options?.uploads) {\n return enableRichTextRelationship && Boolean(upload) === true\n }\n\n return upload ? false : enableRichTextRelationship\n })\n}\n\nexport const EnabledRelationshipsCondition: React.FC<any> = (props) => {\n const { children, uploads = false, ...rest } = props\n const { collections } = useConfig()\n const { user } = useAuth()\n const { visibleEntities } = useEntityVisibility()\n\n const [enabledCollectionSlugs] = React.useState(() =>\n filterRichTextCollections(collections, { uploads, user, visibleEntities }).map(\n ({ slug }) => slug,\n ),\n )\n\n if (!enabledCollectionSlugs.length) {\n return null\n }\n\n return React.cloneElement(children, { ...rest, enabledCollectionSlugs })\n}\n", "'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { createCommand } from 'lexical'\n\nexport const INSERT_UPLOAD_WITH_DRAWER_COMMAND: LexicalCommand<{\n replace: { nodeKey: string } | false\n}> = createCommand('INSERT_UPLOAD_WITH_DRAWER_COMMAND')\n", "import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n ElementFormatType,\n LexicalNode,\n NodeKey,\n Spread,\n} from 'lexical'\nimport type { CollectionSlug } from 'payload'\nimport type { JSX } from 'react'\n\nimport { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport ObjectID from 'bson-objectid'\nimport { $applyNodeReplacement } from 'lexical'\nimport * as React from 'react'\n\nconst RawUploadComponent = React.lazy(() =>\n import('../component/index.js').then((module) => ({ default: module.UploadComponent })),\n)\n\nexport type UploadData = {\n fields: {\n // unknown, custom fields:\n [key: string]: unknown\n }\n id: string\n relationTo: CollectionSlug\n value: number | string\n}\n\nfunction isGoogleDocCheckboxImg(img: HTMLImageElement): boolean {\n return (\n img.parentElement != null &&\n img.parentElement.tagName === 'LI' &&\n img.previousSibling === null &&\n img.getAttribute('aria-roledescription') === 'checkbox'\n )\n}\n\nfunction $convertUploadElement(domNode: HTMLImageElement): DOMConversionOutput | null {\n if (\n domNode.hasAttribute('data-lexical-upload-relation-to') &&\n domNode.hasAttribute('data-lexical-upload-id')\n ) {\n const id = domNode.getAttribute('data-lexical-upload-id')\n const relationTo = domNode.getAttribute('data-lexical-upload-relation-to')\n\n if (id != null && relationTo != null) {\n const node = $createUploadNode({\n data: {\n fields: {},\n relationTo,\n value: id,\n },\n })\n return { node }\n }\n }\n const img = domNode\n if (img.src.startsWith('file:///') || isGoogleDocCheckboxImg(img)) {\n return null\n }\n // TODO: Auto-upload functionality here!\n //}\n return null\n}\n\nexport type SerializedUploadNode = Spread<UploadData, SerializedDecoratorBlockNode> & {\n children?: never // required so that our typed editor state doesn't automatically add children\n type: 'upload'\n}\n\nexport class UploadNode extends DecoratorBlockNode {\n __data: UploadData\n\n constructor({\n data,\n format,\n key,\n }: {\n data: UploadData\n format?: ElementFormatType\n key?: NodeKey\n }) {\n super(format, key)\n this.__data = data\n }\n\n static clone(node: UploadNode): UploadNode {\n return new UploadNode({\n data: node.__data,\n format: node.__format,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'upload'\n }\n\n static importDOM(): DOMConversionMap | null {\n return {\n img: (node: HTMLImageElement) => ({\n conversion: $convertUploadElement,\n priority: 0,\n }),\n }\n }\n\n static importJSON(serializedNode: SerializedUploadNode): UploadNode {\n if (serializedNode.version === 1 && (serializedNode?.value as unknown as { id: string })?.id) {\n serializedNode.value = (serializedNode.value as unknown as { id: string }).id\n }\n if (serializedNode.version === 2 && !serializedNode?.id) {\n serializedNode.id = new ObjectID.default().toHexString()\n serializedNode.version = 3\n }\n\n const importedData: UploadData = {\n id: serializedNode.id,\n fields: serializedNode.fields,\n relationTo: serializedNode.relationTo,\n value: serializedNode.value,\n }\n\n const node = $createUploadNode({ data: importedData })\n node.setFormat(serializedNode.format)\n\n return node\n }\n\n static isInline(): false {\n return false\n }\n\n decorate(): JSX.Element {\n // @ts-expect-error\n return <RawUploadComponent data={this.__data} format={this.__format} nodeKey={this.getKey()} />\n }\n\n exportDOM(): DOMExportOutput {\n const element = document.createElement('img')\n element.setAttribute('data-lexical-upload-id', String(this.__data?.value))\n element.setAttribute('data-lexical-upload-relation-to', this.__data?.relationTo)\n\n return { element }\n }\n\n exportJSON(): SerializedUploadNode {\n return {\n ...super.exportJSON(),\n ...this.getData(),\n type: 'upload',\n version: 3,\n }\n }\n\n getData(): UploadData {\n return this.getLatest().__data\n }\n\n setData(data: UploadData): void {\n const writable = this.getWritable()\n writable.__data = data\n }\n\n // eslint-disable-next-line class-methods-use-this\n updateDOM(): false {\n return false\n }\n}\n\nexport function $createUploadNode({\n data,\n}: {\n data: Omit<UploadData, 'id'> & Partial<Pick<UploadData, 'id'>>\n}): UploadNode {\n if (!data?.id) {\n data.id = new ObjectID.default().toHexString()\n }\n return $applyNodeReplacement(new UploadNode({ data: data as UploadData }))\n}\n\nexport function $isUploadNode(node: LexicalNode | null | undefined): node is UploadNode {\n return node instanceof UploadNode\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useAuth", "useConfig", "useEntityVisibility", "React", "filterRichTextCollections", "collections", "options", "slug", "enableRichTextRelationship", "upload", "EnabledRelationshipsCondition", "props", "children", "uploads", "rest", "user", "visibleEntities", "enabledCollectionSlugs", "createCommand", "INSERT_UPLOAD_WITH_DRAWER_COMMAND", "DecoratorBlockNode", "ObjectID", "$applyNodeReplacement", "React", "jsx", "RawUploadComponent", "module", "isGoogleDocCheckboxImg", "img", "$convertUploadElement", "domNode", "id", "relationTo", "$createUploadNode", "UploadNode", "_UploadNode", "data", "format", "key", "node", "serializedNode", "importedData", "element", "writable", "$isUploadNode"]
|
|
7
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{addClassNamesToElement as l}from"@lexical/utils";import{$applyNodeReplacement as a,DecoratorNode as u,createCommand as d}from"lexical";import*as n from"react";import{jsx as m}from"react/jsx-runtime";var c=n.lazy(()=>import("./component-
|
|
1
|
+
import{addClassNamesToElement as l}from"@lexical/utils";import{$applyNodeReplacement as a,DecoratorNode as u,createCommand as d}from"lexical";import*as n from"react";import{jsx as m}from"react/jsx-runtime";var c=n.lazy(()=>import("./component-VM36FRT2.js").then(e=>({default:e.HorizontalRuleComponent}))),R=d("INSERT_HORIZONTAL_RULE_COMMAND"),o=class e extends u{static clone(t){return new e(t.__key)}static getType(){return"horizontalrule"}static importDOM(){return{hr:()=>({conversion:p,priority:0})}}static importJSON(t){return i()}createDOM(t){let r=document.createElement("hr");return l(r,t.theme.hr),r}decorate(){return m(c,{nodeKey:this.__key})}exportDOM(){return{element:document.createElement("hr")}}exportJSON(){return{type:"horizontalrule",version:1}}getTextContent(){return`
|
|
2
2
|
`}isInline(){return!1}updateDOM(){return!1}};function p(){return{node:i()}}function i(){return a(new o)}function O(e){return e instanceof o}export{R as a,o as b,i as c,O as d};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-Q5DYR7MH.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/features/horizontalRule/nodes/HorizontalRuleNode.tsx"],
|
|
4
|
+
"sourcesContent": ["import type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n EditorConfig,\n LexicalCommand,\n LexicalNode,\n SerializedLexicalNode,\n Spread,\n} from 'lexical'\n\nimport { addClassNamesToElement } from '@lexical/utils'\nimport { $applyNodeReplacement, DecoratorNode, createCommand } from 'lexical'\nimport * as React from 'react'\n\nconst HorizontalRuleComponent = React.lazy(() =>\n import('../component/index.js').then((module) => ({\n default: module.HorizontalRuleComponent,\n })),\n)\n\n/**\n * Serialized representation of a horizontal rule node. Serialized = converted to JSON. This is what is stored in the database / in the lexical editor state.\n */\nexport type SerializedHorizontalRuleNode = Spread<\n {\n children?: never // required so that our typed editor state doesn't automatically add children\n type: 'horizontalrule'\n },\n SerializedLexicalNode\n>\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND: LexicalCommand<void> = createCommand(\n 'INSERT_HORIZONTAL_RULE_COMMAND',\n)\n\n/**\n * This node is a DecoratorNode. DecoratorNodes allow you to render React components in the editor.\n *\n * They need both createDom and decorate functions. createDom => outside of the html. decorate => React Component inside of the html.\n *\n * If we used DecoratorBlockNode instead, we would only need a decorate method\n */\nexport class HorizontalRuleNode extends DecoratorNode<React.ReactElement> {\n static clone(node: HorizontalRuleNode): HorizontalRuleNode {\n return new HorizontalRuleNode(node.__key)\n }\n\n static getType(): string {\n return 'horizontalrule'\n }\n\n /**\n * Defines what happens if you copy an hr element from another page and paste it into the lexical editor\n *\n * This also determines the behavior of lexical's internal HTML -> Lexical converter\n */\n static importDOM(): DOMConversionMap | null {\n return {\n hr: () => ({\n conversion: $convertHorizontalRuleElement,\n priority: 0,\n }),\n }\n }\n\n /**\n * The data for this node is stored serialized as JSON. This is the \"load function\" of that node: it takes the saved data and converts it into a node.\n */\n static importJSON(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleNode {\n return $createHorizontalRuleNode()\n }\n\n /**\n * Determines how the hr element is rendered in the lexical editor. This is only the \"initial\" / \"outer\" HTML element.\n */\n createDOM(config: EditorConfig): HTMLElement {\n const element = document.createElement('hr')\n addClassNamesToElement(element, config.theme.hr)\n return element\n }\n\n /**\n * Allows you to render a React component within whatever createDOM returns.\n */\n decorate(): React.ReactElement {\n return <HorizontalRuleComponent nodeKey={this.__key} />\n }\n\n /**\n * Opposite of importDOM, this function defines what happens when you copy an hr element from the lexical editor and paste it into another page.\n *\n * This also determines the behavior of lexical's internal Lexical -> HTML converter\n */\n exportDOM(): DOMExportOutput {\n return { element: document.createElement('hr') }\n }\n /**\n * Opposite of importJSON. This determines what data is saved in the database / in the lexical editor state.\n */\n exportJSON(): SerializedLexicalNode {\n return {\n type: 'horizontalrule',\n version: 1,\n }\n }\n\n getTextContent(): string {\n return '\\n'\n }\n\n isInline(): false {\n return false\n }\n\n updateDOM(): boolean {\n return false\n }\n}\n\nfunction $convertHorizontalRuleElement(): DOMConversionOutput {\n return { node: $createHorizontalRuleNode() }\n}\n\nexport function $createHorizontalRuleNode(): HorizontalRuleNode {\n return $applyNodeReplacement(new HorizontalRuleNode())\n}\n\nexport function $isHorizontalRuleNode(\n node: LexicalNode | null | undefined,\n): node is HorizontalRuleNode {\n return node instanceof HorizontalRuleNode\n}\n"],
|
|
5
|
+
"mappings": "AAWA,OAAS,0BAAAA,MAA8B,iBACvC,OAAS,yBAAAC,EAAuB,iBAAAC,EAAe,iBAAAC,MAAqB,UACpE,UAAYC,MAAW,QAyEZ,cAAAC,MAAA,oBAvEX,IAAMC,EAAgC,OAAK,IACzC,OAAO,yBAAuB,EAAE,KAAMC,IAAY,CAChD,QAASA,EAAO,uBAClB,EAAE,CACJ,EAaaC,EAAuDL,EAClE,gCACF,EASaM,EAAN,MAAMC,UAA2BR,CAAkC,CACxE,OAAO,MAAMS,EAA8C,CACzD,OAAO,IAAID,EAAmBC,EAAK,KAAK,CAC1C,CAEA,OAAO,SAAkB,CACvB,MAAO,gBACT,CAOA,OAAO,WAAqC,CAC1C,MAAO,CACL,GAAI,KAAO,CACT,WAAYC,EACZ,SAAU,CACZ,EACF,CACF,CAKA,OAAO,WAAWC,EAAkE,CAClF,OAAOC,EAA0B,CACnC,CAKA,UAAUC,EAAmC,CAC3C,IAAMC,EAAU,SAAS,cAAc,IAAI,EAC3C,OAAAhB,EAAuBgB,EAASD,EAAO,MAAM,EAAE,EACxCC,CACT,CAKA,UAA+B,CAC7B,OAAOX,EAACC,EAAA,CAAwB,QAAS,KAAK,MAAO,CACvD,CAOA,WAA6B,CAC3B,MAAO,CAAE,QAAS,SAAS,cAAc,IAAI,CAAE,CACjD,CAIA,YAAoC,CAClC,MAAO,CACL,KAAM,iBACN,QAAS,CACX,CACF,CAEA,gBAAyB,CACvB,MAAO;AAAA,CACT,CAEA,UAAkB,CAChB,MAAO,EACT,CAEA,WAAqB,CACnB,MAAO,EACT,CACF,EAEA,SAASM,GAAqD,CAC5D,MAAO,CAAE,KAAME,EAA0B,CAAE,CAC7C,CAEO,SAASA,GAAgD,CAC9D,OAAOb,EAAsB,IAAIQ,CAAoB,CACvD,CAEO,SAASQ,EACdN,EAC4B,CAC5B,OAAOA,aAAgBF,CACzB",
|
|
6
|
+
"names": ["addClassNamesToElement", "$applyNodeReplacement", "DecoratorNode", "createCommand", "React", "jsx", "HorizontalRuleComponent", "module", "INSERT_HORIZONTAL_RULE_COMMAND", "HorizontalRuleNode", "_HorizontalRuleNode", "node", "$convertHorizontalRuleElement", "serializedNode", "$createHorizontalRuleNode", "config", "element", "$isHorizontalRuleNode"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createCommand as l}from"lexical";var h=l("INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND");import{DecoratorBlockNode as s}from"@lexical/react/LexicalDecoratorBlockNode.js";import*as n from"react";import{jsx as c}from"react/jsx-runtime";var p=n.lazy(()=>import("./RelationshipComponent-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{createCommand as l}from"lexical";var h=l("INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND");import{DecoratorBlockNode as s}from"@lexical/react/LexicalDecoratorBlockNode.js";import*as n from"react";import{jsx as c}from"react/jsx-runtime";var p=n.lazy(()=>import("./RelationshipComponent-AFXEJMZQ.js").then(a=>({default:a.RelationshipComponent})));function d(a){let t=a.getAttribute("data-lexical-relationship-id"),e=a.getAttribute("data-lexical-relationship-relationTo");return t!=null&&e!=null?{node:r({relationTo:e,value:t})}:null}var o=class a extends s{__data;constructor({data:t,format:e,key:i}){super(e,i),this.__data=t}static clone(t){return new a({data:t.__data,format:t.__format,key:t.__key})}static getType(){return"relationship"}static importDOM(){return{div:t=>!t.hasAttribute("data-lexical-relationship-relationTo")||!t.hasAttribute("data-lexical-relationship-id")?null:{conversion:d,priority:2}}}static importJSON(t){t.version===1&&t?.value?.id&&(t.value=t.value.id);let e={relationTo:t.relationTo,value:t.value},i=r(e);return i.setFormat(t.format),i}static isInline(){return!1}decorate(t,e){return c(p,{className:e.theme.relationship??"LexicalEditorTheme__relationship",data:this.__data,format:this.__format,nodeKey:this.getKey()})}exportDOM(){let t=document.createElement("div");t.setAttribute("data-lexical-relationship-id",String(this.__data?.value)),t.setAttribute("data-lexical-relationship-relationTo",this.__data?.relationTo);let e=document.createTextNode(this.getTextContent());return t.append(e),{element:t}}exportJSON(){return{...super.exportJSON(),...this.getData(),type:"relationship",version:2}}getData(){return this.getLatest().__data}getTextContent(){return`${this.__data?.relationTo} relation to ${this.__data?.value}`}setData(t){let e=this.getWritable();e.__data=t}};function r(a){return new o({data:a})}function x(a){return a instanceof o}export{h as a,o as b,r as c,x as d};
|
|
2
|
+
//# sourceMappingURL=chunk-YL52LJO3.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/features/relationship/drawer/commands.ts", "../../../src/features/relationship/nodes/RelationshipNode.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { LexicalCommand } from 'lexical'\n\nimport { createCommand } from 'lexical'\n\nexport const INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND: LexicalCommand<{\n replace: { nodeKey: string } | false\n}> = createCommand('INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND')\n", "import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n EditorConfig,\n ElementFormatType,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n Spread,\n} from 'lexical'\nimport type { CollectionSlug } from 'payload'\nimport type { JSX } from 'react'\n\nimport { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport * as React from 'react'\n\nconst RelationshipComponent = React.lazy(() =>\n import('./components/RelationshipComponent.js').then((module) => ({\n default: module.RelationshipComponent,\n })),\n)\n\nexport type RelationshipData = {\n relationTo: CollectionSlug\n value: number | string\n}\n\nexport type SerializedRelationshipNode = Spread<RelationshipData, SerializedDecoratorBlockNode> & {\n children?: never // required so that our typed editor state doesn't automatically add children\n type: 'relationship'\n}\n\nfunction $relationshipElementToNode(domNode: HTMLDivElement): DOMConversionOutput | null {\n const id = domNode.getAttribute('data-lexical-relationship-id')\n const relationTo = domNode.getAttribute('data-lexical-relationship-relationTo')\n\n if (id != null && relationTo != null) {\n const node = $createRelationshipNode({\n relationTo,\n value: id,\n })\n return { node }\n }\n return null\n}\n\nexport class RelationshipNode extends DecoratorBlockNode {\n __data: RelationshipData\n\n constructor({\n data,\n format,\n key,\n }: {\n data: RelationshipData\n format?: ElementFormatType\n key?: NodeKey\n }) {\n super(format, key)\n this.__data = data\n }\n\n static clone(node: RelationshipNode): RelationshipNode {\n return new RelationshipNode({\n data: node.__data,\n format: node.__format,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'relationship'\n }\n\n static importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {\n div: (domNode: HTMLDivElement) => {\n if (\n !domNode.hasAttribute('data-lexical-relationship-relationTo') ||\n !domNode.hasAttribute('data-lexical-relationship-id')\n ) {\n return null\n }\n return {\n conversion: $relationshipElementToNode,\n priority: 2,\n }\n },\n }\n }\n\n static importJSON(serializedNode: SerializedRelationshipNode): RelationshipNode {\n if (serializedNode.version === 1 && (serializedNode?.value as unknown as { id: string })?.id) {\n serializedNode.value = (serializedNode.value as unknown as { id: string }).id\n }\n\n const importedData: RelationshipData = {\n relationTo: serializedNode.relationTo,\n value: serializedNode.value,\n }\n const node = $createRelationshipNode(importedData)\n node.setFormat(serializedNode.format)\n return node\n }\n\n static isInline(): false {\n return false\n }\n\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n return (\n <RelationshipComponent\n className={config.theme.relationship ?? 'LexicalEditorTheme__relationship'}\n data={this.__data}\n format={this.__format}\n nodeKey={this.getKey()}\n />\n )\n }\n exportDOM(): DOMExportOutput {\n const element = document.createElement('div')\n element.setAttribute('data-lexical-relationship-id', String(this.__data?.value))\n element.setAttribute('data-lexical-relationship-relationTo', this.__data?.relationTo)\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n exportJSON(): SerializedRelationshipNode {\n return {\n ...super.exportJSON(),\n ...this.getData(),\n type: 'relationship',\n version: 2,\n }\n }\n\n getData(): RelationshipData {\n return this.getLatest().__data\n }\n\n getTextContent(): string {\n return `${this.__data?.relationTo} relation to ${this.__data?.value}`\n }\n\n setData(data: RelationshipData): void {\n const writable = this.getWritable()\n writable.__data = data\n }\n}\n\nexport function $createRelationshipNode(data: RelationshipData): RelationshipNode {\n return new RelationshipNode({\n data,\n })\n}\n\nexport function $isRelationshipNode(\n node: LexicalNode | RelationshipNode | null | undefined,\n): node is RelationshipNode {\n return node instanceof RelationshipNode\n}\n"],
|
|
5
|
+
"mappings": "AAEA,OAAS,iBAAAA,MAAqB,UAEvB,IAAMC,EAERD,EAAc,yCAAyC,ECS5D,OAAS,sBAAAE,MAA0B,8CACnC,UAAYC,MAAW,QAiGjB,cAAAC,MAAA,oBA/FN,IAAMC,EAA8B,OAAK,IACvC,OAAO,qCAAuC,EAAE,KAAMC,IAAY,CAChE,QAASA,EAAO,qBAClB,EAAE,CACJ,EAYA,SAASC,EAA2BC,EAAqD,CACvF,IAAMC,EAAKD,EAAQ,aAAa,8BAA8B,EACxDE,EAAaF,EAAQ,aAAa,sCAAsC,EAE9E,OAAIC,GAAM,MAAQC,GAAc,KAKvB,CAAE,KAJIC,EAAwB,CACnC,WAAAD,EACA,MAAOD,CACT,CAAC,CACa,EAET,IACT,CAEO,IAAMG,EAAN,MAAMC,UAAyBX,CAAmB,CACvD,OAEA,YAAY,CACV,KAAAY,EACA,OAAAC,EACA,IAAAC,CACF,EAIG,CACD,MAAMD,EAAQC,CAAG,EACjB,KAAK,OAASF,CAChB,CAEA,OAAO,MAAMG,EAA0C,CACrD,OAAO,IAAIJ,EAAiB,CAC1B,KAAMI,EAAK,OACX,OAAQA,EAAK,SACb,IAAKA,EAAK,KACZ,CAAC,CACH,CAEA,OAAO,SAAkB,CACvB,MAAO,cACT,CAEA,OAAO,WAAqD,CAC1D,MAAO,CACL,IAAMT,GAEF,CAACA,EAAQ,aAAa,sCAAsC,GAC5D,CAACA,EAAQ,aAAa,8BAA8B,EAE7C,KAEF,CACL,WAAYD,EACZ,SAAU,CACZ,CAEJ,CACF,CAEA,OAAO,WAAWW,EAA8D,CAC1EA,EAAe,UAAY,GAAMA,GAAgB,OAAqC,KACxFA,EAAe,MAASA,EAAe,MAAoC,IAG7E,IAAMC,EAAiC,CACrC,WAAYD,EAAe,WAC3B,MAAOA,EAAe,KACxB,EACMD,EAAON,EAAwBQ,CAAY,EACjD,OAAAF,EAAK,UAAUC,EAAe,MAAM,EAC7BD,CACT,CAEA,OAAO,UAAkB,CACvB,MAAO,EACT,CAEA,SAASG,EAAuBC,EAAmC,CACjE,OACEjB,EAACC,EAAA,CACC,UAAWgB,EAAO,MAAM,cAAgB,mCACxC,KAAM,KAAK,OACX,OAAQ,KAAK,SACb,QAAS,KAAK,OAAO,EACvB,CAEJ,CACA,WAA6B,CAC3B,IAAMC,EAAU,SAAS,cAAc,KAAK,EAC5CA,EAAQ,aAAa,+BAAgC,OAAO,KAAK,QAAQ,KAAK,CAAC,EAC/EA,EAAQ,aAAa,uCAAwC,KAAK,QAAQ,UAAU,EAEpF,IAAMC,EAAO,SAAS,eAAe,KAAK,eAAe,CAAC,EAC1D,OAAAD,EAAQ,OAAOC,CAAI,EACZ,CAAE,QAAAD,CAAQ,CACnB,CAEA,YAAyC,CACvC,MAAO,CACL,GAAG,MAAM,WAAW,EACpB,GAAG,KAAK,QAAQ,EAChB,KAAM,eACN,QAAS,CACX,CACF,CAEA,SAA4B,CAC1B,OAAO,KAAK,UAAU,EAAE,MAC1B,CAEA,gBAAyB,CACvB,MAAO,GAAG,KAAK,QAAQ,UAAU,gBAAgB,KAAK,QAAQ,KAAK,EACrE,CAEA,QAAQR,EAA8B,CACpC,IAAMU,EAAW,KAAK,YAAY,EAClCA,EAAS,OAASV,CACpB,CACF,EAEO,SAASH,EAAwBG,EAA0C,CAChF,OAAO,IAAIF,EAAiB,CAC1B,KAAAE,CACF,CAAC,CACH,CAEO,SAASW,EACdR,EAC0B,CAC1B,OAAOA,aAAgBL,CACzB",
|
|
6
|
+
"names": ["createCommand", "INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND", "DecoratorBlockNode", "React", "jsx", "RelationshipComponent", "module", "$relationshipElementToNode", "domNode", "id", "relationTo", "$createRelationshipNode", "RelationshipNode", "_RelationshipNode", "data", "format", "key", "node", "serializedNode", "importedData", "editor", "config", "element", "text", "writable", "$isRelationshipNode"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{a as j,b as W,e as Y}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=component-
|
|
1
|
+
"use client";import{a as j,b as W,e as Y}from"./chunk-5RJS5YZT.js";import{b as N}from"./chunk-3K3B6PJM.js";import{useLexicalComposerContext as Ce}from"@lexical/react/LexicalComposerContext.js";import{useLexicalNodeSelection as ge}from"@lexical/react/useLexicalNodeSelection.js";import{mergeRegister as ve}from"@lexical/utils";import{getTranslation as ye}from"@payloadcms/translations";import{Button as T,DrawerToggler as De,File as be,useConfig as he,useDocumentDrawer as Re,useDrawerSlug as Se,usePayloadAPI as _e,useTranslation as Ee}from"@payloadcms/ui";import{$getNodeByKey as q,$getSelection as we,$isNodeSelection as Ne,CLICK_COMMAND as Ue,COMMAND_PRIORITY_LOW as O,KEY_BACKSPACE_COMMAND as Pe,KEY_DELETE_COMMAND as Fe}from"lexical";import{useCallback as U,useEffect as $e,useReducer as xe,useRef as Me,useState as Le}from"react";import{useLexicalComposerContext as X}from"@lexical/react/LexicalComposerContext.js";import{getTranslation as Z}from"@payloadcms/translations";import{Drawer as ee,Form as te,FormSubmit as oe,RenderFields as ae,useConfig as le,useDocumentInfo as re,useFieldProps as ie,useModal as ne,useTranslation as se}from"@payloadcms/ui";import{getFormState as H}from"@payloadcms/ui/shared";import{$getNodeByKey as de}from"lexical";import{deepCopyObject as ce}from"payload/shared";import{useCallback as z,useEffect as pe,useState as me}from"react";import{v4 as ue}from"uuid";import{jsx as L,jsxs as fe}from"react/jsx-runtime";var V=d=>{let{data:{fields:P,relationTo:F,value:C},drawerSlug:a,nodeKey:R,relatedCollection:g}=d,[S]=X(),{closeModal:p}=ne(),{i18n:l,t:r}=se(),{id:n}=re(),{schemaPath:v}=ie(),i=le(),[m,$]=me(!1),{field:{richTextComponentMap:y}}=N(),_=`feature.upload.fields.${g.slug}`,c=`${v}.feature.upload.${g.slug}`,s=y.get(_);pe(()=>{(async()=>{let b=await H({apiRoute:i.routes.api,body:{id:n,data:ce(P||{}),operation:"update",schemaPath:c},serverURL:i.serverURL});$(b)})()},[i.routes.api,i.serverURL,c,n,P]);let x=z(async({formState:D})=>await H({apiRoute:i.routes.api,body:{id:n,formState:D,operation:"update",schemaPath:c},serverURL:i.serverURL}),[i.routes.api,i.serverURL,c,n]),E=z((D,b)=>{S.update(()=>{let u=de(R);if(u){let f={...u.getData(),fields:b};u.setData(f)}}),p(a)},[p,S,a,R]);return L(ee,{slug:a,title:r("general:editLabel",{label:Z(g.labels.singular,l)}),children:m!==!1&&fe(te,{beforeSubmit:[x],disableValidationOnSubmit:!0,fields:s,initialState:m,onChange:[x],onSubmit:E,uuid:ue(),children:[L(ae,{fieldMap:Array.isArray(s)?s:[],forceRender:!0,path:"",readOnly:!1,schemaPath:c}),L(oe,{children:r("fields:saveChanges")})]})})};import{jsx as e,jsxs as h}from"react/jsx-runtime";var o="lexical-upload",G={depth:0},Te=d=>{let{data:{fields:P,relationTo:F,value:C},nodeKey:a}=d,{collections:R,routes:{api:g},serverURL:S}=he(),p=Me(null),[l]=Ce(),[r,n,v]=ge(a),{editorConfig:i,field:m}=N(),{i18n:$,t:y}=Ee(),[_,c]=xe(t=>t+1,0),[s,x]=Le(()=>R.find(t=>t.slug===F)),E=Se("upload-drawer"),[D,b,{closeDrawer:u}]=Re({id:C,collectionSlug:s.slug}),[{data:f},{setParams:A}]=_e(`${S}${g}/${s.slug}/${C}`,{initialParams:G}),K=f?.thumbnailURL||f?.url,J=U(()=>{l.update(()=>{q(a).remove()})},[l,a]),Q=U(t=>{A({...G,cacheBust:_}),c(),u()},[A,_,u]),M=U(t=>{if(r&&Ne(we())){t.preventDefault();let k=q(a);if(Y(k))return k.remove(),!0}return!1},[r,a]),I=U(t=>{let w=t;return w.target===p.current||p.current?.contains(w.target)?(w.shiftKey?n(!r):r||(v(),n(!0)),!0):!1},[r,n,v]);$e(()=>ve(l.registerCommand(Ue,I,O),l.registerCommand(Fe,M,O),l.registerCommand(Pe,M,O)),[v,l,r,a,M,n,I]);let B=(i?.resolvedFeatureMap?.get("upload")?.sanitizedClientFeatureProps).collections?.[s.slug]?.hasExtraFields;return h("div",{className:[o,r&&`${o}--selected`].filter(Boolean).join(" "),contentEditable:!1,ref:p,children:[h("div",{className:`${o}__card`,children:[h("div",{className:`${o}__topRow`,children:[e("div",{className:`${o}__thumbnail`,children:K?e("img",{alt:f?.filename,"data-lexical-upload-id":C,"data-lexical-upload-relation-to":F,src:K}):e(be,{})}),h("div",{className:`${o}__topRowRightPanel`,children:[e("div",{className:`${o}__collectionLabel`,children:ye(s.labels.singular,$)}),l.isEditable()&&h("div",{className:`${o}__actions`,children:[B?e(De,{className:`${o}__upload-drawer-toggler`,disabled:m?.readOnly,slug:E,children:e(T,{buttonStyle:"icon-label",el:"div",icon:"edit",onClick:t=>{t.preventDefault()},round:!0,tooltip:y("fields:editRelationship")})}):null,e(T,{buttonStyle:"icon-label",disabled:m?.readOnly,el:"div",icon:"swap",onClick:()=>{l.dispatchCommand(W,{replace:{nodeKey:a}})},round:!0,tooltip:y("fields:swapUpload")}),e(T,{buttonStyle:"icon-label",className:`${o}__removeButton`,disabled:m?.readOnly,icon:"x",onClick:t=>{t.preventDefault(),J()},round:!0,tooltip:y("fields:removeUpload")})]})]})]}),e("div",{className:`${o}__bottomRow`,children:e(b,{className:`${o}__doc-drawer-toggler`,children:e("strong",{children:f?.filename})})})]}),C&&e(D,{onSave:Q}),B?e(V,{drawerSlug:E,relatedCollection:s,...d}):null]})},nt=d=>e(j,{...d,uploads:!0,children:e(Te,{...d})});export{nt as UploadComponent};
|
|
2
|
+
//# sourceMappingURL=component-F6V63OLD.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{d as a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=component-
|
|
1
|
+
"use client";import{d as a}from"./chunk-Q5DYR7MH.js";import{useLexicalComposerContext as u}from"@lexical/react/LexicalComposerContext.js";import{useLexicalNodeSelection as C}from"@lexical/react/useLexicalNodeSelection.js";import{addClassNamesToElement as E,mergeRegister as d,removeClassNamesFromElement as N}from"@lexical/utils";import{$getNodeByKey as p,$getSelection as g,$isNodeSelection as M,CLICK_COMMAND as S,COMMAND_PRIORITY_LOW as m,KEY_BACKSPACE_COMMAND as D,KEY_DELETE_COMMAND as _}from"lexical";import{useCallback as y,useEffect as c}from"react";var f="selected";function $({nodeKey:t}){let[r]=u(),[o,i,n]=C(t),s=y(e=>{if(o&&M(g())){e.preventDefault();let l=p(t);if(a(l))return l.remove(),!0}return!1},[o,t]);return c(()=>d(r.registerCommand(S,e=>{let l=r.getElementByKey(t);return e.target===l?(e.shiftKey||n(),i(!o),!0):!1},m),r.registerCommand(_,s,m),r.registerCommand(D,s,m)),[n,r,o,t,s,i]),c(()=>{let e=r.getElementByKey(t);e!==null&&(o?E(e,f):N(e,f))},[r,o,t]),null}export{$ as HorizontalRuleComponent};
|
|
2
|
+
//# sourceMappingURL=component-VM36FRT2.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { slashMenuBasicGroupWithItems } from '../../features/shared/slashMenu/basicGroup.js';
|
|
1
2
|
export { RichTextCell } from '../../cell/index.js';
|
|
2
3
|
export { AlignFeatureClient } from '../../features/align/feature.client.js';
|
|
3
4
|
export { BlockquoteFeatureClient } from '../../features/blockquote/feature.client.js';
|
|
@@ -8,7 +9,6 @@ export { TreeViewFeatureClient } from '../../features/debug/treeView/feature.cli
|
|
|
8
9
|
export { BoldFeatureClient } from '../../features/format/bold/feature.client.js';
|
|
9
10
|
export { InlineCodeFeatureClient } from '../../features/format/inlineCode/feature.client.js';
|
|
10
11
|
export { ItalicFeatureClient } from '../../features/format/italic/feature.client.js';
|
|
11
|
-
export { toolbarFormatGroupWithItems } from '../../features/format/shared/toolbarFormatGroup.js';
|
|
12
12
|
export { StrikethroughFeatureClient } from '../../features/format/strikethrough/feature.client.js';
|
|
13
13
|
export { SubscriptFeatureClient } from '../../features/format/subscript/feature.client.js';
|
|
14
14
|
export { SuperscriptFeatureClient } from '../../features/format/superscript/feature.client.js';
|
|
@@ -24,6 +24,7 @@ export { LexicalPluginToLexicalFeatureClient } from '../../features/migrations/l
|
|
|
24
24
|
export { SlateToLexicalFeatureClient } from '../../features/migrations/slateToLexical/feature.client.js';
|
|
25
25
|
export { ParagraphFeatureClient } from '../../features/paragraph/feature.client.js';
|
|
26
26
|
export { RelationshipFeatureClient } from '../../features/relationship/feature.client.js';
|
|
27
|
+
export { toolbarFormatGroupWithItems } from '../../features/format/shared/toolbarFormatGroup.js';
|
|
27
28
|
export { toolbarAddDropdownGroupWithItems } from '../../features/shared/toolbar/addDropdownGroup.js';
|
|
28
29
|
export { toolbarFeatureButtonsGroupWithItems } from '../../features/shared/toolbar/featureButtonsGroup.js';
|
|
29
30
|
export { toolbarTextDropdownGroupWithItems } from '../../features/shared/toolbar/textDropdownGroup.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAA;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAA;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AACpF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/client/index.ts"],"names":[],"mappings":"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"}
|