@webiny/lexical-editor 5.36.1 → 5.36.2-beta.0

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 (37) hide show
  1. package/commands/webiny-list.d.ts +1 -1
  2. package/commands/webiny-list.js.map +1 -1
  3. package/components/ToolbarActions/BulletListAction.js +7 -2
  4. package/components/ToolbarActions/BulletListAction.js.map +1 -1
  5. package/components/ToolbarActions/FontSizeAction.js +1 -1
  6. package/components/ToolbarActions/FontSizeAction.js.map +1 -1
  7. package/components/ToolbarActions/NumberedListAction.js +7 -2
  8. package/components/ToolbarActions/NumberedListAction.js.map +1 -1
  9. package/hooks/useList.d.ts +2 -0
  10. package/hooks/{useWebinyList.js → useList.js} +3 -3
  11. package/hooks/useList.js.map +1 -0
  12. package/nodes/{list-node/WebinyListItemNode.d.ts → ListItemNode.d.ts} +7 -7
  13. package/nodes/{list-node/WebinyListItemNode.js → ListItemNode.js} +49 -50
  14. package/nodes/ListItemNode.js.map +1 -0
  15. package/nodes/{list-node → ListNode}/formatList.d.ts +6 -6
  16. package/nodes/{list-node → ListNode}/formatList.js +38 -38
  17. package/nodes/ListNode/formatList.js.map +1 -0
  18. package/nodes/{list-node/WebinyListNode.d.ts → ListNode.d.ts} +11 -7
  19. package/nodes/{list-node/WebinyListNode.js → ListNode.js} +70 -29
  20. package/nodes/ListNode.js.map +1 -0
  21. package/nodes/webinyNodes.js +3 -3
  22. package/nodes/webinyNodes.js.map +1 -1
  23. package/package.json +5 -5
  24. package/plugins/WebinyListPLugin/WebinyListPlugin.js +5 -5
  25. package/plugins/WebinyListPLugin/WebinyListPlugin.js.map +1 -1
  26. package/utils/getLexicalTextSelectionState.js +3 -3
  27. package/utils/getLexicalTextSelectionState.js.map +1 -1
  28. package/utils/nodes/listNode.d.ts +11 -0
  29. package/utils/nodes/{list-node.js → listNode.js} +13 -13
  30. package/utils/nodes/listNode.js.map +1 -0
  31. package/hooks/useWebinyList.d.ts +0 -2
  32. package/hooks/useWebinyList.js.map +0 -1
  33. package/nodes/list-node/WebinyListItemNode.js.map +0 -1
  34. package/nodes/list-node/WebinyListNode.js.map +0 -1
  35. package/nodes/list-node/formatList.js.map +0 -1
  36. package/utils/nodes/list-node.d.ts +0 -11
  37. package/utils/nodes/list-node.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["$getListDepth","listNode","depth","parent","getParent","$isWebinyListItemNode","parentList","$isWebinyListNode","console","log","$getTopListNode","listItem","list","$getAllListItems","node","listItemNodes","listChildren","getChildren","filter","i","length","listItemNode","firstChild","getFirstChild","concat","push","isNestedListNode","findNearestWebinyListItemNode","currentNode","getUniqueWebinyListItemNodes","nodeList","keys","Set","add","Array","from","$removeHighestEmptyListParent","sublist","emptyListPtr","getNextSibling","getPreviousSibling","remove","wrapInListItem","listItemWrapper","$createWebinyListItemNode","append"],"sources":["list-node.ts"],"sourcesContent":["import type { LexicalNode } from \"lexical\";\n\nimport { $isWebinyListNode, WebinyListNode } from \"~/nodes/list-node/WebinyListNode\";\nimport {\n $createWebinyListItemNode,\n $isWebinyListItemNode,\n WebinyListItemNode\n} from \"~/nodes/list-node/WebinyListItemNode\";\n\nexport function $getListDepth(listNode: WebinyListNode): number {\n let depth = 1;\n let parent = listNode.getParent();\n\n while (parent !== null) {\n if ($isWebinyListItemNode(parent)) {\n const parentList = parent.getParent();\n\n if ($isWebinyListNode(parentList)) {\n depth++;\n parent = parentList?.getParent() || null;\n continue;\n }\n console.log(\"A WebinyListItemNode must have a WebinyListNode for a parent.\");\n }\n\n return depth;\n }\n\n return depth;\n}\n\nexport function $getTopListNode(listItem: LexicalNode): WebinyListNode {\n let list = listItem.getParent<WebinyListNode>();\n\n if (!$isWebinyListNode(list)) {\n console.log(\"A WebinyListItemNode must have a ListNode for a parent.\");\n return listItem as WebinyListNode;\n }\n\n let parent: WebinyListNode | null = list;\n\n while (parent !== null) {\n parent = parent.getParent();\n\n if ($isWebinyListNode(parent)) {\n list = parent;\n }\n }\n\n return list;\n}\n\nexport function $getAllListItems(node: WebinyListNode): Array<WebinyListItemNode> {\n let listItemNodes: Array<WebinyListItemNode> = [];\n const listChildren: Array<WebinyListItemNode> = node\n .getChildren()\n .filter($isWebinyListItemNode);\n\n for (let i = 0; i < listChildren.length; i++) {\n const listItemNode = listChildren[i];\n const firstChild = listItemNode?.getFirstChild();\n\n if ($isWebinyListNode(firstChild)) {\n listItemNodes = listItemNodes.concat($getAllListItems(firstChild));\n } else {\n listItemNodes.push(listItemNode);\n }\n }\n\n return listItemNodes;\n}\n\nexport function isNestedListNode(node: LexicalNode | null | undefined): boolean {\n return $isWebinyListItemNode(node) && $isWebinyListNode(node?.getFirstChild());\n}\n\n// TODO: rewrite with $findMatchingParent or *nodeOfType\nexport function findNearestWebinyListItemNode(node: LexicalNode): WebinyListItemNode | null {\n let currentNode: LexicalNode | null = node;\n\n while (currentNode !== null) {\n if ($isWebinyListItemNode(currentNode)) {\n return currentNode;\n }\n currentNode = currentNode.getParent();\n }\n\n return null;\n}\n\nexport function getUniqueWebinyListItemNodes(\n nodeList: Array<LexicalNode>\n): Array<WebinyListItemNode> {\n const keys = new Set<WebinyListItemNode>();\n\n for (let i = 0; i < nodeList.length; i++) {\n const node = nodeList[i];\n\n if ($isWebinyListItemNode(node)) {\n keys.add(node);\n }\n }\n\n return Array.from(keys);\n}\n\nexport function $removeHighestEmptyListParent(sublist: WebinyListItemNode | WebinyListNode) {\n // Nodes may be repeatedly indented, to create deeply nested lists that each\n // contain just one bullet.\n // Our goal is to remove these (empty) deeply nested lists. The easiest\n // way to do that is crawl back up the tree until we find a node that has siblings\n // (e.g. is actually part of the list contents) and delete that, or delete\n // the root of the list (if no list nodes have siblings.)\n let emptyListPtr = sublist;\n\n while (emptyListPtr.getNextSibling() == null && emptyListPtr.getPreviousSibling() == null) {\n const parent = emptyListPtr.getParent<WebinyListItemNode | WebinyListNode>();\n\n if (\n parent == null ||\n !($isWebinyListItemNode(emptyListPtr) || $isWebinyListNode(emptyListPtr))\n ) {\n break;\n }\n\n emptyListPtr = parent;\n }\n\n emptyListPtr.remove();\n}\n\nexport function wrapInListItem(node: LexicalNode): WebinyListItemNode {\n const listItemWrapper = $createWebinyListItemNode();\n return listItemWrapper.append(node);\n}\n"],"mappings":"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"}