@payloadcms/richtext-lexical 3.18.0 → 3.19.0-canary.9b65c78

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.
Files changed (70) hide show
  1. package/dist/exports/client/Field-RG3FN6WF.js +2 -0
  2. package/dist/exports/client/Field-RG3FN6WF.js.map +7 -0
  3. package/dist/exports/client/RelationshipComponent-JPESGV4Q.js +2 -0
  4. package/dist/exports/client/RelationshipComponent-JPESGV4Q.js.map +7 -0
  5. package/dist/exports/client/bundled.css +1 -1
  6. package/dist/exports/client/chunk-DBWINSQN.js +2 -0
  7. package/dist/exports/client/chunk-DBWINSQN.js.map +7 -0
  8. package/dist/exports/client/chunk-KDV47ZNZ.js +2 -0
  9. package/dist/exports/client/chunk-KDV47ZNZ.js.map +7 -0
  10. package/dist/exports/client/chunk-QP2NYEWJ.js +2 -0
  11. package/dist/exports/client/{chunk-HMZK3GHC.js.map → chunk-QP2NYEWJ.js.map} +4 -4
  12. package/dist/exports/client/component-VJVZFYZJ.js +2 -0
  13. package/dist/exports/client/component-VJVZFYZJ.js.map +7 -0
  14. package/dist/exports/client/componentInline-DTNGYZCL.js +2 -0
  15. package/dist/exports/client/index.js +10 -9
  16. package/dist/exports/client/index.js.map +4 -4
  17. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  18. package/dist/features/blocks/client/componentInline/index.js +6 -42
  19. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  20. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +1 -1
  21. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  22. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +1 -2
  23. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  24. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +1 -7
  25. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  26. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  27. package/dist/features/relationship/client/components/RelationshipComponent.js +4 -42
  28. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  29. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  30. package/dist/features/upload/client/component/index.js +3 -38
  31. package/dist/features/upload/client/component/index.js.map +1 -1
  32. package/dist/field/bundled.css +1 -1
  33. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  34. package/dist/lexical/LexicalEditor.js +2 -1
  35. package/dist/lexical/LexicalEditor.js.map +1 -1
  36. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts +3 -0
  37. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -0
  38. package/dist/lexical/plugins/DecoratorPlugin/index.js +79 -0
  39. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -0
  40. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  41. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +3 -1
  42. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  43. package/dist/lexical/utils/url.d.ts +20 -0
  44. package/dist/lexical/utils/url.d.ts.map +1 -1
  45. package/dist/lexical/utils/url.js +14 -3
  46. package/dist/lexical/utils/url.js.map +1 -1
  47. package/dist/lexical/utils/url.spec.js +32 -0
  48. package/dist/lexical/utils/url.spec.js.map +1 -0
  49. package/package.json +6 -6
  50. package/dist/exports/client/Field-F5XP4HL4.js +0 -2
  51. package/dist/exports/client/Field-F5XP4HL4.js.map +0 -7
  52. package/dist/exports/client/RelationshipComponent-BWAHSMVN.js +0 -2
  53. package/dist/exports/client/RelationshipComponent-BWAHSMVN.js.map +0 -7
  54. package/dist/exports/client/chunk-DIR6RNSY.js +0 -2
  55. package/dist/exports/client/chunk-DIR6RNSY.js.map +0 -7
  56. package/dist/exports/client/chunk-HMZK3GHC.js +0 -2
  57. package/dist/exports/client/chunk-RJTGMBHA.js +0 -3
  58. package/dist/exports/client/chunk-RJTGMBHA.js.map +0 -7
  59. package/dist/exports/client/chunk-TP3JCLAP.js +0 -2
  60. package/dist/exports/client/chunk-TP3JCLAP.js.map +0 -7
  61. package/dist/exports/client/component-53MM7FV7.js +0 -2
  62. package/dist/exports/client/component-53MM7FV7.js.map +0 -7
  63. package/dist/exports/client/component-FU65NQBY.js +0 -2
  64. package/dist/exports/client/component-FU65NQBY.js.map +0 -7
  65. package/dist/exports/client/componentInline-MX6DTKSG.js +0 -2
  66. package/dist/features/horizontalRule/client/component/index.d.ts +0 -10
  67. package/dist/features/horizontalRule/client/component/index.d.ts.map +0 -1
  68. package/dist/features/horizontalRule/client/component/index.js +0 -101
  69. package/dist/features/horizontalRule/client/component/index.js.map +0 -1
  70. /package/dist/exports/client/{componentInline-MX6DTKSG.js.map → componentInline-DTNGYZCL.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- "use client";import{a as M,b as A,c as T,f as O}from"./chunk-HMZK3GHC.js";import{a as y}from"./chunk-INBEEENE.js";import{a as U}from"./chunk-F26IQ5RE.js";import{b as D}from"./chunk-3LGFOM34.js";import{jsx as e,jsxs as c}from"react/jsx-runtime";import{useLexicalComposerContext as ae}from"@lexical/react/LexicalComposerContext.js";import{useLexicalNodeSelection as le}from"@lexical/react/useLexicalNodeSelection.js";import{mergeRegister as re}from"@lexical/utils";import{getTranslation as F}from"@payloadcms/translations";import{Button as b,File as ie,formatDrawerSlug as se,useConfig as ne,useEditDepth as ce,usePayloadAPI as de,useTranslation as ue}from"@payloadcms/ui";import{$getNodeByKey as I,$getSelection as me,$isNodeSelection as pe,CLICK_COMMAND as fe,COMMAND_PRIORITY_LOW as w,KEY_BACKSPACE_COMMAND as ge,KEY_DELETE_COMMAND as he}from"lexical";import{useCallback as f,useEffect as _e,useId as Ce,useReducer as De,useRef as be,useState as we}from"react";var t="lexical-upload",K={depth:0},Ne=d=>{let{data:{fields:j,relationTo:N,value:n},nodeKey:l}=d;if(typeof n=="object")throw new Error("Upload value should be a string or number. The Lexical Upload component should not receive the populated value object.");let{config:{routes:{api:B},serverURL:k},getEntityConfig:W}=ne(),g=be(null),{uuid:Y}=D(),z=ce(),[o]=ae(),[r,h,S]=le(l),{editorConfig:H,fieldProps:{readOnly:_,schemaPath:q}}=D(),{i18n:x,t:u}=ue(),[$,G]=De(a=>a+1,0),[i]=we(()=>W({collectionSlug:N})),J=Ce(),v=se({slug:"lexical-upload-drawer-"+Y+J,depth:z}),{toggleDrawer:Q}=y(v,!0),{closeDocumentDrawer:E,DocumentDrawer:V,DocumentDrawerToggler:X}=U({id:n,collectionSlug:i.slug}),[{data:m},{setParams:R}]=de(`${k}${B}/${i.slug}/${n}`,{initialParams:K}),L=m?.thumbnailURL||m?.url,Z=f(()=>{o.update(()=>{I(l)?.remove()})},[o,l]),ee=f(a=>{R({...K,cacheBust:$}),G(),E()},[R,$,E]),C=f(a=>{let p=me();return r&&pe(p)&&(a.preventDefault(),o.update(()=>{p.getNodes().forEach(s=>{O(s)&&s.remove()})})),!1},[o,r]);_e(()=>re(o.registerCommand(fe,a=>a.target===g.current||g.current?.contains(a.target)?(a.shiftKey?h(!r):r||(S(),h(!0)),!0):!1,w),o.registerCommand(he,C,w),o.registerCommand(ge,C,w)),[S,o,r,l,C,h]);let P=H?.resolvedFeatureMap?.get("upload")?.sanitizedClientFeatureProps.collections?.[i.slug]?.hasExtraFields,te=f((a,p)=>{o.update(()=>{let s=I(l);if(s){let oe={...s.getData(),fields:p};s.setData(oe)}})},[o,l]);return c("div",{className:[t,r&&`${t}--selected`].filter(Boolean).join(" "),contentEditable:!1,ref:g,children:[c("div",{className:`${t}__card`,children:[c("div",{className:`${t}__topRow`,children:[e("div",{className:`${t}__thumbnail`,children:L?e("img",{alt:m?.filename,"data-lexical-upload-id":n,"data-lexical-upload-relation-to":N,src:L}):e(ie,{})}),c("div",{className:`${t}__topRowRightPanel`,children:[e("div",{className:`${t}__collectionLabel`,children:F(i.labels.singular,x)}),o.isEditable()&&c("div",{className:`${t}__actions`,children:[P?e(b,{buttonStyle:"icon-label",className:`${t}__upload-drawer-toggler`,disabled:_,el:"button",icon:"edit",onClick:()=>{Q()},round:!0,tooltip:u("fields:editRelationship")}):null,e(b,{buttonStyle:"icon-label",className:`${t}__swap-drawer-toggler`,disabled:_,el:"button",icon:"swap",onClick:()=>{o.dispatchCommand(T,{replace:{nodeKey:l}})},round:!0,tooltip:u("fields:swapUpload")}),e(b,{buttonStyle:"icon-label",className:`${t}__removeButton`,disabled:_,icon:"x",onClick:a=>{a.preventDefault(),Z()},round:!0,tooltip:u("fields:removeUpload")})]})]})]}),e("div",{className:`${t}__bottomRow`,children:e(X,{className:`${t}__doc-drawer-toggler`,children:e("strong",{children:m?.filename})})})]}),n?e(V,{onSave:ee}):null,P?e(M,{data:j,drawerSlug:v,drawerTitle:u("general:editLabel",{label:F(i.labels.singular,x)}),featureKey:"upload",handleDrawerSubmit:te,schemaPath:q,schemaPathSuffix:i.slug}):null]})},Ke=d=>e(A,{...d,uploads:!0,children:e(Ne,{...d})});export{Ke as UploadComponent};
2
- //# sourceMappingURL=component-53MM7FV7.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/features/upload/client/component/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport type { ClientCollectionConfig, Data, FormState, JsonObject } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js'\nimport { mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n File,\n formatDrawerSlug,\n useConfig,\n useEditDepth,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n} from 'lexical'\nimport React, { useCallback, useEffect, useId, useReducer, useRef, useState } from 'react'\n\nimport type { BaseClientFeatureProps } from '../../../typesClient.js'\nimport type { UploadData } from '../../server/nodes/UploadNode.js'\nimport type { UploadFeaturePropsClient } from '../feature.client.js'\nimport type { UploadNode } from '../nodes/UploadNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { FieldsDrawer } from '../../../../utilities/fieldsDrawer/Drawer.js'\nimport { useLexicalDocumentDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDocumentDrawer.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { EnabledRelationshipsCondition } from '../../../relationship/client/utils/EnabledRelationshipsCondition.js'\nimport { INSERT_UPLOAD_WITH_DRAWER_COMMAND } from '../drawer/commands.js'\nimport { $isUploadNode } from '../nodes/UploadNode.js'\nimport './index.scss'\n\nconst baseClass = 'lexical-upload'\n\nconst initialParams = {\n depth: 0,\n}\n\nexport type ElementProps = {\n data: UploadData\n nodeKey: string\n}\n\nconst Component: React.FC<ElementProps> = (props) => {\n const {\n data: { fields, relationTo, value },\n nodeKey,\n } = props\n\n if (typeof value === 'object') {\n throw new Error(\n 'Upload value should be a string or number. The Lexical Upload component should not receive the populated value object.',\n )\n }\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n const uploadRef = useRef<HTMLDivElement | null>(null)\n const { uuid } = useEditorConfigContext()\n const editDepth = useEditDepth()\n const [editor] = useLexicalComposerContext()\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n\n const {\n editorConfig,\n fieldProps: { readOnly, schemaPath },\n } = useEditorConfigContext()\n\n const { i18n, t } = useTranslation()\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0)\n const [relatedCollection] = useState<ClientCollectionConfig>(() =>\n getEntityConfig({ collectionSlug: relationTo }),\n )\n\n const componentID = useId()\n\n const extraFieldsDrawerSlug = formatDrawerSlug({\n slug: `lexical-upload-drawer-` + uuid + componentID, // There can be multiple upload components, each with their own drawer, in one single editor => separate them by componentID\n depth: editDepth,\n })\n\n // Need to use hook to initialize useEffect that restores cursor position\n const { toggleDrawer } = useLexicalDrawer(extraFieldsDrawerSlug, true)\n\n const { closeDocumentDrawer, DocumentDrawer, DocumentDrawerToggler } = useLexicalDocumentDrawer({\n id: value,\n collectionSlug: relatedCollection.slug,\n })\n\n // Get the referenced document\n const [{ data }, { setParams }] = usePayloadAPI(\n `${serverURL}${api}/${relatedCollection.slug}/${value}`,\n { initialParams },\n )\n\n const thumbnailSRC = data?.thumbnailURL || data?.url\n\n const removeUpload = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const updateUpload = useCallback(\n (data: Data) => {\n setParams({\n ...initialParams,\n cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed\n })\n\n dispatchCacheBust()\n closeDocumentDrawer()\n },\n [setParams, cacheBust, closeDocumentDrawer],\n )\n\n const $onDelete = useCallback(\n (event: KeyboardEvent) => {\n const deleteSelection = $getSelection()\n if (isSelected && $isNodeSelection(deleteSelection)) {\n event.preventDefault()\n editor.update(() => {\n deleteSelection.getNodes().forEach((node) => {\n if ($isUploadNode(node)) {\n node.remove()\n }\n })\n })\n }\n return false\n },\n [editor, isSelected],\n )\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand<MouseEvent>(\n CLICK_COMMAND,\n (event: MouseEvent) => {\n // Check if uploadRef.target or anything WITHIN uploadRef.target was clicked\n if (\n event.target === uploadRef.current ||\n uploadRef.current?.contains(event.target as Node)\n ) {\n if (event.shiftKey) {\n setSelected(!isSelected)\n } else {\n if (!isSelected) {\n clearSelection()\n setSelected(true)\n }\n }\n return true\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n )\n }, [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected])\n\n const hasExtraFields = (\n editorConfig?.resolvedFeatureMap?.get('upload')\n ?.sanitizedClientFeatureProps as BaseClientFeatureProps<UploadFeaturePropsClient>\n ).collections?.[relatedCollection.slug]?.hasExtraFields\n\n const onExtraFieldsDrawerSubmit = useCallback(\n (_: FormState, data: JsonObject) => {\n // Update lexical node (with key nodeKey) with new data\n editor.update(() => {\n const uploadNode: null | UploadNode = $getNodeByKey(nodeKey)\n if (uploadNode) {\n const newData: UploadData = {\n ...uploadNode.getData(),\n fields: data,\n }\n uploadNode.setData(newData)\n }\n })\n },\n [editor, nodeKey],\n )\n\n return (\n <div\n className={[baseClass, isSelected && `${baseClass}--selected`].filter(Boolean).join(' ')}\n contentEditable={false}\n ref={uploadRef}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__topRow`}>\n {/* TODO: migrate to use @payloadcms/ui/elements/Thumbnail component */}\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC ? (\n <img\n alt={data?.filename}\n data-lexical-upload-id={value}\n data-lexical-upload-relation-to={relationTo}\n src={thumbnailSRC}\n />\n ) : (\n <File />\n )}\n </div>\n <div className={`${baseClass}__topRowRightPanel`}>\n <div className={`${baseClass}__collectionLabel`}>\n {getTranslation(relatedCollection.labels.singular, i18n)}\n </div>\n {editor.isEditable() && (\n <div className={`${baseClass}__actions`}>\n {hasExtraFields ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__upload-drawer-toggler`}\n disabled={readOnly}\n el=\"button\"\n icon=\"edit\"\n onClick={() => {\n toggleDrawer()\n }}\n round\n tooltip={t('fields:editRelationship')}\n />\n ) : null}\n\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__swap-drawer-toggler`}\n disabled={readOnly}\n el=\"button\"\n icon=\"swap\"\n onClick={() => {\n editor.dispatchCommand(INSERT_UPLOAD_WITH_DRAWER_COMMAND, {\n replace: { nodeKey },\n })\n }}\n round\n tooltip={t('fields:swapUpload')}\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeUpload()\n }}\n round\n tooltip={t('fields:removeUpload')}\n />\n </div>\n )}\n </div>\n </div>\n <div className={`${baseClass}__bottomRow`}>\n <DocumentDrawerToggler className={`${baseClass}__doc-drawer-toggler`}>\n <strong>{data?.filename}</strong>\n </DocumentDrawerToggler>\n </div>\n </div>\n {value ? <DocumentDrawer onSave={updateUpload} /> : null}\n {hasExtraFields ? (\n <FieldsDrawer\n data={fields}\n drawerSlug={extraFieldsDrawerSlug}\n drawerTitle={t('general:editLabel', {\n label: getTranslation(relatedCollection.labels.singular, i18n),\n })}\n featureKey=\"upload\"\n handleDrawerSubmit={onExtraFieldsDrawerSubmit}\n schemaPath={schemaPath}\n schemaPathSuffix={relatedCollection.slug}\n />\n ) : null}\n </div>\n )\n}\n\nexport const UploadComponent = (props: ElementProps): React.ReactNode => {\n return (\n <EnabledRelationshipsCondition {...props} uploads>\n <Component {...props} />\n </EnabledRelationshipsCondition>\n )\n}\n"],
5
- "mappings": "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",
6
- "names": ["useLexicalComposerContext", "useLexicalNodeSelection", "mergeRegister", "getTranslation", "Button", "File", "formatDrawerSlug", "useConfig", "useEditDepth", "usePayloadAPI", "useTranslation", "$getNodeByKey", "$getSelection", "$isNodeSelection", "CLICK_COMMAND", "COMMAND_PRIORITY_LOW", "KEY_BACKSPACE_COMMAND", "KEY_DELETE_COMMAND", "useCallback", "useEffect", "useId", "useReducer", "useRef", "useState", "baseClass", "initialParams", "depth", "Component", "props", "data", "fields", "relationTo", "value", "nodeKey", "Error", "config", "routes", "api", "serverURL", "getEntityConfig", "useConfig", "uploadRef", "useRef", "uuid", "useEditorConfigContext", "editDepth", "useEditDepth", "editor", "useLexicalComposerContext", "isSelected", "setSelected", "clearSelection", "useLexicalNodeSelection", "editorConfig", "fieldProps", "readOnly", "schemaPath", "i18n", "t", "useTranslation", "cacheBust", "dispatchCacheBust", "useReducer", "state", "relatedCollection", "useState", "collectionSlug", "componentID", "useId", "extraFieldsDrawerSlug", "formatDrawerSlug", "slug", "toggleDrawer", "useLexicalDrawer", "closeDocumentDrawer", "DocumentDrawer", "DocumentDrawerToggler", "useLexicalDocumentDrawer", "id", "setParams", "usePayloadAPI", "thumbnailSRC", "thumbnailURL", "url", "removeUpload", "useCallback", "update", "$getNodeByKey", "remove", "updateUpload", "$onDelete", "event", "deleteSelection", "$getSelection", "$isNodeSelection", "preventDefault", "getNodes", "forEach", "node", "$isUploadNode", "useEffect", "mergeRegister", "registerCommand", "CLICK_COMMAND", "target", "current", "contains", "shiftKey", "COMMAND_PRIORITY_LOW", "KEY_DELETE_COMMAND", "KEY_BACKSPACE_COMMAND", "hasExtraFields", "resolvedFeatureMap", "get", "sanitizedClientFeatureProps", "collections", "onExtraFieldsDrawerSubmit", "_", "uploadNode", "newData", "getData", "setData", "_jsxs", "className", "filter", "Boolean", "join", "contentEditable", "ref", "_jsx", "alt", "filename", "src", "File", "getTranslation", "labels", "singular", "isEditable", "Button", "buttonStyle", "disabled", "el", "icon", "onClick", "round", "tooltip", "dispatchCommand", "INSERT_UPLOAD_WITH_DRAWER_COMMAND", "replace", "e", "onSave", "FieldsDrawer", "drawerSlug", "drawerTitle", "label", "featureKey", "handleDrawerSubmit", "schemaPathSuffix", "UploadComponent", "EnabledRelationshipsCondition", "uploads"]
7
- }
@@ -1,2 +0,0 @@
1
- "use client";import{d as p}from"./chunk-RJTGMBHA.js";import{c as S}from"react/compiler-runtime";import{useLexicalComposerContext as _}from"@lexical/react/LexicalComposerContext.js";import{useLexicalNodeSelection as K}from"@lexical/react/useLexicalNodeSelection.js";import{addClassNamesToElement as M,mergeRegister as D,removeClassNamesFromElement as y}from"@lexical/utils";import{$getSelection as A,$isNodeSelection as O,CLICK_COMMAND as L,COMMAND_PRIORITY_LOW as E,KEY_BACKSPACE_COMMAND as R,KEY_DELETE_COMMAND as $}from"lexical";import{useEffect as N}from"react";var g="selected";function P(i){let e=S(16),{nodeKey:l}=i,[t]=_(),[o,n,m]=K(l),c;e[0]!==t||e[1]!==o?(c=r=>{let d=A();return o&&O(d)&&(r.preventDefault(),t.update(()=>{d.getNodes().forEach(h)})),!1},e[0]=t,e[1]=o,e[2]=c):c=e[2];let s=c,f,a;e[3]!==s||e[4]!==m||e[5]!==t||e[6]!==o||e[7]!==l||e[8]!==n?(f=()=>D(t.registerCommand(L,r=>{let d=t.getElementByKey(l);return r.target===d?(r.shiftKey||m(),n(!o),!0):!1},E),t.registerCommand($,s,E),t.registerCommand(R,s,E)),a=[m,t,o,l,s,n],e[3]=s,e[4]=m,e[5]=t,e[6]=o,e[7]=l,e[8]=n,e[9]=f,e[10]=a):(f=e[9],a=e[10]),N(f,a);let u,C;return e[11]!==t||e[12]!==o||e[13]!==l?(u=()=>{let r=t.getElementByKey(l);r!==null&&(o?M(r,g):y(r,g))},C=[t,o,l],e[11]=t,e[12]=o,e[13]=l,e[14]=u,e[15]=C):(u=e[14],C=e[15]),N(u,C),null}function h(i){p(i)&&i.remove()}export{P as HorizontalRuleComponent};
2
- //# sourceMappingURL=component-FU65NQBY.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/features/horizontalRule/client/component/index.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport type { NodeKey } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js'\nimport { addClassNamesToElement, mergeRegister, removeClassNamesFromElement } from '@lexical/utils'\nimport {\n $getSelection,\n $isNodeSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n} from 'lexical'\nimport { useCallback, useEffect } from 'react'\n\nimport { $isHorizontalRuleNode } from '../nodes/HorizontalRuleNode.js'\n\nconst isSelectedClassName = 'selected'\n\n/**\n * React component rendered in the lexical editor, WITHIN the hr element created by createDOM of the HorizontalRuleNode.\n *\n * @param nodeKey every node has a unique key (this key is not saved to the database and thus may differ between sessions). It's useful for working with the CURRENT lexical editor state\n */\nexport function HorizontalRuleComponent({ nodeKey }: { nodeKey: NodeKey }) {\n const [editor] = useLexicalComposerContext()\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n\n const $onDelete = useCallback(\n (event: KeyboardEvent) => {\n const deleteSelection = $getSelection()\n if (isSelected && $isNodeSelection(deleteSelection)) {\n event.preventDefault()\n editor.update(() => {\n deleteSelection.getNodes().forEach((node) => {\n if ($isHorizontalRuleNode(node)) {\n node.remove()\n }\n })\n })\n }\n return false\n },\n [editor, isSelected],\n )\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n CLICK_COMMAND,\n (event: MouseEvent) => {\n const hrElem = editor.getElementByKey(nodeKey)\n\n if (event.target === hrElem) {\n if (!event.shiftKey) {\n clearSelection()\n }\n setSelected(!isSelected)\n return true\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n )\n }, [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected])\n\n useEffect(() => {\n const hrElem = editor.getElementByKey(nodeKey)\n if (hrElem !== null) {\n if (isSelected) {\n addClassNamesToElement(hrElem, isSelectedClassName)\n } else {\n removeClassNamesFromElement(hrElem, isSelectedClassName)\n }\n }\n }, [editor, isSelected, nodeKey])\n\n return null\n}\n"],
5
- "mappings": "qDAAA,OAAAA,KAAAC,MAAA,yBAIA,OAASC,6BAAAA,MAAiC,2CAC1C,OAASC,2BAAAA,MAA+B,4CACxC,OAASC,0BAAAA,EAAwBC,iBAAAA,EAAeC,+BAAAA,MAAmC,iBACnF,OACEC,iBAAAA,EACAC,oBAAAA,EACAC,iBAAAA,EACAC,wBAAAA,EACAC,yBAAAA,EACAC,sBAAAA,MACK,UACP,OAAsBC,aAAAA,MAAiB,QAIvC,IAAMC,EAAsB,WAOrB,SAAAC,EAAAC,EAAA,CAAA,IAAAC,EAAAC,EAAA,EAAA,EAAiC,CAAAC,QAAAA,CAAA,EAAAH,EACtC,CAAAI,CAAA,EAAiBC,EAAA,EACjB,CAAAC,EAAAC,EAAAC,CAAA,EAAkDC,EAAwBN,CAAA,EAAAO,EAAAT,EAAA,CAAA,IAAAG,GAAAH,EAAA,CAAA,IAAAK,GAGxEI,EAAAC,GAAA,CACE,IAAAC,EAAwBC,EAAA,EAAA,OACpBP,GAAcQ,EAAiBF,CAAA,IACjCD,EAAAI,eAAoB,EACpBX,EAAAY,OAAA,IAAA,CACEJ,EAAAK,SAAwB,EAAAC,QAAAC,CAIxB,CAAA,CACF,GAAA,EAAA,EAGJlB,EAAA,CAAA,EAAAG,EAAAH,EAAA,CAAA,EAAAK,EAAAL,EAAA,CAAA,EAAAS,GAAAA,EAAAT,EAAA,CAAA,EAdF,IAAAmB,EAAkBV,EAeIW,EAAAC,EAAArB,EAAA,CAAA,IAAAmB,GAAAnB,EAAA,CAAA,IAAAO,GAAAP,EAAA,CAAA,IAAAG,GAAAH,EAAA,CAAA,IAAAK,GAAAL,EAAA,CAAA,IAAAE,GAAAF,EAAA,CAAA,IAAAM,GAGZc,EAAAA,IACDE,EACLnB,EAAAoB,gBAAAC,EAAAC,GAAA,CAGI,IAAAC,EAAevB,EAAAwB,gBAAuBzB,CAAA,EAAA,OAElCQ,EAAAkB,SAAiBF,GACdhB,EAAAmB,UACHtB,EAAA,EAEFD,EAAA,CAAaD,CAAA,EAAA,IAAA,EAAA,EAAAyB,CAMjB,EAEF3B,EAAAoB,gBAAAQ,EAA2CZ,EAAAW,CAAW,EACtD3B,EAAAoB,gBAAAS,EAA8Cb,EAAAW,CAAW,CAAA,EAE1DT,EAAA,CAACd,EAAgBJ,EAAQE,EAAYH,EAASiB,EAAWb,CAAA,EAAYN,EAAA,CAAA,EAAAmB,EAAAnB,EAAA,CAAA,EAAAO,EAAAP,EAAA,CAAA,EAAAG,EAAAH,EAAA,CAAA,EAAAK,EAAAL,EAAA,CAAA,EAAAE,EAAAF,EAAA,CAAA,EAAAM,EAAAN,EAAA,CAAA,EAAAoB,EAAApB,EAAA,EAAA,EAAAqB,IAAAD,EAAApB,EAAA,CAAA,EAAAqB,EAAArB,EAAA,EAAA,GAtBxEiC,EAAUb,EAsBPC,CAAqE,EAAA,IAAAa,EAAAC,EAAA,OAAAnC,EAAA,EAAA,IAAAG,GAAAH,EAAA,EAAA,IAAAK,GAAAL,EAAA,EAAA,IAAAE,GAE9DgC,EAAAA,IAAA,CACR,IAAAE,EAAejC,EAAAwB,gBAAuBzB,CAAA,EAClCwB,IAAA,OACErB,EACFgC,EAAuBX,EAAA7B,CAAQ,EAE/ByC,EAA4BZ,EAAA7B,CAAQ,EAAA,EAGvCsC,EAAA,CAAChC,EAAQE,EAAYH,CAAA,EAAQF,EAAA,EAAA,EAAAG,EAAAH,EAAA,EAAA,EAAAK,EAAAL,EAAA,EAAA,EAAAE,EAAAF,EAAA,EAAA,EAAAkC,EAAAlC,EAAA,EAAA,EAAAmC,IAAAD,EAAAlC,EAAA,EAAA,EAAAmC,EAAAnC,EAAA,EAAA,GAThCiC,EAAUC,EASPC,CAA6B,EAAA,IAAA,CAvD3B,SAAAjB,EAAAqB,EAAA,CAWSC,EAAsBD,CAAA,GACxBA,EAAAE,OAAW,CAAA",
6
- "names": ["c", "_c", "useLexicalComposerContext", "useLexicalNodeSelection", "addClassNamesToElement", "mergeRegister", "removeClassNamesFromElement", "$getSelection", "$isNodeSelection", "CLICK_COMMAND", "COMMAND_PRIORITY_LOW", "KEY_BACKSPACE_COMMAND", "KEY_DELETE_COMMAND", "useEffect", "isSelectedClassName", "HorizontalRuleComponent", "t0", "$", "_c", "nodeKey", "editor", "useLexicalComposerContext", "isSelected", "setSelected", "clearSelection", "useLexicalNodeSelection", "t1", "event", "deleteSelection", "$getSelection", "$isNodeSelection", "preventDefault", "update", "getNodes", "forEach", "_temp", "$onDelete", "t2", "t3", "mergeRegister", "registerCommand", "CLICK_COMMAND", "event_0", "hrElem", "getElementByKey", "target", "shiftKey", "COMMAND_PRIORITY_LOW", "KEY_DELETE_COMMAND", "KEY_BACKSPACE_COMMAND", "useEffect", "t4", "t5", "hrElem_0", "addClassNamesToElement", "removeClassNamesFromElement", "node", "$isHorizontalRuleNode", "remove"]
7
- }
@@ -1,2 +0,0 @@
1
- "use client";import{a,b}from"./chunk-DIR6RNSY.js";import"./chunk-INBEEENE.js";import"./chunk-3LGFOM34.js";export{b as InlineBlockComponent,a as useInlineBlockComponentContext};
2
- //# sourceMappingURL=componentInline-MX6DTKSG.js.map
@@ -1,10 +0,0 @@
1
- import type { NodeKey } from 'lexical';
2
- /**
3
- * React component rendered in the lexical editor, WITHIN the hr element created by createDOM of the HorizontalRuleNode.
4
- *
5
- * @param nodeKey every node has a unique key (this key is not saved to the database and thus may differ between sessions). It's useful for working with the CURRENT lexical editor state
6
- */
7
- export declare function HorizontalRuleComponent({ nodeKey }: {
8
- nodeKey: NodeKey;
9
- }): null;
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/horizontalRule/client/component/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAmBtC;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,QA0DxE"}
@@ -1,101 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
5
- import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js';
6
- import { addClassNamesToElement, mergeRegister, removeClassNamesFromElement } from '@lexical/utils';
7
- import { $getSelection, $isNodeSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND } from 'lexical';
8
- import { useCallback, useEffect } from 'react';
9
- import { $isHorizontalRuleNode } from '../nodes/HorizontalRuleNode.js';
10
- const isSelectedClassName = 'selected';
11
- /**
12
- * React component rendered in the lexical editor, WITHIN the hr element created by createDOM of the HorizontalRuleNode.
13
- *
14
- * @param nodeKey every node has a unique key (this key is not saved to the database and thus may differ between sessions). It's useful for working with the CURRENT lexical editor state
15
- */
16
- export function HorizontalRuleComponent(t0) {
17
- const $ = _c(16);
18
- const {
19
- nodeKey
20
- } = t0;
21
- const [editor] = useLexicalComposerContext();
22
- const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);
23
- let t1;
24
- if ($[0] !== editor || $[1] !== isSelected) {
25
- t1 = event => {
26
- const deleteSelection = $getSelection();
27
- if (isSelected && $isNodeSelection(deleteSelection)) {
28
- event.preventDefault();
29
- editor.update(() => {
30
- deleteSelection.getNodes().forEach(_temp);
31
- });
32
- }
33
- return false;
34
- };
35
- $[0] = editor;
36
- $[1] = isSelected;
37
- $[2] = t1;
38
- } else {
39
- t1 = $[2];
40
- }
41
- const $onDelete = t1;
42
- let t2;
43
- let t3;
44
- if ($[3] !== $onDelete || $[4] !== clearSelection || $[5] !== editor || $[6] !== isSelected || $[7] !== nodeKey || $[8] !== setSelected) {
45
- t2 = () => mergeRegister(editor.registerCommand(CLICK_COMMAND, event_0 => {
46
- const hrElem = editor.getElementByKey(nodeKey);
47
- if (event_0.target === hrElem) {
48
- if (!event_0.shiftKey) {
49
- clearSelection();
50
- }
51
- setSelected(!isSelected);
52
- return true;
53
- }
54
- return false;
55
- }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW));
56
- t3 = [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected];
57
- $[3] = $onDelete;
58
- $[4] = clearSelection;
59
- $[5] = editor;
60
- $[6] = isSelected;
61
- $[7] = nodeKey;
62
- $[8] = setSelected;
63
- $[9] = t2;
64
- $[10] = t3;
65
- } else {
66
- t2 = $[9];
67
- t3 = $[10];
68
- }
69
- useEffect(t2, t3);
70
- let t4;
71
- let t5;
72
- if ($[11] !== editor || $[12] !== isSelected || $[13] !== nodeKey) {
73
- t4 = () => {
74
- const hrElem_0 = editor.getElementByKey(nodeKey);
75
- if (hrElem_0 !== null) {
76
- if (isSelected) {
77
- addClassNamesToElement(hrElem_0, isSelectedClassName);
78
- } else {
79
- removeClassNamesFromElement(hrElem_0, isSelectedClassName);
80
- }
81
- }
82
- };
83
- t5 = [editor, isSelected, nodeKey];
84
- $[11] = editor;
85
- $[12] = isSelected;
86
- $[13] = nodeKey;
87
- $[14] = t4;
88
- $[15] = t5;
89
- } else {
90
- t4 = $[14];
91
- t5 = $[15];
92
- }
93
- useEffect(t4, t5);
94
- return null;
95
- }
96
- function _temp(node) {
97
- if ($isHorizontalRuleNode(node)) {
98
- node.remove();
99
- }
100
- }
101
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","useLexicalNodeSelection","addClassNamesToElement","mergeRegister","removeClassNamesFromElement","$getSelection","$isNodeSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","useCallback","useEffect","$isHorizontalRuleNode","isSelectedClassName","HorizontalRuleComponent","t0","$","nodeKey","editor","isSelected","setSelected","clearSelection","t1","event","deleteSelection","preventDefault","update","getNodes","forEach","_temp","$onDelete","t2","t3","registerCommand","event_0","hrElem","getElementByKey","target","shiftKey","t4","t5","hrElem_0","node","remove"],"sources":["../../../../../src/features/horizontalRule/client/component/index.tsx"],"sourcesContent":["'use client'\n\nimport type { NodeKey } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js'\nimport { addClassNamesToElement, mergeRegister, removeClassNamesFromElement } from '@lexical/utils'\nimport {\n $getSelection,\n $isNodeSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n} from 'lexical'\nimport { useCallback, useEffect } from 'react'\n\nimport { $isHorizontalRuleNode } from '../nodes/HorizontalRuleNode.js'\n\nconst isSelectedClassName = 'selected'\n\n/**\n * React component rendered in the lexical editor, WITHIN the hr element created by createDOM of the HorizontalRuleNode.\n *\n * @param nodeKey every node has a unique key (this key is not saved to the database and thus may differ between sessions). It's useful for working with the CURRENT lexical editor state\n */\nexport function HorizontalRuleComponent({ nodeKey }: { nodeKey: NodeKey }) {\n const [editor] = useLexicalComposerContext()\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n\n const $onDelete = useCallback(\n (event: KeyboardEvent) => {\n const deleteSelection = $getSelection()\n if (isSelected && $isNodeSelection(deleteSelection)) {\n event.preventDefault()\n editor.update(() => {\n deleteSelection.getNodes().forEach((node) => {\n if ($isHorizontalRuleNode(node)) {\n node.remove()\n }\n })\n })\n }\n return false\n },\n [editor, isSelected],\n )\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n CLICK_COMMAND,\n (event: MouseEvent) => {\n const hrElem = editor.getElementByKey(nodeKey)\n\n if (event.target === hrElem) {\n if (!event.shiftKey) {\n clearSelection()\n }\n setSelected(!isSelected)\n return true\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n )\n }, [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected])\n\n useEffect(() => {\n const hrElem = editor.getElementByKey(nodeKey)\n if (hrElem !== null) {\n if (isSelected) {\n addClassNamesToElement(hrElem, isSelectedClassName)\n } else {\n removeClassNamesFromElement(hrElem, isSelectedClassName)\n }\n }\n }, [editor, isSelected, nodeKey])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}