@uva-glass/component-library 3.47.6 → 3.47.7

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 (102) hide show
  1. package/dist/{Lexical.prod-nXWuyOKD.js → Lexical.prod-DBU6xTBY.js} +1397 -1279
  2. package/dist/Lexical.prod-DBU6xTBY.js.map +1 -0
  3. package/dist/LexicalClipboard.prod-CzGBnMdD.js +272 -0
  4. package/dist/LexicalClipboard.prod-CzGBnMdD.js.map +1 -0
  5. package/dist/LexicalLink.prod-DV9kT537.js +1027 -0
  6. package/dist/LexicalLink.prod-DV9kT537.js.map +1 -0
  7. package/dist/{LexicalList.prod--mkvX0uW.js → LexicalList.prod-2UfLUgO1.js} +159 -154
  8. package/dist/LexicalList.prod-2UfLUgO1.js.map +1 -0
  9. package/dist/LexicalSelection.prod-C1JYA_go.js +114 -0
  10. package/dist/LexicalSelection.prod-C1JYA_go.js.map +1 -0
  11. package/dist/LexicalTable.prod-CZ1mYUR-.js +1802 -0
  12. package/dist/LexicalTable.prod-CZ1mYUR-.js.map +1 -0
  13. package/dist/LexicalUtils.prod-C3vvQk50.js +114 -0
  14. package/dist/LexicalUtils.prod-C3vvQk50.js.map +1 -0
  15. package/dist/{TableCellResizerPlugin-Cpbankb8.js → TableCellResizerPlugin-CxFy7dbe.js} +53 -53
  16. package/dist/TableCellResizerPlugin-CxFy7dbe.js.map +1 -0
  17. package/dist/{TablePlugin-CfXPNfT8.js → TablePlugin-CfTWvWk1.js} +59 -59
  18. package/dist/{TablePlugin-CfXPNfT8.js.map → TablePlugin-CfTWvWk1.js.map} +1 -1
  19. package/dist/client--GsCJ9Up.js +27328 -0
  20. package/dist/client--GsCJ9Up.js.map +1 -0
  21. package/dist/components/Accordion/Accordion.test.js +3 -3
  22. package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
  23. package/dist/components/ActionList/ActionList.test.js +3 -3
  24. package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
  25. package/dist/components/Attention/Attention.test.js +2 -2
  26. package/dist/components/Backdrop/Backdrop.test.js +2 -2
  27. package/dist/components/Buttons/Button.test.js +2 -2
  28. package/dist/components/Buttons/LinkButton.test.js +2 -2
  29. package/dist/components/Buttons/MenuButton.test.js +2 -2
  30. package/dist/components/Card/Card.test.js +2 -2
  31. package/dist/components/Checkbox/Checkbox.test.js +3 -3
  32. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
  33. package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
  34. package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
  35. package/dist/components/FormInput/FormInput.js +1 -1
  36. package/dist/components/InputField/InputField.stories.js +1 -1
  37. package/dist/components/Label/Label.test.js +2 -2
  38. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  39. package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
  40. package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
  41. package/dist/components/MultiSelect/index.js +1 -1
  42. package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
  43. package/dist/components/Notification/Notification.test.js +2 -2
  44. package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
  45. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +1 -1
  46. package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
  47. package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
  48. package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
  49. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +7 -7
  50. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +6 -6
  51. package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +2 -2
  52. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +9 -9
  53. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +35 -35
  54. package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +9 -5
  55. package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js.map +1 -1
  56. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +40 -40
  57. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +5 -5
  58. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +4 -4
  59. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +1 -1
  60. package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
  61. package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +4 -4
  62. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +25 -25
  63. package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
  64. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +19 -19
  65. package/dist/components/RteEditor/Plugins/index.js +2 -2
  66. package/dist/components/RteEditor/RteEditor.js +671 -627
  67. package/dist/components/RteEditor/RteEditor.js.map +1 -1
  68. package/dist/components/RteEditor/helpers.js +8 -8
  69. package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +19 -19
  70. package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
  71. package/dist/components/TextArea/TextArea.test.js +2 -2
  72. package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
  73. package/dist/components/index.js +1 -1
  74. package/dist/{index-D5qpMB9d.js → index-Bf2LCbD1.js} +2 -2
  75. package/dist/{index-D5qpMB9d.js.map → index-Bf2LCbD1.js.map} +1 -1
  76. package/dist/{index-rQE9MV9y.js → index-JOHbZ4si.js} +523 -523
  77. package/dist/{index-rQE9MV9y.js.map → index-JOHbZ4si.js.map} +1 -1
  78. package/dist/index.js +1 -1
  79. package/dist/{react-18-DXfB7ZX7.js → react-18-BHQltW8V.js} +2 -2
  80. package/dist/{react-18-DXfB7ZX7.js.map → react-18-BHQltW8V.js.map} +1 -1
  81. package/dist/{react.esm-D2ppoNuM.js → react.esm-Bg7Fh9lz.js} +3 -3
  82. package/dist/{react.esm-D2ppoNuM.js.map → react.esm-Bg7Fh9lz.js.map} +1 -1
  83. package/dist/setupTests.js +1 -1
  84. package/dist/storybook__react.d.js +1 -1
  85. package/package.json +20 -20
  86. package/dist/Lexical.prod-nXWuyOKD.js.map +0 -1
  87. package/dist/LexicalClipboard.prod-pXq91TBU.js +0 -276
  88. package/dist/LexicalClipboard.prod-pXq91TBU.js.map +0 -1
  89. package/dist/LexicalLink.prod-Brzpgs_K.js +0 -285
  90. package/dist/LexicalLink.prod-Brzpgs_K.js.map +0 -1
  91. package/dist/LexicalList.prod--mkvX0uW.js.map +0 -1
  92. package/dist/LexicalSelection.prod-Ct4PZOht.js +0 -119
  93. package/dist/LexicalSelection.prod-Ct4PZOht.js.map +0 -1
  94. package/dist/LexicalTable.prod-Bexd4dGG.js +0 -1763
  95. package/dist/LexicalTable.prod-Bexd4dGG.js.map +0 -1
  96. package/dist/LexicalUtils.prod-Ckfw0Hjt.js +0 -123
  97. package/dist/LexicalUtils.prod-Ckfw0Hjt.js.map +0 -1
  98. package/dist/TableCellResizerPlugin-Cpbankb8.js.map +0 -1
  99. package/dist/client-BK9NlSVR.js +0 -25208
  100. package/dist/client-BK9NlSVR.js.map +0 -1
  101. package/dist/helpers-mE437H2Y.js +0 -164
  102. package/dist/helpers-mE437H2Y.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"LexicalTable.prod-Bexd4dGG.js","sources":["../node_modules/@lexical/table/LexicalTable.prod.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{addClassNamesToElement as e,$descendantsMatching as t,$findMatchingParent as n,removeClassNamesFromElement as o,objectKlassEquals as r,isHTMLElement as l,$insertFirst as s,mergeRegister as i,$insertNodeToNearestRoot as c,$unwrapAndFilterDescendants as a}from\"@lexical/utils\";import{ElementNode as u,isHTMLElement as h,$isInlineElementOrDecoratorNode as d,$isTextNode as f,$isLineBreakNode as g,$createParagraphNode as m,$applyNodeReplacement as p,createCommand as C,$createTextNode as _,$getSelection as S,$isRangeSelection as w,$isParagraphNode as b,$createPoint as y,$isElementNode as N,$normalizeSelection__EXPERIMENTAL as x,isCurrentlyReadOnlyMode as v,TEXT_TYPE_TO_FORMAT as R,$getNodeByKey as T,$getEditor as F,$setSelection as O,SELECTION_CHANGE_COMMAND as A,getDOMSelection as K,$createRangeSelection as E,$isRootNode as k,INSERT_PARAGRAPH_COMMAND as M,COMMAND_PRIORITY_HIGH as $,KEY_ESCAPE_COMMAND as L,COMMAND_PRIORITY_CRITICAL as W,CUT_COMMAND as z,FORMAT_TEXT_COMMAND as H,FORMAT_ELEMENT_COMMAND as P,CONTROLLED_TEXT_INSERTION_COMMAND as B,KEY_TAB_COMMAND as D,FOCUS_COMMAND as I,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as U,$getPreviousSelection as J,$getNearestNodeFromDOMNode as Y,$createRangeSelectionFromDom as q,$isRootOrShadowRoot as X,KEY_ARROW_DOWN_COMMAND as j,KEY_ARROW_UP_COMMAND as V,KEY_ARROW_LEFT_COMMAND as G,KEY_ARROW_RIGHT_COMMAND as Q,DELETE_WORD_COMMAND as Z,DELETE_LINE_COMMAND as ee,DELETE_CHARACTER_COMMAND as te,KEY_BACKSPACE_COMMAND as ne,KEY_DELETE_COMMAND as oe,isDOMNode as re,$caretFromPoint as le,$isExtendableTextPointCaret as se,$extendCaretToRange as ie,$isSiblingCaret as ce,$getSiblingCaret as ae,$setPointFromCaret as ue,$normalizeCaret as he,$getAdjacentChildCaret as de,$isChildCaret as fe,$getChildCaret as ge,setDOMUnmanaged as me,COMMAND_PRIORITY_EDITOR as pe,CLICK_COMMAND as Ce}from\"lexical\";import{copyToClipboard as _e,$getClipboardDataFromSelection as Se}from\"@lexical/clipboard\";const we=/^(\\d+(?:\\.\\d+)?)px$/,be={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1};class ye extends u{static getType(){return\"tablecell\"}static clone(e){return new ye(e.__headerState,e.__colSpan,e.__width,e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__rowSpan=e.__rowSpan,this.__backgroundColor=e.__backgroundColor,this.__verticalAlign=e.__verticalAlign}static importDOM(){return{td:e=>({conversion:xe,priority:0}),th:e=>({conversion:xe,priority:0})}}static importJSON(e){return ve().updateFromJSON(e)}updateFromJSON(e){return super.updateFromJSON(e).setHeaderStyles(e.headerState).setColSpan(e.colSpan||1).setRowSpan(e.rowSpan||1).setWidth(e.width||void 0).setBackgroundColor(e.backgroundColor||null).setVerticalAlign(e.verticalAlign||void 0)}constructor(e=be.NO_STATUS,t=1,n,o){super(o),this.__colSpan=t,this.__rowSpan=1,this.__headerState=e,this.__width=n,this.__backgroundColor=null,this.__verticalAlign=void 0}createDOM(t){const n=document.createElement(this.getTag());return this.__width&&(n.style.width=`${this.__width}px`),this.__colSpan>1&&(n.colSpan=this.__colSpan),this.__rowSpan>1&&(n.rowSpan=this.__rowSpan),null!==this.__backgroundColor&&(n.style.backgroundColor=this.__backgroundColor),Ne(this.__verticalAlign)&&(n.style.verticalAlign=this.__verticalAlign),e(n,t.theme.tableCell,this.hasHeader()&&t.theme.tableCellHeader),n}exportDOM(e){const t=super.exportDOM(e);if(h(t.element)){const e=t.element;e.setAttribute(\"data-temporary-table-cell-lexical-key\",this.getKey()),e.style.border=\"1px solid black\",this.__colSpan>1&&(e.colSpan=this.__colSpan),this.__rowSpan>1&&(e.rowSpan=this.__rowSpan),e.style.width=`${this.getWidth()||75}px`,e.style.verticalAlign=this.getVerticalAlign()||\"top\",e.style.textAlign=\"start\",null===this.__backgroundColor&&this.hasHeader()&&(e.style.backgroundColor=\"#f2f3f5\")}return t}exportJSON(){return{...super.exportJSON(),...Ne(this.__verticalAlign)&&{verticalAlign:this.__verticalAlign},backgroundColor:this.getBackgroundColor(),colSpan:this.__colSpan,headerState:this.__headerState,rowSpan:this.__rowSpan,width:this.getWidth()}}getColSpan(){return this.getLatest().__colSpan}setColSpan(e){const t=this.getWritable();return t.__colSpan=e,t}getRowSpan(){return this.getLatest().__rowSpan}setRowSpan(e){const t=this.getWritable();return t.__rowSpan=e,t}getTag(){return this.hasHeader()?\"th\":\"td\"}setHeaderStyles(e,t=be.BOTH){const n=this.getWritable();return n.__headerState=e&t|n.__headerState&~t,n}getHeaderStyles(){return this.getLatest().__headerState}setWidth(e){const t=this.getWritable();return t.__width=e,t}getWidth(){return this.getLatest().__width}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(e){const t=this.getWritable();return t.__backgroundColor=e,t}getVerticalAlign(){return this.getLatest().__verticalAlign}setVerticalAlign(e){const t=this.getWritable();return t.__verticalAlign=e||void 0,t}toggleHeaderStyle(e){const t=this.getWritable();return(t.__headerState&e)===e?t.__headerState-=e:t.__headerState+=e,t}hasHeaderState(e){return(this.getHeaderStyles()&e)===e}hasHeader(){return this.getLatest().__headerState!==be.NO_STATUS}updateDOM(e){return e.__headerState!==this.__headerState||e.__width!==this.__width||e.__colSpan!==this.__colSpan||e.__rowSpan!==this.__rowSpan||e.__backgroundColor!==this.__backgroundColor||e.__verticalAlign!==this.__verticalAlign}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}}function Ne(e){return\"middle\"===e||\"bottom\"===e}function xe(e){const t=e,n=e.nodeName.toLowerCase();let o;we.test(t.style.width)&&(o=parseFloat(t.style.width));const r=ve(\"th\"===n?be.ROW:be.NO_STATUS,t.colSpan,o);r.__rowSpan=t.rowSpan;const l=t.style.backgroundColor;\"\"!==l&&(r.__backgroundColor=l);const s=t.style.verticalAlign;Ne(s)&&(r.__verticalAlign=s);const i=t.style,c=(i&&i.textDecoration||\"\").split(\" \"),a=\"700\"===i.fontWeight||\"bold\"===i.fontWeight,u=c.includes(\"line-through\"),h=\"italic\"===i.fontStyle,p=c.includes(\"underline\");return{after:e=>{const t=[];let n=null;const o=()=>{if(n){const e=n.getFirstChild();g(e)&&1===n.getChildrenSize()&&e.remove()}};for(const r of e)d(r)||f(r)||g(r)?(f(r)&&(a&&r.toggleFormat(\"bold\"),u&&r.toggleFormat(\"strikethrough\"),h&&r.toggleFormat(\"italic\"),p&&r.toggleFormat(\"underline\")),n?n.append(r):(n=m().append(r),t.push(n))):(t.push(r),o(),n=null);return o(),0===t.length&&t.push(m()),t},node:r}}function ve(e=be.NO_STATUS,t=1,n){return p(new ye(e,t,n))}function Re(e){return e instanceof ye}const Te=C(\"INSERT_TABLE_COMMAND\");function Fe(e,...t){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",e);for(const e of t)o.append(\"v\",e);throw n.search=o.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}class Oe extends u{static getType(){return\"tablerow\"}static clone(e){return new Oe(e.__height,e.__key)}static importDOM(){return{tr:e=>({conversion:Ae,priority:0})}}static importJSON(e){return Ke().updateFromJSON(e)}updateFromJSON(e){return super.updateFromJSON(e).setHeight(e.height)}constructor(e,t){super(t),this.__height=e}exportJSON(){const e=this.getHeight();return{...super.exportJSON(),...void 0===e?void 0:{height:e}}}createDOM(t){const n=document.createElement(\"tr\");return this.__height&&(n.style.height=`${this.__height}px`),e(n,t.theme.tableRow),n}extractWithChild(e,t,n){return\"html\"===n}isShadowRoot(){return!0}setHeight(e){const t=this.getWritable();return t.__height=e,t}getHeight(){return this.getLatest().__height}updateDOM(e){return e.__height!==this.__height}canBeEmpty(){return!1}canIndent(){return!1}}function Ae(e){const n=e;let o;return we.test(n.style.height)&&(o=parseFloat(n.style.height)),{after:e=>t(e,Re),node:Ke(o)}}function Ke(e){return p(new Oe(e))}function Ee(e){return e instanceof Oe}const ke=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Me=ke&&\"documentMode\"in document?document.documentMode:null,$e=ke&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);function Le(e,t,n=!0){const o=dn();for(let r=0;r<e;r++){const e=Ke();for(let o=0;o<t;o++){let t=be.NO_STATUS;\"object\"==typeof n?(0===r&&n.rows&&(t|=be.ROW),0===o&&n.columns&&(t|=be.COLUMN)):n&&(0===r&&(t|=be.ROW),0===o&&(t|=be.COLUMN));const l=ve(t),s=m();s.append(_()),l.append(s),e.append(l)}o.append(e)}return o}function We(e){const t=n(e,(e=>Re(e)));return Re(t)?t:null}function ze(e){const t=n(e,(e=>Ee(e)));if(Ee(t))return t;throw new Error(\"Expected table cell to be inside of table row.\")}function He(e){const t=n(e,(e=>fn(e)));if(fn(t))return t;throw new Error(\"Expected table cell to be inside of table.\")}function Pe(e){const t=ze(e);return He(t).getChildren().findIndex((e=>e.is(t)))}function Be(e){return ze(e).getChildren().findIndex((t=>t.is(e)))}function De(e,t){const n=He(e),{x:o,y:r}=n.getCordsFromCellNode(e,t);return{above:n.getCellNodeFromCords(o,r-1,t),below:n.getCellNodeFromCords(o,r+1,t),left:n.getCellNodeFromCords(o-1,r,t),right:n.getCellNodeFromCords(o+1,r,t)}}function Ie(e,t){const n=e.getChildren();if(t>=n.length||t<0)throw new Error(\"Expected table cell to be inside of table row.\");return n[t].remove(),e}function Ue(e,t,n=!0,o,r){const l=e.getChildren();if(t>=l.length||t<0)throw new Error(\"Table row target index out of range\");const s=l[t];if(!Ee(s))throw new Error(\"Row before insertion index does not exist.\");for(let e=0;e<o;e++){const e=s.getChildren(),t=e.length,o=Ke();for(let n=0;n<t;n++){const t=e[n];Re(t)||Fe(12);const{above:l,below:s}=De(t,r);let i=be.NO_STATUS;const c=l&&l.getWidth()||s&&s.getWidth()||void 0;(l&&l.hasHeaderState(be.COLUMN)||s&&s.hasHeaderState(be.COLUMN))&&(i|=be.COLUMN);const a=ve(i,1,c);a.append(m()),o.append(a)}n?s.insertAfter(o):s.insertBefore(o)}return e}ke&&\"InputEvent\"in window&&!Me&&new window.InputEvent(\"input\");const Je=(e,t)=>e===be.BOTH||e===t?t:be.NO_STATUS;function Ye(e=!0){const t=S();w(t)||Ct(t)||Fe(188);const n=t.anchor.getNode(),o=t.focus.getNode(),[r]=dt(n),[l,,s]=dt(o),[,i,c]=ut(s,l,r),{startRow:a}=c,{startRow:u}=i;return e?Xe(a+r.__rowSpan>u+l.__rowSpan?r:l,!0):Xe(u<a?l:r,!1)}const qe=Ye;function Xe(e,t=!0){const[,,n]=dt(e),[o,r]=ut(n,e,e),l=o[0].length,{startRow:s}=r;let i=null;if(t){const t=s+e.__rowSpan-1,r=o[t],c=Ke();for(let e=0;e<l;e++){const{cell:n,startRow:o}=r[e];if(o+n.__rowSpan-1<=t){const t=r[e].cell.__headerState,n=Je(t,be.COLUMN);c.append(ve(n).append(m()))}else n.setRowSpan(n.__rowSpan+1)}const a=n.getChildAtIndex(t);Ee(a)||Fe(256),a.insertAfter(c),i=c}else{const e=s,t=o[e],r=Ke();for(let n=0;n<l;n++){const{cell:o,startRow:l}=t[n];if(l===e){const e=t[n].cell.__headerState,o=Je(e,be.COLUMN);r.append(ve(o).append(m()))}else o.setRowSpan(o.__rowSpan+1)}const c=n.getChildAtIndex(e);Ee(c)||Fe(257),c.insertBefore(r),i=r}return i}function je(e,t,n=!0,o,r){const l=e.getChildren(),s=[];for(let e=0;e<l.length;e++){const n=l[e];if(Ee(n))for(let e=0;e<o;e++){const e=n.getChildren();if(t>=e.length||t<0)throw new Error(\"Table column target index out of range\");const o=e[t];Re(o)||Fe(12);const{left:l,right:i}=De(o,r);let c=be.NO_STATUS;(l&&l.hasHeaderState(be.ROW)||i&&i.hasHeaderState(be.ROW))&&(c|=be.ROW);const a=ve(c);a.append(m()),s.push({newTableCell:a,targetCell:o})}}return s.forEach((({newTableCell:e,targetCell:t})=>{n?t.insertAfter(e):t.insertBefore(e)})),e}function Ve(e=!0){const t=S();w(t)||Ct(t)||Fe(188);const n=t.anchor.getNode(),o=t.focus.getNode(),[r]=dt(n),[l,,s]=dt(o),[,i,c]=ut(s,l,r),{startColumn:a}=c,{startColumn:u}=i;return e?Qe(a+r.__colSpan>u+l.__colSpan?r:l,!0):Qe(u<a?l:r,!1)}const Ge=Ve;function Qe(e,t=!0,n=!0){const[,,o]=dt(e),[r,l]=ut(o,e,e),s=r.length,{startColumn:i}=l,c=t?i+e.__colSpan-1:i-1,a=o.getFirstChild();Ee(a)||Fe(120);let u=null;function h(e=be.NO_STATUS){const t=ve(e).append(m());return null===u&&(u=t),t}let d=a;e:for(let e=0;e<s;e++){if(0!==e){const e=d.getNextSibling();Ee(e)||Fe(121),d=e}const t=r[e],n=t[c<0?0:c].cell.__headerState,o=Je(n,be.ROW);if(c<0){lt(d,h(o));continue}const{cell:l,startColumn:s,startRow:i}=t[c];if(s+l.__colSpan-1<=c){let n=l,r=i,s=c;for(;r!==e&&n.__rowSpan>1;){if(s-=l.__colSpan,!(s>=0)){d.append(h(o));continue e}{const{cell:e,startRow:o}=t[s];n=e,r=o}}n.insertAfter(h(o))}else l.setColSpan(l.__colSpan+1)}null!==u&&n&&rt(u);const f=o.getColWidths();if(f){const e=[...f],t=c<0?0:c,n=e[t];e.splice(t,0,n),o.setColWidths(e)}return u}function Ze(e,t){const n=e.getChildren();for(let e=0;e<n.length;e++){const o=n[e];if(Ee(o)){const e=o.getChildren();if(t>=e.length||t<0)throw new Error(\"Table column target index out of range\");e[t].remove()}}return e}function et(){const e=S();w(e)||Ct(e)||Fe(188);const[t,n]=e.isBackward()?[e.focus.getNode(),e.anchor.getNode()]:[e.anchor.getNode(),e.focus.getNode()],[o,,r]=dt(t),[l]=dt(n),[s,i,c]=ut(r,o,l),{startRow:a}=i,{startRow:u}=c,h=u+l.__rowSpan-1;if(s.length===h-a+1)return void r.remove();const d=s[0].length,f=s[h+1],g=r.getChildAtIndex(h+1);for(let e=h;e>=a;e--){for(let t=d-1;t>=0;t--){const{cell:n,startRow:o,startColumn:r}=s[e][t];if(r===t){if(o<a||o+n.__rowSpan-1>h){const e=Math.max(o,a),t=Math.min(n.__rowSpan+o-1,h),r=e<=t?t-e+1:0;n.setRowSpan(n.__rowSpan-r)}if(o>=a&&o+n.__rowSpan-1>h&&e===h){null===g&&Fe(122);let o=null;for(let n=0;n<t;n++){const t=f[n],r=t.cell;t.startRow===e+1&&(o=r),r.__colSpan>1&&(n+=r.__colSpan-1)}null===o?lt(g,n):o.insertAfter(n)}}}const t=r.getChildAtIndex(e);Ee(t)||Fe(206,String(e)),t.remove()}if(void 0!==f){const{cell:e}=f[0];rt(e)}else{const e=s[a-1],{cell:t}=e[0];rt(t)}}const tt=et;function nt(){const e=S();w(e)||Ct(e)||Fe(188);const t=e.anchor.getNode(),n=e.focus.getNode(),[o,,r]=dt(t),[l]=dt(n),[s,i,c]=ut(r,o,l),{startColumn:a}=i,{startRow:u,startColumn:h}=c,d=Math.min(a,h),f=Math.max(a+o.__colSpan-1,h+l.__colSpan-1),g=f-d+1;if(s[0].length===f-d+1)return r.selectPrevious(),void r.remove();const m=s.length;for(let e=0;e<m;e++)for(let t=d;t<=f;t++){const{cell:n,startColumn:o}=s[e][t];if(o<d){if(t===d){const e=d-o;n.setColSpan(n.__colSpan-Math.min(g,n.__colSpan-e))}}else if(o+n.__colSpan-1>f){if(t===f){const e=f-o+1;n.setColSpan(n.__colSpan-e)}}else n.remove()}const p=s[u],C=a>h?p[a+o.__colSpan]:p[h+l.__colSpan];if(void 0!==C){const{cell:e}=C;rt(e)}else{const e=h<a?p[h-1]:p[a-1],{cell:t}=e;rt(t)}const _=r.getColWidths();if(_){const e=[..._];e.splice(d,g),r.setColWidths(e)}}const ot=nt;function rt(e){const t=e.getFirstDescendant();null==t?e.selectStart():t.getParentOrThrow().selectStart()}function lt(e,t){const n=e.getFirstChild();null!==n?n.insertBefore(t):e.append(t)}function st(e){if(0===e.length)return null;const t=He(e[0]),[n]=ht(t,null,null);let o=1/0,r=-1/0,l=1/0,s=-1/0;const i=new Set;for(const t of n)for(const n of t){if(!n||!n.cell)continue;const t=n.cell.getKey();if(!i.has(t)&&e.some((e=>e.is(n.cell)))){i.add(t);const e=n.startRow,c=n.startColumn,a=n.cell.__rowSpan||1,u=n.cell.__colSpan||1;o=Math.min(o,e),r=Math.max(r,e+a-1),l=Math.min(l,c),s=Math.max(s,c+u-1)}}if(o===1/0||l===1/0)return null;const c=r-o+1,a=s-l+1,u=n[o][l];if(!u.cell)return null;const h=u.cell;h.setColSpan(a),h.setRowSpan(c);const d=new Set([h.getKey()]);for(let e=o;e<=r;e++)for(let t=l;t<=s;t++){const o=n[e][t];if(!o.cell)continue;const r=o.cell,l=r.getKey();if(!d.has(l)){d.add(l);it(r)||h.append(...r.getChildren()),r.remove()}}return 0===h.getChildrenSize()&&h.append(m()),h}function it(e){if(1!==e.getChildrenSize())return!1;const t=e.getFirstChildOrThrow();return!(!b(t)||!t.isEmpty())}function ct(){const e=S();w(e)||Ct(e)||Fe(188);const t=e.anchor.getNode(),o=n(t,Re);return Re(o)||Fe(148),at(o)}function at(e){const[t,n,o]=dt(e),r=t.__colSpan,l=t.__rowSpan;if(1===r&&1===l)return;const[s,i]=ut(o,t,t),{startColumn:c,startRow:a}=i,u=t.__headerState&be.COLUMN,h=Array.from({length:r},((e,t)=>{let n=u;for(let e=0;0!==n&&e<s.length;e++)n&=s[e][t+c].cell.__headerState;return n})),d=t.__headerState&be.ROW,f=Array.from({length:l},((e,t)=>{let n=d;for(let e=0;0!==n&&e<s[0].length;e++)n&=s[t+a][e].cell.__headerState;return n}));if(r>1){for(let e=1;e<r;e++)t.insertAfter(ve(h[e]|f[0]).append(m()));t.setColSpan(1)}if(l>1){let e;for(let t=1;t<l;t++){const o=a+t,l=s[o];e=(e||n).getNextSibling(),Ee(e)||Fe(125);let i=null;for(let e=0;e<c;e++){const t=l[e],n=t.cell;t.startRow===o&&(i=n),n.__colSpan>1&&(e+=n.__colSpan-1)}if(null===i)for(let n=r-1;n>=0;n--)lt(e,ve(h[n]|f[t]).append(m()));else for(let e=r-1;e>=0;e--)i.insertAfter(ve(h[e]|f[t]).append(m()))}t.setRowSpan(1)}}function ut(e,t,n){const[o,r,l]=ht(e,t,n);return null===r&&Fe(207),null===l&&Fe(208),[o,r,l]}function ht(e,t,n){const o=[];let r=null,l=null;function s(e){let t=o[e];return void 0===t&&(o[e]=t=[]),t}const i=e.getChildren();for(let e=0;e<i.length;e++){const o=i[e];Ee(o)||Fe(209);const c=s(e);for(let a=o.getFirstChild(),u=0;null!=a;a=a.getNextSibling()){for(Re(a)||Fe(147);void 0!==c[u];)u++;const o={cell:a,startColumn:u,startRow:e},{__rowSpan:h,__colSpan:d}=a;for(let t=0;t<h&&!(e+t>=i.length);t++){const n=s(e+t);for(let e=0;e<d;e++)n[u+e]=o}null!==t&&null===r&&t.is(a)&&(r=o),null!==n&&null===l&&n.is(a)&&(l=o)}}return[o,r,l]}function dt(e){let t;if(e instanceof ye)t=e;else if(\"__type\"in e){const o=n(e,Re);Re(o)||Fe(148),t=o}else{const o=n(e.getNode(),Re);Re(o)||Fe(148),t=o}const o=t.getParent();Ee(o)||Fe(149);const r=o.getParent();return fn(r)||Fe(210),[t,o,r]}function ft(e,t,n){let o,r=Math.min(t.startColumn,n.startColumn),l=Math.min(t.startRow,n.startRow),s=Math.max(t.startColumn+t.cell.__colSpan-1,n.startColumn+n.cell.__colSpan-1),i=Math.max(t.startRow+t.cell.__rowSpan-1,n.startRow+n.cell.__rowSpan-1);do{o=!1;for(let t=0;t<e.length;t++)for(let n=0;n<e[0].length;n++){const c=e[t][n];if(!c)continue;const a=c.startColumn+c.cell.__colSpan-1,u=c.startRow+c.cell.__rowSpan-1,h=c.startColumn<=s&&a>=r,d=c.startRow<=i&&u>=l;if(h&&d){const e=Math.min(r,c.startColumn),t=Math.max(s,a),n=Math.min(l,c.startRow),h=Math.max(i,u);e===r&&t===s&&n===l&&h===i||(r=e,s=t,l=n,i=h,o=!0)}}}while(o);return{maxColumn:s,maxRow:i,minColumn:r,minRow:l}}function gt(e){const[t,,n]=dt(e),o=n.getChildren(),r=o.length,l=o[0].getChildren().length,s=new Array(r);for(let e=0;e<r;e++)s[e]=new Array(l);for(let e=0;e<r;e++){const n=o[e].getChildren();let r=0;for(let o=0;o<n.length;o++){for(;s[e][r];)r++;const l=n[o],i=l.__rowSpan||1,c=l.__colSpan||1;for(let t=0;t<i;t++)for(let n=0;n<c;n++)s[e+t][r+n]=l;if(t===l)return{colSpan:c,columnIndex:r,rowIndex:e,rowSpan:i};r+=c}}return null}function mt(e){const[[t,o,r,l],[s,i,c,a]]=[\"anchor\",\"focus\"].map((t=>{const o=e[t].getNode(),r=n(o,Re);Re(r)||Fe(238,t,o.getKey(),o.getType());const l=r.getParent();Ee(l)||Fe(239,t);const s=l.getParent();return fn(s)||Fe(240,t),[o,r,l,s]}));return l.is(a)||Fe(241),{anchorCell:o,anchorNode:t,anchorRow:r,anchorTable:l,focusCell:i,focusNode:s,focusRow:c,focusTable:a}}class pt{constructor(e,t,n){this.anchor=t,this.focus=n,t._selection=this,n._selection=this,this._cachedNodes=null,this.dirty=!1,this.tableKey=e}getStartEndPoints(){return[this.anchor,this.focus]}isValid(){return\"root\"!==this.tableKey&&\"root\"!==this.anchor.key&&\"element\"===this.anchor.type&&\"root\"!==this.focus.key&&\"element\"===this.focus.type}isBackward(){return this.focus.isBefore(this.anchor)}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return Ct(e)&&this.tableKey===e.tableKey&&this.anchor.is(e.anchor)&&this.focus.is(e.focus)}set(e,t,n){this.dirty=this.dirty||e!==this.tableKey||t!==this.anchor.key||n!==this.focus.key,this.tableKey=e,this.anchor.key=t,this.focus.key=n,this._cachedNodes=null}clone(){return new pt(this.tableKey,y(this.anchor.key,this.anchor.offset,this.anchor.type),y(this.focus.key,this.focus.offset,this.focus.type))}isCollapsed(){return!1}extract(){return this.getNodes()}insertRawText(e){}insertText(){}hasFormat(e){let t=0;this.getNodes().filter(Re).forEach((e=>{const n=e.getFirstChild();b(n)&&(t|=n.getTextFormat())}));const n=R[e];return!!(t&n)}insertNodes(e){const t=this.focus.getNode();N(t)||Fe(151);x(t.select(0,t.getChildrenSize())).insertNodes(e)}getShape(){const{anchorCell:e,focusCell:t}=mt(this),n=gt(e);null===n&&Fe(153);const o=gt(t);null===o&&Fe(155);const r=Math.min(n.columnIndex,o.columnIndex),l=Math.max(n.columnIndex+n.colSpan-1,o.columnIndex+o.colSpan-1),s=Math.min(n.rowIndex,o.rowIndex),i=Math.max(n.rowIndex+n.rowSpan-1,o.rowIndex+o.rowSpan-1);return{fromX:Math.min(r,l),fromY:Math.min(s,i),toX:Math.max(r,l),toY:Math.max(s,i)}}getNodes(){if(!this.isValid())return[];const e=this._cachedNodes;if(null!==e)return e;const{anchorTable:t,anchorCell:n,focusCell:o}=mt(this),r=o.getParents()[1];if(r!==t){if(t.isParentOf(o)){const e=r.getParent();null==e&&Fe(159),this.set(this.tableKey,o.getKey(),e.getKey())}else{const e=t.getParent();null==e&&Fe(158),this.set(this.tableKey,e.getKey(),o.getKey())}return this.getNodes()}const[l,s,i]=ut(t,n,o),{minColumn:c,maxColumn:a,minRow:u,maxRow:h}=ft(l,s,i),d=new Map([[t.getKey(),t]]);let f=null;for(let e=u;e<=h;e++)for(let t=c;t<=a;t++){const{cell:n}=l[e][t],o=n.getParent();Ee(o)||Fe(160),o!==f&&(d.set(o.getKey(),o),f=o),d.has(n.getKey())||wt(n,(e=>{d.set(e.getKey(),e)}))}const g=Array.from(d.values());return v()||(this._cachedNodes=g),g}getTextContent(){const e=this.getNodes().filter((e=>Re(e)));let t=\"\";for(let n=0;n<e.length;n++){const o=e[n],r=o.__parent,l=(e[n+1]||{}).__parent;t+=o.getTextContent()+(l!==r?\"\\n\":\"\\t\")}return t}}function Ct(e){return e instanceof pt}function _t(){const e=y(\"root\",0,\"element\"),t=y(\"root\",0,\"element\");return new pt(\"root\",e,t)}function St(e,t,n){e.getKey(),t.getKey(),n.getKey();const o=S(),r=Ct(o)?o.clone():_t();return r.set(e.getKey(),t.getKey(),n.getKey()),r}function wt(e,t){const n=[[e]];for(let e=n.at(-1);void 0!==e&&n.length>0;e=n.at(-1)){const o=e.pop();void 0===o?n.pop():!1!==t(o)&&N(o)&&n.push(o.getChildren())}}function bt(e,t=F()){const n=T(e);fn(n)||Fe(231,e);const o=Rt(n,t.getElementByKey(e));return null===o&&Fe(232,e),{tableElement:o,tableNode:n}}class yt{constructor(e,t){this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.listenersToRemove=new Set,this.tableNodeKey=t,this.editor=e,this.table={columns:0,domRows:[],rows:0},this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.isSelecting=!1,this.pointerType=null,this.shouldCheckSelection=!1,this.abortController=new AbortController,this.listenerOptions={signal:this.abortController.signal},this.nextFocus=null,this.trackTable()}getTable(){return this.table}removeListeners(){this.abortController.abort(\"removeListeners\"),Array.from(this.listenersToRemove).forEach((e=>e())),this.listenersToRemove.clear()}$lookup(){return bt(this.tableNodeKey,this.editor)}trackTable(){const e=new MutationObserver((e=>{this.editor.getEditorState().read((()=>{let t=!1;for(let n=0;n<e.length;n++){const o=e[n].target.nodeName;if(\"TABLE\"===o||\"TBODY\"===o||\"THEAD\"===o||\"TR\"===o){t=!0;break}}if(!t)return;const{tableNode:n,tableElement:o}=this.$lookup();this.table=Lt(n,o)}),{editor:this.editor})}));this.editor.getEditorState().read((()=>{const{tableNode:t,tableElement:n}=this.$lookup();this.table=Lt(t,n),e.observe(n,{attributes:!0,childList:!0,subtree:!0})}),{editor:this.editor})}$clearHighlight(){const e=this.editor;this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.$enableHighlightStyle();const{tableNode:t,tableElement:n}=this.$lookup();Wt(e,Lt(t,n),null),null!==S()&&(O(null),e.dispatchCommand(A,void 0))}$enableHighlightStyle(){const e=this.editor,{tableElement:t}=this.$lookup();o(t,e._config.theme.tableSelection),t.classList.remove(\"disable-selection\"),this.hasHijackedSelectionStyles=!1}$disableHighlightStyle(){const{tableElement:t}=this.$lookup();e(t,this.editor._config.theme.tableSelection),this.hasHijackedSelectionStyles=!0}$updateTableTableSelection(e){if(null!==e){e.tableKey!==this.tableNodeKey&&Fe(233,e.tableKey,this.tableNodeKey);const t=this.editor;this.tableSelection=e,this.isHighlightingCells=!0,this.$disableHighlightStyle(),this.updateDOMSelection(),Wt(t,this.table,this.tableSelection)}else this.$clearHighlight()}setShouldCheckSelection(){this.shouldCheckSelection=!0}getAndClearShouldCheckSelection(){return!!this.shouldCheckSelection&&(this.shouldCheckSelection=!1,!0)}setNextFocus(e){this.nextFocus=e}getAndClearNextFocus(){const{nextFocus:e}=this;return null!==e&&(this.nextFocus=null),e}updateDOMSelection(){if(null!==this.anchorCell&&null!==this.focusCell){const e=K(this.editor._window);e&&e.rangeCount>0&&e.removeAllRanges()}}$setFocusCellForSelection(e,t=!1){const n=this.editor,{tableNode:o}=this.$lookup(),r=e.x,l=e.y;if(this.focusCell=e,this.isHighlightingCells||this.anchorX===r&&this.anchorY===l&&!t){if(r===this.focusX&&l===this.focusY)return!1}else this.isHighlightingCells=!0,this.$disableHighlightStyle();if(this.focusX=r,this.focusY=l,this.isHighlightingCells){const t=on(o,e.elem);if(null!=this.tableSelection&&null!=this.anchorCellNodeKey&&null!==t)return this.focusCellNodeKey=t.getKey(),this.tableSelection=St(o,this.$getAnchorTableCellOrThrow(),t),O(this.tableSelection),n.dispatchCommand(A,void 0),Wt(n,this.table,this.tableSelection),!0}return!1}$getAnchorTableCell(){return this.anchorCellNodeKey?T(this.anchorCellNodeKey):null}$getAnchorTableCellOrThrow(){const e=this.$getAnchorTableCell();return null===e&&Fe(234),e}$getFocusTableCell(){return this.focusCellNodeKey?T(this.focusCellNodeKey):null}$getFocusTableCellOrThrow(){const e=this.$getFocusTableCell();return null===e&&Fe(235),e}$setAnchorCellForSelection(e){this.isHighlightingCells=!1,this.anchorCell=e,this.anchorX=e.x,this.anchorY=e.y;const{tableNode:t}=this.$lookup(),n=on(t,e.elem);if(null!==n){const e=n.getKey();this.tableSelection=null!=this.tableSelection?this.tableSelection.clone():_t(),this.anchorCellNodeKey=e}}$formatCells(e){const t=S();Ct(t)||Fe(236);const n=E(),o=n.anchor,r=n.focus,l=t.getNodes().filter(Re);l.length>0||Fe(237);const s=l[0].getFirstChild(),i=b(s)?s.getFormatFlags(e,null):null;l.forEach((t=>{o.set(t.getKey(),0,\"element\"),r.set(t.getKey(),t.getChildrenSize(),\"element\"),n.formatText(e,i)})),O(t),this.editor.dispatchCommand(A,void 0)}$clearText(){const{editor:e}=this,t=T(this.tableNodeKey);if(!fn(t))throw new Error(\"Expected TableNode.\");const n=S();Ct(n)||Fe(253);const o=n.getNodes().filter(Re),r=t.getFirstChild(),l=t.getLastChild();if(o.length>0&&null!==r&&null!==l&&Ee(r)&&Ee(l)&&o[0]===r.getFirstChild()&&o[o.length-1]===l.getLastChild()){t.selectPrevious();const n=t.getParent();return t.remove(),void(k(n)&&n.isEmpty()&&e.dispatchCommand(M,void 0))}o.forEach((e=>{if(N(e)){const t=m(),n=_();t.append(n),e.append(t),e.getChildren().forEach((e=>{e!==t&&e.remove()}))}})),Wt(e,this.table,null),O(null),e.dispatchCommand(A,void 0)}}const Nt=\"__lexicalTableSelection\",xt=e=>!(1&~e.buttons);function vt(e){return h(e)&&\"TABLE\"===e.nodeName}function Rt(e,t){if(!t)return t;const n=vt(t)?t:e.getDOMSlot(t).element;return\"TABLE\"!==n.nodeName&&Fe(245,t.nodeName),n}function Tt(e){return e._window}function Ft(e,t){for(let n=t,o=null;null!==n;n=n.getParent()){if(e.is(n))return o;Re(n)&&(o=n)}return null}const Ot=[[j,\"down\"],[V,\"up\"],[G,\"backward\"],[Q,\"forward\"]],At=[Z,ee,te],Kt=[ne,oe];function Et(e,t,o,l){const s=o.getRootElement(),i=Tt(o);null!==s&&null!==i||Fe(246);const c=new yt(o,e.getKey()),a=Rt(e,t);!function(e,t){null!==kt(e)&&Fe(205);e[Nt]=t}(a,c),c.listenersToRemove.add((()=>function(e,t){kt(e)===t&&delete e[Nt]}(a,c)));const u=t=>{if(c.pointerType=t.pointerType,0!==t.button||!re(t.target)||!i)return;const n=Mt(t.target);null!==n&&o.update((()=>{const o=J();if($e&&t.shiftKey&&Jt(o,e)&&(w(o)||Ct(o))){const r=o.anchor.getNode(),l=Ft(e,o.anchor.getNode());if(l)c.$setAnchorCellForSelection(nn(c,l)),c.$setFocusCellForSelection(n),Zt(t);else{(e.isBefore(r)?e.selectStart():e.selectEnd()).anchor.set(o.anchor.key,o.anchor.offset,o.anchor.type)}}else\"touch\"!==t.pointerType&&c.$setAnchorCellForSelection(n)})),(()=>{if(c.isSelecting)return;const e=()=>{c.isSelecting=!1,i.removeEventListener(\"pointerup\",e),i.removeEventListener(\"pointermove\",t)},t=n=>{if(!xt(n)&&c.isSelecting)return c.isSelecting=!1,i.removeEventListener(\"pointerup\",e),void i.removeEventListener(\"pointermove\",t);if(!re(n.target))return;let r=null;const l=!($e||a.contains(n.target));if(l)r=$t(a,n.target);else for(const e of document.elementsFromPoint(n.clientX,n.clientY))if(r=$t(a,e),r)break;!r||null!==c.focusCell&&r.elem===c.focusCell.elem||(c.setNextFocus({focusCell:r,override:l}),o.dispatchCommand(A,void 0))};c.isSelecting=!0,i.addEventListener(\"pointerup\",e,c.listenerOptions),i.addEventListener(\"pointermove\",t,c.listenerOptions)})()};a.addEventListener(\"pointerdown\",u,c.listenerOptions),c.listenersToRemove.add((()=>{a.removeEventListener(\"pointerdown\",u)}));const h=e=>{if(e.detail>=3&&re(e.target)){null!==Mt(e.target)&&e.preventDefault()}};a.addEventListener(\"mousedown\",h,c.listenerOptions),c.listenersToRemove.add((()=>{a.removeEventListener(\"mousedown\",h)}));const d=e=>{const t=e.target;0===e.button&&re(t)&&o.update((()=>{const e=S();Ct(e)&&e.tableKey===c.tableNodeKey&&s.contains(t)&&c.$clearHighlight()}))};i.addEventListener(\"pointerdown\",d,c.listenerOptions),c.listenersToRemove.add((()=>{i.removeEventListener(\"pointerdown\",d)}));for(const[t,n]of Ot)c.listenersToRemove.add(o.registerCommand(t,(t=>Qt(o,t,n,e,c)),$));c.listenersToRemove.add(o.registerCommand(L,(t=>{const n=S();if(Ct(n)){const o=Ft(e,n.focus.getNode());if(null!==o)return Zt(t),o.selectEnd(),!0}return!1}),$));const g=t=>()=>{const o=S();if(!Jt(o,e))return!1;if(Ct(o))return c.$clearText(),!0;if(w(o)){if(!Re(Ft(e,o.anchor.getNode())))return!1;const r=o.anchor.getNode(),l=o.focus.getNode(),s=e.isParentOf(r),i=e.isParentOf(l);if(s&&!i||i&&!s)return c.$clearText(),!0;const a=n(o.anchor.getNode(),(e=>N(e))),u=a&&n(a,(e=>N(e)&&Re(e.getParent())));if(!N(u)||!N(a))return!1;if(t===ee&&null===u.getPreviousSibling())return!0}return!1};for(const e of At)c.listenersToRemove.add(o.registerCommand(e,g(e),W));const p=t=>{const n=S();if(!Ct(n)&&!w(n))return!1;const o=e.isParentOf(n.anchor.getNode());if(o!==e.isParentOf(n.focus.getNode())){const t=o?\"anchor\":\"focus\",r=o?\"focus\":\"anchor\",{key:l,offset:s,type:i}=n[r];return e[n[t].isBefore(n[r])?\"selectPrevious\":\"selectNext\"]()[r].set(l,s,i),!1}return!!Jt(n,e)&&(!!Ct(n)&&(t&&(t.preventDefault(),t.stopPropagation()),c.$clearText(),!0))};for(const e of Kt)c.listenersToRemove.add(o.registerCommand(e,p,W));return c.listenersToRemove.add(o.registerCommand(z,(e=>{const t=S();if(t){if(!Ct(t)&&!w(t))return!1;_e(o,r(e,ClipboardEvent)?e:null,Se(t));const n=p(e);return w(t)?(t.removeText(),!0):n}return!1}),W)),c.listenersToRemove.add(o.registerCommand(H,(t=>{const o=S();if(!Jt(o,e))return!1;if(Ct(o))return c.$formatCells(t),!0;if(w(o)){const e=n(o.anchor.getNode(),(e=>Re(e)));if(!Re(e))return!1}return!1}),W)),c.listenersToRemove.add(o.registerCommand(P,(t=>{const n=S();if(!Ct(n)||!Jt(n,e))return!1;const o=n.anchor.getNode(),r=n.focus.getNode();if(!Re(o)||!Re(r))return!1;if(function(e,t){if(Ct(e)){const n=e.anchor.getNode(),o=e.focus.getNode();if(t&&n&&o){const[e]=ut(t,n,o);return n.getKey()===e[0][0].cell.getKey()&&o.getKey()===e[e.length-1].at(-1).cell.getKey()}}return!1}(n,e))return e.setFormat(t),!0;const[l,s,i]=ut(e,o,r),c=Math.max(s.startRow+s.cell.__rowSpan-1,i.startRow+i.cell.__rowSpan-1),a=Math.max(s.startColumn+s.cell.__colSpan-1,i.startColumn+i.cell.__colSpan-1),u=Math.min(s.startRow,i.startRow),h=Math.min(s.startColumn,i.startColumn),d=new Set;for(let e=u;e<=c;e++)for(let n=h;n<=a;n++){const o=l[e][n].cell;if(d.has(o))continue;d.add(o),o.setFormat(t);const r=o.getChildren();for(let e=0;e<r.length;e++){const n=r[e];N(n)&&!n.isInline()&&n.setFormat(t)}}return!0}),W)),c.listenersToRemove.add(o.registerCommand(B,(t=>{const r=S();if(!Jt(r,e))return!1;if(Ct(r))return c.$clearHighlight(),!1;if(w(r)){const l=n(r.anchor.getNode(),(e=>Re(e)));if(!Re(l))return!1;if(\"string\"==typeof t){const n=tn(o,r,e);if(n)return en(n,e,[_(t)]),!0}}return!1}),W)),l&&c.listenersToRemove.add(o.registerCommand(D,(t=>{const o=S();if(!w(o)||!o.isCollapsed()||!Jt(o,e))return!1;const r=jt(o.anchor.getNode());return!(null===r||!e.is(Vt(r)))&&(Zt(t),function(e,t){const o=\"next\"===t?\"getNextSibling\":\"getPreviousSibling\",r=\"next\"===t?\"getFirstChild\":\"getLastChild\",l=e[o]();if(N(l))return l.selectEnd();const s=n(e,Ee);null===s&&Fe(247);for(let e=s[o]();Ee(e);e=e[o]()){const t=e[r]();if(N(t))return t.selectEnd()}const i=n(s,fn);null===i&&Fe(248);\"next\"===t?i.selectNext():i.selectPrevious()}(r,t.shiftKey?\"previous\":\"next\"),!0)}),W)),c.listenersToRemove.add(o.registerCommand(I,(t=>e.isSelected()),$)),c.listenersToRemove.add(o.registerCommand(U,((e,t)=>{if(o!==t)return!1;const{nodes:r,selection:l}=e,s=l.getStartEndPoints(),i=Ct(l),c=w(l)&&null!==n(l.anchor.getNode(),(e=>Re(e)))&&null!==n(l.focus.getNode(),(e=>Re(e)))||i;if(1!==r.length||!fn(r[0])||!c||null===s)return!1;const[a,u]=s,[h,d,g]=dt(a),p=n(u.getNode(),(e=>Re(e)));if(!(Re(h)&&Re(p)&&Ee(d)&&fn(g)))return!1;const C=r[0],[_,S,b]=ut(g,h,p),[y]=ht(C,null,null),N=_.length,x=N>0?_[0].length:0;let v=S.startRow,R=S.startColumn,T=y.length,F=T>0?y[0].length:0;if(i){const e=ft(_,S,b),t=e.maxRow-e.minRow+1,n=e.maxColumn-e.minColumn+1;v=e.minRow,R=e.minColumn,T=Math.min(T,t),F=Math.min(F,n)}let O=!1;const A=Math.min(N,v+T)-1,K=Math.min(x,R+F)-1,E=new Set;for(let e=v;e<=A;e++)for(let t=R;t<=K;t++){const n=_[e][t];E.has(n.cell.getKey())||(1===n.cell.__rowSpan&&1===n.cell.__colSpan||(at(n.cell),E.add(n.cell.getKey()),O=!0))}let[k]=ht(g.getWritable(),null,null);const M=T-N+v;for(let e=0;e<M;e++){Xe(k[N-1][0].cell)}const $=F-x+R;for(let e=0;e<$;e++){Qe(k[0][x-1].cell,!0,!1)}[k]=ht(g.getWritable(),null,null);for(let e=v;e<v+T;e++)for(let t=R;t<R+F;t++){const n=e-v,o=t-R,r=y[n][o];if(r.startRow!==n||r.startColumn!==o)continue;const l=r.cell;if(1!==l.__rowSpan||1!==l.__colSpan){const n=[],o=Math.min(e+l.__rowSpan,v+T)-1,r=Math.min(t+l.__colSpan,R+F)-1;for(let l=e;l<=o;l++)for(let e=t;e<=r;e++){const t=k[l][e];n.push(t.cell)}st(n),O=!0}const{cell:s}=k[e][t],i=s.getChildren();l.getChildren().forEach((e=>{if(f(e)){m().append(e),s.append(e)}else s.append(e)})),i.forEach((e=>e.remove()))}if(i&&O){const[e]=ht(g.getWritable(),null,null);e[S.startRow][S.startColumn].cell.selectEnd()}return!0}),W)),c.listenersToRemove.add(o.registerCommand(A,(()=>{const t=S(),r=J(),l=c.getAndClearNextFocus();if(null!==l){const{focusCell:n}=l;if(Ct(t)&&t.tableKey===c.tableNodeKey)return(n.x!==c.focusX||n.y!==c.focusY)&&(c.$setFocusCellForSelection(n),!0);if(n!==c.anchorCell&&Jt(t,e))return c.$setFocusCellForSelection(n),!0}if(c.getAndClearShouldCheckSelection()&&w(r)&&w(t)&&t.isCollapsed()){const o=t.anchor.getNode(),r=e.getFirstChild(),l=jt(o);if(null!==l&&Ee(r)){const t=r.getFirstChild();if(Re(t)&&e.is(n(l,(n=>n.is(e)||n.is(t)))))return t.selectStart(),!0}}if(w(t)){const{anchor:n,focus:l}=t,s=n.getNode(),i=l.getNode(),a=jt(s),u=jt(i),h=!(!a||!e.is(Vt(a))),d=!(!u||!e.is(Vt(u))),f=h!==d,g=h&&d,m=t.isBackward();if(f){const n=t.clone();if(d){const[t]=ut(e,u,u),o=t[0][0].cell,r=t[t.length-1].at(-1).cell;n.focus.set(m?o.getKey():r.getKey(),m?o.getChildrenSize():r.getChildrenSize(),\"element\")}else if(h){const[t]=ut(e,a,a),o=t[0][0].cell,r=t[t.length-1].at(-1).cell;n.anchor.set(m?r.getKey():o.getKey(),m?r.getChildrenSize():0,\"element\")}O(n),Ht(o,c)}else if(g&&(a.is(u)||(c.$setAnchorCellForSelection(nn(c,a)),c.$setFocusCellForSelection(nn(c,u),!0)),\"touch\"===c.pointerType&&c.isSelecting&&t.isCollapsed()&&w(r)&&r.isCollapsed())){const e=jt(r.anchor.getNode());e&&!e.is(u)&&(c.$setAnchorCellForSelection(nn(c,e)),c.$setFocusCellForSelection(nn(c,u),!0),c.pointerType=null)}}else if(t&&Ct(t)&&t.is(r)&&t.tableKey===e.getKey()){const n=K(i);if(n&&n.anchorNode&&n.focusNode){const r=Y(n.focusNode),l=r&&!e.isParentOf(r),s=Y(n.anchorNode),i=s&&e.isParentOf(s);if(l&&i&&n.rangeCount>0){const r=q(n,o);r&&(r.anchor.set(e.getKey(),t.isBackward()?e.getChildrenSize():0,\"element\"),n.removeAllRanges(),O(r))}}}return t&&!t.is(r)&&(Ct(t)||Ct(r))&&c.tableSelection&&!c.tableSelection.is(r)?(Ct(t)&&t.tableKey===c.tableNodeKey?c.$updateTableTableSelection(t):!Ct(t)&&Ct(r)&&r.tableKey===c.tableNodeKey&&c.$updateTableTableSelection(null),!1):(c.hasHijackedSelectionStyles&&!e.isSelected()?function(e,t){t.$enableHighlightStyle(),zt(t.table,(t=>{const n=t.elem;t.highlighted=!1,Xt(e,t),n.getAttribute(\"style\")||n.removeAttribute(\"style\")}))}(o,c):!c.hasHijackedSelectionStyles&&e.isSelected()&&Ht(o,c),!1)}),W)),c.listenersToRemove.add(o.registerCommand(M,(()=>{const t=S();if(!w(t)||!t.isCollapsed()||!Jt(t,e))return!1;const n=tn(o,t,e);return!!n&&(en(n,e),!0)}),W)),c}function kt(e){return e[Nt]||null}function Mt(e){let t=e;for(;null!=t;){const e=t.nodeName;if(\"TD\"===e||\"TH\"===e){const e=t._cell;return void 0===e?null:e}t=t.parentNode}return null}function $t(e,t){if(!e.contains(t))return null;let n=null;for(let o=t;null!=o;o=o.parentNode){if(o===e)return n;const t=o.nodeName;\"TD\"!==t&&\"TH\"!==t||(n=o._cell||null)}return null}function Lt(e,t){const n=[],o={columns:0,domRows:n,rows:0};let r=Rt(e,t).querySelector(\"tr\"),l=0,s=0;for(n.length=0;null!=r;){const e=r.nodeName;if(\"TD\"===e||\"TH\"===e){const e={elem:r,hasBackgroundColor:\"\"!==r.style.backgroundColor,highlighted:!1,x:l,y:s};r._cell=e;let t=n[s];void 0===t&&(t=n[s]=[]),t[l]=e}else{const e=r.firstChild;if(null!=e){r=e;continue}}const t=r.nextSibling;if(null!=t){l++,r=t;continue}const o=r.parentNode;if(null!=o){const e=o.nextSibling;if(null==e)break;s++,l=0,r=e}}return o.columns=l+1,o.rows=s+1,o}function Wt(e,t,n){const o=new Set(n?n.getNodes():[]);zt(t,((t,n)=>{const r=t.elem;o.has(n)?(t.highlighted=!0,qt(e,t)):(t.highlighted=!1,Xt(e,t),r.getAttribute(\"style\")||r.removeAttribute(\"style\"))}))}function zt(e,t){const{domRows:n}=e;for(let e=0;e<n.length;e++){const o=n[e];if(o)for(let n=0;n<o.length;n++){const r=o[n];if(!r)continue;const l=Y(r.elem);null!==l&&t(r,l,{x:n,y:e})}}}function Ht(e,t){t.$disableHighlightStyle(),zt(t.table,(t=>{t.highlighted=!0,qt(e,t)}))}const Pt=(e,t,n,o,r)=>{const l=\"forward\"===r;switch(r){case\"backward\":case\"forward\":return n!==(l?e.table.columns-1:0)?Yt(t.getCellNodeFromCordsOrThrow(n+(l?1:-1),o,e.table),l):o!==(l?e.table.rows-1:0)?Yt(t.getCellNodeFromCordsOrThrow(l?0:e.table.columns-1,o+(l?1:-1),e.table),l):l?t.selectNext():t.selectPrevious(),!0;case\"up\":return 0!==o?Yt(t.getCellNodeFromCordsOrThrow(n,o-1,e.table),!1):t.selectPrevious(),!0;case\"down\":return o!==e.table.rows-1?Yt(t.getCellNodeFromCordsOrThrow(n,o+1,e.table),!0):t.selectNext(),!0;default:return!1}};function Bt(e,t){let n,o;if(t.startColumn===e.minColumn)n=\"minColumn\";else{if(t.startColumn+t.cell.__colSpan-1!==e.maxColumn)return null;n=\"maxColumn\"}if(t.startRow===e.minRow)o=\"minRow\";else{if(t.startRow+t.cell.__rowSpan-1!==e.maxRow)return null;o=\"maxRow\"}return[n,o]}function Dt([e,t]){return[\"minColumn\"===e?\"maxColumn\":\"minColumn\",\"minRow\"===t?\"maxRow\":\"minRow\"]}function It(e,t,[n,o]){const r=t[o],l=e[r];void 0===l&&Fe(250,o,String(r));const s=t[n],i=l[s];return void 0===i&&Fe(250,n,String(s)),i}function Ut(e,t,n,o,r){const l=ft(t,n,o),s=function(e,t){const{minColumn:n,maxColumn:o,minRow:r,maxRow:l}=t;let s=1,i=1,c=1,a=1;const u=e[r],h=e[l];for(let e=n;e<=o;e++)s=Math.max(s,u[e].cell.__rowSpan),a=Math.max(a,h[e].cell.__rowSpan);for(let t=r;t<=l;t++)i=Math.max(i,e[t][n].cell.__colSpan),c=Math.max(c,e[t][o].cell.__colSpan);return{bottomSpan:a,leftSpan:i,rightSpan:c,topSpan:s}}(t,l),{topSpan:i,leftSpan:c,bottomSpan:a,rightSpan:u}=s,h=function(e,t){const n=Bt(e,t);return null===n&&Fe(249,t.cell.getKey()),n}(l,n),[d,f]=Dt(h);let g=l[d],m=l[f];\"forward\"===r?g+=\"maxColumn\"===d?1:c:\"backward\"===r?g-=\"minColumn\"===d?1:u:\"down\"===r?m+=\"maxRow\"===f?1:i:\"up\"===r&&(m-=\"minRow\"===f?1:a);const p=t[m];if(void 0===p)return!1;const C=p[g];if(void 0===C)return!1;const[_,S]=function(e,t,n){const o=ft(e,t,n),r=Bt(o,t);if(r)return[It(e,o,r),It(e,o,Dt(r))];const l=Bt(o,n);if(l)return[It(e,o,Dt(l)),It(e,o,l)];const s=[\"minColumn\",\"minRow\"];return[It(e,o,s),It(e,o,Dt(s))]}(t,n,C),w=nn(e,_.cell),b=nn(e,S.cell);return e.$setAnchorCellForSelection(w),e.$setFocusCellForSelection(b,!0),!0}function Jt(e,t){if(w(e)||Ct(e)){const n=t.isParentOf(e.anchor.getNode()),o=t.isParentOf(e.focus.getNode());return n&&o}return!1}function Yt(e,t){t?e.selectStart():e.selectEnd()}function qt(t,n){const o=n.elem,r=t._config.theme;Re(Y(o))||Fe(131),e(o,r.tableCellSelected)}function Xt(e,t){const n=t.elem;Re(Y(n))||Fe(131);const r=e._config.theme;o(n,r.tableCellSelected)}function jt(e){const t=n(e,Re);return Re(t)?t:null}function Vt(e){const t=n(e,fn);return fn(t)?t:null}function Gt(e,t,o,r,l,s,i){const c=le(o.focus,l?\"previous\":\"next\");if(se(c))return!1;let a=c;for(const e of ie(c).iterNodeCarets(\"shadowRoot\")){if(!ce(e)||!N(e.origin))return!1;a=e}const u=a.getParentAtCaret();if(!Re(u))return!1;const h=u,d=function(e){for(const t of ie(e).iterNodeCarets(\"root\")){const{origin:n}=t;if(Re(n)){if(fe(t))return ge(n,e.direction)}else if(!Ee(n))break}return null}(ae(h,a.direction)),f=n(h,fn);if(!f||!f.is(s))return!1;const g=e.getElementByKey(h.getKey()),m=Mt(g);if(!g||!m)return!1;const p=un(e,f);if(i.table=p,d)if(\"extend\"===r){const t=Mt(e.getElementByKey(d.origin.getKey()));if(!t)return!1;i.$setAnchorCellForSelection(m),i.$setFocusCellForSelection(t,!0)}else{const e=he(d);ue(o.anchor,e),ue(o.focus,e)}else if(\"extend\"===r)i.$setAnchorCellForSelection(m),i.$setFocusCellForSelection(m,!0);else{const e=function(e){const t=de(e);return fe(t)?he(t):e}(ae(f,c.direction));ue(o.anchor,e),ue(o.focus,e)}return Zt(t),!0}function Qt(e,t,o,r,l){if((\"up\"===o||\"down\"===o)&&function(e){const t=e.getRootElement();if(!t)return!1;return t.hasAttribute(\"aria-controls\")&&\"typeahead-menu\"===t.getAttribute(\"aria-controls\")}(e))return!1;const s=S();if(!Jt(s,r)){if(w(s)){if(\"backward\"===o){if(s.focus.offset>0)return!1;const e=function(e){for(let t=e,n=e;null!==n;t=n,n=n.getParent())if(N(n)){if(n!==t&&n.getFirstChild()!==t)return null;if(!n.isInline())return n}return null}(s.focus.getNode());if(!e)return!1;const n=e.getPreviousSibling();return!!fn(n)&&(Zt(t),t.shiftKey?s.focus.set(n.getParentOrThrow().getKey(),n.getIndexWithinParent(),\"element\"):n.selectEnd(),!0)}if(t.shiftKey&&(\"up\"===o||\"down\"===o)){const e=s.focus.getNode();if(!s.isCollapsed()&&(\"up\"===o&&!s.isBackward()||\"down\"===o&&s.isBackward())){let l=n(e,(e=>fn(e)));if(Re(l)&&(l=n(l,fn)),l!==r)return!1;if(!l)return!1;const i=\"down\"===o?l.getNextSibling():l.getPreviousSibling();if(!i)return!1;let c=0;\"up\"===o&&N(i)&&(c=i.getChildrenSize());let a=i;if(\"up\"===o&&N(i)){const e=i.getLastChild();a=e||i,c=f(a)?a.getTextContentSize():0}const u=s.clone();return u.focus.set(a.getKey(),c,f(a)?\"text\":\"element\"),O(u),Zt(t),!0}if(X(e)){const e=\"up\"===o?s.getNodes()[s.getNodes().length-1]:s.getNodes()[0];if(e){if(null!==Ft(r,e)){const e=r.getFirstDescendant(),t=r.getLastDescendant();if(!e||!t)return!1;const[n]=dt(e),[o]=dt(t),s=r.getCordsFromCellNode(n,l.table),i=r.getCordsFromCellNode(o,l.table),c=r.getDOMCellFromCordsOrThrow(s.x,s.y,l.table),a=r.getDOMCellFromCordsOrThrow(i.x,i.y,l.table);return l.$setAnchorCellForSelection(c),l.$setFocusCellForSelection(a,!0),!0}}return!1}{let r=n(e,(e=>N(e)&&!e.isInline()));if(Re(r)&&(r=n(r,fn)),!r)return!1;const i=\"down\"===o?r.getNextSibling():r.getPreviousSibling();if(fn(i)&&l.tableNodeKey===i.getKey()){const e=i.getFirstDescendant(),n=i.getLastDescendant();if(!e||!n)return!1;const[r]=dt(e),[l]=dt(n),c=s.clone();return c.focus.set((\"up\"===o?r:l).getKey(),\"up\"===o?0:l.getChildrenSize(),\"element\"),Zt(t),O(c),!0}}}}return\"down\"===o&&sn(e)&&l.setShouldCheckSelection(),!1}if(w(s)){if(\"backward\"===o||\"forward\"===o){return Gt(e,t,s,t.shiftKey?\"extend\":\"move\",\"backward\"===o,r,l)}if(s.isCollapsed()){const{anchor:i,focus:c}=s,a=n(i.getNode(),Re),u=n(c.getNode(),Re);if(!Re(a)||!a.is(u))return!1;const h=Vt(a);if(h!==r&&null!=h){const n=Rt(h,e.getElementByKey(h.getKey()));if(null!=n)return l.table=Lt(h,n),Qt(e,t,o,h,l)}const d=e.getElementByKey(a.__key),f=e.getElementByKey(i.key);if(null==f||null==d)return!1;let g;if(\"element\"===i.type)g=f.getBoundingClientRect();else{const t=K(Tt(e));if(null===t||0===t.rangeCount)return!1;g=t.getRangeAt(0).getBoundingClientRect()}const m=\"up\"===o?a.getFirstChild():a.getLastChild();if(null==m)return!1;const p=e.getElementByKey(m.__key);if(null==p)return!1;const C=p.getBoundingClientRect();if(\"up\"===o?C.top>g.top-g.height:g.bottom+g.height>C.bottom){Zt(t);const e=r.getCordsFromCellNode(a,l.table);if(!t.shiftKey)return Pt(l,r,e.x,e.y,o);{const t=r.getDOMCellFromCordsOrThrow(e.x,e.y,l.table);l.$setAnchorCellForSelection(t),l.$setFocusCellForSelection(t,!0)}return!0}}}else if(Ct(s)){const{anchor:i,focus:c}=s,a=n(i.getNode(),Re),u=n(c.getNode(),Re),[h]=s.getNodes();fn(h)||Fe(251);const d=Rt(h,e.getElementByKey(h.getKey()));if(!Re(a)||!Re(u)||!fn(h)||null==d)return!1;l.$updateTableTableSelection(s);const f=Lt(h,d),g=r.getCordsFromCellNode(a,f),m=r.getDOMCellFromCordsOrThrow(g.x,g.y,f);if(l.$setAnchorCellForSelection(m),Zt(t),t.shiftKey){const[e,t,n]=ut(r,a,u);return Ut(l,e,t,n,o)}return u.selectEnd(),!0}return!1}function Zt(e){e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation()}function en(e,t,n){const o=m();\"first\"===e?t.insertBefore(o):t.insertAfter(o),o.append(...n||[]),o.selectEnd()}function tn(e,t,o){const r=o.getParent();if(!r)return;const l=K(Tt(e));if(!l)return;const s=l.anchorNode,i=e.getElementByKey(r.getKey()),c=Rt(o,e.getElementByKey(o.getKey()));if(!s||!i||!c||!i.contains(s)||c.contains(s))return;const a=n(t.anchor.getNode(),(e=>Re(e)));if(!a)return;const u=n(a,(e=>fn(e)));if(!fn(u)||!u.is(o))return;const[h,d]=ut(o,a,a),f=h[0][0],g=h[h.length-1][h[0].length-1],{startRow:m,startColumn:p}=d,C=m===f.startRow&&p===f.startColumn,_=m===g.startRow&&p===g.startColumn;return C?\"first\":_?\"last\":void 0}function nn(e,t){const{tableNode:n}=e.$lookup(),o=n.getCordsFromCellNode(t,e.table);return n.getDOMCellFromCordsOrThrow(o.x,o.y,e.table)}function on(e,t,n){return Ft(e,Y(t,n))}function rn(t,n,r){if(!n.theme.tableAlignment)return;const l=[],s=[];for(const e of[\"center\",\"right\"]){const t=n.theme.tableAlignment[e];t&&(e===r?s:l).push(t)}o(t,...l),e(t,...s)}const ln=new WeakSet;function sn(e=F()){return ln.has(e)}function cn(e,t){t?ln.add(e):ln.delete(e)}class an extends u{static getType(){return\"table\"}getColWidths(){return this.getLatest().__colWidths}setColWidths(e){const t=this.getWritable();return t.__colWidths=e,t}static clone(e){return new an(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__colWidths=e.__colWidths,this.__rowStriping=e.__rowStriping,this.__frozenColumnCount=e.__frozenColumnCount,this.__frozenRowCount=e.__frozenRowCount}static importDOM(){return{table:e=>({conversion:hn,priority:1})}}static importJSON(e){return dn().updateFromJSON(e)}updateFromJSON(e){return super.updateFromJSON(e).setRowStriping(e.rowStriping||!1).setFrozenColumns(e.frozenColumnCount||0).setFrozenRows(e.frozenRowCount||0).setColWidths(e.colWidths)}constructor(e){super(e),this.__rowStriping=!1,this.__frozenColumnCount=0,this.__frozenRowCount=0}exportJSON(){return{...super.exportJSON(),colWidths:this.getColWidths(),frozenColumnCount:this.__frozenColumnCount?this.__frozenColumnCount:void 0,frozenRowCount:this.__frozenRowCount?this.__frozenRowCount:void 0,rowStriping:this.__rowStriping?this.__rowStriping:void 0}}extractWithChild(e,t,n){return\"html\"===n}getDOMSlot(e){const t=vt(e)?e:e.querySelector(\"table\");return vt(t)||Fe(229),super.getDOMSlot(e).withElement(t).withAfter(t.querySelector(\"colgroup\"))}createDOM(t,n){const o=document.createElement(\"table\");this.__style&&(o.style.cssText=this.__style);const r=document.createElement(\"colgroup\");if(o.appendChild(r),me(r),e(o,t.theme.table),this.updateTableElement(null,o,t),sn(n)){const n=document.createElement(\"div\"),r=t.theme.tableScrollableWrapper;return r?e(n,r):n.style.cssText=\"overflow-x: auto;\",n.appendChild(o),this.updateTableWrapper(null,n,o,t),n}return o}updateTableWrapper(t,n,r,l){this.__frozenColumnCount!==(t?t.__frozenColumnCount:0)&&function(t,n,r,l){l>0?(e(t,r.theme.tableFrozenColumn),n.setAttribute(\"data-lexical-frozen-column\",\"true\")):(o(t,r.theme.tableFrozenColumn),n.removeAttribute(\"data-lexical-frozen-column\"))}(n,r,l,this.__frozenColumnCount),this.__frozenRowCount!==(t?t.__frozenRowCount:0)&&function(t,n,r,l){l>0?(e(t,r.theme.tableFrozenRow),n.setAttribute(\"data-lexical-frozen-row\",\"true\")):(o(t,r.theme.tableFrozenRow),n.removeAttribute(\"data-lexical-frozen-row\"))}(n,r,l,this.__frozenRowCount)}updateTableElement(t,n,r){this.__style!==(t?t.__style:\"\")&&(n.style.cssText=this.__style),this.__rowStriping!==(!!t&&t.__rowStriping)&&function(t,n,r){r?(e(t,n.theme.tableRowStriping),t.setAttribute(\"data-lexical-row-striping\",\"true\")):(o(t,n.theme.tableRowStriping),t.removeAttribute(\"data-lexical-row-striping\"))}(n,r,this.__rowStriping),function(e,t,n,o){const r=e.querySelector(\"colgroup\");if(!r)return;const l=[];for(let e=0;e<n;e++){const t=document.createElement(\"col\"),n=o&&o[e];n&&(t.style.width=`${n}px`),l.push(t)}r.replaceChildren(...l)}(n,0,this.getColumnCount(),this.getColWidths()),rn(n,r,this.getFormatType())}updateDOM(e,t,n){const o=this.getDOMSlot(t).element;return t===o===sn()||(l(r=t)&&\"DIV\"===r.nodeName&&this.updateTableWrapper(e,t,o,n),this.updateTableElement(e,o,n),!1);var r}exportDOM(e){const t=super.exportDOM(e),{element:n}=t;return{after:n=>{if(t.after&&(n=t.after(n)),!vt(n)&&l(n)&&(n=n.querySelector(\"table\")),!vt(n))return null;rn(n,e._config,this.getFormatType());const[o]=ht(this,null,null),r=new Map;for(const e of o)for(const t of e){const e=t.cell.getKey();r.has(e)||r.set(e,{colSpan:t.cell.getColSpan(),startColumn:t.startColumn})}const s=new Set;for(const e of n.querySelectorAll(\":scope > tr > [data-temporary-table-cell-lexical-key]\")){const t=e.getAttribute(\"data-temporary-table-cell-lexical-key\");if(t){const n=r.get(t);if(e.removeAttribute(\"data-temporary-table-cell-lexical-key\"),n){r.delete(t);for(let e=0;e<n.colSpan;e++)s.add(e+n.startColumn)}}}const i=n.querySelector(\":scope > colgroup\");if(i){const e=Array.from(n.querySelectorAll(\":scope > colgroup > col\")).filter(((e,t)=>s.has(t)));i.replaceChildren(...e)}const c=n.querySelectorAll(\":scope > tr\");if(c.length>0){const e=document.createElement(\"tbody\");for(const t of c)e.appendChild(t);n.append(e)}return n},element:!vt(n)&&l(n)?n.querySelector(\"table\"):n}}canBeEmpty(){return!1}isShadowRoot(){return!0}getCordsFromCellNode(e,t){const{rows:n,domRows:o}=t;for(let t=0;t<n;t++){const n=o[t];if(null!=n)for(let o=0;o<n.length;o++){const r=n[o];if(null==r)continue;const{elem:l}=r,s=on(this,l);if(null!==s&&e.is(s))return{x:o,y:t}}}throw new Error(\"Cell not found in table.\")}getDOMCellFromCords(e,t,n){const{domRows:o}=n,r=o[t];if(null==r)return null;const l=r[e<r.length?e:r.length-1];return null==l?null:l}getDOMCellFromCordsOrThrow(e,t,n){const o=this.getDOMCellFromCords(e,t,n);if(!o)throw new Error(\"Cell not found at cords.\");return o}getCellNodeFromCords(e,t,n){const o=this.getDOMCellFromCords(e,t,n);if(null==o)return null;const r=Y(o.elem);return Re(r)?r:null}getCellNodeFromCordsOrThrow(e,t,n){const o=this.getCellNodeFromCords(e,t,n);if(!o)throw new Error(\"Node at cords not TableCellNode.\");return o}getRowStriping(){return Boolean(this.getLatest().__rowStriping)}setRowStriping(e){const t=this.getWritable();return t.__rowStriping=e,t}setFrozenColumns(e){const t=this.getWritable();return t.__frozenColumnCount=e,t}getFrozenColumns(){return this.getLatest().__frozenColumnCount}setFrozenRows(e){const t=this.getWritable();return t.__frozenRowCount=e,t}getFrozenRows(){return this.getLatest().__frozenRowCount}canSelectBefore(){return!0}canIndent(){return!1}getColumnCount(){const e=this.getFirstChild();if(!e)return 0;let t=0;return e.getChildren().forEach((e=>{Re(e)&&(t+=e.getColSpan())})),t}}function un(e,t){const n=e.getElementByKey(t.getKey());return null===n&&Fe(230),Lt(t,n)}function hn(e){const n=dn();e.hasAttribute(\"data-lexical-row-striping\")&&n.setRowStriping(!0),e.hasAttribute(\"data-lexical-frozen-column\")&&n.setFrozenColumns(1),e.hasAttribute(\"data-lexical-frozen-row\")&&n.setFrozenRows(1);const o=e.querySelector(\":scope > colgroup\");if(o){let e=[];for(const t of o.querySelectorAll(\":scope > col\")){let n=t.style.width||\"\";if(!we.test(n)&&(n=t.getAttribute(\"width\")||\"\",!/^\\d+$/.test(n))){e=void 0;break}e.push(parseFloat(n))}e&&n.setColWidths(e)}return{after:e=>t(e,Ee),node:n}}function dn(){return p(new an)}function fn(e){return e instanceof an}function gn({rows:e,columns:t,includeHeaders:n}){const o=S()||J();if(!o||!w(o))return!1;if(Vt(o.anchor.getNode()))return!1;const r=Le(Number(e),Number(t),n);c(r);const l=r.getFirstDescendant();return f(l)&&l.select(),!0}function mn(e){Ee(e.getParent())?e.isEmpty()&&e.append(m()):e.remove()}function pn(e){fn(e.getParent())?a(e,Re):e.remove()}function Cn(e){a(e,Ee);const[t]=ht(e,null,null),n=t.reduce(((e,t)=>Math.max(e,t.length)),0),o=e.getChildren();for(let e=0;e<t.length;++e){const r=o[e];if(!r)continue;Ee(r)||Fe(254,r.constructor.name,r.getType());const l=t[e].reduce(((e,t)=>t?1+e:e),0);if(l!==n)for(let e=l;e<n;++e){const e=ve();e.append(m()),r.append(e)}}}function _n(e){if(e.detail<3||!re(e.target))return!1;const t=Y(e.target);if(null===t)return!1;const o=n(t,(e=>N(e)&&!e.isInline()));if(null===o)return!1;return!!Re(o.getParent())&&(o.select(0),!0)}function Sn(e){return e.registerNodeTransform(ye,(e=>{if(e.getColSpan()>1||e.getRowSpan()>1){const[,,t]=dt(e),[n]=ut(t,e,e),o=n.length,r=n[0].length;let l=t.getFirstChild();Ee(l)||Fe(175);const i=[];for(let e=0;e<o;e++){0!==e&&(l=l.getNextSibling(),Ee(l)||Fe(175));let t=null;for(let o=0;o<r;o++){const r=n[e][o],c=r.cell;if(r.startRow===e&&r.startColumn===o)t=c,i.push(c);else if(c.getColSpan()>1||c.getRowSpan()>1){Re(c)||Fe(176);const e=ve(c.__headerState);null!==t?t.insertAfter(e):s(l,e)}}}for(const e of i)e.setColSpan(1),e.setRowSpan(1)}}))}function wn(e,t=!0){const n=new Map,o=(o,r,l)=>{const s=Rt(o,l),i=Et(o,s,e,t);n.set(r,[i,s])},r=e.registerMutationListener(an,(t=>{e.getEditorState().read((()=>{for(const[e,r]of t){const t=n.get(e);if(\"created\"===r||\"updated\"===r){const{tableNode:r,tableElement:l}=bt(e);void 0===t?o(r,e,l):l!==t[1]&&(t[0].removeListeners(),n.delete(e),o(r,e,l))}else\"destroyed\"===r&&void 0!==t&&(t[0].removeListeners(),n.delete(e))}}),{editor:e})}),{skipInitialization:!1});return()=>{r();for(const[,[e]]of n)e.removeListeners()}}function bn(e){return e.hasNodes([an])||Fe(255),i(e.registerCommand(Te,gn,pe),e.registerCommand(U,(({nodes:t,selection:n},o)=>{if(e!==o||!w(n))return!1;return null!==Vt(n.anchor.getNode())&&t.some(fn)}),pe),e.registerCommand(Ce,_n,pe),e.registerNodeTransform(an,Cn),e.registerNodeTransform(Oe,pn),e.registerNodeTransform(ye,mn))}export{ut as $computeTableMap,ht as $computeTableMapSkipCellCheck,ve as $createTableCellNode,dn as $createTableNode,Le as $createTableNodeWithDimensions,Ke as $createTableRowNode,_t as $createTableSelection,St as $createTableSelectionFrom,Ze as $deleteTableColumn,nt as $deleteTableColumnAtSelection,ot as $deleteTableColumn__EXPERIMENTAL,et as $deleteTableRowAtSelection,tt as $deleteTableRow__EXPERIMENTAL,jt as $findCellNode,Vt as $findTableNode,un as $getElementForTableNode,dt as $getNodeTriplet,bt as $getTableAndElementByKey,We as $getTableCellNodeFromLexicalNode,gt as $getTableCellNodeRect,Be as $getTableColumnIndexFromTableCellNode,He as $getTableNodeFromLexicalNodeOrThrow,Pe as $getTableRowIndexFromTableCellNode,ze as $getTableRowNodeFromTableCellNodeOrThrow,je as $insertTableColumn,Ve as $insertTableColumnAtSelection,Ge as $insertTableColumn__EXPERIMENTAL,Ue as $insertTableRow,Ye as $insertTableRowAtSelection,qe as $insertTableRow__EXPERIMENTAL,sn as $isScrollableTablesActive,Re as $isTableCellNode,fn as $isTableNode,Ee as $isTableRowNode,Ct as $isTableSelection,st as $mergeCells,Ie as $removeTableRowAtIndex,ct as $unmergeCell,Te as INSERT_TABLE_COMMAND,be as TableCellHeaderStates,ye as TableCellNode,an as TableNode,yt as TableObserver,Oe as TableRowNode,Et as applyTableHandlers,Mt as getDOMCellFromTarget,Rt as getTableElement,kt as getTableObserverFromTableElement,Sn as registerTableCellUnmergeTransform,bn as registerTablePlugin,wn as registerTableSelectionObserver,cn as setScrollableTablesActive};\n"],"names":["we","be","ye","u","e","xe","ve","t","n","o","Ne","h","l","s","c","a","p","g","r","d","f","m","Re","Te","C","Fe","Oe","Ae","Ke","Ee","ke","Me","$e","Le","dn","_","We","ze","He","fn","Pe","Be","Je","Ye","S","w","Ct","dt","ut","Xe","Ve","Qe","lt","i","rt","nt","st","ht","it","b","at","ft","gt","mt","pt","y","R","N","x","wt","v","_t","St","bt","F","T","Rt","yt","Lt","Wt","O","A","K","on","E","k","M","Nt","xt","vt","Tt","Ft","Ot","j","V","G","Q","At","Z","ee","te","Kt","ne","oe","Et","kt","re","Mt","J","Jt","nn","Zt","$t","Qt","$","L","W","z","_e","Se","H","P","B","tn","en","D","jt","Vt","I","U","Ht","Y","q","zt","Xt","qt","Pt","Yt","Bt","Dt","It","Ut","Gt","le","se","ie","ce","fe","ge","ae","un","he","ue","de","X","sn","rn","ln","cn","an","hn","me","gn","mn","pn","Cn","_n","Sn","wn","bn","pe","Ce"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,123 +0,0 @@
1
- import { ah as p, h as s, t as u, ai as x, aa as L, w as b, E as S, a as E, a7 as A, ac as g, F as m, ad as C, ab as P, T as M, aj as R, ak as T, al as d, am as j, an as I } from "./Lexical.prod-nXWuyOKD.js";
2
- function h(e, ...n) {
3
- const t = new URL("https://lexical.dev/docs/error"), r = new URLSearchParams();
4
- r.append("code", e);
5
- for (const o of n) r.append("v", o);
6
- throw t.search = r.toString(), Error(`Minified Lexical error #${e}; visit ${t.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`);
7
- }
8
- const a = typeof window < "u" && window.document !== void 0 && window.document.createElement !== void 0, N = a && "documentMode" in document ? document.documentMode : null, _ = a && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);
9
- !(!a || !("InputEvent" in window) || N) && "getTargetRanges" in new window.InputEvent("input");
10
- function w(...e) {
11
- const n = [];
12
- for (const t of e) if (t && typeof t == "string") for (const [r] of t.matchAll(/\S+/g)) n.push(r);
13
- return n;
14
- }
15
- function O(...e) {
16
- return () => {
17
- for (let n = e.length - 1; n >= 0; n--) e[n]();
18
- e.length = 0;
19
- };
20
- }
21
- const B = a, F = _;
22
- function V(e, ...n) {
23
- const t = w(...n);
24
- t.length > 0 && e.classList.add(...t);
25
- }
26
- function G(e, ...n) {
27
- const t = w(...n);
28
- t.length > 0 && e.classList.remove(...t);
29
- }
30
- function H(e, n) {
31
- let t = e;
32
- for (; t != null; ) {
33
- if (t instanceof n) return t;
34
- t = t.getParent();
35
- }
36
- return null;
37
- }
38
- function J(e) {
39
- const n = k(e, ((t) => s(t) && !t.isInline()));
40
- return s(n) || h(4, e.__key), n;
41
- }
42
- const k = (e, n) => {
43
- let t = e;
44
- for (; t !== p() && t != null; ) {
45
- if (n(t)) return t;
46
- t = t.getParent();
47
- }
48
- return null;
49
- };
50
- function K(e) {
51
- const n = b() || S();
52
- let t;
53
- if (E(n)) t = A(n.focus, "next");
54
- else {
55
- if (n != null) {
56
- const c = n.getNodes(), f = c[c.length - 1];
57
- f && (t = g(f, "next"));
58
- }
59
- t = t || u(p(), "previous").getFlipped().insert(m());
60
- }
61
- const r = U(e, t), o = C(r), i = P(o) ? M(o) : r;
62
- return R(T(i)), e.getLatest();
63
- }
64
- function U(e, n, t) {
65
- let r = d(n, "next");
66
- for (let o = r; o; o = j(o, t)) r = o;
67
- return I(r) && h(283), r.insert(e.isInline() ? m().append(e) : e), d(g(e.getLatest(), "next"), n.direction);
68
- }
69
- function q(e, n) {
70
- return e !== null && Object.getPrototypeOf(e).constructor.name === n.name;
71
- }
72
- function D(e, n) {
73
- u(e, "next").insert(n);
74
- }
75
- let l = !(F || !B) && void 0;
76
- function Q(e) {
77
- let n = 1;
78
- if ((function() {
79
- if (l === void 0) {
80
- const t = document.createElement("div");
81
- t.style.cssText = "position: absolute; opacity: 0; width: 100px; left: -1000px;", document.body.appendChild(t);
82
- const r = t.getBoundingClientRect();
83
- t.style.setProperty("zoom", "2"), l = t.getBoundingClientRect().width === r.width, document.body.removeChild(t);
84
- }
85
- return l;
86
- })()) for (; e; ) n *= Number(window.getComputedStyle(e).getPropertyValue("zoom")), e = e.parentElement;
87
- return n;
88
- }
89
- function W(e, n) {
90
- return v(e, n, null);
91
- }
92
- function v(e, n, t) {
93
- let r = !1;
94
- for (const o of y(e)) n(o) ? t !== null && t(o) : (r = !0, s(o) && v(o, n, t || ((i) => o.insertAfter(i))), o.remove());
95
- return r;
96
- }
97
- function X(e, n) {
98
- const t = [], r = Array.from(e).reverse();
99
- for (let o = r.pop(); o !== void 0; o = r.pop()) if (n(o)) t.push(o);
100
- else if (s(o)) for (const i of y(o)) r.push(i);
101
- return t;
102
- }
103
- function y(e) {
104
- return $(u(e, "previous"));
105
- }
106
- function $(e) {
107
- return x({ hasNext: L, initial: e.getAdjacentCaret(), map: (n) => n.origin.getLatest(), step: (n) => n.getAdjacentCaret() });
108
- }
109
- export {
110
- q as L,
111
- Q as M,
112
- K as S,
113
- W as T,
114
- X as _,
115
- D as b,
116
- G as i,
117
- O as j,
118
- V as r,
119
- H as v,
120
- k as w,
121
- J as y
122
- };
123
- //# sourceMappingURL=LexicalUtils.prod-Ckfw0Hjt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LexicalUtils.prod-Ckfw0Hjt.js","sources":["../node_modules/@lexical/utils/LexicalUtils.prod.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{isHTMLElement as t,$getSelection as e,$isRangeSelection as n,$isElementNode as o,getDOMTextNode as r,$getRoot as i,$getChildCaret as l,$getSiblingCaret as u,$getAdjacentChildCaret as s,$getChildCaretOrSelf as c,makeStepwiseIterator as f,$isChildCaret as a,$cloneWithProperties as d,$setSelection as g,$getPreviousSelection as p,$caretFromPoint as m,$createParagraphNode as h,$normalizeCaret as v,$setSelectionFromCaretRange as y,$getCollapsedCaretRange as w,$getCaretInDirection as x,$splitAtPointCaretNext as E,$isTextPointCaret as S,$isSiblingCaret as A,$rewindSiblingCaret as C,$getState as L,$setState as P}from\"lexical\";export{$splitNode,isBlockDomNode,isHTMLAnchorElement,isHTMLElement,isInlineDomNode}from\"lexical\";import{createRectsFromDOMRange as b}from\"@lexical/selection\";function N(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",t);for(const t of e)o.append(\"v\",t);throw n.search=o.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const M=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,R=M&&\"documentMode\"in document?document.documentMode:null,T=M&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),B=M&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),_=!(!M||!(\"InputEvent\"in window)||R)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),k=M&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),K=M&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,H=M&&/Android/.test(navigator.userAgent),O=M&&/^(?=.*Chrome).*/i.test(navigator.userAgent),$=M&&H&&O,D=M&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!O;function I(...t){const e=[];for(const n of t)if(n&&\"string\"==typeof n)for(const[t]of n.matchAll(/\\S+/g))e.push(t);return e}function j(...t){return()=>{for(let e=t.length-1;e>=0;e--)t[e]();t.length=0}}function F(t){return`${t}px`}const U={attributes:!0,characterData:!0,childList:!0,subtree:!0};function z(e,n,o){let r=null,i=null,l=null,u=[];const s=document.createElement(\"div\");function c(){null===r&&N(182),null===i&&N(183);const{left:t,top:l}=i.getBoundingClientRect(),c=b(e,n);var f,a;s.isConnected||(a=s,(f=i).insertBefore(a,f.firstChild));let d=!1;for(let e=0;e<c.length;e++){const n=c[e],o=u[e]||document.createElement(\"div\"),r=o.style;\"absolute\"!==r.position&&(r.position=\"absolute\",d=!0);const i=F(n.left-t);r.left!==i&&(r.left=i,d=!0);const f=F(n.top-l);r.top!==f&&(o.style.top=f,d=!0);const a=F(n.width);r.width!==a&&(o.style.width=a,d=!0);const g=F(n.height);r.height!==g&&(o.style.height=g,d=!0),o.parentNode!==s&&(s.append(o),d=!0),u[e]=o}for(;u.length>c.length;)u.pop();d&&o(u)}function f(){i=null,r=null,null!==l&&l.disconnect(),l=null,s.remove();for(const t of u)t.remove();u=[]}s.style.position=\"relative\";const a=e.registerRootListener((function n(){const o=e.getRootElement();if(null===o)return f();const u=o.parentElement;if(!t(u))return f();f(),r=o,i=u,l=new MutationObserver((t=>{const o=e.getRootElement(),l=o&&o.parentElement;if(o!==r||l!==i)return n();for(const e of t)if(!s.contains(e.target))return c()})),l.observe(u,U),c()}));return()=>{a(),f()}}function V(t,e,n){if(\"text\"!==t.type&&o(e)){const o=e.getDOMSlot(n);return[o.element,o.getFirstChildOffset()+t.offset]}return[r(n)||n,t.offset]}function W(t,o){let r=null,i=null,l=null,u=null,s=null,c=null,f=()=>{};function a(a){a.read((()=>{const a=e();if(!n(a))return r=null,l=null,u=null,c=null,f(),void(f=()=>{});const[d,g]=function(t){const e=t.getStartEndPoints();return t.isBackward()?[e[1],e[0]]:e}(a),p=d.getNode(),m=p.getKey(),h=d.offset,v=g.getNode(),y=v.getKey(),w=g.offset,x=t.getElementByKey(m),E=t.getElementByKey(y),S=null===r||x!==i||h!==l||m!==r.getKey(),A=null===u||E!==s||w!==c||y!==u.getKey();if((S||A)&&null!==x&&null!==E){const e=function(t,e,n,o,r,i,l){const u=(t._window?t._window.document:document).createRange();return u.setStart(...V(e,n,o)),u.setEnd(...V(r,i,l)),u}(t,d,p,x,g,v,E);f(),f=z(t,e,(t=>{if(void 0===o)for(const e of t){const t=e.style;\"Highlight\"!==t.background&&(t.background=\"Highlight\"),\"HighlightText\"!==t.color&&(t.color=\"HighlightText\"),t.marginTop!==F(-1.5)&&(t.marginTop=F(-1.5)),t.paddingTop!==F(4)&&(t.paddingTop=F(4)),t.paddingBottom!==F(0)&&(t.paddingBottom=F(0))}else o(t)}))}r=p,i=x,l=h,u=v,s=E,c=w}))}return a(t.getEditorState()),j(t.registerUpdateListener((({editorState:t})=>a(t))),(()=>{f()}))}function G(t){let e=null;const n=()=>{const n=getSelection(),o=n&&n.anchorNode,r=t.getRootElement();null!==o&&null!==r&&r.contains(o)?null!==e&&(e(),e=null):null===e&&(e=W(t))};return document.addEventListener(\"selectionchange\",n),()=>{null!==e&&e(),document.removeEventListener(\"selectionchange\",n)}}const q=_,J=M,Q=H,X=$,Y=T,Z=D,tt=O,et=B,nt=K,ot=k;function rt(t,...e){const n=I(...e);n.length>0&&t.classList.add(...n)}function it(t,...e){const n=I(...e);n.length>0&&t.classList.remove(...n)}function lt(t,e){for(const n of e)if(t.type.startsWith(n))return!0;return!1}function ut(t,e){const n=t[Symbol.iterator]();return new Promise(((t,o)=>{const r=[],i=()=>{const{done:l,value:u}=n.next();if(l)return t(r);const s=new FileReader;s.addEventListener(\"error\",o),s.addEventListener(\"load\",(()=>{const t=s.result;\"string\"==typeof t&&r.push({file:u,result:t}),i()})),lt(u,e)?s.readAsDataURL(u):i()};i()}))}function st(t,e){return Array.from(at(t,e))}function ct(t){return t?t.getAdjacentCaret():null}function ft(t,e){return Array.from(ht(t,e))}function at(t,e){return dt(\"next\",t,e)}function dt(t,e,n){const r=i(),d=e||r,g=o(d)?l(d,t):u(d,t),p=pt(d),m=n?s(c(u(n,t))):function(t,e){const n=$t(u(t,e));return n&&n[0]}(d,t);let h=p;return f({hasNext:t=>null!==t,initial:g,map:t=>({depth:h,node:t.origin}),step:t=>{if(t.isSameNodeCaret(m))return null;a(t)&&h++;const e=$t(t);return!e||e[0].isSameNodeCaret(m)?null:(h+=e[1],e[0])}})}function gt(t){const e=$t(u(t,\"next\"));return e&&[e[0].origin,e[1]]}function pt(t){let e=-1;for(let n=t;null!==n;n=n.getParent())e++;return e}function mt(t){const e=$t(c(u(t,\"previous\")),\"root\");return e&&e[0].origin}function ht(t,e){return dt(\"previous\",t,e)}function vt(t,e){let n=t;for(;null!=n;){if(n instanceof e)return n;n=n.getParent()}return null}function yt(t){const e=wt(t,(t=>o(t)&&!t.isInline()));return o(e)||N(4,t.__key),e}const wt=(t,e)=>{let n=t;for(;n!==i()&&null!=n;){if(e(n))return n;n=n.getParent()}return null};function xt(t,e,n,o){const r=t=>t instanceof e;return t.registerNodeTransform(e,(t=>{const e=(t=>{const e=t.getChildren();for(let t=0;t<e.length;t++){const n=e[t];if(r(n))return null}let n=t,o=t;for(;null!==n;)if(o=n,n=n.getParent(),r(n))return{child:o,parent:n};return null})(t);if(null!==e){const{child:r,parent:i}=e;if(r.is(t)){o(i,t);const e=r.getNextSiblings(),l=e.length;if(i.insertAfter(r),0!==l){const t=n(i);r.insertAfter(t);for(let n=0;n<l;n++)t.append(e[n])}i.canBeEmpty()||0!==i.getChildrenSize()||i.remove()}}}))}function Et(t,e){const n=new Map,o=t._pendingEditorState;for(const[t,o]of e._nodeMap)n.set(t,d(o));o&&(o._nodeMap=n),t._dirtyType=2;const r=e._selection;g(null===r?null:r.clone())}function St(t){const o=e()||p();let r;if(n(o))r=m(o.focus,\"next\");else{if(null!=o){const t=o.getNodes(),e=t[t.length-1];e&&(r=u(e,\"next\"))}r=r||l(i(),\"previous\").getFlipped().insert(h())}const c=At(t,r),f=s(c),d=a(f)?v(f):c;return y(w(d)),t.getLatest()}function At(t,e,n){let o=x(e,\"next\");for(let t=o;t;t=E(t,n))o=t;return S(o)&&N(283),o.insert(t.isInline()?h().append(t):t),x(u(t.getLatest(),\"next\"),e.direction)}function Ct(t,e){const n=e();return t.replace(n),n.append(t),n}function Lt(t,e){return null!==t&&Object.getPrototypeOf(t).constructor.name===e.name}function Pt(t,e){const n=[];for(let o=0;o<t.length;o++){const r=e(t[o]);null!==r&&n.push(r)}return n}function bt(t,e){l(t,\"next\").insert(e)}let Nt=!(et||!J)&&void 0;function Mt(t){let e=1;if(function(){if(void 0===Nt){const t=document.createElement(\"div\");t.style.cssText=\"position: absolute; opacity: 0; width: 100px; left: -1000px;\",document.body.appendChild(t);const e=t.getBoundingClientRect();t.style.setProperty(\"zoom\",\"2\"),Nt=t.getBoundingClientRect().width===e.width,document.body.removeChild(t)}return Nt}())for(;t;)e*=Number(window.getComputedStyle(t).getPropertyValue(\"zoom\")),t=t.parentElement;return e}function Rt(t){return null!==t._parentEditor}function Tt(t,e){return Bt(t,e,null)}function Bt(t,e,n){let r=!1;for(const i of Kt(t))e(i)?null!==n&&n(i):(r=!0,o(i)&&Bt(i,e,n||(t=>i.insertAfter(t))),i.remove());return r}function _t(t,e){const n=[],r=Array.from(t).reverse();for(let t=r.pop();void 0!==t;t=r.pop())if(e(t))n.push(t);else if(o(t))for(const e of Kt(t))r.push(e);return n}function kt(t){return Ht(l(t,\"next\"))}function Kt(t){return Ht(l(t,\"previous\"))}function Ht(t){return f({hasNext:A,initial:t.getAdjacentCaret(),map:t=>t.origin.getLatest(),step:t=>t.getAdjacentCaret()})}function Ot(t){C(u(t,\"next\")).splice(1,t.getChildren())}function $t(t,e=\"root\"){let n=0,o=t,r=s(o);for(;null===r;){if(n--,r=o.getParentCaret(e),!r)return null;o=r,r=s(o)}return r&&[r,n]}function Dt(t){const e=e=>L(e,t),n=(e,n)=>P(e,t,n);return{$get:e,$set:n,accessors:[e,n],makeGetterMethod:()=>function(){return e(this)},makeSetterMethod:()=>function(t){return n(this,t)},stateConfig:t}}export{_t as $descendantsMatching,st as $dfs,at as $dfsIterator,Pt as $filter,wt as $findMatchingParent,kt as $firstToLastIterator,ct as $getAdjacentCaret,$t as $getAdjacentSiblingOrParentSiblingCaret,pt as $getDepth,yt as $getNearestBlockElementAncestorOrThrow,vt as $getNearestNodeOfType,mt as $getNextRightPreorderNode,gt as $getNextSiblingOrParentSibling,bt as $insertFirst,St as $insertNodeToNearestRoot,At as $insertNodeToNearestRootAtCaret,Rt as $isEditorIsNestedEditor,Kt as $lastToFirstIterator,Et as $restoreEditorState,ft as $reverseDfs,ht as $reverseDfsIterator,Tt as $unwrapAndFilterDescendants,Ot as $unwrapNode,Ct as $wrapNodeInElement,q as CAN_USE_BEFORE_INPUT,J as CAN_USE_DOM,Q as IS_ANDROID,X as IS_ANDROID_CHROME,Y as IS_APPLE,Z as IS_APPLE_WEBKIT,tt as IS_CHROME,et as IS_FIREFOX,nt as IS_IOS,ot as IS_SAFARI,rt as addClassNamesToElement,Mt as calculateZoomLevel,lt as isMimeType,Dt as makeStateWrapper,W as markSelection,ut as mediaFileReader,j as mergeRegister,Lt as objectKlassEquals,z as positionNodeOnRange,xt as registerNestedElementResolver,it as removeClassNamesFromElement,G as selectionAlwaysOnDisplay};\n"],"names":["N","t","e","n","o","M","R","B","I","j","J","et","rt","it","vt","yt","wt","i","St","p","r","m","u","l","h","c","At","f","s","d","a","v","y","w","x","E","S","Lt","bt","Nt","Mt","Tt","Bt","Kt","_t","Ht","A"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableCellResizerPlugin-Cpbankb8.js","sources":["../node_modules/@lexical/react/useLexicalEditable.prod.mjs","../src/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as n,useEffect as t,useMemo as i,useState as r,useRef as o}from\"react\";const c=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:t;function u(e){return{initialValueFn:()=>e.isEditable(),subscribe:n=>e.registerEditableListener(n)}}function a(){return function(n){const[t]=e(),u=i((()=>n(t)),[t,n]),[a,l]=r((()=>u.initialValueFn())),d=o(a);return c((()=>{const{initialValueFn:e,subscribe:n}=u,t=e();return d.current!==t&&(d.current=t,l(t)),n((e=>{d.current=e,l(e)}))}),[u,n]),a}(u)}export{a as useLexicalEditable};\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n * Modified from original to fit project needs wim jurriaans.\r\n *\r\n *\r\n */\r\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\r\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\r\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable';\r\nimport {\r\n $computeTableMapSkipCellCheck,\r\n $getTableNodeFromLexicalNodeOrThrow,\r\n $getTableRowIndexFromTableCellNode,\r\n $isTableCellNode,\r\n $isTableRowNode,\r\n TableNode,\r\n getDOMCellFromTarget,\r\n getTableElement,\r\n TableCellNode,\r\n} from '@lexical/table';\r\nimport { $getNearestNodeOfType, calculateZoomLevel } from '@lexical/utils';\r\nimport { $getNearestNodeFromDOMNode, isHTMLElement } from 'lexical';\r\nimport { createPortal } from 'react-dom';\r\n\r\nimport type { LexicalEditor } from 'lexical';\r\nimport type { TableDOMCell, TableMapType, TableRowNode } from '@lexical/table';\r\nimport type { JSX, MouseEventHandler, ReactPortal } from 'react';\r\n\r\nimport styles from './TableCellResizerPlugin.module.css';\r\n\r\nimport {\r\n getEditorContentWidth,\r\n getEditorParrentCellWidth,\r\n tableHasContent,\r\n} from 'components/RteEditor/Plugins/TablePlugin/helpers';\r\nimport { $createTableWrapperNode, TableWrapperNode } from 'components/RteEditor/nodes';\r\n\r\ntype MousePosition = {\r\n x: number;\r\n y: number;\r\n};\r\n\r\ntype MouseDraggingDirection = 'right' | 'bottom';\r\n\r\nconst MIN_ROW_HEIGHT = 33;\r\nconst MIN_COLUMN_WIDTH = 32;\r\nconst HALF = 2;\r\n\r\nfunction TableCellResizer({ editor }: { editor: LexicalEditor }): JSX.Element {\r\n const targetRef = useRef<HTMLElement | null>(null);\r\n const resizerRef = useRef<HTMLDivElement | null>(null);\r\n const tableRectRef = useRef<DOMRect | null>(null);\r\n\r\n const mouseStartPosRef = useRef<MousePosition | null>(null);\r\n const [mouseCurrentPos, updateMouseCurrentPos] = useState<MousePosition | null>(null);\r\n\r\n const [activeCell, updateActiveCell] = useState<TableDOMCell | null>(null);\r\n const [isMouseDown, updateIsMouseDown] = useState<boolean>(false);\r\n const [draggingDirection, updateDraggingDirection] = useState<MouseDraggingDirection | null>(null);\r\n\r\n const resetState = useCallback(() => {\r\n updateActiveCell(null);\r\n targetRef.current = null;\r\n updateDraggingDirection(null);\r\n mouseStartPosRef.current = null;\r\n tableRectRef.current = null;\r\n }, []);\r\n\r\n const isMouseDownOnEvent = (event: MouseEvent) => {\r\n return (event.buttons & 1) === 1;\r\n };\r\n\r\n useEffect(() => {\r\n return editor.registerNodeTransform(TableNode, (tableNode) => {\r\n // modification: set default column widths if not defined or table cells of imported tables has the width set\r\n if (!tableNode.getColWidths()) {\r\n const tableRows = tableNode.getChildren();\r\n const columnCount = tableNode.getColumnCount();\r\n const colWidths = new Array(columnCount).fill(undefined);\r\n\r\n const firstRow = tableRows[0] as TableRowNode;\r\n const cells = firstRow.getChildren();\r\n cells.forEach((cell, colIdx) => {\r\n const domCell = editor.getElementByKey(cell.getKey());\r\n if (domCell && domCell.style.width) {\r\n colWidths[colIdx] = parseInt(domCell.style.width, 10);\r\n domCell.style.width = '';\r\n } else if (tableHasContent(tableNode)) {\r\n const isNested = tableNode ? $getNearestNodeOfType(tableNode, TableCellNode) : null;\r\n\r\n const availableWidth = isNested\r\n ? getEditorParrentCellWidth(isNested, columnCount, editor)\r\n : getEditorContentWidth(editor);\r\n const newColWidth = availableWidth / columnCount;\r\n colWidths[colIdx] = Math.max(newColWidth, MIN_COLUMN_WIDTH);\r\n } else {\r\n colWidths[colIdx] = MIN_COLUMN_WIDTH;\r\n }\r\n });\r\n\r\n tableNode.setColWidths(colWidths);\r\n }\r\n\r\n // modification: wrap table node in a wrapper node if there is no wrapper node present\r\n if (tableNode && !(tableNode.getParent() instanceof TableWrapperNode)) {\r\n const wrapperNode = $createTableWrapperNode();\r\n tableNode.replace(wrapperNode);\r\n wrapperNode.append(tableNode);\r\n }\r\n\r\n return tableNode;\r\n });\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n const onMouseMove = (event: MouseEvent) => {\r\n const target = event.target;\r\n if (!isHTMLElement(target)) {\r\n return;\r\n }\r\n\r\n if (draggingDirection) {\r\n updateMouseCurrentPos({\r\n x: event.clientX,\r\n y: event.clientY,\r\n });\r\n return;\r\n }\r\n updateIsMouseDown(isMouseDownOnEvent(event));\r\n if (resizerRef.current && resizerRef.current.contains(target)) {\r\n return;\r\n }\r\n\r\n if (targetRef.current !== target) {\r\n targetRef.current = target;\r\n const cell = getDOMCellFromTarget(target);\r\n\r\n if (cell && activeCell !== cell) {\r\n editor.getEditorState().read(\r\n () => {\r\n const tableCellNode = $getNearestNodeFromDOMNode(cell.elem);\r\n if (!tableCellNode) {\r\n throw new Error('TableCellResizer: Table cell node not found.');\r\n }\r\n\r\n const tableNode = $getTableNodeFromLexicalNodeOrThrow(tableCellNode);\r\n const tableElement = getTableElement(tableNode, editor.getElementByKey(tableNode.getKey()));\r\n\r\n if (!tableElement) {\r\n throw new Error('TableCellResizer: Table element not found.');\r\n }\r\n\r\n targetRef.current = target;\r\n tableRectRef.current = tableElement.getBoundingClientRect();\r\n updateActiveCell(cell);\r\n },\r\n { editor }\r\n );\r\n } else if (cell == null) {\r\n resetState();\r\n }\r\n }\r\n };\r\n\r\n const onMouseDown = () => {\r\n updateIsMouseDown(true);\r\n };\r\n\r\n const onMouseUp = () => {\r\n updateIsMouseDown(false);\r\n };\r\n\r\n const removeRootListener = editor.registerRootListener((rootElement, prevRootElement) => {\r\n prevRootElement?.removeEventListener('mousemove', onMouseMove);\r\n prevRootElement?.removeEventListener('mousedown', onMouseDown);\r\n prevRootElement?.removeEventListener('mouseup', onMouseUp);\r\n rootElement?.addEventListener('mousemove', onMouseMove);\r\n rootElement?.addEventListener('mousedown', onMouseDown);\r\n rootElement?.addEventListener('mouseup', onMouseUp);\r\n });\r\n\r\n return () => {\r\n removeRootListener();\r\n };\r\n }, [activeCell, draggingDirection, editor, resetState]);\r\n\r\n const isHeightChanging = (direction: MouseDraggingDirection) => {\r\n if (direction === 'bottom') {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const updateRowHeight = useCallback(\r\n (heightChange: number) => {\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n\r\n editor.update(\r\n () => {\r\n const tableCellNode = $getNearestNodeFromDOMNode(activeCell.elem);\r\n if (!$isTableCellNode(tableCellNode)) {\r\n throw new Error('TableCellResizer: Table cell node not found.');\r\n }\r\n\r\n const tableNode = $getTableNodeFromLexicalNodeOrThrow(tableCellNode);\r\n\r\n const tableRowIndex = $getTableRowIndexFromTableCellNode(tableCellNode) + tableCellNode.getRowSpan() - 1;\r\n\r\n const tableRows = tableNode.getChildren();\r\n\r\n if (tableRowIndex >= tableRows.length || tableRowIndex < 0) {\r\n throw new Error('Expected table cell to be inside of table row.');\r\n }\r\n\r\n const tableRow = tableRows[tableRowIndex];\r\n\r\n if (!$isTableRowNode(tableRow)) {\r\n throw new Error('Expected table row');\r\n }\r\n\r\n let height = tableRow.getHeight();\r\n if (height === undefined) {\r\n const rowCells = tableRow.getChildren<TableCellNode>();\r\n height = Math.min(...rowCells.map((cell) => getCellNodeHeight(cell, editor) ?? Infinity));\r\n }\r\n\r\n const newHeight = Math.max(height + heightChange, MIN_ROW_HEIGHT);\r\n tableRow.setHeight(newHeight);\r\n },\r\n { tag: 'skip-scroll-into-view' }\r\n );\r\n },\r\n [activeCell, editor]\r\n );\r\n\r\n const getCellNodeHeight = (cell: TableCellNode, activeEditor: LexicalEditor): number | undefined => {\r\n const domCellNode = activeEditor.getElementByKey(cell.getKey());\r\n return domCellNode?.clientHeight;\r\n };\r\n\r\n const getCellColumnIndex = (tableCellNode: TableCellNode, tableMap: TableMapType) => {\r\n for (let row = 0; row < tableMap.length; row++) {\r\n for (let column = 0; column < tableMap[row].length; column++) {\r\n if (tableMap[row][column].cell === tableCellNode) {\r\n return column;\r\n }\r\n }\r\n }\r\n return -1;\r\n };\r\n\r\n const updateColumnWidth = useCallback(\r\n (widthChange: number) => {\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n editor.update(\r\n () => {\r\n const tableCellNode = $getNearestNodeFromDOMNode(activeCell.elem);\r\n if (!$isTableCellNode(tableCellNode)) {\r\n throw new Error('TableCellResizer: Table cell node not found.');\r\n }\r\n\r\n const tableNode = $getTableNodeFromLexicalNodeOrThrow(tableCellNode);\r\n const [tableMap] = $computeTableMapSkipCellCheck(tableNode, null, null);\r\n const columnIndex = getCellColumnIndex(tableCellNode, tableMap);\r\n if (columnIndex === undefined) {\r\n throw new Error('TableCellResizer: Table column not found.');\r\n }\r\n\r\n const colWidths = tableNode.getColWidths();\r\n if (!colWidths) {\r\n return;\r\n }\r\n const width = colWidths[columnIndex];\r\n if (width === undefined) {\r\n return;\r\n }\r\n const newColWidths = [...colWidths];\r\n const newWidth = Math.max(width + widthChange, MIN_COLUMN_WIDTH);\r\n newColWidths[columnIndex] = newWidth;\r\n tableNode.setColWidths(newColWidths);\r\n\r\n // modification: when resizing a column, also resize the next column so the table doesn't overflow\r\n if (columnIndex < tableNode.getColumnCount() - 1) {\r\n const nextColWidths = tableNode.getColWidths();\r\n if (!nextColWidths) {\r\n return;\r\n }\r\n const newNextColWidths = [...nextColWidths];\r\n const newColumnIndex = columnIndex + 1;\r\n const newNextWidth = nextColWidths[newColumnIndex];\r\n const nextWidth = Math.max(newNextWidth - widthChange, MIN_COLUMN_WIDTH);\r\n newNextColWidths[newColumnIndex] = nextWidth;\r\n tableNode.setColWidths(newNextColWidths);\r\n }\r\n },\r\n { tag: 'skip-scroll-into-view' }\r\n );\r\n },\r\n [activeCell, editor]\r\n );\r\n\r\n const mouseUpHandler = useCallback(\r\n (direction: MouseDraggingDirection) => {\r\n const handler = (event: MouseEvent) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n\r\n if (mouseStartPosRef.current) {\r\n const { x, y } = mouseStartPosRef.current;\r\n\r\n if (activeCell === null) {\r\n return;\r\n }\r\n const zoom = calculateZoomLevel(event.target as Element);\r\n\r\n if (isHeightChanging(direction)) {\r\n const heightChange = (event.clientY - y) / zoom;\r\n updateRowHeight(heightChange);\r\n } else {\r\n const widthChange = (event.clientX - x) / zoom;\r\n updateColumnWidth(widthChange);\r\n }\r\n\r\n resetState();\r\n document.removeEventListener('mouseup', handler);\r\n }\r\n };\r\n return handler;\r\n },\r\n [activeCell, resetState, updateColumnWidth, updateRowHeight]\r\n );\r\n\r\n const toggleResize = useCallback(\r\n (direction: MouseDraggingDirection): MouseEventHandler<HTMLDivElement> =>\r\n (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n\r\n mouseStartPosRef.current = {\r\n x: event.clientX,\r\n y: event.clientY,\r\n };\r\n updateMouseCurrentPos(mouseStartPosRef.current);\r\n updateDraggingDirection(direction);\r\n\r\n document.addEventListener('mouseup', mouseUpHandler(direction));\r\n },\r\n [activeCell, mouseUpHandler]\r\n );\r\n\r\n const getResizers = useCallback(() => {\r\n if (activeCell) {\r\n const { height, width, top, left } = activeCell.elem.getBoundingClientRect();\r\n const zoom = calculateZoomLevel(activeCell.elem);\r\n const zoneWidth = 10; // Pixel width of the zone where you can drag the edge\r\n const styles = {\r\n bottom: {\r\n backgroundColor: 'none',\r\n cursor: 'ns-resize',\r\n height: `${zoneWidth}px`,\r\n left: `${window.pageXOffset + left}px`,\r\n top: `${window.pageYOffset + top + height - zoneWidth / HALF}px`,\r\n width: `${width}px`,\r\n zIndex: 5000,\r\n },\r\n right: {\r\n backgroundColor: 'none',\r\n cursor: 'ew-resize',\r\n height: `${height}px`,\r\n left: `${window.pageXOffset + left + width - zoneWidth / HALF}px`,\r\n top: `${window.pageYOffset + top}px`,\r\n width: `${zoneWidth}px`,\r\n zIndex: 5000,\r\n },\r\n };\r\n\r\n const tableRect = tableRectRef.current;\r\n\r\n if (draggingDirection && mouseCurrentPos && tableRect) {\r\n if (isHeightChanging(draggingDirection)) {\r\n styles[draggingDirection].left = `${window.pageXOffset + tableRect.left}px`;\r\n styles[draggingDirection].top = `${window.pageYOffset + mouseCurrentPos.y / zoom}px`;\r\n styles[draggingDirection].height = '3px';\r\n styles[draggingDirection].width = `${tableRect.width}px`;\r\n } else {\r\n styles[draggingDirection].top = `${window.pageYOffset + tableRect.top}px`;\r\n styles[draggingDirection].left = `${window.pageXOffset + mouseCurrentPos.x / zoom}px`;\r\n styles[draggingDirection].width = '3px';\r\n styles[draggingDirection].height = `${tableRect.height}px`;\r\n }\r\n\r\n styles[draggingDirection].backgroundColor = '#adf';\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n return {\r\n bottom: null,\r\n left: null,\r\n right: null,\r\n top: null,\r\n };\r\n }, [activeCell, draggingDirection, mouseCurrentPos]);\r\n\r\n const resizerStyles = getResizers();\r\n\r\n return (\r\n <div ref={resizerRef}>\r\n {activeCell != null && !isMouseDown && (\r\n <>\r\n <div\r\n className={styles['table-cell-resizer__resizer']}\r\n style={resizerStyles.right || undefined}\r\n onMouseDown={toggleResize('right')}\r\n />\r\n <div\r\n className={styles['table-cell-resizer__resizer']}\r\n style={resizerStyles.bottom || undefined}\r\n onMouseDown={toggleResize('bottom')}\r\n />\r\n </>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport const TableCellResizerPlugin = (): null | ReactPortal => {\r\n const [editor] = useLexicalComposerContext();\r\n const isEditable = useLexicalEditable();\r\n\r\n return useMemo(\r\n () => (isEditable ? createPortal(<TableCellResizer editor={editor} />, document.body) : null),\r\n [editor, isEditable]\r\n );\r\n};\r\n"],"names":["c","n","t","u","e","a","i","l","r","d","o","MIN_ROW_HEIGHT","MIN_COLUMN_WIDTH","HALF","TableCellResizer","editor","targetRef","useRef","resizerRef","tableRectRef","mouseStartPosRef","mouseCurrentPos","updateMouseCurrentPos","useState","activeCell","updateActiveCell","isMouseDown","updateIsMouseDown","draggingDirection","updateDraggingDirection","resetState","useCallback","isMouseDownOnEvent","event","useEffect","TableNode","tableNode","tableRows","columnCount","colWidths","cell","colIdx","domCell","tableHasContent","isNested","$getNearestNodeOfType","TableCellNode","newColWidth","getEditorParrentCellWidth","getEditorContentWidth","TableWrapperNode","wrapperNode","$createTableWrapperNode","onMouseMove","target","isHTMLElement","getDOMCellFromTarget","tableCellNode","$getNearestNodeFromDOMNode","$getTableNodeFromLexicalNodeOrThrow","tableElement","getTableElement","onMouseDown","onMouseUp","removeRootListener","rootElement","prevRootElement","isHeightChanging","direction","updateRowHeight","heightChange","$isTableCellNode","tableRowIndex","$getTableRowIndexFromTableCellNode","tableRow","$isTableRowNode","height","rowCells","getCellNodeHeight","newHeight","activeEditor","getCellColumnIndex","tableMap","row","column","updateColumnWidth","widthChange","$computeTableMapSkipCellCheck","columnIndex","width","newColWidths","newWidth","nextColWidths","newNextColWidths","newColumnIndex","newNextWidth","nextWidth","mouseUpHandler","handler","x","y","zoom","calculateZoomLevel","toggleResize","resizerStyles","top","left","zoneWidth","styles","tableRect","jsx","jsxs","Fragment","TableCellResizerPlugin","useLexicalComposerContext","isEditable","useLexicalEditable","useMemo","createPortal"],"mappings":";;;;;;;;;AAQgL,MAAMA,KAAe,OAAO,SAApB,OAAqC,OAAO,aAAhB,UAAmC,OAAO,SAAS,kBAAzB,SAAuCC,IAAEC;AAAE,SAASC,GAAEC,GAAE;AAAC,SAAM,EAAC,gBAAe,MAAIA,EAAE,WAAU,GAAG,WAAU,CAAAH,MAAGG,EAAE,yBAAyBH,CAAC,EAAC;AAAC;AAAC,SAASI,KAAG;AAAC,UAAO,SAASJ,GAAE;AAAC,UAAK,CAACC,CAAC,IAAEE,EAAC,GAAGD,IAAEG,GAAG,MAAIL,EAAEC,CAAC,IAAG,CAACA,GAAED,CAAC,CAAC,GAAE,CAACI,GAAEE,CAAC,IAAEC,GAAG,MAAIL,EAAE,eAAc,EAAE,GAAGM,IAAEC,EAAEL,CAAC;AAAE,WAAOL,IAAG,MAAI;AAAC,YAAK,EAAC,gBAAeI,GAAE,WAAUH,EAAC,IAAEE,GAAED,IAAEE;AAAI,aAAOK,EAAE,YAAUP,MAAIO,EAAE,UAAQP,GAAEK,EAAEL,CAAC,IAAGD,GAAG,CAAAG,MAAG;AAAC,QAAAK,EAAE,UAAQL,GAAEG,EAAEH,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE,IAAG,CAACD,GAAEF,CAAC,CAAC,GAAEI;AAAA,EAAC,GAAEF,EAAC;AAAC;;;GCyC/mBQ,KAAiB,IACjBC,IAAmB,IACnBC,IAAO;AAEb,SAASC,GAAiB,EAAE,QAAAC,KAAkD;AAC5E,QAAMC,IAAYC,EAA2B,IAAI,GAC3CC,IAAaD,EAA8B,IAAI,GAC/CE,IAAeF,EAAuB,IAAI,GAE1CG,IAAmBH,EAA6B,IAAI,GACpD,CAACI,GAAiBC,CAAqB,IAAIC,EAA+B,IAAI,GAE9E,CAACC,GAAYC,CAAgB,IAAIF,EAA8B,IAAI,GACnE,CAACG,GAAaC,CAAiB,IAAIJ,EAAkB,EAAK,GAC1D,CAACK,GAAmBC,CAAuB,IAAIN,EAAwC,IAAI,GAE3FO,IAAaC,EAAY,MAAM;AACnC,IAAAN,EAAiB,IAAI,GACrBT,EAAU,UAAU,MACpBa,EAAwB,IAAI,GAC5BT,EAAiB,UAAU,MAC3BD,EAAa,UAAU;AAAA,EACzB,GAAG,CAAA,CAAE,GAECa,IAAqB,CAACC,OAClBA,EAAM,UAAU,OAAO;AAGjC,EAAAC,EAAU,MACDnB,EAAO,sBAAsBoB,IAAW,CAACC,MAAc;AAE5D,QAAI,CAACA,EAAU,gBAAgB;AAC7B,YAAMC,IAAYD,EAAU,YAAA,GACtBE,IAAcF,EAAU,eAAA,GACxBG,IAAY,IAAI,MAAMD,CAAW,EAAE,KAAK,MAAS;AAIvD,MAFiBD,EAAU,CAAC,EACL,YAAA,EACjB,QAAQ,CAACG,GAAMC,MAAW;AAC9B,cAAMC,IAAU3B,EAAO,gBAAgByB,EAAK,QAAQ;AACpD,YAAIE,KAAWA,EAAQ,MAAM;AAC3B,UAAAH,EAAUE,CAAM,IAAI,SAASC,EAAQ,MAAM,OAAO,EAAE,GACpDA,EAAQ,MAAM,QAAQ;AAAA,iBACbC,GAAgBP,CAAS,GAAG;AACrC,gBAAMQ,IAAWR,IAAYS,GAAsBT,GAAWU,EAAa,IAAI,MAKzEC,KAHiBH,IACnBI,GAA0BJ,GAAUN,GAAavB,CAAM,IACvDkC,GAAsBlC,CAAM,KACKuB;AACrC,UAAAC,EAAUE,CAAM,IAAI,KAAK,IAAIM,GAAanC,CAAgB;AAAA,QAC5D;AACE,UAAA2B,EAAUE,CAAM,IAAI7B;AAAA,MAExB,CAAC,GAEDwB,EAAU,aAAaG,CAAS;AAAA,IAClC;AAGA,QAAIH,KAAa,EAAEA,EAAU,UAAA,aAAuBc,KAAmB;AACrE,YAAMC,IAAcC,GAAA;AACpB,MAAAhB,EAAU,QAAQe,CAAW,GAC7BA,EAAY,OAAOf,CAAS;AAAA,IAC9B;AAEA,WAAOA;AAAA,EACT,CAAC,GACA,CAACrB,CAAM,CAAC,GAEXmB,EAAU,MAAM;AACd,UAAMmB,IAAc,CAACpB,MAAsB;AACzC,YAAMqB,IAASrB,EAAM;AACrB,UAAKsB,GAAcD,CAAM,GAIzB;AAAA,YAAI1B,GAAmB;AACrB,UAAAN,EAAsB;AAAA,YACpB,GAAGW,EAAM;AAAA,YACT,GAAGA,EAAM;AAAA,UAAA,CACV;AACD;AAAA,QACF;AAEA,YADAN,EAAkBK,EAAmBC,CAAK,CAAC,GACvC,EAAAf,EAAW,WAAWA,EAAW,QAAQ,SAASoC,CAAM,MAIxDtC,EAAU,YAAYsC,GAAQ;AAChC,UAAAtC,EAAU,UAAUsC;AACpB,gBAAMd,IAAOgB,GAAqBF,CAAM;AAExC,UAAId,KAAQhB,MAAegB,IACzBzB,EAAO,iBAAiB;AAAA,YACtB,MAAM;AACJ,oBAAM0C,IAAgBC,EAA2BlB,EAAK,IAAI;AAC1D,kBAAI,CAACiB;AACH,sBAAM,IAAI,MAAM,8CAA8C;AAGhE,oBAAMrB,IAAYuB,EAAoCF,CAAa,GAC7DG,IAAeC,GAAgBzB,GAAWrB,EAAO,gBAAgBqB,EAAU,OAAA,CAAQ,CAAC;AAE1F,kBAAI,CAACwB;AACH,sBAAM,IAAI,MAAM,4CAA4C;AAG9D,cAAA5C,EAAU,UAAUsC,GACpBnC,EAAa,UAAUyC,EAAa,sBAAA,GACpCnC,EAAiBe,CAAI;AAAA,YACvB;AAAA,YACA,EAAE,QAAAzB,EAAA;AAAA,UAAO,IAEFyB,KAAQ,QACjBV,EAAA;AAAA,QAEJ;AAAA;AAAA,IACF,GAEMgC,IAAc,MAAM;AACxB,MAAAnC,EAAkB,EAAI;AAAA,IACxB,GAEMoC,IAAY,MAAM;AACtB,MAAApC,EAAkB,EAAK;AAAA,IACzB,GAEMqC,IAAqBjD,EAAO,qBAAqB,CAACkD,GAAaC,MAAoB;AACvF,MAAAA,GAAiB,oBAAoB,aAAab,CAAW,GAC7Da,GAAiB,oBAAoB,aAAaJ,CAAW,GAC7DI,GAAiB,oBAAoB,WAAWH,CAAS,GACzDE,GAAa,iBAAiB,aAAaZ,CAAW,GACtDY,GAAa,iBAAiB,aAAaH,CAAW,GACtDG,GAAa,iBAAiB,WAAWF,CAAS;AAAA,IACpD,CAAC;AAED,WAAO,MAAM;AACX,MAAAC,EAAA;AAAA,IACF;AAAA,EACF,GAAG,CAACxC,GAAYI,GAAmBb,GAAQe,CAAU,CAAC;AAEtD,QAAMqC,IAAmB,CAACC,MACpBA,MAAc,UAMdC,IAAkBtC;AAAA,IACtB,CAACuC,MAAyB;AACxB,UAAI,CAAC9C;AACH,cAAM,IAAI,MAAM,yCAAyC;AAG3D,MAAAT,EAAO;AAAA,QACL,MAAM;AACJ,gBAAM0C,IAAgBC,EAA2BlC,EAAW,IAAI;AAChE,cAAI,CAAC+C,EAAiBd,CAAa;AACjC,kBAAM,IAAI,MAAM,8CAA8C;AAGhE,gBAAMrB,IAAYuB,EAAoCF,CAAa,GAE7De,IAAgBC,GAAmChB,CAAa,IAAIA,EAAc,eAAe,GAEjGpB,IAAYD,EAAU,YAAA;AAE5B,cAAIoC,KAAiBnC,EAAU,UAAUmC,IAAgB;AACvD,kBAAM,IAAI,MAAM,gDAAgD;AAGlE,gBAAME,IAAWrC,EAAUmC,CAAa;AAExC,cAAI,CAACG,GAAgBD,CAAQ;AAC3B,kBAAM,IAAI,MAAM,oBAAoB;AAGtC,cAAIE,IAASF,EAAS,UAAA;AACtB,cAAIE,MAAW,QAAW;AACxB,kBAAMC,IAAWH,EAAS,YAAA;AAC1B,YAAAE,IAAS,KAAK,IAAI,GAAGC,EAAS,IAAI,CAACrC,MAASsC,EAAkBtC,GAAMzB,CAAM,KAAK,KAAQ,CAAC;AAAA,UAC1F;AAEA,gBAAMgE,IAAY,KAAK,IAAIH,IAASN,GAAc3D,EAAc;AAChE,UAAA+D,EAAS,UAAUK,CAAS;AAAA,QAC9B;AAAA,QACA,EAAE,KAAK,wBAAA;AAAA,MAAwB;AAAA,IAEnC;AAAA,IACA,CAACvD,GAAYT,CAAM;AAAA,EAAA,GAGf+D,IAAoB,CAACtC,GAAqBwC,MAC1BA,EAAa,gBAAgBxC,EAAK,QAAQ,GAC1C,cAGhByC,IAAqB,CAACxB,GAA8ByB,MAA2B;AACnF,aAASC,IAAM,GAAGA,IAAMD,EAAS,QAAQC;AACvC,eAASC,IAAS,GAAGA,IAASF,EAASC,CAAG,EAAE,QAAQC;AAClD,YAAIF,EAASC,CAAG,EAAEC,CAAM,EAAE,SAAS3B;AACjC,iBAAO2B;AAIb,WAAO;AAAA,EACT,GAEMC,IAAoBtD;AAAA,IACxB,CAACuD,MAAwB;AACvB,UAAI,CAAC9D;AACH,cAAM,IAAI,MAAM,yCAAyC;AAE3D,MAAAT,EAAO;AAAA,QACL,MAAM;AACJ,gBAAM0C,IAAgBC,EAA2BlC,EAAW,IAAI;AAChE,cAAI,CAAC+C,EAAiBd,CAAa;AACjC,kBAAM,IAAI,MAAM,8CAA8C;AAGhE,gBAAMrB,IAAYuB,EAAoCF,CAAa,GAC7D,CAACyB,CAAQ,IAAIK,GAA8BnD,GAAW,MAAM,IAAI,GAChEoD,IAAcP,EAAmBxB,GAAeyB,CAAQ;AAC9D,cAAIM,MAAgB;AAClB,kBAAM,IAAI,MAAM,2CAA2C;AAG7D,gBAAMjD,IAAYH,EAAU,aAAA;AAC5B,cAAI,CAACG;AACH;AAEF,gBAAMkD,IAAQlD,EAAUiD,CAAW;AACnC,cAAIC,MAAU;AACZ;AAEF,gBAAMC,IAAe,CAAC,GAAGnD,CAAS,GAC5BoD,IAAW,KAAK,IAAIF,IAAQH,GAAa1E,CAAgB;AAK/D,cAJA8E,EAAaF,CAAW,IAAIG,GAC5BvD,EAAU,aAAasD,CAAY,GAG/BF,IAAcpD,EAAU,eAAA,IAAmB,GAAG;AAChD,kBAAMwD,IAAgBxD,EAAU,aAAA;AAChC,gBAAI,CAACwD;AACH;AAEF,kBAAMC,IAAmB,CAAC,GAAGD,CAAa,GACpCE,IAAiBN,IAAc,GAC/BO,IAAeH,EAAcE,CAAc,GAC3CE,IAAY,KAAK,IAAID,IAAeT,GAAa1E,CAAgB;AACvE,YAAAiF,EAAiBC,CAAc,IAAIE,GACnC5D,EAAU,aAAayD,CAAgB;AAAA,UACzC;AAAA,QACF;AAAA,QACA,EAAE,KAAK,wBAAA;AAAA,MAAwB;AAAA,IAEnC;AAAA,IACA,CAACrE,GAAYT,CAAM;AAAA,EAAA,GAGfkF,IAAiBlE;AAAA,IACrB,CAACqC,MAAsC;AACrC,YAAM8B,IAAU,CAACjE,MAAsB;AAIrC,YAHAA,EAAM,eAAA,GACNA,EAAM,gBAAA,GAEF,CAACT;AACH,gBAAM,IAAI,MAAM,yCAAyC;AAG3D,YAAIJ,EAAiB,SAAS;AAC5B,gBAAM,EAAE,GAAA+E,GAAG,GAAAC,EAAA,IAAMhF,EAAiB;AAElC,cAAII,MAAe;AACjB;AAEF,gBAAM6E,IAAOC,EAAmBrE,EAAM,MAAiB;AAEvD,cAAIkC,EAAiBC,CAAS,GAAG;AAC/B,kBAAME,KAAgBrC,EAAM,UAAUmE,KAAKC;AAC3C,YAAAhC,EAAgBC,CAAY;AAAA,UAC9B,OAAO;AACL,kBAAMgB,KAAerD,EAAM,UAAUkE,KAAKE;AAC1C,YAAAhB,EAAkBC,CAAW;AAAA,UAC/B;AAEA,UAAAxD,EAAA,GACA,SAAS,oBAAoB,WAAWoE,CAAO;AAAA,QACjD;AAAA,MACF;AACA,aAAOA;AAAA,IACT;AAAA,IACA,CAAC1E,GAAYM,GAAYuD,GAAmBhB,CAAe;AAAA,EAAA,GAGvDkC,IAAexE;AAAA,IACnB,CAACqC,MACC,CAACnC,MAAU;AAIT,UAHAA,EAAM,eAAA,GACNA,EAAM,gBAAA,GAEF,CAACT;AACH,cAAM,IAAI,MAAM,yCAAyC;AAG3D,MAAAJ,EAAiB,UAAU;AAAA,QACzB,GAAGa,EAAM;AAAA,QACT,GAAGA,EAAM;AAAA,MAAA,GAEXX,EAAsBF,EAAiB,OAAO,GAC9CS,EAAwBuC,CAAS,GAEjC,SAAS,iBAAiB,WAAW6B,EAAe7B,CAAS,CAAC;AAAA,IAChE;AAAA,IACF,CAAC5C,GAAYyE,CAAc;AAAA,EAAA,GA0DvBO,IAvDczE,EAAY,MAAM;AACpC,QAAIP,GAAY;AACd,YAAM,EAAE,QAAAoD,GAAQ,OAAAa,GAAO,KAAAgB,GAAK,MAAAC,MAASlF,EAAW,KAAK,sBAAA,GAC/C6E,IAAOC,EAAmB9E,EAAW,IAAI,GACzCmF,IAAY,IACZC,IAAS;AAAA,QACb,QAAQ;AAAA,UACN,iBAAiB;AAAA,UACjB,QAAQ;AAAA,UACR,QAAQ,GAAGD,CAAS;AAAA,UACpB,MAAM,GAAG,OAAO,cAAcD,CAAI;AAAA,UAClC,KAAK,GAAG,OAAO,cAAcD,IAAM7B,IAAS+B,IAAY9F,CAAI;AAAA,UAC5D,OAAO,GAAG4E,CAAK;AAAA,UACf,QAAQ;AAAA,QAAA;AAAA,QAEV,OAAO;AAAA,UACL,iBAAiB;AAAA,UACjB,QAAQ;AAAA,UACR,QAAQ,GAAGb,CAAM;AAAA,UACjB,MAAM,GAAG,OAAO,cAAc8B,IAAOjB,IAAQkB,IAAY9F,CAAI;AAAA,UAC7D,KAAK,GAAG,OAAO,cAAc4F,CAAG;AAAA,UAChC,OAAO,GAAGE,CAAS;AAAA,UACnB,QAAQ;AAAA,QAAA;AAAA,MACV,GAGIE,IAAY1F,EAAa;AAE/B,aAAIS,KAAqBP,KAAmBwF,MACtC1C,EAAiBvC,CAAiB,KACpCgF,EAAOhF,CAAiB,EAAE,OAAO,GAAG,OAAO,cAAciF,EAAU,IAAI,MACvED,EAAOhF,CAAiB,EAAE,MAAM,GAAG,OAAO,cAAcP,EAAgB,IAAIgF,CAAI,MAChFO,EAAOhF,CAAiB,EAAE,SAAS,OACnCgF,EAAOhF,CAAiB,EAAE,QAAQ,GAAGiF,EAAU,KAAK,SAEpDD,EAAOhF,CAAiB,EAAE,MAAM,GAAG,OAAO,cAAciF,EAAU,GAAG,MACrED,EAAOhF,CAAiB,EAAE,OAAO,GAAG,OAAO,cAAcP,EAAgB,IAAIgF,CAAI,MACjFO,EAAOhF,CAAiB,EAAE,QAAQ,OAClCgF,EAAOhF,CAAiB,EAAE,SAAS,GAAGiF,EAAU,MAAM,OAGxDD,EAAOhF,CAAiB,EAAE,kBAAkB,SAGvCgF;AAAAA,IACT;AAEA,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,KAAK;AAAA,IAAA;AAAA,EAET,GAAG,CAACpF,GAAYI,GAAmBP,CAAe,CAAC,EAE7B;AAEtB,SACE,gBAAAyF,EAAC,SAAI,KAAK5F,GACP,eAAc,QAAQ,CAACQ,KACtB,gBAAAqF,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWF,EAAO,6BAA6B;AAAA,QAC/C,OAAOJ,EAAc,SAAS;AAAA,QAC9B,aAAaD,EAAa,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,IAEnC,gBAAAO;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWF,EAAO,6BAA6B;AAAA,QAC/C,OAAOJ,EAAc,UAAU;AAAA,QAC/B,aAAaD,EAAa,QAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACpC,EAAA,CACF,EAAA,CAEJ;AAEJ;AAEO,MAAMU,KAAyB,MAA0B;AAC9D,QAAM,CAAClG,CAAM,IAAImG,EAAA,GACXC,IAAaC,GAAA;AAEnB,SAAOC;AAAA,IACL,MAAOF,IAAaG,GAAa,gBAAAR,EAAChG,MAAiB,QAAAC,EAAA,CAAgB,GAAI,SAAS,IAAI,IAAI;AAAA,IACxF,CAACA,GAAQoG,CAAU;AAAA,EAAA;AAEvB;","x_google_ignoreList":[0]}