11import {
2- TableHandleColumnRoot ,
3- TableHandleColumnTrigger ,
4- TableHandlePopoverContent ,
5- TableHandlePopoverItem ,
2+ TableHandleColumnMenuRoot ,
3+ TableHandleColumnMenuTrigger ,
4+ TableHandleColumnPopup ,
65 TableHandleRoot ,
7- TableHandleRowRoot ,
8- TableHandleRowTrigger ,
6+ TableHandleRowMenuRoot ,
7+ TableHandleRowMenuTrigger ,
8+ TableHandleRowPopup ,
99} from 'prosekit/lit/table-handle'
1010
1111if ( ! customElements . get ( 'prosekit-table-handle-root' ) ) customElements . define ( 'prosekit-table-handle-root' , TableHandleRoot )
12- if ( ! customElements . get ( 'prosekit-table-handle-column-root' ) ) customElements . define ( 'prosekit-table-handle-column-root' , TableHandleColumnRoot )
13- if ( ! customElements . get ( 'prosekit-table-handle-column-trigger' ) ) customElements . define ( 'prosekit-table-handle-column-trigger' , TableHandleColumnTrigger )
14- if ( ! customElements . get ( 'prosekit-table-handle-row-root ' ) ) customElements . define ( 'prosekit-table-handle-row-root ' , TableHandleRowRoot )
15- if ( ! customElements . get ( 'prosekit-table-handle-row-trigger ' ) ) customElements . define ( 'prosekit-table-handle-row-trigger ' , TableHandleRowTrigger )
16- if ( ! customElements . get ( 'prosekit-table-handle-popover-content ' ) ) customElements . define ( 'prosekit-table-handle-popover-content ' , TableHandlePopoverContent )
17- if ( ! customElements . get ( 'prosekit-table-handle-popover-item ' ) ) customElements . define ( 'prosekit-table-handle-popover-item ' , TableHandlePopoverItem )
12+ if ( ! customElements . get ( 'prosekit-table-handle-column-menu- root' ) ) customElements . define ( 'prosekit-table-handle-column-menu- root' , TableHandleColumnMenuRoot )
13+ if ( ! customElements . get ( 'prosekit-table-handle-column-menu- trigger' ) ) customElements . define ( 'prosekit-table-handle-column-menu- trigger' , TableHandleColumnMenuTrigger )
14+ if ( ! customElements . get ( 'prosekit-table-handle-column-popup ' ) ) customElements . define ( 'prosekit-table-handle-column-popup ' , TableHandleColumnPopup )
15+ if ( ! customElements . get ( 'prosekit-table-handle-row-menu-root ' ) ) customElements . define ( 'prosekit-table-handle-row-menu-root ' , TableHandleRowMenuRoot )
16+ if ( ! customElements . get ( 'prosekit-table-handle-row-menu-trigger ' ) ) customElements . define ( 'prosekit-table-handle-row-menu-trigger ' , TableHandleRowMenuTrigger )
17+ if ( ! customElements . get ( 'prosekit-table-handle-row-popup ' ) ) customElements . define ( 'prosekit-table-handle-row-popup ' , TableHandleRowPopup )
1818
1919import { html , LitElement , nothing } from 'lit'
2020import { defineUpdateHandler } from 'prosekit/core'
@@ -108,13 +108,14 @@ class LitEditorTableHandle extends LitElement {
108108 if ( ! item ?. canExec ) return nothing
109109
110110 return html `
111- < prosekit-table-handle-popover-item
111+ < button
112112 class ="relative min-w-[8rem] scroll-my-1 rounded px-3 py-1.5 flex items-center justify-between gap-8 box-border cursor-default select-none whitespace-nowrap outline-none data-[focused]:bg-gray-100 dark:data-[focused]:bg-gray-800 "
113- @select =${ item . command }
113+ @mousedown =${ ( event ) => event . preventDefault ( ) }
114+ @click =${ item . command }
114115 >
115116 < span > ${ label } </ span >
116117 ${ shortcut ? html `< span class ="text-xs tracking-widest text-gray-500 dark:text-gray-500 "> ${ shortcut } </ span > ` : nothing }
117- </ prosekit-table-handle-popover-item >
118+ </ button >
118119 `
119120 }
120121
@@ -126,39 +127,39 @@ class LitEditorTableHandle extends LitElement {
126127
127128 return html `
128129 < prosekit-table-handle-root .editor =${ editor } class ="contents">
129- < prosekit-table-handle-column-root
130+ < prosekit-table-handle-column-menu- root
130131 .editor =${ editor }
131132 class ="flex items-center box-border justify-center h-[1.2em] w-[1.5em] bg-white hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500/50 dark:text-gray-500/50 translate-y-3 border border-gray-200 dark:border-gray-800 border-solid [&:not([data-state])]:hidden will-change-transform data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95 data-[state=open]:animate-duration-150 data-[state=closed]:animate-duration-200"
132133 >
133- < prosekit-table-handle-column-trigger .editor =${ editor } >
134+ < prosekit-table-handle-column-menu- trigger .editor =${ editor } >
134135 < div class ="i-lucide-grip-horizontal h-5 w-5 "> </ div >
135- </ prosekit-table-handle-column-trigger >
136- < prosekit-table-handle-popover-content
136+ </ prosekit-table-handle-column-menu- trigger >
137+ < prosekit-table-handle-column-popup
137138 class ="relative block max-h-[25rem] min-w-[8rem] select-none overflow-auto whitespace-nowrap p-1 z-10 box-border rounded-lg border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-950 shadow-lg [&:not([data-state])]:hidden "
138139 >
139140 ${ this . renderPopoverItem ( state . addTableColumnBefore , 'Insert Left' ) }
140141 ${ this . renderPopoverItem ( state . addTableColumnAfter , 'Insert Right' ) }
141142 ${ this . renderPopoverItem ( state . deleteCellSelection , 'Clear Contents' , 'Del' ) }
142143 ${ this . renderPopoverItem ( state . deleteTableColumn , 'Delete Column' ) }
143- </ prosekit-table-handle-popover-content >
144- </ prosekit-table-handle-column-root >
144+ </ prosekit-table-handle-column-popup >
145+ </ prosekit-table-handle-column-menu- root >
145146
146- < prosekit-table-handle-row-root
147+ < prosekit-table-handle-row-menu- root
147148 .editor =${ editor }
148149 class ="flex items-center box-border justify-center h-[1.5em] w-[1.2em] bg-white hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500/50 dark:text-gray-500/50 translate-x-3 border border-gray-200 dark:border-gray-800 border-solid [&:not([data-state])]:hidden will-change-transform data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95 data-[state=open]:animate-duration-150 data-[state=closed]:animate-duration-200"
149150 >
150- < prosekit-table-handle-row-trigger .editor =${ editor } >
151+ < prosekit-table-handle-row-menu- trigger .editor =${ editor } >
151152 < div class ="i-lucide-grip-vertical h-5 w-5 "> </ div >
152- </ prosekit-table-handle-row-trigger >
153- < prosekit-table-handle-popover-content
153+ </ prosekit-table-handle-row-menu- trigger >
154+ < prosekit-table-handle-row-popup
154155 class ="relative block max-h-[25rem] min-w-[8rem] select-none overflow-auto whitespace-nowrap p-1 z-10 box-border rounded-lg border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-950 shadow-lg [&:not([data-state])]:hidden "
155156 >
156157 ${ this . renderPopoverItem ( state . addTableRowAbove , 'Insert Above' ) }
157158 ${ this . renderPopoverItem ( state . addTableRowBelow , 'Insert Below' ) }
158159 ${ this . renderPopoverItem ( state . deleteCellSelection , 'Clear Contents' , 'Del' ) }
159160 ${ this . renderPopoverItem ( state . deleteTableRow , 'Delete Row' ) }
160- </ prosekit-table-handle-popover-content >
161- </ prosekit-table-handle-row-root >
161+ </ prosekit-table-handle-row-popup >
162+ </ prosekit-table-handle-row-menu- root >
162163 </ prosekit-table-handle-root >
163164 `
164165 }
0 commit comments