@k2b/ui 0.50.0 → 0.51.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 (294) hide show
  1. package/dist/base.css +32 -1
  2. package/dist/browser/actions/Button.js.map +1 -1
  3. package/dist/browser/actions/CommandList.js +861 -0
  4. package/dist/browser/actions/CommandList.js.map +1 -0
  5. package/dist/browser/actions/CommandMenu.js +237 -0
  6. package/dist/browser/actions/CommandMenu.js.map +1 -0
  7. package/dist/browser/actions/Dropdown.js +43 -10
  8. package/dist/browser/actions/Dropdown.js.map +1 -1
  9. package/dist/browser/actions/command-dock.js +47 -0
  10. package/dist/browser/actions/command-dock.js.map +1 -0
  11. package/dist/browser/actions/command-items.js +84 -0
  12. package/dist/browser/actions/command-items.js.map +1 -0
  13. package/dist/browser/actions/command-messages.js +42 -0
  14. package/dist/browser/actions/command-messages.js.map +1 -0
  15. package/dist/browser/actions/index.js +1 -0
  16. package/dist/browser/actions/index.js.map +1 -1
  17. package/dist/browser/charts/core/area.js +3 -5
  18. package/dist/browser/charts/core/area.js.map +1 -1
  19. package/dist/browser/charts/core/calendar.js +1 -1
  20. package/dist/browser/charts/core/calendar.js.map +1 -1
  21. package/dist/browser/charts/core/chart-messages.js +17 -0
  22. package/dist/browser/charts/core/chart-messages.js.map +1 -0
  23. package/dist/browser/charts/core/hbar-layout.js +118 -0
  24. package/dist/browser/charts/core/hbar-layout.js.map +1 -0
  25. package/dist/browser/charts/core/hbar.js +39 -0
  26. package/dist/browser/charts/core/hbar.js.map +1 -0
  27. package/dist/browser/charts/core/index.js +7 -2
  28. package/dist/browser/charts/core/index.js.map +1 -1
  29. package/dist/browser/charts/core/map.js +116 -0
  30. package/dist/browser/charts/core/map.js.map +1 -0
  31. package/dist/browser/charts/core/registry.js +22 -15
  32. package/dist/browser/charts/core/registry.js.map +1 -1
  33. package/dist/browser/charts/core/render-size.js +13 -0
  34. package/dist/browser/charts/core/render-size.js.map +1 -0
  35. package/dist/browser/charts/core/render.js +20 -10
  36. package/dist/browser/charts/core/render.js.map +1 -1
  37. package/dist/browser/charts/core/snapshot.js +3 -3
  38. package/dist/browser/charts/core/snapshot.js.map +1 -1
  39. package/dist/browser/charts/core/svg-renderers.js +2406 -0
  40. package/dist/browser/charts/core/svg-renderers.js.map +1 -0
  41. package/dist/browser/charts/core/svg.js +4 -2525
  42. package/dist/browser/charts/core/svg.js.map +1 -1
  43. package/dist/browser/charts/core/types.js +0 -2
  44. package/dist/browser/charts/core/types.js.map +1 -1
  45. package/dist/browser/charts/core/waterfall.js +162 -0
  46. package/dist/browser/charts/core/waterfall.js.map +1 -0
  47. package/dist/browser/charts/description.js +2 -0
  48. package/dist/browser/charts/description.js.map +1 -0
  49. package/dist/browser/charts.js.map +1 -1
  50. package/dist/browser/content/Chart.js +14 -628
  51. package/dist/browser/content/Chart.js.map +1 -1
  52. package/dist/browser/content/ChartRoot.js +632 -0
  53. package/dist/browser/content/ChartRoot.js.map +1 -0
  54. package/dist/browser/content/ChartSparkline.js +24 -0
  55. package/dist/browser/content/ChartSparkline.js.map +1 -0
  56. package/dist/browser/content/FileView.js +111 -61
  57. package/dist/browser/content/FileView.js.map +1 -1
  58. package/dist/browser/content/Lightbox.js +8 -8
  59. package/dist/browser/content/Lightbox.js.map +1 -1
  60. package/dist/browser/content/MapView.js +30 -28
  61. package/dist/browser/content/MapView.js.map +1 -1
  62. package/dist/browser/content/PdfPreview.js +84 -52
  63. package/dist/browser/content/PdfPreview.js.map +1 -1
  64. package/dist/browser/content/PdfViewer.js +588 -0
  65. package/dist/browser/content/PdfViewer.js.map +1 -0
  66. package/dist/browser/content/chart-bar.js +246 -16
  67. package/dist/browser/content/chart-bar.js.map +1 -1
  68. package/dist/browser/content/chart-inspection-core.js +22 -21
  69. package/dist/browser/content/chart-inspection-core.js.map +1 -1
  70. package/dist/browser/content/chart-line-gaps.js +1 -1
  71. package/dist/browser/content/chart-line-gaps.js.map +1 -1
  72. package/dist/browser/content/chart-message-catalog.js +10 -0
  73. package/dist/browser/content/chart-message-catalog.js.map +1 -1
  74. package/dist/browser/content/chart-state-timeline.js +1 -1
  75. package/dist/browser/content/chart-state-timeline.js.map +1 -1
  76. package/dist/browser/content/chart-svg.js +2 -1
  77. package/dist/browser/content/chart-svg.js.map +1 -1
  78. package/dist/browser/content/index.js +1 -0
  79. package/dist/browser/content/index.js.map +1 -1
  80. package/dist/browser/content/pdf-document.js +29 -0
  81. package/dist/browser/content/pdf-document.js.map +1 -0
  82. package/dist/browser/content/pdf-limits.js +31 -0
  83. package/dist/browser/content/pdf-limits.js.map +1 -0
  84. package/dist/browser/content/pdf-messages.js +34 -2
  85. package/dist/browser/content/pdf-messages.js.map +1 -1
  86. package/dist/browser/content/pdf-viewer-engine.js +57 -0
  87. package/dist/browser/content/pdf-viewer-worker.js +28 -0
  88. package/dist/browser/inputs/ChoiceInputs.js +94 -51
  89. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  90. package/dist/browser/inputs/ChoiceSlider.js +75 -58
  91. package/dist/browser/inputs/ChoiceSlider.js.map +1 -1
  92. package/dist/browser/inputs/DatePicker.js +113 -98
  93. package/dist/browser/inputs/DatePicker.js.map +1 -1
  94. package/dist/browser/inputs/PeriodPicker.js +874 -0
  95. package/dist/browser/inputs/PeriodPicker.js.map +1 -0
  96. package/dist/browser/inputs/index.js +4 -1
  97. package/dist/browser/inputs/index.js.map +1 -1
  98. package/dist/browser/inputs/input-messages.js +8 -2
  99. package/dist/browser/inputs/input-messages.js.map +1 -1
  100. package/dist/browser/inputs/markdown/MarkdownEditor.js +14 -10
  101. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  102. package/dist/browser/inputs/markdown/SlashCommands.js +402 -0
  103. package/dist/browser/inputs/markdown/SlashCommands.js.map +1 -0
  104. package/dist/browser/inputs/period-picker-messages.js +71 -0
  105. package/dist/browser/inputs/period-picker-messages.js.map +1 -0
  106. package/dist/browser/inputs/period.js +263 -0
  107. package/dist/browser/inputs/period.js.map +1 -0
  108. package/dist/browser/layout/DetailPanel.js +147 -120
  109. package/dist/browser/layout/DetailPanel.js.map +1 -1
  110. package/dist/browser/layout/Discussion.js +101 -108
  111. package/dist/browser/layout/Discussion.js.map +1 -1
  112. package/dist/browser/layout/index.js.map +1 -1
  113. package/dist/browser/surfaces/DescriptionList.js +5 -2
  114. package/dist/browser/surfaces/DescriptionList.js.map +1 -1
  115. package/dist/browser/surfaces/StatCell.js +19 -14
  116. package/dist/browser/surfaces/StatCell.js.map +1 -1
  117. package/dist/browser/surfaces/delta-badge.js +16 -2
  118. package/dist/browser/surfaces/delta-badge.js.map +1 -1
  119. package/dist/browser/widgets/DashboardFrame.js +310 -0
  120. package/dist/browser/widgets/DashboardFrame.js.map +1 -0
  121. package/dist/browser/widgets/index.js +1 -0
  122. package/dist/browser/widgets/index.js.map +1 -1
  123. package/dist/licenses/pdfjs-dist.txt +177 -0
  124. package/dist/ssr/actions/Button.js.map +1 -1
  125. package/dist/ssr/actions/CommandList.js +638 -0
  126. package/dist/ssr/actions/CommandList.js.map +1 -0
  127. package/dist/ssr/actions/CommandMenu.js +197 -0
  128. package/dist/ssr/actions/CommandMenu.js.map +1 -0
  129. package/dist/ssr/actions/Dropdown.js +43 -10
  130. package/dist/ssr/actions/Dropdown.js.map +1 -1
  131. package/dist/ssr/actions/command-dock.js +47 -0
  132. package/dist/ssr/actions/command-dock.js.map +1 -0
  133. package/dist/ssr/actions/command-items.js +84 -0
  134. package/dist/ssr/actions/command-items.js.map +1 -0
  135. package/dist/ssr/actions/command-messages.js +42 -0
  136. package/dist/ssr/actions/command-messages.js.map +1 -0
  137. package/dist/ssr/actions/index.js +1 -0
  138. package/dist/ssr/actions/index.js.map +1 -1
  139. package/dist/ssr/charts/core/area.js +3 -5
  140. package/dist/ssr/charts/core/area.js.map +1 -1
  141. package/dist/ssr/charts/core/calendar.js +1 -1
  142. package/dist/ssr/charts/core/calendar.js.map +1 -1
  143. package/dist/ssr/charts/core/chart-messages.js +17 -0
  144. package/dist/ssr/charts/core/chart-messages.js.map +1 -0
  145. package/dist/ssr/charts/core/hbar-layout.js +118 -0
  146. package/dist/ssr/charts/core/hbar-layout.js.map +1 -0
  147. package/dist/ssr/charts/core/hbar.js +39 -0
  148. package/dist/ssr/charts/core/hbar.js.map +1 -0
  149. package/dist/ssr/charts/core/index.js +7 -2
  150. package/dist/ssr/charts/core/index.js.map +1 -1
  151. package/dist/ssr/charts/core/map.js +116 -0
  152. package/dist/ssr/charts/core/map.js.map +1 -0
  153. package/dist/ssr/charts/core/registry.js +22 -15
  154. package/dist/ssr/charts/core/registry.js.map +1 -1
  155. package/dist/ssr/charts/core/render-size.js +13 -0
  156. package/dist/ssr/charts/core/render-size.js.map +1 -0
  157. package/dist/ssr/charts/core/render.js +20 -10
  158. package/dist/ssr/charts/core/render.js.map +1 -1
  159. package/dist/ssr/charts/core/snapshot.js +3 -3
  160. package/dist/ssr/charts/core/snapshot.js.map +1 -1
  161. package/dist/ssr/charts/core/svg-renderers.js +2406 -0
  162. package/dist/ssr/charts/core/svg-renderers.js.map +1 -0
  163. package/dist/ssr/charts/core/svg.js +4 -2525
  164. package/dist/ssr/charts/core/svg.js.map +1 -1
  165. package/dist/ssr/charts/core/types.js +0 -2
  166. package/dist/ssr/charts/core/types.js.map +1 -1
  167. package/dist/ssr/charts/core/waterfall.js +162 -0
  168. package/dist/ssr/charts/core/waterfall.js.map +1 -0
  169. package/dist/ssr/charts/description.js +2 -0
  170. package/dist/ssr/charts/description.js.map +1 -0
  171. package/dist/ssr/charts.js.map +1 -1
  172. package/dist/ssr/content/Chart.js +14 -471
  173. package/dist/ssr/content/Chart.js.map +1 -1
  174. package/dist/ssr/content/ChartRoot.js +475 -0
  175. package/dist/ssr/content/ChartRoot.js.map +1 -0
  176. package/dist/ssr/content/ChartSparkline.js +24 -0
  177. package/dist/ssr/content/ChartSparkline.js.map +1 -0
  178. package/dist/ssr/content/FileView.js +56 -7
  179. package/dist/ssr/content/FileView.js.map +1 -1
  180. package/dist/ssr/content/Lightbox.js +8 -8
  181. package/dist/ssr/content/Lightbox.js.map +1 -1
  182. package/dist/ssr/content/MapView.js +9 -9
  183. package/dist/ssr/content/MapView.js.map +1 -1
  184. package/dist/ssr/content/PdfPreview.js +49 -20
  185. package/dist/ssr/content/PdfPreview.js.map +1 -1
  186. package/dist/ssr/content/PdfViewer.js +484 -0
  187. package/dist/ssr/content/PdfViewer.js.map +1 -0
  188. package/dist/ssr/content/chart-bar.js +246 -16
  189. package/dist/ssr/content/chart-bar.js.map +1 -1
  190. package/dist/ssr/content/chart-inspection-core.js +22 -21
  191. package/dist/ssr/content/chart-inspection-core.js.map +1 -1
  192. package/dist/ssr/content/chart-line-gaps.js +1 -1
  193. package/dist/ssr/content/chart-line-gaps.js.map +1 -1
  194. package/dist/ssr/content/chart-message-catalog.js +10 -0
  195. package/dist/ssr/content/chart-message-catalog.js.map +1 -1
  196. package/dist/ssr/content/chart-state-timeline.js +1 -1
  197. package/dist/ssr/content/chart-state-timeline.js.map +1 -1
  198. package/dist/ssr/content/chart-svg.js +2 -1
  199. package/dist/ssr/content/chart-svg.js.map +1 -1
  200. package/dist/ssr/content/index.js +1 -0
  201. package/dist/ssr/content/index.js.map +1 -1
  202. package/dist/ssr/content/pdf-document.js +29 -0
  203. package/dist/ssr/content/pdf-document.js.map +1 -0
  204. package/dist/ssr/content/pdf-limits.js +31 -0
  205. package/dist/ssr/content/pdf-limits.js.map +1 -0
  206. package/dist/ssr/content/pdf-messages.js +34 -2
  207. package/dist/ssr/content/pdf-messages.js.map +1 -1
  208. package/dist/ssr/inputs/ChoiceInputs.js +49 -12
  209. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  210. package/dist/ssr/inputs/ChoiceSlider.js +17 -12
  211. package/dist/ssr/inputs/ChoiceSlider.js.map +1 -1
  212. package/dist/ssr/inputs/DatePicker.js +14 -9
  213. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  214. package/dist/ssr/inputs/PeriodPicker.js +598 -0
  215. package/dist/ssr/inputs/PeriodPicker.js.map +1 -0
  216. package/dist/ssr/inputs/index.js +4 -1
  217. package/dist/ssr/inputs/index.js.map +1 -1
  218. package/dist/ssr/inputs/input-messages.js +8 -2
  219. package/dist/ssr/inputs/input-messages.js.map +1 -1
  220. package/dist/ssr/inputs/markdown/MarkdownEditor.js +3 -2
  221. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  222. package/dist/ssr/inputs/markdown/SlashCommands.js +339 -0
  223. package/dist/ssr/inputs/markdown/SlashCommands.js.map +1 -0
  224. package/dist/ssr/inputs/period-picker-messages.js +71 -0
  225. package/dist/ssr/inputs/period-picker-messages.js.map +1 -0
  226. package/dist/ssr/inputs/period.js +263 -0
  227. package/dist/ssr/inputs/period.js.map +1 -0
  228. package/dist/ssr/layout/DetailPanel.js +27 -4
  229. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  230. package/dist/ssr/layout/Discussion.js +16 -2
  231. package/dist/ssr/layout/Discussion.js.map +1 -1
  232. package/dist/ssr/layout/index.js.map +1 -1
  233. package/dist/ssr/surfaces/DescriptionList.js +1 -1
  234. package/dist/ssr/surfaces/DescriptionList.js.map +1 -1
  235. package/dist/ssr/surfaces/StatCell.js +4 -5
  236. package/dist/ssr/surfaces/StatCell.js.map +1 -1
  237. package/dist/ssr/surfaces/delta-badge.js +16 -2
  238. package/dist/ssr/surfaces/delta-badge.js.map +1 -1
  239. package/dist/ssr/widgets/DashboardFrame.js +200 -0
  240. package/dist/ssr/widgets/DashboardFrame.js.map +1 -0
  241. package/dist/ssr/widgets/index.js +1 -0
  242. package/dist/ssr/widgets/index.js.map +1 -1
  243. package/dist/styles.css +1 -1
  244. package/dist/types/actions/Button.d.ts +1 -1
  245. package/dist/types/actions/CommandList.d.ts +120 -0
  246. package/dist/types/actions/CommandMenu.d.ts +39 -0
  247. package/dist/types/actions/Dropdown.d.ts +17 -0
  248. package/dist/types/actions/command-dock.d.ts +8 -0
  249. package/dist/types/actions/command-items.d.ts +134 -0
  250. package/dist/types/actions/command-messages.d.ts +19 -0
  251. package/dist/types/actions/index.d.ts +3 -0
  252. package/dist/types/charts/core/calendar.d.ts +1 -1
  253. package/dist/types/charts/core/chart-messages.d.ts +5 -0
  254. package/dist/types/charts/core/hbar-layout.d.ts +74 -0
  255. package/dist/types/charts/core/hbar.d.ts +13 -0
  256. package/dist/types/charts/core/index.d.ts +7 -2
  257. package/dist/types/charts/core/map.d.ts +3 -0
  258. package/dist/types/charts/core/registry.d.ts +17 -11
  259. package/dist/types/charts/core/render-size.d.ts +7 -0
  260. package/dist/types/charts/core/render.d.ts +1 -4
  261. package/dist/types/charts/core/snapshot.d.ts +2 -2
  262. package/dist/types/charts/core/svg-renderers.d.ts +722 -0
  263. package/dist/types/charts/core/svg.d.ts +4 -698
  264. package/dist/types/charts/core/types.d.ts +1 -12
  265. package/dist/types/charts/core/waterfall.d.ts +68 -0
  266. package/dist/types/charts/description.d.ts +226 -0
  267. package/dist/types/charts.d.ts +1 -0
  268. package/dist/types/content/Chart.d.ts +3 -91
  269. package/dist/types/content/ChartRoot.d.ts +92 -0
  270. package/dist/types/content/ChartSparkline.d.ts +5 -0
  271. package/dist/types/content/PdfViewer.d.ts +32 -0
  272. package/dist/types/content/chart-bar.d.ts +95 -2
  273. package/dist/types/content/index.d.ts +2 -0
  274. package/dist/types/content/pdf-document.d.ts +5 -0
  275. package/dist/types/content/pdf-engine.d.ts +9 -0
  276. package/dist/types/content/pdf-limits.d.ts +43 -0
  277. package/dist/types/content/pdf-messages.d.ts +16 -0
  278. package/dist/types/inputs/ChoiceInputs.d.ts +4 -0
  279. package/dist/types/inputs/ChoiceSlider.d.ts +12 -0
  280. package/dist/types/inputs/DatePicker.d.ts +22 -0
  281. package/dist/types/inputs/PeriodPicker.d.ts +24 -0
  282. package/dist/types/inputs/index.d.ts +8 -2
  283. package/dist/types/inputs/input-messages.d.ts +3 -0
  284. package/dist/types/inputs/markdown/MarkdownEditor.d.ts +5 -0
  285. package/dist/types/inputs/markdown/SlashCommands.d.ts +20 -0
  286. package/dist/types/inputs/period-picker-messages.d.ts +34 -0
  287. package/dist/types/inputs/period.d.ts +134 -0
  288. package/dist/types/layout/DetailPanel.d.ts +12 -0
  289. package/dist/types/layout/index.d.ts +1 -1
  290. package/dist/types/surfaces/DescriptionList.d.ts +5 -0
  291. package/dist/types/surfaces/StatCell.d.ts +6 -1
  292. package/dist/types/widgets/DashboardFrame.d.ts +58 -0
  293. package/dist/types/widgets/index.d.ts +1 -0
  294. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["content/chart-svg.ts"],"sourcesContent":["import type { MapViewport } from \"../charts/core/svg\";\n\n/** Give maps a CSS-sized viewport while retaining the renderer's projection.\n * The outer SVG uses pixels for headers/legend; the nested geographic viewport\n * keeps one fitted scale across zoom levels and clips only at the plot edges.\n */\nexport function responsiveMapSvg(svg: string, width: number, height: number, viewport: MapViewport): string {\n if (!svg.includes('class=\"stdlib-chart-map-viewport\"')) return svg;\n const zoomScale = 2 ** viewport.zoom;\n return svg\n .replace(/<text class=\"stdlib-chart-(title|subtitle|map-empty)\"[^>]*>/g, (tag) => {\n const centered = tag.replace(/x=\"[^\"]*\"/, 'x=\"50%\"');\n return tag.includes(\"map-empty\") ? centered.replace(/y=\"[^\"]*\"/, 'y=\"50%\"') : centered;\n })\n .replace(/^(<svg\\b[^>]*?) viewBox=\"[^\"]*\"/, \"$1\")\n .replace(/<svg class=\"stdlib-chart-map-viewport\"[^>]*>/, (tag) => {\n const mapWidth = Number(tag.match(/\\bwidth=\"([^\"]+)\"/)?.[1]);\n const mapHeight = Number(tag.match(/\\bheight=\"([^\"]+)\"/)?.[1]);\n const inverse = `calc(max(tan(atan2(${mapWidth}px, ${(mapWidth / width) * 100}cqw)), tan(atan2(${mapHeight}px, ${(mapHeight / height) * 100}cqh))) / ${zoomScale})`;\n const translateX = mapWidth / 2 - ((viewport.longitude + 180) / 360) * mapWidth * zoomScale;\n const translateY = mapHeight / 2 - ((90 - viewport.latitude) / 180) * mapHeight * zoomScale;\n return tag\n .replace(\n /\\b(x|y|width|height)=\"([\\d.]+)\"/g,\n (_match, name: string, value: string) =>\n `${name}=\"${(Number(value) / (name === \"x\" || name === \"width\" ? width : height)) * 100}%\"`,\n )\n .replace(\n \">\",\n ` preserveAspectRatio=\"xMidYMid meet\" style=\"--k2b-map-inverse-scale:${inverse}\"><g class=\"k2b-chart-map-camera\" transform=\"translate(${translateX} ${translateY}) scale(${zoomScale})\">`,\n );\n })\n .replace(\"</svg>\", \"</g></svg>\");\n}\n\n/** Adapt our generated SVGs to a CSS-sized box without rebuilding their geometry.\n * Only stdlib and the local timeline renderer supply this markup; this is not a\n * parser for arbitrary SVG. The viewBox remains the interaction coordinate space.\n */\nexport function responsiveChartSvg(svg: string): string {\n return svg.replace(\"<svg \", '<svg preserveAspectRatio=\"none\" ').replace(/<text\\b[^>]*>/g, (tag) => {\n const x = tag.match(/\\bx=\"(-?[\\d.]+)\"/)?.[1];\n const y = tag.match(/\\by=\"(-?[\\d.]+)\"/)?.[1];\n if (x === undefined || y === undefined) return tag;\n const rotation = tag.match(/\\btransform=\"rotate\\((-?[\\d.]+) [^\\\"]+\\)\"/)?.[1];\n // Individual CSS scale precedes rotation. Use the same text anchor as\n // transform-origin, and avoid applying the SVG rotation pivot twice.\n const origin = `transform-origin:${x}px ${y}px${rotation ? `;transform:rotate(${rotation}deg)` : \"\"}`;\n return tag.includes('style=\"')\n ? tag.replace(/style=\"([^\"]*)\"/, (_match, style: string) => `style=\"${style};${origin}\"`)\n : tag.replace(/>$/, ` style=\"${origin}\">`);\n });\n}\n\n/** Add initial controlled selection to our own renderer metadata during SSR. */\nexport function selectedChartSvg(\n svg: string,\n selected:\n | { role: string; index: number; seriesIndex?: number }\n | readonly { role: string; index: number; seriesIndex?: number }[]\n | null\n | undefined,\n): string {\n if (!selected) return svg;\n const targets = \"role\" in selected ? [selected] : selected;\n return svg.replace(/<g\\b[^>]*\\bdata-chart-datum=\"([^\"]*)\"[^>]*>/g, (attribute, encoded: string, offset: number) => {\n const raw = encoded\n .replace(/&quot;/g, '\"')\n .replace(/&apos;|&#39;/g, \"'\")\n .replace(/&lt;/g, \"<\")\n .replace(/&gt;/g, \">\")\n .replace(/&amp;/g, \"&\");\n const value: unknown = JSON.parse(raw);\n if (typeof value !== \"object\" || value === null || !(\"role\" in value) || !(\"index\" in value)) return attribute;\n const matches = targets.find(\n (target) =>\n value.role === target.role &&\n value.index === target.index &&\n (\"seriesIndex\" in value ? value.seriesIndex : undefined) === target.seriesIndex,\n );\n if (!matches) return attribute;\n const children = svg.slice(offset, svg.indexOf(\"</g>\", offset));\n const palette = (Number(children.match(/stdlib-chart-series-(\\d+)/)?.[1] ?? matches.seriesIndex ?? 0) % 8) + 1;\n const paint = `--k2b-chart-selection-color:color-mix(in srgb,var(--stdlib-chart-c${palette}) 72%,var(--k2b-chart-highlight-mix))`;\n const opening = attribute.includes('style=\"')\n ? attribute.replace(/style=\"([^\"]*)\"/, (_match: string, style: string) => `style=\"${style};${paint}\"`)\n : attribute.replace(\">\", ` style=\"${paint}\">`);\n return opening.replace(\">\", \" data-selected>\");\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["content/chart-svg.ts"],"sourcesContent":["import type { MapViewport } from \"../charts/core/svg\";\n\n/** Give maps a CSS-sized viewport while retaining the renderer's projection.\n * The outer SVG uses pixels for headers/legend; the nested geographic viewport\n * keeps one fitted scale across zoom levels and clips only at the plot edges.\n */\nexport function responsiveMapSvg(svg: string, width: number, height: number, viewport: MapViewport): string {\n if (!svg.includes('class=\"stdlib-chart-map-viewport\"')) return svg;\n const zoomScale = 2 ** viewport.zoom;\n return svg\n .replace(/<text class=\"stdlib-chart-(title|subtitle|map-empty)\"[^>]*>/g, (tag) => {\n const centered = tag.replace(/x=\"[^\"]*\"/, 'x=\"50%\"');\n return tag.includes(\"map-empty\") ? centered.replace(/y=\"[^\"]*\"/, 'y=\"50%\"') : centered;\n })\n .replace(/^(<svg\\b[^>]*?) viewBox=\"[^\"]*\"/, \"$1\")\n .replace(/<svg class=\"stdlib-chart-map-viewport\"[^>]*>/, (tag) => {\n const mapWidth = Number(tag.match(/\\bwidth=\"([^\"]+)\"/)?.[1]);\n const mapHeight = Number(tag.match(/\\bheight=\"([^\"]+)\"/)?.[1]);\n const inverse = `calc(max(tan(atan2(${mapWidth}px, ${(mapWidth / width) * 100}cqw)), tan(atan2(${mapHeight}px, ${(mapHeight / height) * 100}cqh))) / ${zoomScale})`;\n const translateX = mapWidth / 2 - ((viewport.longitude + 180) / 360) * mapWidth * zoomScale;\n const translateY = mapHeight / 2 - ((90 - viewport.latitude) / 180) * mapHeight * zoomScale;\n return tag\n .replace(\n /\\b(x|y|width|height)=\"([\\d.]+)\"/g,\n (_match, name: string, value: string) =>\n `${name}=\"${(Number(value) / (name === \"x\" || name === \"width\" ? width : height)) * 100}%\"`,\n )\n .replace(\n \">\",\n ` preserveAspectRatio=\"xMidYMid meet\" style=\"--k2b-map-inverse-scale:${inverse}\"><g class=\"k2b-chart-map-camera\" transform=\"translate(${translateX} ${translateY}) scale(${zoomScale})\">`,\n );\n })\n .replace(\"</svg>\", \"</g></svg>\");\n}\n\n/** Adapt our generated SVGs to a CSS-sized box without rebuilding their geometry.\n * Only stdlib and the local timeline renderer supply this markup; this is not a\n * parser for arbitrary SVG. The viewBox remains the interaction coordinate space.\n */\nexport function responsiveChartSvg(svg: string): string {\n return svg.replace(\"<svg \", '<svg preserveAspectRatio=\"none\" ').replace(/<text\\b[^>]*>/g, (tag) => {\n const x = tag.match(/\\bx=\"(-?[\\d.]+)\"/)?.[1];\n const y = tag.match(/\\by=\"(-?[\\d.]+)\"/)?.[1];\n if (x === undefined || y === undefined) return tag;\n const rotation = tag.match(/\\btransform=\"rotate\\((-?[\\d.]+) [^\\\"]+\\)\"/)?.[1];\n // Individual CSS scale precedes rotation. Use the same text anchor as\n // transform-origin, and avoid applying the SVG rotation pivot twice.\n const origin = `transform-origin:${x}px ${y}px${rotation ? `;transform:rotate(${rotation}deg)` : \"\"}`;\n return tag.includes('style=\"')\n ? tag.replace(/style=\"([^\"]*)\"/, (_match, style: string) => `style=\"${style};${origin}\"`)\n : tag.replace(/>$/, ` style=\"${origin}\">`);\n });\n}\n\n/** Add initial controlled selection to our own renderer metadata during SSR. */\nexport function selectedChartSvg(\n svg: string,\n selected:\n | { role: string; index: number; seriesIndex?: number }\n | readonly { role: string; index: number; seriesIndex?: number }[]\n | null\n | undefined,\n): string {\n if (!selected) return svg;\n const targets = \"role\" in selected ? [selected] : selected;\n return svg.replace(/<g\\b[^>]*\\bdata-chart-datum=\"([^\"]*)\"[^>]*>/g, (attribute, encoded: string, offset: number) => {\n const raw = encoded\n .replace(/&quot;/g, '\"')\n .replace(/&apos;|&#39;/g, \"'\")\n .replace(/&lt;/g, \"<\")\n .replace(/&gt;/g, \">\")\n .replace(/&amp;/g, \"&\");\n const value: unknown = JSON.parse(raw);\n if (typeof value !== \"object\" || value === null || !(\"role\" in value) || !(\"index\" in value)) return attribute;\n const matches = targets.find(\n (target) =>\n value.role === target.role &&\n value.index === target.index &&\n (\"seriesIndex\" in value ? value.seriesIndex : undefined) === target.seriesIndex,\n );\n if (!matches) return attribute;\n const children = svg.slice(offset, svg.indexOf(\"</g>\", offset));\n const palette = (Number(children.match(/stdlib-chart-series-(\\d+)/)?.[1] ?? matches.seriesIndex ?? 0) % 8) + 1;\n const markPaint = children.match(/class=\"k2b-waterfall-bar\"[^>]* fill=\"([^\"]+)\"/)?.[1] ?? `var(--stdlib-chart-c${palette})`;\n const paint = `--k2b-chart-selection-color:color-mix(in srgb,${markPaint} 72%,var(--k2b-chart-highlight-mix))`;\n const opening = attribute.includes('style=\"')\n ? attribute.replace(/style=\"([^\"]*)\"/, (_match: string, style: string) => `style=\"${style};${paint}\"`)\n : attribute.replace(\">\", ` style=\"${paint}\">`);\n return opening.replace(\">\", \" data-selected>\");\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -38,6 +38,7 @@ export { MARKDOWN_CALLOUT_CLASSES, MARKDOWN_CALLOUT_ICON_ATTRIBUTES, markdownInf
38
38
  export { markdownLinkReference, markdownReferenceIcon, markdownReferenceType, markdownReferenceTypeLabel, markStandaloneLinks, renderMarkdownLink } from "./markdown-links";
39
39
  export { Pagination } from "./Pagination";
40
40
  export { default as PdfPreview } from "./PdfPreview";
41
+ export { default as PdfViewer } from "./PdfViewer";
41
42
  export { default as RangePicker } from "./RangePicker";
42
43
  export { ReactionBar } from "./ReactionBar";
43
44
  export { REFERENCE_CHIP_MAX_CHARACTERS, ReferenceChip, truncateMiddle } from "./ReferenceChip";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["content/index.ts"],"sourcesContent":["export type { ChartDateFormat, ChartDatum, ChartDatumRole, ChartFormat, ChartNumberFormat } from \"../charts/core\";\nexport { BalanceSummary, type BalanceSummaryProps } from \"./BalanceSummary\";\nexport type {\n CalendarAttendee,\n CalendarCommand,\n CalendarController,\n CalendarCustomView,\n CalendarDayBadge,\n CalendarEvent,\n CalendarEventColor,\n CalendarEventLink,\n CalendarEventRenderContext,\n CalendarEventTimeChange,\n CalendarExternalDrag,\n CalendarLabels,\n CalendarProps,\n CalendarQuickCreateControls,\n CalendarRange,\n CalendarRecurrence,\n CalendarResource,\n CalendarSelectionControls,\n CalendarView,\n} from \"./Calendar\";\nexport { default as Calendar } from \"./Calendar\";\n\nexport type { ChartKind, ChartKindProps, ChartLabels, ChartProps, ChartRenderOptions } from \"./Chart\";\nexport { default as Chart } from \"./Chart\";\nexport type { ChartExplorerColumn, ChartExplorerProps, ChartFrameRequest, ChartLegendEntry } from \"./ChartExplorer\";\nexport { ChartExplorer } from \"./ChartExplorer\";\nexport type { ChartExplorerControlsProps } from \"./ChartExplorerControls\";\nexport { ChartExplorerControls } from \"./ChartExplorerControls\";\nexport { ChartFilterControls, type ChartFilterControlsProps } from \"./ChartFilterControls\";\nexport { ChartSnapshotView } from \"./ChartSnapshotView\";\nexport type { CodeDisplayLanguage, CodeDisplayProps } from \"./CodeDisplay\";\nexport { default as CodeDisplay } from \"./CodeDisplay\";\nexport { type ChartCursor, createChartCursor } from \"./chart-cursor\";\nexport type {\n ChartExplorerCharts,\n ChartExplorerController,\n ChartExplorerData,\n ChartExplorerOptions,\n ChartExplorerRequest,\n ChartExplorerRow,\n ChartExplorerSnapshot,\n} from \"./chart-explorer\";\nexport { createChartExplorer } from \"./chart-explorer\";\nexport type { ChartDatumRef, ChartSelection, ChartTooltip, ChartTooltipFormatter } from \"./chart-inspection-core\";\nexport type { ChartSnapshot } from \"./chart-snapshot\";\nexport { prepareChartSnapshot } from \"./chart-snapshot\";\nexport type {\n StateTimelineChartOptions,\n StateTimelineDomain,\n StateTimelineInterval,\n StateTimelineRow,\n StateTimelineState,\n} from \"./chart-state-timeline\";\nexport type { ChartTimeAxis } from \"./chart-time-axis\";\nexport { highlightSql } from \"./code-highlight\";\nexport { type CollectionSelection, createCollectionSelection, type SelectionModifiers } from \"./collection-selection\";\nexport type {\n DataTableColumn,\n DataTableControlsProps,\n DataTableFooter,\n DataTableHeaderProps,\n DataTablePanelFooterProps,\n DataTablePanelProps,\n DataTableProps,\n DataTableRenderCell,\n DataTableRenderHeader,\n DataTableSort,\n} from \"./DataTable\";\nexport { default as DataTable } from \"./DataTable\";\nexport type { DataTableToolsProps, DataTableView, DataTableViewOptions } from \"./DataTableTools\";\nexport { createDataTableView, DataTableTools } from \"./DataTableTools\";\nexport type { DocCodeHighlighter, DocCodeProps, DocConcept, DocNoteVariant, DocRow } from \"./Docs\";\nexport { DocCode, DocConceptGrid, DocInlineCode, DocLead, DocNote, DocPage, DocRows, DocSection } from \"./Docs\";\nexport type {\n DataTableColumnType,\n DataTableNumberFormat,\n DataTableStatusState,\n DataTableTypedColumn,\n} from \"./data-table-columns\";\nexport { filterRows, sortRows } from \"./data-table-columns\";\nexport { FileBrowserPanel, type FileBrowserPanelProps, type FileSource, openFileBrowser } from \"./FileBrowser\";\nexport { FileGrid, type FileGridGroup, type FileGridOpenProps, type FileGridProps, type FileGridSelectableProps } from \"./FileGrid\";\nexport { default as FileTree, type FileTreeActions, type FileTreeEntry, type FileTreeProps } from \"./FileTree\";\nexport { type FileType, FileTypeIcon, type FileTypeIconProps, fileKindLabel, fileTypeOf } from \"./FileTypeIcon\";\nexport {\n canPreviewFile,\n default as FileView,\n type FileViewContent,\n type FileViewFile,\n type FileViewPreviewKind,\n type FileViewProps,\n type FileViewRenderer,\n type FileViewRendererProps,\n formatFileViewSize,\n getFileViewPreviewKind,\n} from \"./FileView\";\nexport { FlowAmount, type FlowAmountDirection, type FlowAmountProps, flowDirection } from \"./FlowAmount\";\nexport type { KbdProps } from \"./Kbd\";\nexport { Kbd } from \"./Kbd\";\nexport type { LabelChipProps } from \"./LabelChip\";\nexport { LabelChip } from \"./LabelChip\";\nexport type { LightboxAction, LightboxImage } from \"./Lightbox\";\nexport { default as Lightbox } from \"./Lightbox\";\nexport type { LogTableEntry } from \"./LogEntriesTable\";\nexport { default as LogEntriesTable } from \"./LogEntriesTable\";\nexport { MapAttribution } from \"./MapAttribution\";\nexport { MapView } from \"./MapView\";\nexport { MapViewFrame } from \"./MapViewFrame\";\nexport { default as MarkdownView, type MarkdownRenderOptions, type MarkdownViewProps, renderSafeMarkdown } from \"./MarkdownView\";\nexport { type MatchRange, MatchText, type MatchTextProps, matchParts } from \"./MatchText\";\nexport type {\n MessageEventGroupProps,\n MessageEventRowProps,\n MessageGroupEntry,\n MessageRowAction,\n MessageRowAttachment,\n MessageRowAuthor,\n MessageRowFile,\n MessageRowMedia,\n MessageRowOrigin,\n MessageRowProgress,\n MessageRowProps,\n MessageRowQuote,\n MessageRowReaction,\n MessageRowStatus,\n MessageRowThread,\n MessageSystemRowProps,\n} from \"./MessageRow\";\nexport { MessageEventGroup, MessageEventRow, MessageRow, MessageSystemRow, startsMessageGroup } from \"./MessageRow\";\nexport { type MapPaletteColors, type MapTheme, mapPalette } from \"./map-palette\";\nexport { type MapStyleOptions, mapAttribution, mapStyle } from \"./map-style\";\nexport { MAP_SNAPSHOT_MAX_PIXELS, MapSnapshotError, type MapSnapshotErrorCode } from \"./map-view-snapshot\";\nexport type {\n MapViewArea,\n MapViewFit,\n MapViewFrameProps,\n MapViewHandle,\n MapViewLine,\n MapViewLineTone,\n MapViewMarker,\n MapViewOwnLocation,\n MapViewPoint,\n MapViewProps,\n MapViewSnapshot,\n MapViewSnapshotOptions,\n MapViewStyle,\n MapViewStyleSource,\n MapViewTone,\n} from \"./map-view-types\";\nexport {\n MARKDOWN_CALLOUT_CLASSES,\n MARKDOWN_CALLOUT_ICON_ATTRIBUTES,\n type MarkdownInfoBlock,\n type MarkdownInfoBlockRenderInput,\n type MarkdownInfoBlockType,\n markdownInfoBlocks,\n renderMarkdownInfoBlock,\n scanMarkdownInfoBlock,\n} from \"./markdown-info-blocks\";\nexport {\n type MarkdownLinkInput,\n type MarkdownReference,\n type MarkdownReferenceKind,\n type MarkdownReferenceType,\n markdownLinkReference,\n markdownReferenceIcon,\n markdownReferenceType,\n markdownReferenceTypeLabel,\n markStandaloneLinks,\n renderMarkdownLink,\n} from \"./markdown-links\";\nexport { Pagination, type PaginationProps } from \"./Pagination\";\nexport type { PdfPreviewProps, PdfPreviewRequest } from \"./PdfPreview\";\nexport { default as PdfPreview } from \"./PdfPreview\";\nexport type { RangeOption, RangePickerProps } from \"./RangePicker\";\nexport { default as RangePicker } from \"./RangePicker\";\nexport { ReactionBar, type ReactionBarItem, type ReactionBarProps } from \"./ReactionBar\";\nexport type {\n ReferenceChipObjectProps,\n ReferenceChipPersonProps,\n ReferenceChipProps,\n ReferenceChipTimeProps,\n} from \"./ReferenceChip\";\nexport { REFERENCE_CHIP_MAX_CHARACTERS, ReferenceChip, truncateMiddle } from \"./ReferenceChip\";\nexport type { StepsProps } from \"./Steps\";\nexport { Steps } from \"./Steps\";\nexport type { StructuredDataPreviewMode, StructuredDataPreviewProps, StructuredDataValue } from \"./StructuredDataPreview\";\nexport { default as StructuredDataPreview, isStructuredDataValue } from \"./StructuredDataPreview\";\nexport type { TimelineColor, TimelineController, TimelineItem, TimelineProps } from \"./Timeline\";\nexport { default as Timeline } from \"./Timeline\";\nexport { VideoPlayer, type VideoPlayerProps } from \"./VideoPlayer\";\nexport type { VirtualFeedController, VirtualFeedProps, VirtualFeedScrollOptions } from \"./VirtualFeed\";\nexport { VirtualFeed } from \"./VirtualFeed\";\nexport type { ZoomPanAction, ZoomPanFullscreen, ZoomPanViewportProps } from \"./ZoomPanViewport\";\nexport { ZoomPanViewport } from \"./ZoomPanViewport\";\n"],"mappings":"AACA,SAAS,cAAc,QAAkC,kBAAkB;AAsB3E,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAGhD,SAAS,OAAO,IAAI,KAAK,QAAQ,SAAS;AAE1C,SAAS,aAAa,QAAQ,iBAAiB;AAE/C,SAAS,qBAAqB,QAAQ,yBAAyB;AAC/D,SAAS,mBAAmB,QAAuC,uBAAuB;AAC1F,SAAS,iBAAiB,QAAQ,qBAAqB;AAEvD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAA2B,iBAAiB,QAAQ,gBAAgB;AAUpE,SAAS,mBAAmB,QAAQ,kBAAkB;AAGtD,SAAS,oBAAoB,QAAQ,kBAAkB;AASvD,SAAS,YAAY,QAAQ,kBAAkB;AAC/C,SAAmC,yBAAyB,QAAiC,wBAAwB;AAarH,SAAS,OAAO,IAAI,SAAS,QAAQ,aAAa;AAElD,SAAS,mBAAmB,EAAE,cAAc,QAAQ,kBAAkB;AAEtE,SAAS,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,QAAQ,QAAQ;AAO/G,SAAS,UAAU,EAAE,QAAQ,QAAQ,sBAAsB;AAC3D,SAAS,gBAAgB,EAA+C,eAAe,QAAQ,eAAe;AAC9G,SAAS,QAAQ,QAAsG,YAAY;AACnI,SAAS,OAAO,IAAI,QAAQ,QAAsE,YAAY;AAC9G,SAAwB,YAAY,EAA0B,aAAa,EAAE,UAAU,QAAQ,gBAAgB;AAC/G,SACE,cAAc,EACd,OAAO,IAAI,QAAQ,EAOnB,kBAAkB,EAClB,sBAAsB,QACjB,YAAY;AACnB,SAAS,UAAU,EAAkD,aAAa,QAAQ,cAAc;AAExG,SAAS,GAAG,QAAQ,OAAO;AAE3B,SAAS,SAAS,QAAQ,aAAa;AAEvC,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAEhD,SAAS,OAAO,IAAI,eAAe,QAAQ,mBAAmB;AAC9D,SAAS,cAAc,QAAQ,kBAAkB;AACjD,SAAS,OAAO,QAAQ,WAAW;AACnC,SAAS,YAAY,QAAQ,gBAAgB;AAC7C,SAAS,OAAO,IAAI,YAAY,EAAsD,kBAAkB,QAAQ,gBAAgB;AAChI,SAA0B,SAAS,EAAuB,UAAU,QAAQ,aAAa;AAmBzF,SAAS,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,QAAQ,cAAc;AACnH,SAA+C,UAAU,QAAQ,eAAe;AAChF,SAA+B,cAAc,EAAE,QAAQ,QAAQ,aAAa;AAC5E,SAAS,uBAAuB,EAAE,gBAAgB,QAAmC,qBAAqB;AAkB1G,SACE,wBAAwB,EACxB,gCAAgC,EAIhC,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,QAChB,wBAAwB;AAC/B,SAKE,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,QACb,kBAAkB;AACzB,SAAS,UAAU,QAA8B,cAAc;AAE/D,SAAS,OAAO,IAAI,UAAU,QAAQ,cAAc;AAEpD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAAS,WAAW,QAAqD,eAAe;AAOxF,SAAS,6BAA6B,EAAE,aAAa,EAAE,cAAc,QAAQ,iBAAiB;AAE9F,SAAS,KAAK,QAAQ,SAAS;AAE/B,SAAS,OAAO,IAAI,qBAAqB,EAAE,qBAAqB,QAAQ,yBAAyB;AAEjG,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAChD,SAAS,WAAW,QAA+B,eAAe;AAElE,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,eAAe,QAAQ,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["content/index.ts"],"sourcesContent":["export type { ChartDateFormat, ChartDatum, ChartDatumRole, ChartFormat, ChartNumberFormat } from \"../charts/core\";\nexport { BalanceSummary, type BalanceSummaryProps } from \"./BalanceSummary\";\nexport type {\n CalendarAttendee,\n CalendarCommand,\n CalendarController,\n CalendarCustomView,\n CalendarDayBadge,\n CalendarEvent,\n CalendarEventColor,\n CalendarEventLink,\n CalendarEventRenderContext,\n CalendarEventTimeChange,\n CalendarExternalDrag,\n CalendarLabels,\n CalendarProps,\n CalendarQuickCreateControls,\n CalendarRange,\n CalendarRecurrence,\n CalendarResource,\n CalendarSelectionControls,\n CalendarView,\n} from \"./Calendar\";\nexport { default as Calendar } from \"./Calendar\";\n\nexport type { ChartKind, ChartKindProps, ChartLabels, ChartProps, ChartRenderOptions } from \"./Chart\";\nexport { default as Chart } from \"./Chart\";\nexport type { ChartExplorerColumn, ChartExplorerProps, ChartFrameRequest, ChartLegendEntry } from \"./ChartExplorer\";\nexport { ChartExplorer } from \"./ChartExplorer\";\nexport type { ChartExplorerControlsProps } from \"./ChartExplorerControls\";\nexport { ChartExplorerControls } from \"./ChartExplorerControls\";\nexport { ChartFilterControls, type ChartFilterControlsProps } from \"./ChartFilterControls\";\nexport { ChartSnapshotView } from \"./ChartSnapshotView\";\nexport type { CodeDisplayLanguage, CodeDisplayProps } from \"./CodeDisplay\";\nexport { default as CodeDisplay } from \"./CodeDisplay\";\nexport { type ChartCursor, createChartCursor } from \"./chart-cursor\";\nexport type {\n ChartExplorerCharts,\n ChartExplorerController,\n ChartExplorerData,\n ChartExplorerOptions,\n ChartExplorerRequest,\n ChartExplorerRow,\n ChartExplorerSnapshot,\n} from \"./chart-explorer\";\nexport { createChartExplorer } from \"./chart-explorer\";\nexport type { ChartDatumRef, ChartSelection, ChartTooltip, ChartTooltipFormatter } from \"./chart-inspection-core\";\nexport type { ChartSnapshot } from \"./chart-snapshot\";\nexport { prepareChartSnapshot } from \"./chart-snapshot\";\nexport type {\n StateTimelineChartOptions,\n StateTimelineDomain,\n StateTimelineInterval,\n StateTimelineRow,\n StateTimelineState,\n} from \"./chart-state-timeline\";\nexport type { ChartTimeAxis } from \"./chart-time-axis\";\nexport { highlightSql } from \"./code-highlight\";\nexport { type CollectionSelection, createCollectionSelection, type SelectionModifiers } from \"./collection-selection\";\nexport type {\n DataTableColumn,\n DataTableControlsProps,\n DataTableFooter,\n DataTableHeaderProps,\n DataTablePanelFooterProps,\n DataTablePanelProps,\n DataTableProps,\n DataTableRenderCell,\n DataTableRenderHeader,\n DataTableSort,\n} from \"./DataTable\";\nexport { default as DataTable } from \"./DataTable\";\nexport type { DataTableToolsProps, DataTableView, DataTableViewOptions } from \"./DataTableTools\";\nexport { createDataTableView, DataTableTools } from \"./DataTableTools\";\nexport type { DocCodeHighlighter, DocCodeProps, DocConcept, DocNoteVariant, DocRow } from \"./Docs\";\nexport { DocCode, DocConceptGrid, DocInlineCode, DocLead, DocNote, DocPage, DocRows, DocSection } from \"./Docs\";\nexport type {\n DataTableColumnType,\n DataTableNumberFormat,\n DataTableStatusState,\n DataTableTypedColumn,\n} from \"./data-table-columns\";\nexport { filterRows, sortRows } from \"./data-table-columns\";\nexport { FileBrowserPanel, type FileBrowserPanelProps, type FileSource, openFileBrowser } from \"./FileBrowser\";\nexport { FileGrid, type FileGridGroup, type FileGridOpenProps, type FileGridProps, type FileGridSelectableProps } from \"./FileGrid\";\nexport { default as FileTree, type FileTreeActions, type FileTreeEntry, type FileTreeProps } from \"./FileTree\";\nexport { type FileType, FileTypeIcon, type FileTypeIconProps, fileKindLabel, fileTypeOf } from \"./FileTypeIcon\";\nexport {\n canPreviewFile,\n default as FileView,\n type FileViewContent,\n type FileViewFile,\n type FileViewPreviewKind,\n type FileViewProps,\n type FileViewRenderer,\n type FileViewRendererProps,\n formatFileViewSize,\n getFileViewPreviewKind,\n} from \"./FileView\";\nexport { FlowAmount, type FlowAmountDirection, type FlowAmountProps, flowDirection } from \"./FlowAmount\";\nexport type { KbdProps } from \"./Kbd\";\nexport { Kbd } from \"./Kbd\";\nexport type { LabelChipProps } from \"./LabelChip\";\nexport { LabelChip } from \"./LabelChip\";\nexport type { LightboxAction, LightboxImage } from \"./Lightbox\";\nexport { default as Lightbox } from \"./Lightbox\";\nexport type { LogTableEntry } from \"./LogEntriesTable\";\nexport { default as LogEntriesTable } from \"./LogEntriesTable\";\nexport { MapAttribution } from \"./MapAttribution\";\nexport { MapView } from \"./MapView\";\nexport { MapViewFrame } from \"./MapViewFrame\";\nexport { default as MarkdownView, type MarkdownRenderOptions, type MarkdownViewProps, renderSafeMarkdown } from \"./MarkdownView\";\nexport { type MatchRange, MatchText, type MatchTextProps, matchParts } from \"./MatchText\";\nexport type {\n MessageEventGroupProps,\n MessageEventRowProps,\n MessageGroupEntry,\n MessageRowAction,\n MessageRowAttachment,\n MessageRowAuthor,\n MessageRowFile,\n MessageRowMedia,\n MessageRowOrigin,\n MessageRowProgress,\n MessageRowProps,\n MessageRowQuote,\n MessageRowReaction,\n MessageRowStatus,\n MessageRowThread,\n MessageSystemRowProps,\n} from \"./MessageRow\";\nexport { MessageEventGroup, MessageEventRow, MessageRow, MessageSystemRow, startsMessageGroup } from \"./MessageRow\";\nexport { type MapPaletteColors, type MapTheme, mapPalette } from \"./map-palette\";\nexport { type MapStyleOptions, mapAttribution, mapStyle } from \"./map-style\";\nexport { MAP_SNAPSHOT_MAX_PIXELS, MapSnapshotError, type MapSnapshotErrorCode } from \"./map-view-snapshot\";\nexport type {\n MapViewArea,\n MapViewFit,\n MapViewFrameProps,\n MapViewHandle,\n MapViewLine,\n MapViewLineTone,\n MapViewMarker,\n MapViewOwnLocation,\n MapViewPoint,\n MapViewProps,\n MapViewSnapshot,\n MapViewSnapshotOptions,\n MapViewStyle,\n MapViewStyleSource,\n MapViewTone,\n} from \"./map-view-types\";\nexport {\n MARKDOWN_CALLOUT_CLASSES,\n MARKDOWN_CALLOUT_ICON_ATTRIBUTES,\n type MarkdownInfoBlock,\n type MarkdownInfoBlockRenderInput,\n type MarkdownInfoBlockType,\n markdownInfoBlocks,\n renderMarkdownInfoBlock,\n scanMarkdownInfoBlock,\n} from \"./markdown-info-blocks\";\nexport {\n type MarkdownLinkInput,\n type MarkdownReference,\n type MarkdownReferenceKind,\n type MarkdownReferenceType,\n markdownLinkReference,\n markdownReferenceIcon,\n markdownReferenceType,\n markdownReferenceTypeLabel,\n markStandaloneLinks,\n renderMarkdownLink,\n} from \"./markdown-links\";\nexport { Pagination, type PaginationProps } from \"./Pagination\";\nexport type { PdfPreviewProps, PdfPreviewRequest } from \"./PdfPreview\";\nexport { default as PdfPreview } from \"./PdfPreview\";\nexport type { PdfViewerProps } from \"./PdfViewer\";\nexport { default as PdfViewer } from \"./PdfViewer\";\nexport type { RangeOption, RangePickerProps } from \"./RangePicker\";\nexport { default as RangePicker } from \"./RangePicker\";\nexport { ReactionBar, type ReactionBarItem, type ReactionBarProps } from \"./ReactionBar\";\nexport type {\n ReferenceChipObjectProps,\n ReferenceChipPersonProps,\n ReferenceChipProps,\n ReferenceChipTimeProps,\n} from \"./ReferenceChip\";\nexport { REFERENCE_CHIP_MAX_CHARACTERS, ReferenceChip, truncateMiddle } from \"./ReferenceChip\";\nexport type { StepsProps } from \"./Steps\";\nexport { Steps } from \"./Steps\";\nexport type { StructuredDataPreviewMode, StructuredDataPreviewProps, StructuredDataValue } from \"./StructuredDataPreview\";\nexport { default as StructuredDataPreview, isStructuredDataValue } from \"./StructuredDataPreview\";\nexport type { TimelineColor, TimelineController, TimelineItem, TimelineProps } from \"./Timeline\";\nexport { default as Timeline } from \"./Timeline\";\nexport { VideoPlayer, type VideoPlayerProps } from \"./VideoPlayer\";\nexport type { VirtualFeedController, VirtualFeedProps, VirtualFeedScrollOptions } from \"./VirtualFeed\";\nexport { VirtualFeed } from \"./VirtualFeed\";\nexport type { ZoomPanAction, ZoomPanFullscreen, ZoomPanViewportProps } from \"./ZoomPanViewport\";\nexport { ZoomPanViewport } from \"./ZoomPanViewport\";\n"],"mappings":"AACA,SAAS,cAAc,QAAkC,kBAAkB;AAsB3E,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAGhD,SAAS,OAAO,IAAI,KAAK,QAAQ,SAAS;AAE1C,SAAS,aAAa,QAAQ,iBAAiB;AAE/C,SAAS,qBAAqB,QAAQ,yBAAyB;AAC/D,SAAS,mBAAmB,QAAuC,uBAAuB;AAC1F,SAAS,iBAAiB,QAAQ,qBAAqB;AAEvD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAA2B,iBAAiB,QAAQ,gBAAgB;AAUpE,SAAS,mBAAmB,QAAQ,kBAAkB;AAGtD,SAAS,oBAAoB,QAAQ,kBAAkB;AASvD,SAAS,YAAY,QAAQ,kBAAkB;AAC/C,SAAmC,yBAAyB,QAAiC,wBAAwB;AAarH,SAAS,OAAO,IAAI,SAAS,QAAQ,aAAa;AAElD,SAAS,mBAAmB,EAAE,cAAc,QAAQ,kBAAkB;AAEtE,SAAS,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,QAAQ,QAAQ;AAO/G,SAAS,UAAU,EAAE,QAAQ,QAAQ,sBAAsB;AAC3D,SAAS,gBAAgB,EAA+C,eAAe,QAAQ,eAAe;AAC9G,SAAS,QAAQ,QAAsG,YAAY;AACnI,SAAS,OAAO,IAAI,QAAQ,QAAsE,YAAY;AAC9G,SAAwB,YAAY,EAA0B,aAAa,EAAE,UAAU,QAAQ,gBAAgB;AAC/G,SACE,cAAc,EACd,OAAO,IAAI,QAAQ,EAOnB,kBAAkB,EAClB,sBAAsB,QACjB,YAAY;AACnB,SAAS,UAAU,EAAkD,aAAa,QAAQ,cAAc;AAExG,SAAS,GAAG,QAAQ,OAAO;AAE3B,SAAS,SAAS,QAAQ,aAAa;AAEvC,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAEhD,SAAS,OAAO,IAAI,eAAe,QAAQ,mBAAmB;AAC9D,SAAS,cAAc,QAAQ,kBAAkB;AACjD,SAAS,OAAO,QAAQ,WAAW;AACnC,SAAS,YAAY,QAAQ,gBAAgB;AAC7C,SAAS,OAAO,IAAI,YAAY,EAAsD,kBAAkB,QAAQ,gBAAgB;AAChI,SAA0B,SAAS,EAAuB,UAAU,QAAQ,aAAa;AAmBzF,SAAS,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,QAAQ,cAAc;AACnH,SAA+C,UAAU,QAAQ,eAAe;AAChF,SAA+B,cAAc,EAAE,QAAQ,QAAQ,aAAa;AAC5E,SAAS,uBAAuB,EAAE,gBAAgB,QAAmC,qBAAqB;AAkB1G,SACE,wBAAwB,EACxB,gCAAgC,EAIhC,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,QAChB,wBAAwB;AAC/B,SAKE,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,QACb,kBAAkB;AACzB,SAAS,UAAU,QAA8B,cAAc;AAE/D,SAAS,OAAO,IAAI,UAAU,QAAQ,cAAc;AAEpD,SAAS,OAAO,IAAI,SAAS,QAAQ,aAAa;AAElD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAAS,WAAW,QAAqD,eAAe;AAOxF,SAAS,6BAA6B,EAAE,aAAa,EAAE,cAAc,QAAQ,iBAAiB;AAE9F,SAAS,KAAK,QAAQ,SAAS;AAE/B,SAAS,OAAO,IAAI,qBAAqB,EAAE,qBAAqB,QAAQ,yBAAyB;AAEjG,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAChD,SAAS,WAAW,QAA+B,eAAe;AAElE,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,eAAe,QAAQ,mBAAmB","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Loads the PDF engine behind `PdfViewer`. The engine is pdf.js with a little glue, bundled once by the @k2b/ui build
3
+ * into its own module next to the pdf.js worker. A host's bundler copies both as files and never bundles pdf.js
4
+ * itself, so no page or script carries it until a document opens.
5
+ */
6
+ /// <reference path="./pdf-worker.d.ts" />
7
+ // The build points these at its prebuilt `pdf-viewer-engine.js` and the worker copy `pdf-viewer-worker.js`.
8
+ import workerUrl from "./pdf-viewer-worker.js" with { type: "file" };
9
+ // @ts-expect-error TypeScript reads a `type: "file"` import as a module import; the engine module has no default export.
10
+ import engineUrl from "./pdf-viewer-engine.js" with { type: "file" };
11
+ import { PDF_LIMITS, pdfTooLarge } from "./pdf-limits";
12
+ export { PDF_LIMITS, PDF_TOO_LARGE, pageImageWidth } from "./pdf-limits";
13
+ const isEngine = value => typeof value === "object" && value !== null && typeof Reflect.get(value, "openPdf") === "function";
14
+
15
+ /** Opens a PDF; `null` after an abort. Throws `PDF_TOO_LARGE` past `PDF_LIMITS`, or pdf.js's error for a broken file. */
16
+ export const openPdfDocument = async (data, signal) => {
17
+ const size = data instanceof Blob ? data.size : data.byteLength;
18
+ if (size > PDF_LIMITS.maxBytes) throw pdfTooLarge(`PDF is larger than ${PDF_LIMITS.maxBytes} bytes`);
19
+ // pdf.js hands its bytes to the worker, which detaches them: a caller's ArrayBuffer stays theirs as a copy.
20
+ const bytes = data instanceof Blob ? await data.arrayBuffer() : data.slice(0);
21
+ if (signal.aborted) return null;
22
+ // A relative address resolves against this module, where the bundler put the engine file.
23
+ const engine = await import(/* @vite-ignore */engineUrl);
24
+ if (!isEngine(engine)) throw new Error("The PDF engine could not be loaded");
25
+ // Closed while the engine loaded: parse nothing.
26
+ if (signal.aborted) return null;
27
+ return engine.openPdf(bytes, signal, workerUrl);
28
+ };
29
+ //# sourceMappingURL=pdf-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["content/pdf-document.ts"],"sourcesContent":["/**\n * Loads the PDF engine behind `PdfViewer`. The engine is pdf.js with a little glue, bundled once by the @k2b/ui build\n * into its own module next to the pdf.js worker. A host's bundler copies both as files and never bundles pdf.js\n * itself, so no page or script carries it until a document opens.\n */\n/// <reference path=\"./pdf-worker.d.ts\" />\n// The build points these at its prebuilt `pdf-viewer-engine.js` and the worker copy `pdf-viewer-worker.js`.\nimport workerUrl from \"pdfjs-dist/legacy/build/pdf.worker.min.mjs\" with { type: \"file\" };\n// @ts-expect-error TypeScript reads a `type: \"file\"` import as a module import; the engine module has no default export.\nimport engineUrl from \"./pdf-engine.ts\" with { type: \"file\" };\nimport { PDF_LIMITS, type PdfDocumentHandle, pdfTooLarge } from \"./pdf-limits\";\n\nexport type { PdfDocumentHandle, PdfPageImage, PdfPageSize } from \"./pdf-limits\";\nexport { PDF_LIMITS, PDF_TOO_LARGE, pageImageWidth } from \"./pdf-limits\";\n\ntype PdfEngine = {\n openPdf: (data: ArrayBuffer, signal: AbortSignal, workerUrl: string) => Promise<PdfDocumentHandle | null>;\n};\n\nconst isEngine = (value: unknown): value is PdfEngine =>\n typeof value === \"object\" && value !== null && typeof Reflect.get(value, \"openPdf\") === \"function\";\n\n/** Opens a PDF; `null` after an abort. Throws `PDF_TOO_LARGE` past `PDF_LIMITS`, or pdf.js's error for a broken file. */\nexport const openPdfDocument = async (data: Blob | ArrayBuffer, signal: AbortSignal): Promise<PdfDocumentHandle | null> => {\n const size = data instanceof Blob ? data.size : data.byteLength;\n if (size > PDF_LIMITS.maxBytes) throw pdfTooLarge(`PDF is larger than ${PDF_LIMITS.maxBytes} bytes`);\n // pdf.js hands its bytes to the worker, which detaches them: a caller's ArrayBuffer stays theirs as a copy.\n const bytes = data instanceof Blob ? await data.arrayBuffer() : data.slice(0);\n if (signal.aborted) return null;\n // A relative address resolves against this module, where the bundler put the engine file.\n const engine: unknown = await import(/* @vite-ignore */ engineUrl);\n if (!isEngine(engine)) throw new Error(\"The PDF engine could not be loaded\");\n // Closed while the engine loaded: parse nothing.\n if (signal.aborted) return null;\n return engine.openPdf(bytes, signal, workerUrl);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS,MAAM,4CAA4C,QAAQ,IAAI,EAAE,MAAM;AACtF;AACA,OAAO,SAAS,MAAM,iBAAiB,QAAQ,IAAI,EAAE,MAAM;AAC3D,SAAS,UAAU,EAA0B,WAAW,QAAQ,cAAc;AAG9E,SAAS,UAAU,EAAE,aAAa,EAAE,cAAc,QAAQ,cAAc;AAMxE,MAAM,QAAQ,GAAI,KAAc,IAC9B,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,UAAU;;AAEpG;AACA,OAAO,MAAM,eAAe,GAAG,OAAO,IAAwB,EAAE,MAAmB,KAAwC;EACzH,MAAM,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU;EAC/D,IAAI,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,WAAW,CAAC,sBAAsB,UAAU,CAAC,QAAQ,QAAQ,CAAC;EACpG;EACA,MAAM,KAAK,GAAG,IAAI,YAAY,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAC7E,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI;EAC/B;EACA,MAAM,MAAe,GAAG,MAAM,OAAO,kBAAmB,SAAS,CAAC;EAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;EAC5E;EACA,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI;EAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;AACjD,CAAC","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ /** Shapes and bounds shared by `PdfViewer`, its loader, and the pdf.js engine. */
2
+
3
+ /** A page's size in PDF points at scale 1. */
4
+
5
+ /** One drawn page: an object URL the caller revokes, and its size in pixels. */
6
+
7
+ /**
8
+ * Bounds for one document. Bytes and pages bound parsing work and memory; a larger document falls back to the
9
+ * browser's own viewer. Canvas pixels stay below the size Safari still draws (larger canvases come out blank).
10
+ */
11
+ export const PDF_LIMITS = {
12
+ maxBytes: 100 * 1024 * 1024,
13
+ maxPages: 2000,
14
+ maxCanvasPixels: 16_000_000,
15
+ maxImageWidth: 4096
16
+ };
17
+
18
+ /** The name of the error a document past `PDF_LIMITS` raises; the host shows the browser's viewer instead. */
19
+ export const PDF_TOO_LARGE = "PdfTooLargeError";
20
+ export const pdfTooLarge = message => Object.assign(new Error(message), {
21
+ name: PDF_TOO_LARGE
22
+ });
23
+
24
+ /**
25
+ * Pixel width for a page image shown `displayWidth` CSS pixels wide: display width times the device pixel ratio
26
+ * (at most 2), at least 400 px where the page allows it, at most `PDF_LIMITS.maxImageWidth`, and always small enough
27
+ * that the canvas stays under `PDF_LIMITS.maxCanvasPixels` for the page's height-to-width `ratio`, also for a very
28
+ * tall page. Very deep zoom turns slightly soft, never blank.
29
+ */
30
+ export const pageImageWidth = (displayWidth, pixelRatio, ratio) => Math.max(1, Math.floor(Math.min(Math.max(400, displayWidth * Math.min(Math.max(pixelRatio, 1), 2)), PDF_LIMITS.maxImageWidth, Math.sqrt(PDF_LIMITS.maxCanvasPixels / Math.max(ratio, 0.1)))));
31
+ //# sourceMappingURL=pdf-limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["content/pdf-limits.ts"],"sourcesContent":["/** Shapes and bounds shared by `PdfViewer`, its loader, and the pdf.js engine. */\n\n/** A page's size in PDF points at scale 1. */\nexport type PdfPageSize = { width: number; height: number };\n\n/** One drawn page: an object URL the caller revokes, and its size in pixels. */\nexport type PdfPageImage = { url: string; width: number; height: number };\n\nexport type PdfDocumentHandle = {\n pages: readonly PdfPageSize[];\n /** Draws one page `widthPx` wide; `null` after an abort. The caller revokes the returned URL. */\n draw: (index: number, widthPx: number, signal: AbortSignal) => Promise<PdfPageImage | null>;\n /**\n * Lays the selectable, searchable text of one page into `container`. Positions are relative to the page; the font\n * follows `--total-scale-factor` (CSS pixels per point) on the container or above, so zoom changes only that value.\n */\n textLayer: (index: number, container: HTMLElement, signal: AbortSignal) => Promise<void>;\n close: () => Promise<void>;\n};\n\n/**\n * Bounds for one document. Bytes and pages bound parsing work and memory; a larger document falls back to the\n * browser's own viewer. Canvas pixels stay below the size Safari still draws (larger canvases come out blank).\n */\nexport const PDF_LIMITS = {\n maxBytes: 100 * 1024 * 1024,\n maxPages: 2000,\n maxCanvasPixels: 16_000_000,\n maxImageWidth: 4096,\n} as const;\n\n/** The name of the error a document past `PDF_LIMITS` raises; the host shows the browser's viewer instead. */\nexport const PDF_TOO_LARGE = \"PdfTooLargeError\";\n\nexport const pdfTooLarge = (message: string): Error => Object.assign(new Error(message), { name: PDF_TOO_LARGE });\n\n/**\n * Pixel width for a page image shown `displayWidth` CSS pixels wide: display width times the device pixel ratio\n * (at most 2), at least 400 px where the page allows it, at most `PDF_LIMITS.maxImageWidth`, and always small enough\n * that the canvas stays under `PDF_LIMITS.maxCanvasPixels` for the page's height-to-width `ratio`, also for a very\n * tall page. Very deep zoom turns slightly soft, never blank.\n */\nexport const pageImageWidth = (displayWidth: number, pixelRatio: number, ratio: number): number =>\n Math.max(\n 1,\n Math.floor(\n Math.min(\n Math.max(400, displayWidth * Math.min(Math.max(pixelRatio, 1), 2)),\n PDF_LIMITS.maxImageWidth,\n Math.sqrt(PDF_LIMITS.maxCanvasPixels / Math.max(ratio, 0.1)),\n ),\n ),\n );\n"],"mappings":"AAAA;;AAEA;;AAGA;;AAeA;AACA;AACA;AACA;AACA,OAAO,MAAM,UAAU,GAAG;EACxB,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;EAC3B,QAAQ,EAAE,IAAI;EACd,eAAe,EAAE,UAAU;EAC3B,aAAa,EAAE;AACjB,CAAU;;AAEV;AACA,OAAO,MAAM,aAAa,GAAG,kBAAkB;AAE/C,OAAO,MAAM,WAAW,GAAI,OAAe,IAAY,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;EAAE,IAAI,EAAE;AAAc,CAAC,CAAC;;AAEjH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,UAAkB,EAAE,KAAa,KACpF,IAAI,CAAC,GAAG,CACN,CAAC,EACD,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAClE,UAAU,CAAC,aAAa,EACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAC7D,CACF,CACF,CAAC","ignoreList":[]}
@@ -14,7 +14,23 @@ const pdfMessages = i18n.define({
14
14
  pdfPreviewNoViewerDescription: "Your browser cannot show PDFs inside a page. Open the document to view it.",
15
15
  pdfPreviewRendering: "Rendering PDF preview…",
16
16
  previewPdf: "Preview PDF",
17
- renderPdfPreview: "Render a PDF preview to see the final output."
17
+ renderPdfPreview: "Render a PDF preview to see the final output.",
18
+ pdfPage: ({
19
+ number,
20
+ total
21
+ }) => `Page ${number} of ${total}`,
22
+ pdfPageShort: ({
23
+ number,
24
+ total
25
+ }) => `${number} / ${total}`,
26
+ pdfZoom: "Zoom",
27
+ pdfZoomOut: "Zoom out",
28
+ pdfZoomIn: "Zoom in",
29
+ pdfZoomPercent: ({
30
+ value
31
+ }) => `${value}%`,
32
+ pdfFitWidth: "Width",
33
+ pdfFitWidthLabel: "Fit to width"
18
34
  },
19
35
  de: {
20
36
  openPreview: "Vorschau öffnen",
@@ -27,7 +43,23 @@ const pdfMessages = i18n.define({
27
43
  pdfPreviewNoViewerDescription: "Dein Browser kann PDFs nicht innerhalb einer Seite anzeigen. Öffne das Dokument, um es anzusehen.",
28
44
  pdfPreviewRendering: "PDF-Vorschau wird erstellt…",
29
45
  previewPdf: "PDF anzeigen",
30
- renderPdfPreview: "Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen."
46
+ renderPdfPreview: "Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.",
47
+ pdfPage: ({
48
+ number,
49
+ total
50
+ }) => `Seite ${number} von ${total}`,
51
+ pdfPageShort: ({
52
+ number,
53
+ total
54
+ }) => `${number} / ${total}`,
55
+ pdfZoom: "Zoom",
56
+ pdfZoomOut: "Verkleinern",
57
+ pdfZoomIn: "Vergrößern",
58
+ pdfZoomPercent: ({
59
+ value
60
+ }) => `${value} %`,
61
+ pdfFitWidth: "Breite",
62
+ pdfFitWidthLabel: "An die Breite anpassen"
31
63
  }
32
64
  }
33
65
  });
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["content/pdf-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst pdfMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n openPreview: \"Open preview\",\n pdfPreview: \"PDF preview\",\n pdfPreviewHttpError: ({ status }: { status: number }) => `PDF preview failed with HTTP ${status}`,\n pdfPreviewTabBlocked: \"The browser blocked the new tab. Allow pop-ups and try again.\",\n pdfPreviewNoViewer: \"This PDF cannot be shown here\",\n pdfPreviewNoViewerDescription: \"Your browser cannot show PDFs inside a page. Open the document to view it.\",\n pdfPreviewRendering: \"Rendering PDF preview…\",\n previewPdf: \"Preview PDF\",\n renderPdfPreview: \"Render a PDF preview to see the final output.\",\n },\n de: {\n openPreview: \"Vorschau öffnen\",\n pdfPreview: \"PDF-Vorschau\",\n pdfPreviewHttpError: ({ status }) => `PDF-Vorschau ist mit HTTP ${status} fehlgeschlagen`,\n pdfPreviewTabBlocked: \"Der Browser hat den neuen Tab blockiert. Erlaube Pop-ups und versuche es erneut.\",\n pdfPreviewNoViewer: \"Dieses PDF kann hier nicht angezeigt werden\",\n pdfPreviewNoViewerDescription: \"Dein Browser kann PDFs nicht innerhalb einer Seite anzeigen. Öffne das Dokument, um es anzusehen.\",\n pdfPreviewRendering: \"PDF-Vorschau wird erstellt…\",\n previewPdf: \"PDF anzeigen\",\n renderPdfPreview: \"Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.\",\n },\n },\n});\n\nexport type PdfMessages = ReturnType<(typeof pdfMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const usePdfMessages = (): (() => PdfMessages) => {\n const locale = useLocale();\n return () => pdfMessages.resolve([locale()]).t;\n};\n\n/** Imperative UI inherits the document locale when no locale is supplied. */\nexport const resolvePdfMessages = (locale?: string): PdfMessages =>\n pdfMessages.resolve([locale ?? (typeof document === \"undefined\" ? pdfMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkPdfMessages = () => pdfMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;EAC9B,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,WAAW,EAAE,cAAc;MAC3B,UAAU,EAAE,aAAa;MACzB,mBAAmB,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,gCAAgC,MAAM,EAAE;MACjG,oBAAoB,EAAE,+DAA+D;MACrF,kBAAkB,EAAE,+BAA+B;MACnD,6BAA6B,EAAE,4EAA4E;MAC3G,mBAAmB,EAAE,wBAAwB;MAC7C,UAAU,EAAE,aAAa;MACzB,gBAAgB,EAAE;IACpB,CAAC;IACD,EAAE,EAAE;MACF,WAAW,EAAE,iBAAiB;MAC9B,UAAU,EAAE,cAAc;MAC1B,mBAAmB,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,6BAA6B,MAAM,iBAAiB;MACzF,oBAAoB,EAAE,kFAAkF;MACxG,kBAAkB,EAAE,6CAA6C;MACjE,6BAA6B,EAAE,mGAAmG;MAClI,mBAAmB,EAAE,6BAA6B;MAClD,UAAU,EAAE,cAAc;MAC1B,gBAAgB,EAAE;IACpB;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,cAAc,GAAG,MAA2B;EACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;AAED;AACA,OAAO,MAAM,kBAAkB,GAAI,MAAe,IAChD,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/H,OAAO,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["content/pdf-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst pdfMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n openPreview: \"Open preview\",\n pdfPreview: \"PDF preview\",\n pdfPreviewHttpError: ({ status }: { status: number }) => `PDF preview failed with HTTP ${status}`,\n pdfPreviewTabBlocked: \"The browser blocked the new tab. Allow pop-ups and try again.\",\n pdfPreviewNoViewer: \"This PDF cannot be shown here\",\n pdfPreviewNoViewerDescription: \"Your browser cannot show PDFs inside a page. Open the document to view it.\",\n pdfPreviewRendering: \"Rendering PDF preview…\",\n previewPdf: \"Preview PDF\",\n renderPdfPreview: \"Render a PDF preview to see the final output.\",\n pdfPage: ({ number, total }: { number: number; total: number }) => `Page ${number} of ${total}`,\n pdfPageShort: ({ number, total }: { number: number; total: number }) => `${number} / ${total}`,\n pdfZoom: \"Zoom\",\n pdfZoomOut: \"Zoom out\",\n pdfZoomIn: \"Zoom in\",\n pdfZoomPercent: ({ value }: { value: number }) => `${value}%`,\n pdfFitWidth: \"Width\",\n pdfFitWidthLabel: \"Fit to width\",\n },\n de: {\n openPreview: \"Vorschau öffnen\",\n pdfPreview: \"PDF-Vorschau\",\n pdfPreviewHttpError: ({ status }) => `PDF-Vorschau ist mit HTTP ${status} fehlgeschlagen`,\n pdfPreviewTabBlocked: \"Der Browser hat den neuen Tab blockiert. Erlaube Pop-ups und versuche es erneut.\",\n pdfPreviewNoViewer: \"Dieses PDF kann hier nicht angezeigt werden\",\n pdfPreviewNoViewerDescription: \"Dein Browser kann PDFs nicht innerhalb einer Seite anzeigen. Öffne das Dokument, um es anzusehen.\",\n pdfPreviewRendering: \"PDF-Vorschau wird erstellt…\",\n previewPdf: \"PDF anzeigen\",\n renderPdfPreview: \"Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.\",\n pdfPage: ({ number, total }) => `Seite ${number} von ${total}`,\n pdfPageShort: ({ number, total }) => `${number} / ${total}`,\n pdfZoom: \"Zoom\",\n pdfZoomOut: \"Verkleinern\",\n pdfZoomIn: \"Vergrößern\",\n pdfZoomPercent: ({ value }) => `${value} %`,\n pdfFitWidth: \"Breite\",\n pdfFitWidthLabel: \"An die Breite anpassen\",\n },\n },\n});\n\nexport type PdfMessages = ReturnType<(typeof pdfMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const usePdfMessages = (): (() => PdfMessages) => {\n const locale = useLocale();\n return () => pdfMessages.resolve([locale()]).t;\n};\n\n/** Imperative UI inherits the document locale when no locale is supplied. */\nexport const resolvePdfMessages = (locale?: string): PdfMessages =>\n pdfMessages.resolve([locale ?? (typeof document === \"undefined\" ? pdfMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkPdfMessages = () => pdfMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;EAC9B,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,WAAW,EAAE,cAAc;MAC3B,UAAU,EAAE,aAAa;MACzB,mBAAmB,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,gCAAgC,MAAM,EAAE;MACjG,oBAAoB,EAAE,+DAA+D;MACrF,kBAAkB,EAAE,+BAA+B;MACnD,6BAA6B,EAAE,4EAA4E;MAC3G,mBAAmB,EAAE,wBAAwB;MAC7C,UAAU,EAAE,aAAa;MACzB,gBAAgB,EAAE,+CAA+C;MACjE,OAAO,EAAE,CAAC;QAAE,MAAM;QAAE;MAAyC,CAAC,KAAK,QAAQ,MAAM,OAAO,KAAK,EAAE;MAC/F,YAAY,EAAE,CAAC;QAAE,MAAM;QAAE;MAAyC,CAAC,KAAK,GAAG,MAAM,MAAM,KAAK,EAAE;MAC9F,OAAO,EAAE,MAAM;MACf,UAAU,EAAE,UAAU;MACtB,SAAS,EAAE,SAAS;MACpB,cAAc,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,GAAG;MAC7D,WAAW,EAAE,OAAO;MACpB,gBAAgB,EAAE;IACpB,CAAC;IACD,EAAE,EAAE;MACF,WAAW,EAAE,iBAAiB;MAC9B,UAAU,EAAE,cAAc;MAC1B,mBAAmB,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,6BAA6B,MAAM,iBAAiB;MACzF,oBAAoB,EAAE,kFAAkF;MACxG,kBAAkB,EAAE,6CAA6C;MACjE,6BAA6B,EAAE,mGAAmG;MAClI,mBAAmB,EAAE,6BAA6B;MAClD,UAAU,EAAE,cAAc;MAC1B,gBAAgB,EAAE,yDAAyD;MAC3E,OAAO,EAAE,CAAC;QAAE,MAAM;QAAE;MAAM,CAAC,KAAK,SAAS,MAAM,QAAQ,KAAK,EAAE;MAC9D,YAAY,EAAE,CAAC;QAAE,MAAM;QAAE;MAAM,CAAC,KAAK,GAAG,MAAM,MAAM,KAAK,EAAE;MAC3D,OAAO,EAAE,MAAM;MACf,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,YAAY;MACvB,cAAc,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,IAAI;MAC3C,WAAW,EAAE,QAAQ;MACrB,gBAAgB,EAAE;IACpB;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,cAAc,GAAG,MAA2B;EACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;AAED;AACA,OAAO,MAAM,kBAAkB,GAAI,MAAe,IAChD,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/H,OAAO,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}