@ai-matrx/print 0.12.39 → 0.12.40

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.
package/dist/education.js CHANGED
@@ -109,8 +109,27 @@ function withMathStyles(htmlDocument) {
109
109
  const head = htmlDocument.search(/<\/head>/i);
110
110
  return head >= 0 ? htmlDocument.slice(0, head) + style + htmlDocument.slice(head) : style + htmlDocument;
111
111
  }
112
+ var PRINT_HOST = /* @__PURE__ */ Symbol.for("ai-matrx.print.host");
113
+ function getPrintHost() {
114
+ return globalThis[PRINT_HOST] ?? null;
115
+ }
116
+ function handToPrintHost(htmlDocument, title) {
117
+ const host = getPrintHost();
118
+ if (!host) return false;
119
+ try {
120
+ const done = host(htmlDocument, { title });
121
+ if (done && typeof done.catch === "function") {
122
+ done.catch((error) => console.error("[@ai-matrx/print] the host's print failed", error));
123
+ }
124
+ return true;
125
+ } catch (error) {
126
+ console.error("[@ai-matrx/print] the host's print threw; using the print window instead", error);
127
+ return false;
128
+ }
129
+ }
112
130
  function openPrintWindow(rawDocument, filename = "print", windowFeatures = "width=920,height=720,scrollbars=yes") {
113
131
  const htmlDocument = withMathStyles(rawDocument);
132
+ if (handToPrintHost(htmlDocument, filename)) return "opened";
114
133
  const win = openOutbound("", "_blank", windowFeatures);
115
134
  if (!win) return openPrintWindowFallback(htmlDocument, filename);
116
135
  win.document.open();