@ni/nimble-components 20.2.2 → 20.2.4

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.
@@ -7740,7 +7740,7 @@ const hO=mi.tagFor(cO),uO="Bold",pO="Italics",fO="Bulleted List",gO="Numbered Li
7740
7740
  right: var(--ni-private-rich-text-editor-scrollbar-width);
7741
7741
  }
7742
7742
  `,kO="bulletList",CO="orderedList"
7743
- class SO extends Lt{constructor(){super(...arguments),this.editor=this.createEditor(),this.tiptapEditor=this.createTiptapEditor(),this.disabled=!1,this.footerHidden=!1,this.errorVisible=!1,this.scrollbarWidth=-1,this.updateScrollbarWidthQueued=!1,this.markdownParser=this.initializeMarkdownParser(),this.markdownSerializer=this.initializeMarkdownSerializer(),this.domSerializer=my.fromSchema(sE),this.xmlSerializer=new XMLSerializer}get empty(){return 0===this.tiptapEditor.state.doc.textContent.trim().length}connectedCallback(){super.connectedCallback(),this.editor.isConnected||this.editorContainer.append(this.editor),this.bindEditorTransactionEvent(),this.bindEditorUpdateEvent(),this.stopNativeInputEventPropagation(),this.resizeObserver=new ResizeObserver((()=>this.onResize())),this.resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.unbindEditorTransactionEvent(),this.unbindEditorUpdateEvent(),this.unbindNativeInputEvent(),this.resizeObserver?.disconnect()}disabledChanged(){this.tiptapEditor.setEditable(!this.disabled),this.setEditorTabIndex(),this.editor.setAttribute("aria-disabled",this.disabled?"true":"false")}placeholderChanged(){this.getTipTapExtension("placeholder").options.placeholder=this.placeholder??"",this.tiptapEditor.view.dispatch(this.tiptapEditor.state.tr),this.queueUpdateScrollbarWidth()}ariaLabelChanged(){null!==this.ariaLabel&&void 0!==this.ariaLabel?this.editor.setAttribute("aria-label",this.ariaLabel):this.editor.removeAttribute("aria-label")}boldButtonClick(){this.tiptapEditor.chain().focus().toggleBold().run(),this.forceFocusEditor()}boldButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleBold().run(),this.forceFocusEditor(),!1)}italicsButtonClick(){this.tiptapEditor.chain().focus().toggleItalic().run(),this.forceFocusEditor()}italicsButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleItalic().run(),this.forceFocusEditor(),!1)}bulletListButtonClick(){this.tiptapEditor.chain().focus().toggleBulletList().run(),this.forceFocusEditor()}bulletListButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleBulletList().run(),this.forceFocusEditor(),!1)}numberedListButtonClick(){this.tiptapEditor.chain().focus().toggleOrderedList().run(),this.forceFocusEditor()}numberedListButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleOrderedList().run(),this.forceFocusEditor(),!1)}setMarkdown(e){const t=this.getHtmlContent(e)
7743
+ class SO extends Lt{constructor(){super(...arguments),this.editor=this.createEditor(),this.tiptapEditor=this.createTiptapEditor(),this.disabled=!1,this.footerHidden=!1,this.errorVisible=!1,this.scrollbarWidth=-1,this.updateScrollbarWidthQueued=!1,this.markdownParser=this.initializeMarkdownParser(),this.markdownSerializer=this.initializeMarkdownSerializer(),this.domSerializer=my.fromSchema(sE),this.xmlSerializer=new XMLSerializer}get empty(){return 0===this.tiptapEditor.state.doc.textContent.trim().length}connectedCallback(){super.connectedCallback(),this.editor.isConnected||this.editorContainer.append(this.editor),this.bindEditorTransactionEvent(),this.bindEditorUpdateEvent(),this.stopNativeInputEventPropagation(),this.resizeObserver=new ResizeObserver((()=>this.onResize())),this.resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.unbindEditorTransactionEvent(),this.unbindEditorUpdateEvent(),this.unbindNativeInputEvent(),this.resizeObserver?.disconnect()}disabledChanged(){this.tiptapEditor.setEditable(!this.disabled),this.setEditorTabIndex(),this.editor.setAttribute("aria-disabled",this.disabled?"true":"false")}placeholderChanged(){this.getTipTapExtension("placeholder").options.placeholder=this.placeholder??"",this.tiptapEditor.view.dispatch(this.tiptapEditor.state.tr),this.queueUpdateScrollbarWidth()}ariaLabelChanged(){null!==this.ariaLabel&&void 0!==this.ariaLabel?this.editor.setAttribute("aria-label",this.ariaLabel):this.editor.removeAttribute("aria-label")}boldButtonClick(){this.tiptapEditor.chain().focus().toggleBold().run()}boldButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleBold().run(),!1)}italicsButtonClick(){this.tiptapEditor.chain().focus().toggleItalic().run()}italicsButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleItalic().run(),!1)}bulletListButtonClick(){this.tiptapEditor.chain().focus().toggleBulletList().run()}bulletListButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleBulletList().run(),!1)}numberedListButtonClick(){this.tiptapEditor.chain().focus().toggleOrderedList().run()}numberedListButtonKeyDown(e){return!this.keyActivatesButton(e)||(this.tiptapEditor.chain().focus().toggleOrderedList().run(),!1)}setMarkdown(e){const t=this.getHtmlContent(e)
7744
7744
  this.tiptapEditor.commands.setContent(t)}getMarkdown(){return this.markdownSerializer.serialize(this.tiptapEditor.state.doc)}stopEventPropagation(e){return e.stopPropagation(),!1}createEditor(){const e=document.createElement("div")
7745
7745
  return e.className="editor",e.setAttribute("aria-multiline","true"),e.setAttribute("role","textbox"),e.setAttribute("aria-disabled","false"),e}createTiptapEditor(){return new f_({element:this.editor,extensions:[IE,rO,aO,ME,oO,eO,CE,QE,GE,sO.configure({placeholder:"",showOnlyWhenEditable:!1})]})}getHtmlContent(e){const t=this.parseMarkdownToDOM(e)
7746
7746
  return this.xmlSerializer.serializeToString(t)}initializeMarkdownParser(){const e=fE.tokenizer.configure("zero").enable(["emphasis","list"])
@@ -7750,7 +7750,7 @@ return`${e.repeat(" ",i-o.length)+o}. `}))},doc:mE.nodes.doc,paragraph:mE.nodes.
7750
7750
  return new gE(e,t)}parseMarkdownToDOM(e){const t=this.markdownParser.parse(e)
7751
7751
  return null===t?document.createDocumentFragment():this.domSerializer.serializeFragment(t.content)}bindEditorTransactionEvent(){this.tiptapEditor.on("transaction",(()=>{this.updateEditorButtonsState()}))}unbindEditorTransactionEvent(){this.tiptapEditor.off("transaction")}updateEditorButtonsState(){const{extensionManager:e,state:t}=this.tiptapEditor,{extensions:n}=e,{selection:i}=t,o=Y$((e=>i_(e.type.name,n)))(i)
7752
7752
  this.boldButton.checked=this.tiptapEditor.isActive("bold"),this.italicsButton.checked=this.tiptapEditor.isActive("italic"),this.bulletListButton.checked=o?.node.type.name===kO,this.numberedListButton.checked=o?.node.type.name===CO}keyActivatesButton(e){switch(e.key){case" ":case Ws:return!0
7753
- default:return!1}}unbindEditorUpdateEvent(){this.tiptapEditor.off("update")}bindEditorUpdateEvent(){this.tiptapEditor.on("update",(()=>{this.$emit("input"),this.queueUpdateScrollbarWidth()}))}stopNativeInputEventPropagation(){this.tiptapEditor.view.dom.addEventListener("input",(e=>{e.stopPropagation()}))}unbindNativeInputEvent(){this.tiptapEditor.view.dom.removeEventListener("input",(()=>{}))}queueUpdateScrollbarWidth(){this.$fastController.isConnected&&(this.updateScrollbarWidthQueued||(this.updateScrollbarWidthQueued=!0,u.queueUpdate((()=>this.updateScrollbarWidth()))))}updateScrollbarWidth(){this.updateScrollbarWidthQueued=!1,this.scrollbarWidth=this.tiptapEditor.view.dom.offsetWidth-this.tiptapEditor.view.dom.clientWidth}onResize(){this.scrollbarWidth=this.tiptapEditor.view.dom.offsetWidth-this.tiptapEditor.view.dom.clientWidth}getTipTapExtension(e){return this.tiptapEditor.extensionManager.extensions.find((t=>t.name===e))}setEditorTabIndex(){this.tiptapEditor.setOptions({editorProps:{attributes:{tabindex:this.disabled?"-1":"0"}}})}forceFocusEditor(){this.tiptapEditor.commands.blur(),this.tiptapEditor.commands.focus()}}e([se({mode:"boolean"})],SO.prototype,"disabled",void 0),e([se({attribute:"footer-hidden",mode:"boolean"})],SO.prototype,"footerHidden",void 0),e([se({attribute:"error-visible",mode:"boolean"})],SO.prototype,"errorVisible",void 0),e([se({attribute:"error-text"})],SO.prototype,"errorText",void 0),e([se],SO.prototype,"placeholder",void 0),e([m],SO.prototype,"boldButton",void 0),e([m],SO.prototype,"italicsButton",void 0),e([m],SO.prototype,"bulletListButton",void 0),e([m],SO.prototype,"numberedListButton",void 0),e([m],SO.prototype,"scrollbarWidth",void 0),zt(SO,hn)
7753
+ default:return!1}}unbindEditorUpdateEvent(){this.tiptapEditor.off("update")}bindEditorUpdateEvent(){this.tiptapEditor.on("update",(()=>{this.$emit("input"),this.queueUpdateScrollbarWidth()}))}stopNativeInputEventPropagation(){this.tiptapEditor.view.dom.addEventListener("input",(e=>{e.stopPropagation()}))}unbindNativeInputEvent(){this.tiptapEditor.view.dom.removeEventListener("input",(()=>{}))}queueUpdateScrollbarWidth(){this.$fastController.isConnected&&(this.updateScrollbarWidthQueued||(this.updateScrollbarWidthQueued=!0,u.queueUpdate((()=>this.updateScrollbarWidth()))))}updateScrollbarWidth(){this.updateScrollbarWidthQueued=!1,this.scrollbarWidth=this.tiptapEditor.view.dom.offsetWidth-this.tiptapEditor.view.dom.clientWidth}onResize(){this.scrollbarWidth=this.tiptapEditor.view.dom.offsetWidth-this.tiptapEditor.view.dom.clientWidth}getTipTapExtension(e){return this.tiptapEditor.extensionManager.extensions.find((t=>t.name===e))}setEditorTabIndex(){this.tiptapEditor.setOptions({editorProps:{attributes:{tabindex:this.disabled?"-1":"0"}}})}}e([se({mode:"boolean"})],SO.prototype,"disabled",void 0),e([se({attribute:"footer-hidden",mode:"boolean"})],SO.prototype,"footerHidden",void 0),e([se({attribute:"error-visible",mode:"boolean"})],SO.prototype,"errorVisible",void 0),e([se({attribute:"error-text"})],SO.prototype,"errorText",void 0),e([se],SO.prototype,"placeholder",void 0),e([m],SO.prototype,"boldButton",void 0),e([m],SO.prototype,"italicsButton",void 0),e([m],SO.prototype,"bulletListButton",void 0),e([m],SO.prototype,"numberedListButton",void 0),e([m],SO.prototype,"scrollbarWidth",void 0),zt(SO,hn)
7754
7754
  const $O=SO.compose({baseName:"rich-text-editor",template:yO,styles:xO})
7755
7755
  mi.getOrCreate().withPrefix("nimble").register($O()),mi.tagFor(SO)
7756
7756
  const _O=W`