@book.dev/ui 1.60.0
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/LICENSE +21 -0
- package/dist/EmojiGrid-xK5mPJPo.js +205 -0
- package/dist/blockeditor/BlockEditor.d.ts +68 -0
- package/dist/blockeditor/CodeBlockView.d.ts +19 -0
- package/dist/blockeditor/InlineToolbar.d.ts +18 -0
- package/dist/blockeditor/LinkPicker.d.ts +16 -0
- package/dist/blockeditor/MentionMenu.d.ts +14 -0
- package/dist/blockeditor/PresentBlocks.d.ts +21 -0
- package/dist/blockeditor/RichTextEditor.d.ts +29 -0
- package/dist/blockeditor/SlashMenu.d.ts +49 -0
- package/dist/blockeditor/TextBlockView.d.ts +9 -0
- package/dist/blockeditor/__tests__/LinkPicker.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/SlashMenu.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/aiApply.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/groupLock.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/highlight.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/mergeUp.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/present.test.d.ts +1 -0
- package/dist/blockeditor/aiBlocks.d.ts +9 -0
- package/dist/blockeditor/colors.d.ts +23 -0
- package/dist/blockeditor/exportBlocks.d.ts +25 -0
- package/dist/blockeditor/highlight.d.ts +25 -0
- package/dist/blockeditor/index.d.ts +8 -0
- package/dist/blockeditor/kit/KitFrame.d.ts +95 -0
- package/dist/blockeditor/kit/KitSettings.d.ts +18 -0
- package/dist/blockeditor/kit/OptionsEditor.d.ts +8 -0
- package/dist/blockeditor/kit/__tests__/chartMath.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/dataflow.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/exportKit.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/exportKit2.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/groupSync.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/inputs2Render.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/inputs2Scope.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/inputsRender.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/kitConfig.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/kitPanel.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/options.test.d.ts +1 -0
- package/dist/blockeditor/kit/__tests__/scope.test.d.ts +1 -0
- package/dist/blockeditor/kit/cards.d.ts +51 -0
- package/dist/blockeditor/kit/chartMath.d.ts +62 -0
- package/dist/blockeditor/kit/charts.d.ts +27 -0
- package/dist/blockeditor/kit/completion.d.ts +45 -0
- package/dist/blockeditor/kit/dataflow.d.ts +68 -0
- package/dist/blockeditor/kit/groupSync.d.ts +23 -0
- package/dist/blockeditor/kit/index.d.ts +11 -0
- package/dist/blockeditor/kit/inputs.d.ts +135 -0
- package/dist/blockeditor/kit/inputs2.d.ts +86 -0
- package/dist/blockeditor/kit/kitConfig.d.ts +5 -0
- package/dist/blockeditor/kit/kitPanel.d.ts +31 -0
- package/dist/blockeditor/kit/lock.d.ts +12 -0
- package/dist/blockeditor/kit/options.d.ts +60 -0
- package/dist/blockeditor/kit/progress.d.ts +20 -0
- package/dist/blockeditor/kit/scope.d.ts +100 -0
- package/dist/blockeditor/model.d.ts +236 -0
- package/dist/blockeditor/present.d.ts +18 -0
- package/dist/blockeditor/provider.d.ts +16 -0
- package/dist/blockeditor/reactiveBlocks.d.ts +2 -0
- package/dist/blockeditor/registry.d.ts +38 -0
- package/dist/blockeditor/richtext.d.ts +48 -0
- package/dist/blockeditor/useBlockEditor.d.ts +45 -0
- package/dist/components/AboutDialog.d.ts +9 -0
- package/dist/components/AgentPanel.d.ts +2 -0
- package/dist/components/AiBridgeHost.d.ts +14 -0
- package/dist/components/AiSearchDialog.d.ts +8 -0
- package/dist/components/AiSettings.d.ts +7 -0
- package/dist/components/AppearanceSettings.d.ts +3 -0
- package/dist/components/BackForwardCluster.d.ts +1 -0
- package/dist/components/BackupSettings.d.ts +2 -0
- package/dist/components/BreadcrumbCluster.d.ts +1 -0
- package/dist/components/ColorSchemeMenu.d.ts +1 -0
- package/dist/components/CommandMenu.d.ts +1 -0
- package/dist/components/CommandToggle.d.ts +3 -0
- package/dist/components/DocumentArea.d.ts +8 -0
- package/dist/components/Drawer.d.ts +7 -0
- package/dist/components/EmojiGrid.d.ts +16 -0
- package/dist/components/EmojiPickerHost.d.ts +8 -0
- package/dist/components/ExtensionsSettings.d.ts +7 -0
- package/dist/components/FavoritesNav.d.ts +8 -0
- package/dist/components/GeneralSettings.d.ts +2 -0
- package/dist/components/GlobalShortcuts.d.ts +9 -0
- package/dist/components/HomeButton.d.ts +2 -0
- package/dist/components/IconPicker.d.ts +17 -0
- package/dist/components/NavBar.d.ts +1 -0
- package/dist/components/NavContextMenu.d.ts +7 -0
- package/dist/components/PageActionsCluster.d.ts +9 -0
- package/dist/components/PageAppearanceHost.d.ts +9 -0
- package/dist/components/PageContextMenu.d.ts +17 -0
- package/dist/components/PageCover.d.ts +18 -0
- package/dist/components/PageHeaderControls.d.ts +13 -0
- package/dist/components/PageIcon.d.ts +16 -0
- package/dist/components/PageProperties.d.ts +53 -0
- package/dist/components/PluginBoot.d.ts +2 -0
- package/dist/components/PresentMode.d.ts +7 -0
- package/dist/components/ProfileAvatar.d.ts +17 -0
- package/dist/components/ProfileMenu.d.ts +6 -0
- package/dist/components/Settings.d.ts +7 -0
- package/dist/components/SettingsButton.d.ts +2 -0
- package/dist/components/SettingsPanel.d.ts +14 -0
- package/dist/components/SideNav.d.ts +1 -0
- package/dist/components/SideNavToggle.d.ts +3 -0
- package/dist/components/SidebarSections.d.ts +17 -0
- package/dist/components/SplitPane.d.ts +9 -0
- package/dist/components/TemplateGallery.d.ts +8 -0
- package/dist/components/TitlebarTabs.d.ts +10 -0
- package/dist/components/TrashDialog.d.ts +7 -0
- package/dist/components/WindowActionsCluster.d.ts +6 -0
- package/dist/components/WindowControls.d.ts +6 -0
- package/dist/components/WindowTitle.d.ts +7 -0
- package/dist/components/WorkspaceInfo.d.ts +6 -0
- package/dist/components/WorkspaceNavigationTree.d.ts +14 -0
- package/dist/components/WorkspaceSelectMenu.d.ts +10 -0
- package/dist/components/__tests__/AppearanceSettings.test.d.ts +1 -0
- package/dist/components/__tests__/PageIcon.test.d.ts +1 -0
- package/dist/components/__tests__/SettingsPanel.test.d.ts +1 -0
- package/dist/components/__tests__/buildTree.test.d.ts +1 -0
- package/dist/components/__tests__/profileAvatar.test.d.ts +1 -0
- package/dist/components/appearance/AppearanceControls.d.ts +33 -0
- package/dist/components/appearance/PageCustomiseBody.d.ts +29 -0
- package/dist/components/brand/OpenBookLogo.d.ts +11 -0
- package/dist/components/brand/index.d.ts +1 -0
- package/dist/components/database/DatabaseCard.d.ts +36 -0
- package/dist/components/database/DatabasePicker.d.ts +12 -0
- package/dist/components/database/DatabaseRowProperties.d.ts +13 -0
- package/dist/components/database/DatabaseView.d.ts +9 -0
- package/dist/components/database/InlineDatabaseBlock.d.ts +3 -0
- package/dist/components/database/__tests__/InlineDatabaseBlock.test.d.ts +1 -0
- package/dist/components/database/databaseCells.d.ts +57 -0
- package/dist/components/database/databaseCharts.d.ts +28 -0
- package/dist/components/database/databaseColors.d.ts +12 -0
- package/dist/components/database/databaseGraph.d.ts +16 -0
- package/dist/components/database/databaseLayouts.d.ts +84 -0
- package/dist/components/database/databaseMap.d.ts +21 -0
- package/dist/components/database/databaseMapLeaflet.d.ts +26 -0
- package/dist/components/database/databaseMenus.d.ts +97 -0
- package/dist/components/database/databaseTimeline.d.ts +27 -0
- package/dist/components/database/geocode.d.ts +24 -0
- package/dist/components/database/useDatabase.d.ts +129 -0
- package/dist/components/index.d.ts +12 -0
- package/dist/components/review/BlockReviewMarkers.d.ts +19 -0
- package/dist/components/review/CommentThread.d.ts +20 -0
- package/dist/components/review/ReviewPaneBody.d.ts +12 -0
- package/dist/components/review/SuggestHost.d.ts +13 -0
- package/dist/components/review/SuggestionCard.d.ts +21 -0
- package/dist/components/review/__tests__/review.test.d.ts +1 -0
- package/dist/components/review/useReview.d.ts +27 -0
- package/dist/components/settings/AccountSettings.d.ts +6 -0
- package/dist/components/settings/AdminSettings.d.ts +2 -0
- package/dist/components/settings/ConnectionSettings.d.ts +7 -0
- package/dist/components/settings/CustomisationSettings.d.ts +2 -0
- package/dist/components/settings/ProfileSettings.d.ts +2 -0
- package/dist/components/settings/primitives.d.ts +47 -0
- package/dist/components/settings/stubs.d.ts +8 -0
- package/dist/components/ui/__tests__/kbd.test.d.ts +1 -0
- package/dist/components/ui/__tests__/markdown.test.d.ts +1 -0
- package/dist/components/ui/__tests__/select.test.d.ts +1 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/button.d.ts +11 -0
- package/dist/components/ui/command.d.ts +86 -0
- package/dist/components/ui/context-menu.d.ts +24 -0
- package/dist/components/ui/dialog.d.ts +18 -0
- package/dist/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/icon-button.d.ts +16 -0
- package/dist/components/ui/input.d.ts +9 -0
- package/dist/components/ui/kbd.d.ts +31 -0
- package/dist/components/ui/label.d.ts +5 -0
- package/dist/components/ui/markdown.d.ts +19 -0
- package/dist/components/ui/navigation-menu.d.ts +12 -0
- package/dist/components/ui/popover.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/select.d.ts +42 -0
- package/dist/components/ui/skeleton.d.ts +6 -0
- package/dist/components/ui/switch.d.ts +4 -0
- package/dist/components/ui/tooltip.d.ts +7 -0
- package/dist/components/ui/tree.d.ts +37 -0
- package/dist/components/useAppCommands.d.ts +25 -0
- package/dist/data/DataProvider.d.ts +30 -0
- package/dist/data/index.d.ts +1 -0
- package/dist/databaseMapLeaflet-8LYcHcR6.js +87 -0
- package/dist/export/__tests__/chartNormalize.test.d.ts +1 -0
- package/dist/export/__tests__/export.test.d.ts +1 -0
- package/dist/export/__tests__/exportReactive.test.d.ts +1 -0
- package/dist/export/chartNormalize.d.ts +22 -0
- package/dist/export/chartSvg.d.ts +2 -0
- package/dist/export/documentModel.d.ts +136 -0
- package/dist/export/exportSite.d.ts +40 -0
- package/dist/export/format.d.ts +2 -0
- package/dist/export/kitChart.d.ts +21 -0
- package/dist/export/toHtml.d.ts +25 -0
- package/dist/export/toMarkdown.d.ts +7 -0
- package/dist/export/toPdf.d.ts +14 -0
- package/dist/exportBlocks-33D7P_8Q.js +987 -0
- package/dist/exportSite-DlRm4u7W.js +50 -0
- package/dist/format-CLQoRoYP.js +1646 -0
- package/dist/i18n/__tests__/i18n.test.d.ts +1 -0
- package/dist/i18n/index.d.ts +24 -0
- package/dist/i18n/messages/de.d.ts +2 -0
- package/dist/i18n/messages/en.d.ts +977 -0
- package/dist/i18n/messages/ja.d.ts +2 -0
- package/dist/i18n/messages/zh.d.ts +2 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +20915 -0
- package/dist/layouts/DefaultLayout.d.ts +4 -0
- package/dist/layouts/index.d.ts +1 -0
- package/dist/lib/__tests__/accountClient.test.d.ts +1 -0
- package/dist/lib/__tests__/backlinks.test.d.ts +1 -0
- package/dist/lib/__tests__/backupBundle.test.d.ts +1 -0
- package/dist/lib/__tests__/blockExport.test.d.ts +1 -0
- package/dist/lib/__tests__/blockModel.test.d.ts +1 -0
- package/dist/lib/__tests__/databaseFormula.test.d.ts +1 -0
- package/dist/lib/__tests__/databaseTypes.test.d.ts +1 -0
- package/dist/lib/__tests__/favorites.test.d.ts +1 -0
- package/dist/lib/__tests__/homePage.test.d.ts +1 -0
- package/dist/lib/__tests__/hud.test.d.ts +1 -0
- package/dist/lib/__tests__/icons.test.d.ts +1 -0
- package/dist/lib/__tests__/mixedContent.test.d.ts +1 -0
- package/dist/lib/__tests__/pageAppearance.test.d.ts +1 -0
- package/dist/lib/__tests__/pageIcon.test.d.ts +1 -0
- package/dist/lib/__tests__/pageLayout.test.d.ts +1 -0
- package/dist/lib/__tests__/pageSaveStatus.test.d.ts +1 -0
- package/dist/lib/__tests__/pageTheme.test.d.ts +1 -0
- package/dist/lib/__tests__/parentGrouping.test.d.ts +1 -0
- package/dist/lib/__tests__/pluginSdk.test.d.ts +1 -0
- package/dist/lib/__tests__/recents.test.d.ts +1 -0
- package/dist/lib/__tests__/relations.test.d.ts +1 -0
- package/dist/lib/__tests__/templates.test.d.ts +1 -0
- package/dist/lib/__tests__/textMerge.test.d.ts +1 -0
- package/dist/lib/__tests__/themes.test.d.ts +1 -0
- package/dist/lib/__tests__/treeMove.test.d.ts +1 -0
- package/dist/lib/aiBridge.d.ts +67 -0
- package/dist/lib/aiFeatures.d.ts +31 -0
- package/dist/lib/aiSettingsNav.d.ts +14 -0
- package/dist/lib/backupBundle.d.ts +23 -0
- package/dist/lib/bookFolderTransfer.d.ts +15 -0
- package/dist/lib/download.d.ts +10 -0
- package/dist/lib/editorChrome.d.ts +14 -0
- package/dist/lib/emoji.d.ts +10 -0
- package/dist/lib/emojiData.d.ts +21 -0
- package/dist/lib/emojiPicker.d.ts +31 -0
- package/dist/lib/favorites.d.ts +11 -0
- package/dist/lib/homePage.d.ts +53 -0
- package/dist/lib/hud.d.ts +70 -0
- package/dist/lib/iconRecents.d.ts +3 -0
- package/dist/lib/iconValue.d.ts +19 -0
- package/dist/lib/lucideIcons.d.ts +21 -0
- package/dist/lib/openDocs.d.ts +5 -0
- package/dist/lib/pageActions.d.ts +17 -0
- package/dist/lib/pageAppearance.d.ts +20 -0
- package/dist/lib/pageCover.d.ts +21 -0
- package/dist/lib/pageCustomise.d.ts +6 -0
- package/dist/lib/pageDocActions.d.ts +20 -0
- package/dist/lib/pageFont.d.ts +25 -0
- package/dist/lib/pageFullWidth.d.ts +10 -0
- package/dist/lib/pageIcon.d.ts +25 -0
- package/dist/lib/pageLinks.d.ts +41 -0
- package/dist/lib/pageSaveStatus.d.ts +14 -0
- package/dist/lib/pageTheme.d.ts +15 -0
- package/dist/lib/pageThemePresets.d.ts +23 -0
- package/dist/lib/recents.d.ts +9 -0
- package/dist/lib/reviewPane.d.ts +23 -0
- package/dist/lib/selection.d.ts +2 -0
- package/dist/lib/shortcuts.d.ts +79 -0
- package/dist/lib/sidebarStyles.d.ts +10 -0
- package/dist/lib/suggestBridge.d.ts +33 -0
- package/dist/lib/textMerge.d.ts +19 -0
- package/dist/lib/themes.d.ts +137 -0
- package/dist/lib/treeMove.d.ts +24 -0
- package/dist/lib/useModifierHeld.d.ts +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lucideIcons-B6pmC-WQ.js +5003 -0
- package/dist/model-CBxw8JNb.js +734 -0
- package/dist/pageIcon-BWTy7hAh.js +32 -0
- package/dist/plugins/__tests__/host.test.d.ts +1 -0
- package/dist/plugins/__tests__/loader.test.d.ts +1 -0
- package/dist/plugins/__tests__/pagePlugin.test.d.ts +1 -0
- package/dist/plugins/api.d.ts +67 -0
- package/dist/plugins/commandRegistry.d.ts +15 -0
- package/dist/plugins/host.d.ts +32 -0
- package/dist/plugins/index.d.ts +5 -0
- package/dist/plugins/loader.d.ts +19 -0
- package/dist/plugins/pagePlugin.d.ts +21 -0
- package/dist/providers/AccountProvider.d.ts +67 -0
- package/dist/providers/ConfirmProvider.d.ts +30 -0
- package/dist/providers/ForwardingProvider.d.ts +23 -0
- package/dist/providers/HudProvider.d.ts +9 -0
- package/dist/providers/I18nProvider.d.ts +23 -0
- package/dist/providers/NavigationProvider.d.ts +89 -0
- package/dist/providers/PlatformLibraryProvider.d.ts +107 -0
- package/dist/providers/PreferencesProvider.d.ts +47 -0
- package/dist/providers/ThemeProvider.d.ts +26 -0
- package/dist/providers/WorkspaceProvider.d.ts +40 -0
- package/dist/providers/__tests__/PreferencesProvider.test.d.ts +1 -0
- package/dist/providers/__tests__/extractToken.test.d.ts +1 -0
- package/dist/providers/__tests__/windowModel.test.d.ts +1 -0
- package/dist/providers/index.d.ts +10 -0
- package/dist/providers/windowModel.d.ts +69 -0
- package/dist/screens/BlockPageDocument.d.ts +4 -0
- package/dist/screens/ConnectedPageDocument.d.ts +14 -0
- package/dist/screens/DataflowView.d.ts +2 -0
- package/dist/screens/HomeScreen.d.ts +7 -0
- package/dist/screens/index.d.ts +3 -0
- package/dist/screens/pageChrome.d.ts +46 -0
- package/dist/style.css +3 -0
- package/dist/toHtml-BoPr8Ce4.js +394 -0
- package/dist/toPdf-DGtKQSRA.js +133 -0
- package/package.json +94 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { jsPDF as e } from "jspdf";
|
|
2
|
+
import "svg2pdf.js";
|
|
3
|
+
import { elementToSVG as t } from "dom-to-svg";
|
|
4
|
+
//#region src/export/toPdf.ts
|
|
5
|
+
var n = 612, r = 792, i = 48, a = 14400, o = "<style>*{font-family:Arial,Helvetica,sans-serif !important;font-weight:400 !important}code,pre,kbd,samp{font-family:\"Courier New\",Courier,monospace !important}h1,h2,h3,h4,h5,h6,b,strong,th,.doc-title{font-weight:700 !important}.callout::before{content:none !important}</style>";
|
|
6
|
+
function s(e) {
|
|
7
|
+
return e.replace(/[\u{10000}-\u{10FFFF}]/gu, "").replace(/[←-⇿☀-➿⬀-⯿™ℹ]/g, "").replace(/️/g, "").replace(//g, "").replace(/⃣/g, "");
|
|
8
|
+
}
|
|
9
|
+
function c(e) {
|
|
10
|
+
let t = e.ownerDocument.createTreeWalker(e, NodeFilter.SHOW_TEXT), n = [];
|
|
11
|
+
for (let e = t.nextNode(); e; e = t.nextNode()) n.push(e);
|
|
12
|
+
for (let e of n) {
|
|
13
|
+
let t = s(e.nodeValue ?? "");
|
|
14
|
+
t !== e.nodeValue && (e.nodeValue = t);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function l(e) {
|
|
18
|
+
let t = e.ownerDocument;
|
|
19
|
+
for (let n of Array.from(e.querySelectorAll("input[type=\"range\"]"))) {
|
|
20
|
+
let e = n, r = Number(e.getAttribute("min") ?? "0"), i = Number(e.getAttribute("max") ?? "100"), a = Number(e.value || e.getAttribute("value") || "0"), o = (i > r ? Math.max(0, Math.min(1, (a - r) / (i - r))) : 0) * 100, s = t.createElement("span");
|
|
21
|
+
s.setAttribute("style", "position:relative;display:inline-block;width:60%;height:8px;background:rgba(127,127,127,.18);border-radius:999px;vertical-align:middle");
|
|
22
|
+
let c = t.createElement("span");
|
|
23
|
+
c.setAttribute("style", `position:absolute;left:0;top:0;height:8px;width:${o.toFixed(2)}%;background:#6366f1;border-radius:999px`);
|
|
24
|
+
let l = t.createElement("span");
|
|
25
|
+
l.setAttribute("style", `position:absolute;top:-3px;left:${o.toFixed(2)}%;width:14px;height:14px;margin-left:-7px;background:#6366f1;border-radius:999px`), s.appendChild(c), s.appendChild(l), e.replaceWith(s);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function u(e) {
|
|
29
|
+
let t = document.createElement("iframe");
|
|
30
|
+
t.setAttribute("aria-hidden", "true"), Object.assign(t.style, {
|
|
31
|
+
position: "fixed",
|
|
32
|
+
left: "-99999px",
|
|
33
|
+
top: "0",
|
|
34
|
+
width: "820px",
|
|
35
|
+
height: "1400px",
|
|
36
|
+
border: "0",
|
|
37
|
+
visibility: "hidden"
|
|
38
|
+
}), document.body.appendChild(t);
|
|
39
|
+
let n = t.contentDocument;
|
|
40
|
+
n.open(), n.write(e.includes("</head>") ? e.replace("</head>", `${o}</head>`) : o + e), n.close(), await new Promise((e) => {
|
|
41
|
+
n.readyState === "complete" ? e() : t.addEventListener("load", () => e(), { once: !0 });
|
|
42
|
+
});
|
|
43
|
+
try {
|
|
44
|
+
await n.fonts?.ready;
|
|
45
|
+
} catch {}
|
|
46
|
+
await new Promise((e) => setTimeout(e, 300));
|
|
47
|
+
let r = n.querySelector("main") ?? n.body;
|
|
48
|
+
return c(r), l(r), {
|
|
49
|
+
frame: t,
|
|
50
|
+
el: r
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function d(e) {
|
|
54
|
+
let n = t(e).documentElement, r = document.createElement("div");
|
|
55
|
+
return Object.assign(r.style, {
|
|
56
|
+
position: "fixed",
|
|
57
|
+
left: "-99999px",
|
|
58
|
+
top: "0",
|
|
59
|
+
visibility: "hidden"
|
|
60
|
+
}), r.appendChild(n), document.body.appendChild(r), {
|
|
61
|
+
svg: n,
|
|
62
|
+
holder: r
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function f(e) {
|
|
66
|
+
let t = (e.getAttribute("viewBox") ?? `0 0 ${n} ${r}`).split(/\s+/).map(Number);
|
|
67
|
+
return [
|
|
68
|
+
t[0] || 0,
|
|
69
|
+
t[1] || 0,
|
|
70
|
+
t[2] || n,
|
|
71
|
+
t[3] || r
|
|
72
|
+
];
|
|
73
|
+
}
|
|
74
|
+
async function p(t, o) {
|
|
75
|
+
let { frame: s, el: c } = await u(t), { svg: l, holder: p } = d(c);
|
|
76
|
+
try {
|
|
77
|
+
let [t, s, c, u] = f(l), d = n - 2 * i, p = d / c;
|
|
78
|
+
if (o === "continuous") {
|
|
79
|
+
let r = new e({
|
|
80
|
+
unit: "pt",
|
|
81
|
+
format: [n, Math.min(a, u * p + 2 * i)]
|
|
82
|
+
});
|
|
83
|
+
return l.setAttribute("viewBox", `${t} ${s} ${c} ${u}`), await r.svg(l, {
|
|
84
|
+
x: i,
|
|
85
|
+
y: i,
|
|
86
|
+
width: d,
|
|
87
|
+
height: u * p
|
|
88
|
+
}), r.output("blob");
|
|
89
|
+
}
|
|
90
|
+
let m = r - 2 * i, h = m / p, g = Math.max(1, Math.min(2e3, Math.ceil(u / h))), _ = new e({
|
|
91
|
+
unit: "pt",
|
|
92
|
+
format: [n, r]
|
|
93
|
+
});
|
|
94
|
+
for (let e = 0; e < g; e++) e > 0 && _.addPage([n, r], "portrait"), l.setAttribute("viewBox", `${t} ${s + e * h} ${c} ${h}`), await _.svg(l, {
|
|
95
|
+
x: i,
|
|
96
|
+
y: i,
|
|
97
|
+
width: d,
|
|
98
|
+
height: m
|
|
99
|
+
});
|
|
100
|
+
return _.output("blob");
|
|
101
|
+
} finally {
|
|
102
|
+
p.remove(), s.remove();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async function m(t) {
|
|
106
|
+
let n = "<style>section.slide{display:block !important;position:static !important;opacity:1 !important;transform:none !important}</style>", { frame: r } = await u(t.includes("</head>") ? t.replace("</head>", `${n}</head>`) : n + t), i = r.contentDocument, a = Array.from(i.querySelectorAll("section.slide")), o = a.length ? a : [i.querySelector("main") ?? i.body], s = new e({
|
|
107
|
+
unit: "pt",
|
|
108
|
+
format: [960, 540],
|
|
109
|
+
orientation: "landscape"
|
|
110
|
+
});
|
|
111
|
+
try {
|
|
112
|
+
let e = !0;
|
|
113
|
+
for (let t of o) {
|
|
114
|
+
let { svg: n, holder: r } = d(t);
|
|
115
|
+
try {
|
|
116
|
+
let [t, r, i, a] = f(n), o = Math.min(912 / i, 492 / a), c = i * o, l = a * o;
|
|
117
|
+
e || s.addPage([960, 540], "landscape"), e = !1, n.setAttribute("viewBox", `${t} ${r} ${i} ${a}`), await s.svg(n, {
|
|
118
|
+
x: (960 - c) / 2,
|
|
119
|
+
y: (540 - l) / 2,
|
|
120
|
+
width: c,
|
|
121
|
+
height: l
|
|
122
|
+
});
|
|
123
|
+
} finally {
|
|
124
|
+
r.remove();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return s.output("blob");
|
|
128
|
+
} finally {
|
|
129
|
+
r.remove();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//#endregion
|
|
133
|
+
export { p as toPdf, m as toPdfSlides };
|
package/package.json
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@book.dev/ui",
|
|
3
|
+
"version": "1.60.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"type": "module",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"main": "dist/index.js",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./style.css": "./dist/style.css"
|
|
20
|
+
},
|
|
21
|
+
"module": "dist/index.js",
|
|
22
|
+
"author": "",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@heroicons/react": "^2.1.5",
|
|
26
|
+
"@observablehq/plot": "^0.6.17",
|
|
27
|
+
"@preact/signals-core": "^1.14.2",
|
|
28
|
+
"@radix-ui/react-accordion": "^1.2.0",
|
|
29
|
+
"@radix-ui/react-context-menu": "^2.2.16",
|
|
30
|
+
"@radix-ui/react-dialog": "^1.1.1",
|
|
31
|
+
"@radix-ui/react-dropdown-menu": "^2.1.1",
|
|
32
|
+
"@radix-ui/react-icons": "^1.3.0",
|
|
33
|
+
"@radix-ui/react-label": "^2.1.0",
|
|
34
|
+
"@radix-ui/react-navigation-menu": "^1.2.0",
|
|
35
|
+
"@radix-ui/react-popover": "^1.1.1",
|
|
36
|
+
"@radix-ui/react-scroll-area": "^1.1.0",
|
|
37
|
+
"@radix-ui/react-slot": "^1.1.0",
|
|
38
|
+
"@radix-ui/react-switch": "^1.1.0",
|
|
39
|
+
"@radix-ui/react-tooltip": "^1.1.2",
|
|
40
|
+
"@xyflow/react": "^12.11.0",
|
|
41
|
+
"class-variance-authority": "^0.7.0",
|
|
42
|
+
"clsx": "^2.1.1",
|
|
43
|
+
"cmdk": "^1.0.0",
|
|
44
|
+
"dom-to-svg": "0.12.2",
|
|
45
|
+
"fflate": "^0.8.3",
|
|
46
|
+
"jspdf": "^4.2.1",
|
|
47
|
+
"leaflet": "^1.9.4",
|
|
48
|
+
"leaflet.markercluster": "^1.5.3",
|
|
49
|
+
"node-emoji": "^2.2.0",
|
|
50
|
+
"react-leaflet": "^5.0.0",
|
|
51
|
+
"sucrase": "^3.35.1",
|
|
52
|
+
"svg2pdf.js": "^2.7.0",
|
|
53
|
+
"tailwind-merge": "^3.6.0",
|
|
54
|
+
"tailwindcss-animate": "^1.0.7",
|
|
55
|
+
"use-immer": "^0.11.0",
|
|
56
|
+
"use-resize-observer": "^9.1.0",
|
|
57
|
+
"yjs": "^13.6.31",
|
|
58
|
+
"@book.dev/sdk": "1.60.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@tailwindcss/cli": "^4.3.0",
|
|
62
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
63
|
+
"@testing-library/react": "^16.3.2",
|
|
64
|
+
"@types/leaflet": "^1.9.12",
|
|
65
|
+
"@types/leaflet.markercluster": "^1.5.4",
|
|
66
|
+
"@types/react": "^19.0.0",
|
|
67
|
+
"@types/react-dom": "^19.0.0",
|
|
68
|
+
"d3": "^7.9.0",
|
|
69
|
+
"happy-dom": "^20.9.0",
|
|
70
|
+
"postcss": "^8.4.47",
|
|
71
|
+
"react": "^19.0.0",
|
|
72
|
+
"react-dom": "^19.0.0",
|
|
73
|
+
"tailwindcss": "^4.3.0",
|
|
74
|
+
"typescript": "^6.0.3",
|
|
75
|
+
"vite": "^8.0.0",
|
|
76
|
+
"vitest": "^4.1.0"
|
|
77
|
+
},
|
|
78
|
+
"peerDependencies": {
|
|
79
|
+
"lucide-react": "^1.0.0",
|
|
80
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
81
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
82
|
+
},
|
|
83
|
+
"scripts": {
|
|
84
|
+
"build": "vite build && tsc",
|
|
85
|
+
"dev": "vite build --watch",
|
|
86
|
+
"dev-css": "pnpm exec tailwindcss --input ./src/index.css --output ./dist/index.css --watch",
|
|
87
|
+
"dev-types": "tsc --watch",
|
|
88
|
+
"lint": "eslint .",
|
|
89
|
+
"lint-fix": "eslint . --fix",
|
|
90
|
+
"typecheck": "tsc --noEmit",
|
|
91
|
+
"test": "vitest run",
|
|
92
|
+
"test:watch": "vitest"
|
|
93
|
+
}
|
|
94
|
+
}
|