It's surprising that it would be a major change to implement a google.script.host.hide() method for an open modal dialog.
This method could add "display:none" to the style attribute for the <div class="modal-dialog script-app-dialog"></div> element. It could also add a "modal-dialog-bg-hidden" class to the <div class="modal-dialog-bg"></div> element, with the following css rule:
This would hide the modal and the overlay, allowing the user to interact with the document, menu or sidebar. I could then use intercom.js to populate the dialog client-side from the sidebar when needed, and I could call a google.script.host.show() client side method which undoes the hide() method changes. This would allow me to then have the quiescent dialog available for when user interaction is needed, and populate it with html on demand, etc., from the sidebar without need for a server round trip.
It also would have the benefit of reducing server load from apps scripts, by allowing developers to handle such interactions 100% client side, instead of having to burden the server with requests best handled client side.
It would be a huge benefit to developers like me if this functionality existed.
Thanks for listening. I have been very impressed by the power of the GAS add-on environment, and I would love to see it improved in this fashion.