@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.
Files changed (305) hide show
  1. package/LICENSE +21 -0
  2. package/dist/EmojiGrid-xK5mPJPo.js +205 -0
  3. package/dist/blockeditor/BlockEditor.d.ts +68 -0
  4. package/dist/blockeditor/CodeBlockView.d.ts +19 -0
  5. package/dist/blockeditor/InlineToolbar.d.ts +18 -0
  6. package/dist/blockeditor/LinkPicker.d.ts +16 -0
  7. package/dist/blockeditor/MentionMenu.d.ts +14 -0
  8. package/dist/blockeditor/PresentBlocks.d.ts +21 -0
  9. package/dist/blockeditor/RichTextEditor.d.ts +29 -0
  10. package/dist/blockeditor/SlashMenu.d.ts +49 -0
  11. package/dist/blockeditor/TextBlockView.d.ts +9 -0
  12. package/dist/blockeditor/__tests__/LinkPicker.test.d.ts +1 -0
  13. package/dist/blockeditor/__tests__/SlashMenu.test.d.ts +1 -0
  14. package/dist/blockeditor/__tests__/aiApply.test.d.ts +1 -0
  15. package/dist/blockeditor/__tests__/groupLock.test.d.ts +1 -0
  16. package/dist/blockeditor/__tests__/highlight.test.d.ts +1 -0
  17. package/dist/blockeditor/__tests__/mergeUp.test.d.ts +1 -0
  18. package/dist/blockeditor/__tests__/present.test.d.ts +1 -0
  19. package/dist/blockeditor/aiBlocks.d.ts +9 -0
  20. package/dist/blockeditor/colors.d.ts +23 -0
  21. package/dist/blockeditor/exportBlocks.d.ts +25 -0
  22. package/dist/blockeditor/highlight.d.ts +25 -0
  23. package/dist/blockeditor/index.d.ts +8 -0
  24. package/dist/blockeditor/kit/KitFrame.d.ts +95 -0
  25. package/dist/blockeditor/kit/KitSettings.d.ts +18 -0
  26. package/dist/blockeditor/kit/OptionsEditor.d.ts +8 -0
  27. package/dist/blockeditor/kit/__tests__/chartMath.test.d.ts +1 -0
  28. package/dist/blockeditor/kit/__tests__/dataflow.test.d.ts +1 -0
  29. package/dist/blockeditor/kit/__tests__/exportKit.test.d.ts +1 -0
  30. package/dist/blockeditor/kit/__tests__/exportKit2.test.d.ts +1 -0
  31. package/dist/blockeditor/kit/__tests__/groupSync.test.d.ts +1 -0
  32. package/dist/blockeditor/kit/__tests__/inputs2Render.test.d.ts +1 -0
  33. package/dist/blockeditor/kit/__tests__/inputs2Scope.test.d.ts +1 -0
  34. package/dist/blockeditor/kit/__tests__/inputsRender.test.d.ts +1 -0
  35. package/dist/blockeditor/kit/__tests__/kitConfig.test.d.ts +1 -0
  36. package/dist/blockeditor/kit/__tests__/kitPanel.test.d.ts +1 -0
  37. package/dist/blockeditor/kit/__tests__/options.test.d.ts +1 -0
  38. package/dist/blockeditor/kit/__tests__/scope.test.d.ts +1 -0
  39. package/dist/blockeditor/kit/cards.d.ts +51 -0
  40. package/dist/blockeditor/kit/chartMath.d.ts +62 -0
  41. package/dist/blockeditor/kit/charts.d.ts +27 -0
  42. package/dist/blockeditor/kit/completion.d.ts +45 -0
  43. package/dist/blockeditor/kit/dataflow.d.ts +68 -0
  44. package/dist/blockeditor/kit/groupSync.d.ts +23 -0
  45. package/dist/blockeditor/kit/index.d.ts +11 -0
  46. package/dist/blockeditor/kit/inputs.d.ts +135 -0
  47. package/dist/blockeditor/kit/inputs2.d.ts +86 -0
  48. package/dist/blockeditor/kit/kitConfig.d.ts +5 -0
  49. package/dist/blockeditor/kit/kitPanel.d.ts +31 -0
  50. package/dist/blockeditor/kit/lock.d.ts +12 -0
  51. package/dist/blockeditor/kit/options.d.ts +60 -0
  52. package/dist/blockeditor/kit/progress.d.ts +20 -0
  53. package/dist/blockeditor/kit/scope.d.ts +100 -0
  54. package/dist/blockeditor/model.d.ts +236 -0
  55. package/dist/blockeditor/present.d.ts +18 -0
  56. package/dist/blockeditor/provider.d.ts +16 -0
  57. package/dist/blockeditor/reactiveBlocks.d.ts +2 -0
  58. package/dist/blockeditor/registry.d.ts +38 -0
  59. package/dist/blockeditor/richtext.d.ts +48 -0
  60. package/dist/blockeditor/useBlockEditor.d.ts +45 -0
  61. package/dist/components/AboutDialog.d.ts +9 -0
  62. package/dist/components/AgentPanel.d.ts +2 -0
  63. package/dist/components/AiBridgeHost.d.ts +14 -0
  64. package/dist/components/AiSearchDialog.d.ts +8 -0
  65. package/dist/components/AiSettings.d.ts +7 -0
  66. package/dist/components/AppearanceSettings.d.ts +3 -0
  67. package/dist/components/BackForwardCluster.d.ts +1 -0
  68. package/dist/components/BackupSettings.d.ts +2 -0
  69. package/dist/components/BreadcrumbCluster.d.ts +1 -0
  70. package/dist/components/ColorSchemeMenu.d.ts +1 -0
  71. package/dist/components/CommandMenu.d.ts +1 -0
  72. package/dist/components/CommandToggle.d.ts +3 -0
  73. package/dist/components/DocumentArea.d.ts +8 -0
  74. package/dist/components/Drawer.d.ts +7 -0
  75. package/dist/components/EmojiGrid.d.ts +16 -0
  76. package/dist/components/EmojiPickerHost.d.ts +8 -0
  77. package/dist/components/ExtensionsSettings.d.ts +7 -0
  78. package/dist/components/FavoritesNav.d.ts +8 -0
  79. package/dist/components/GeneralSettings.d.ts +2 -0
  80. package/dist/components/GlobalShortcuts.d.ts +9 -0
  81. package/dist/components/HomeButton.d.ts +2 -0
  82. package/dist/components/IconPicker.d.ts +17 -0
  83. package/dist/components/NavBar.d.ts +1 -0
  84. package/dist/components/NavContextMenu.d.ts +7 -0
  85. package/dist/components/PageActionsCluster.d.ts +9 -0
  86. package/dist/components/PageAppearanceHost.d.ts +9 -0
  87. package/dist/components/PageContextMenu.d.ts +17 -0
  88. package/dist/components/PageCover.d.ts +18 -0
  89. package/dist/components/PageHeaderControls.d.ts +13 -0
  90. package/dist/components/PageIcon.d.ts +16 -0
  91. package/dist/components/PageProperties.d.ts +53 -0
  92. package/dist/components/PluginBoot.d.ts +2 -0
  93. package/dist/components/PresentMode.d.ts +7 -0
  94. package/dist/components/ProfileAvatar.d.ts +17 -0
  95. package/dist/components/ProfileMenu.d.ts +6 -0
  96. package/dist/components/Settings.d.ts +7 -0
  97. package/dist/components/SettingsButton.d.ts +2 -0
  98. package/dist/components/SettingsPanel.d.ts +14 -0
  99. package/dist/components/SideNav.d.ts +1 -0
  100. package/dist/components/SideNavToggle.d.ts +3 -0
  101. package/dist/components/SidebarSections.d.ts +17 -0
  102. package/dist/components/SplitPane.d.ts +9 -0
  103. package/dist/components/TemplateGallery.d.ts +8 -0
  104. package/dist/components/TitlebarTabs.d.ts +10 -0
  105. package/dist/components/TrashDialog.d.ts +7 -0
  106. package/dist/components/WindowActionsCluster.d.ts +6 -0
  107. package/dist/components/WindowControls.d.ts +6 -0
  108. package/dist/components/WindowTitle.d.ts +7 -0
  109. package/dist/components/WorkspaceInfo.d.ts +6 -0
  110. package/dist/components/WorkspaceNavigationTree.d.ts +14 -0
  111. package/dist/components/WorkspaceSelectMenu.d.ts +10 -0
  112. package/dist/components/__tests__/AppearanceSettings.test.d.ts +1 -0
  113. package/dist/components/__tests__/PageIcon.test.d.ts +1 -0
  114. package/dist/components/__tests__/SettingsPanel.test.d.ts +1 -0
  115. package/dist/components/__tests__/buildTree.test.d.ts +1 -0
  116. package/dist/components/__tests__/profileAvatar.test.d.ts +1 -0
  117. package/dist/components/appearance/AppearanceControls.d.ts +33 -0
  118. package/dist/components/appearance/PageCustomiseBody.d.ts +29 -0
  119. package/dist/components/brand/OpenBookLogo.d.ts +11 -0
  120. package/dist/components/brand/index.d.ts +1 -0
  121. package/dist/components/database/DatabaseCard.d.ts +36 -0
  122. package/dist/components/database/DatabasePicker.d.ts +12 -0
  123. package/dist/components/database/DatabaseRowProperties.d.ts +13 -0
  124. package/dist/components/database/DatabaseView.d.ts +9 -0
  125. package/dist/components/database/InlineDatabaseBlock.d.ts +3 -0
  126. package/dist/components/database/__tests__/InlineDatabaseBlock.test.d.ts +1 -0
  127. package/dist/components/database/databaseCells.d.ts +57 -0
  128. package/dist/components/database/databaseCharts.d.ts +28 -0
  129. package/dist/components/database/databaseColors.d.ts +12 -0
  130. package/dist/components/database/databaseGraph.d.ts +16 -0
  131. package/dist/components/database/databaseLayouts.d.ts +84 -0
  132. package/dist/components/database/databaseMap.d.ts +21 -0
  133. package/dist/components/database/databaseMapLeaflet.d.ts +26 -0
  134. package/dist/components/database/databaseMenus.d.ts +97 -0
  135. package/dist/components/database/databaseTimeline.d.ts +27 -0
  136. package/dist/components/database/geocode.d.ts +24 -0
  137. package/dist/components/database/useDatabase.d.ts +129 -0
  138. package/dist/components/index.d.ts +12 -0
  139. package/dist/components/review/BlockReviewMarkers.d.ts +19 -0
  140. package/dist/components/review/CommentThread.d.ts +20 -0
  141. package/dist/components/review/ReviewPaneBody.d.ts +12 -0
  142. package/dist/components/review/SuggestHost.d.ts +13 -0
  143. package/dist/components/review/SuggestionCard.d.ts +21 -0
  144. package/dist/components/review/__tests__/review.test.d.ts +1 -0
  145. package/dist/components/review/useReview.d.ts +27 -0
  146. package/dist/components/settings/AccountSettings.d.ts +6 -0
  147. package/dist/components/settings/AdminSettings.d.ts +2 -0
  148. package/dist/components/settings/ConnectionSettings.d.ts +7 -0
  149. package/dist/components/settings/CustomisationSettings.d.ts +2 -0
  150. package/dist/components/settings/ProfileSettings.d.ts +2 -0
  151. package/dist/components/settings/primitives.d.ts +47 -0
  152. package/dist/components/settings/stubs.d.ts +8 -0
  153. package/dist/components/ui/__tests__/kbd.test.d.ts +1 -0
  154. package/dist/components/ui/__tests__/markdown.test.d.ts +1 -0
  155. package/dist/components/ui/__tests__/select.test.d.ts +1 -0
  156. package/dist/components/ui/badge.d.ts +9 -0
  157. package/dist/components/ui/button.d.ts +11 -0
  158. package/dist/components/ui/command.d.ts +86 -0
  159. package/dist/components/ui/context-menu.d.ts +24 -0
  160. package/dist/components/ui/dialog.d.ts +18 -0
  161. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  162. package/dist/components/ui/icon-button.d.ts +16 -0
  163. package/dist/components/ui/input.d.ts +9 -0
  164. package/dist/components/ui/kbd.d.ts +31 -0
  165. package/dist/components/ui/label.d.ts +5 -0
  166. package/dist/components/ui/markdown.d.ts +19 -0
  167. package/dist/components/ui/navigation-menu.d.ts +12 -0
  168. package/dist/components/ui/popover.d.ts +6 -0
  169. package/dist/components/ui/scroll-area.d.ts +5 -0
  170. package/dist/components/ui/select.d.ts +42 -0
  171. package/dist/components/ui/skeleton.d.ts +6 -0
  172. package/dist/components/ui/switch.d.ts +4 -0
  173. package/dist/components/ui/tooltip.d.ts +7 -0
  174. package/dist/components/ui/tree.d.ts +37 -0
  175. package/dist/components/useAppCommands.d.ts +25 -0
  176. package/dist/data/DataProvider.d.ts +30 -0
  177. package/dist/data/index.d.ts +1 -0
  178. package/dist/databaseMapLeaflet-8LYcHcR6.js +87 -0
  179. package/dist/export/__tests__/chartNormalize.test.d.ts +1 -0
  180. package/dist/export/__tests__/export.test.d.ts +1 -0
  181. package/dist/export/__tests__/exportReactive.test.d.ts +1 -0
  182. package/dist/export/chartNormalize.d.ts +22 -0
  183. package/dist/export/chartSvg.d.ts +2 -0
  184. package/dist/export/documentModel.d.ts +136 -0
  185. package/dist/export/exportSite.d.ts +40 -0
  186. package/dist/export/format.d.ts +2 -0
  187. package/dist/export/kitChart.d.ts +21 -0
  188. package/dist/export/toHtml.d.ts +25 -0
  189. package/dist/export/toMarkdown.d.ts +7 -0
  190. package/dist/export/toPdf.d.ts +14 -0
  191. package/dist/exportBlocks-33D7P_8Q.js +987 -0
  192. package/dist/exportSite-DlRm4u7W.js +50 -0
  193. package/dist/format-CLQoRoYP.js +1646 -0
  194. package/dist/i18n/__tests__/i18n.test.d.ts +1 -0
  195. package/dist/i18n/index.d.ts +24 -0
  196. package/dist/i18n/messages/de.d.ts +2 -0
  197. package/dist/i18n/messages/en.d.ts +977 -0
  198. package/dist/i18n/messages/ja.d.ts +2 -0
  199. package/dist/i18n/messages/zh.d.ts +2 -0
  200. package/dist/index.d.ts +11 -0
  201. package/dist/index.js +20915 -0
  202. package/dist/layouts/DefaultLayout.d.ts +4 -0
  203. package/dist/layouts/index.d.ts +1 -0
  204. package/dist/lib/__tests__/accountClient.test.d.ts +1 -0
  205. package/dist/lib/__tests__/backlinks.test.d.ts +1 -0
  206. package/dist/lib/__tests__/backupBundle.test.d.ts +1 -0
  207. package/dist/lib/__tests__/blockExport.test.d.ts +1 -0
  208. package/dist/lib/__tests__/blockModel.test.d.ts +1 -0
  209. package/dist/lib/__tests__/databaseFormula.test.d.ts +1 -0
  210. package/dist/lib/__tests__/databaseTypes.test.d.ts +1 -0
  211. package/dist/lib/__tests__/favorites.test.d.ts +1 -0
  212. package/dist/lib/__tests__/homePage.test.d.ts +1 -0
  213. package/dist/lib/__tests__/hud.test.d.ts +1 -0
  214. package/dist/lib/__tests__/icons.test.d.ts +1 -0
  215. package/dist/lib/__tests__/mixedContent.test.d.ts +1 -0
  216. package/dist/lib/__tests__/pageAppearance.test.d.ts +1 -0
  217. package/dist/lib/__tests__/pageIcon.test.d.ts +1 -0
  218. package/dist/lib/__tests__/pageLayout.test.d.ts +1 -0
  219. package/dist/lib/__tests__/pageSaveStatus.test.d.ts +1 -0
  220. package/dist/lib/__tests__/pageTheme.test.d.ts +1 -0
  221. package/dist/lib/__tests__/parentGrouping.test.d.ts +1 -0
  222. package/dist/lib/__tests__/pluginSdk.test.d.ts +1 -0
  223. package/dist/lib/__tests__/recents.test.d.ts +1 -0
  224. package/dist/lib/__tests__/relations.test.d.ts +1 -0
  225. package/dist/lib/__tests__/templates.test.d.ts +1 -0
  226. package/dist/lib/__tests__/textMerge.test.d.ts +1 -0
  227. package/dist/lib/__tests__/themes.test.d.ts +1 -0
  228. package/dist/lib/__tests__/treeMove.test.d.ts +1 -0
  229. package/dist/lib/aiBridge.d.ts +67 -0
  230. package/dist/lib/aiFeatures.d.ts +31 -0
  231. package/dist/lib/aiSettingsNav.d.ts +14 -0
  232. package/dist/lib/backupBundle.d.ts +23 -0
  233. package/dist/lib/bookFolderTransfer.d.ts +15 -0
  234. package/dist/lib/download.d.ts +10 -0
  235. package/dist/lib/editorChrome.d.ts +14 -0
  236. package/dist/lib/emoji.d.ts +10 -0
  237. package/dist/lib/emojiData.d.ts +21 -0
  238. package/dist/lib/emojiPicker.d.ts +31 -0
  239. package/dist/lib/favorites.d.ts +11 -0
  240. package/dist/lib/homePage.d.ts +53 -0
  241. package/dist/lib/hud.d.ts +70 -0
  242. package/dist/lib/iconRecents.d.ts +3 -0
  243. package/dist/lib/iconValue.d.ts +19 -0
  244. package/dist/lib/lucideIcons.d.ts +21 -0
  245. package/dist/lib/openDocs.d.ts +5 -0
  246. package/dist/lib/pageActions.d.ts +17 -0
  247. package/dist/lib/pageAppearance.d.ts +20 -0
  248. package/dist/lib/pageCover.d.ts +21 -0
  249. package/dist/lib/pageCustomise.d.ts +6 -0
  250. package/dist/lib/pageDocActions.d.ts +20 -0
  251. package/dist/lib/pageFont.d.ts +25 -0
  252. package/dist/lib/pageFullWidth.d.ts +10 -0
  253. package/dist/lib/pageIcon.d.ts +25 -0
  254. package/dist/lib/pageLinks.d.ts +41 -0
  255. package/dist/lib/pageSaveStatus.d.ts +14 -0
  256. package/dist/lib/pageTheme.d.ts +15 -0
  257. package/dist/lib/pageThemePresets.d.ts +23 -0
  258. package/dist/lib/recents.d.ts +9 -0
  259. package/dist/lib/reviewPane.d.ts +23 -0
  260. package/dist/lib/selection.d.ts +2 -0
  261. package/dist/lib/shortcuts.d.ts +79 -0
  262. package/dist/lib/sidebarStyles.d.ts +10 -0
  263. package/dist/lib/suggestBridge.d.ts +33 -0
  264. package/dist/lib/textMerge.d.ts +19 -0
  265. package/dist/lib/themes.d.ts +137 -0
  266. package/dist/lib/treeMove.d.ts +24 -0
  267. package/dist/lib/useModifierHeld.d.ts +1 -0
  268. package/dist/lib/utils.d.ts +2 -0
  269. package/dist/lucideIcons-B6pmC-WQ.js +5003 -0
  270. package/dist/model-CBxw8JNb.js +734 -0
  271. package/dist/pageIcon-BWTy7hAh.js +32 -0
  272. package/dist/plugins/__tests__/host.test.d.ts +1 -0
  273. package/dist/plugins/__tests__/loader.test.d.ts +1 -0
  274. package/dist/plugins/__tests__/pagePlugin.test.d.ts +1 -0
  275. package/dist/plugins/api.d.ts +67 -0
  276. package/dist/plugins/commandRegistry.d.ts +15 -0
  277. package/dist/plugins/host.d.ts +32 -0
  278. package/dist/plugins/index.d.ts +5 -0
  279. package/dist/plugins/loader.d.ts +19 -0
  280. package/dist/plugins/pagePlugin.d.ts +21 -0
  281. package/dist/providers/AccountProvider.d.ts +67 -0
  282. package/dist/providers/ConfirmProvider.d.ts +30 -0
  283. package/dist/providers/ForwardingProvider.d.ts +23 -0
  284. package/dist/providers/HudProvider.d.ts +9 -0
  285. package/dist/providers/I18nProvider.d.ts +23 -0
  286. package/dist/providers/NavigationProvider.d.ts +89 -0
  287. package/dist/providers/PlatformLibraryProvider.d.ts +107 -0
  288. package/dist/providers/PreferencesProvider.d.ts +47 -0
  289. package/dist/providers/ThemeProvider.d.ts +26 -0
  290. package/dist/providers/WorkspaceProvider.d.ts +40 -0
  291. package/dist/providers/__tests__/PreferencesProvider.test.d.ts +1 -0
  292. package/dist/providers/__tests__/extractToken.test.d.ts +1 -0
  293. package/dist/providers/__tests__/windowModel.test.d.ts +1 -0
  294. package/dist/providers/index.d.ts +10 -0
  295. package/dist/providers/windowModel.d.ts +69 -0
  296. package/dist/screens/BlockPageDocument.d.ts +4 -0
  297. package/dist/screens/ConnectedPageDocument.d.ts +14 -0
  298. package/dist/screens/DataflowView.d.ts +2 -0
  299. package/dist/screens/HomeScreen.d.ts +7 -0
  300. package/dist/screens/index.d.ts +3 -0
  301. package/dist/screens/pageChrome.d.ts +46 -0
  302. package/dist/style.css +3 -0
  303. package/dist/toHtml-BoPr8Ce4.js +394 -0
  304. package/dist/toPdf-DGtKQSRA.js +133 -0
  305. 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
+ }