hyperbook 0.84.5 → 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -174352,6 +174352,251 @@ var remarkDirectiveVideo_default = (ctx) => () => {
174352
174352
  };
174353
174353
  };
174354
174354
 
174355
+ // locales/en.json
174356
+ var en_default = {
174357
+ "footnote-label": "Footnotes",
174358
+ "footnote-back-label": "Back to reference {{index}}",
174359
+ "footnote-back-label-many": "Back to reference {{from}}-{{to}}",
174360
+ "store-different-origin": "The Hyperbook file is from a different origin {{origin}}. Do you want to import it anyways?",
174361
+ "store-import-successful": "The Hyperbook file has been imported successfully.",
174362
+ "store-not-supported-file-version": "The Hyperbook file has an unsupported version {{version}}.",
174363
+ "store-reset-successful": "The Hyberbook has been reset successfully.",
174364
+ "store-reset-confirm": "Are you sure you want to reset the Hyperbook? This will remove all your data.",
174365
+ "shell-search": "Search",
174366
+ "shell-toggle-dark-mode": "Toggle between Dark and Light Mode",
174367
+ "shell-reset-hyperbook": "Reset Hyperbook",
174368
+ "shell-import-hyperbook": "Import Hyperbook from a file",
174369
+ "shell-export-hyperbook": "Export Hyperbook to a file",
174370
+ "breadcrumb-navigation": "Breadcrumb",
174371
+ "breadcrumb-home": "Home",
174372
+ "qr-code": "QR Code",
174373
+ "p5-update": "Update",
174374
+ "p5-code-preview": "Code Preview",
174375
+ "p5-reset": "Reset",
174376
+ "p5-copy": "Copy",
174377
+ "p5-download": "Download",
174378
+ "abc-music-reset": "Reset",
174379
+ "abc-music-copy": "Copy",
174380
+ "abc-music-download": "Download",
174381
+ "table-of-contents": "Table of Contents",
174382
+ "audio-play": "Play/Pause",
174383
+ "archive-offline": "Offline",
174384
+ "download-offline": "Offline",
174385
+ "pyide-run": "Run",
174386
+ "pyide-running-click-to-stop": "Running (Click to stop) ...",
174387
+ "pyide-running-refresh-to-stop": "Running (Refresh to stop) ...",
174388
+ "pyide-test": "Test",
174389
+ "pyide-test-running-click-to-stop": "Test running (Click to stop) ...",
174390
+ "pyide-test-running-refresh-to-stop": "Test running (Refresh to stop) ...",
174391
+ "pyide-output": "Output",
174392
+ "pyide-input": "Input",
174393
+ "pyide-reset": "Reset",
174394
+ "pyide-copy": "Copy",
174395
+ "pyide-download": "Download",
174396
+ "slideshow-previous": "Previous",
174397
+ "slideshow-next": "Next",
174398
+ "slideshow-jump-to": "Jump to {{index}}",
174399
+ "toggle-bookmark": "Toggle Bookmark",
174400
+ "shell-share": "Share",
174401
+ "share-dialog-title": "Create Shareable URL",
174402
+ "share-dialog-standalone": "Standalone Mode",
174403
+ "share-dialog-select-sections": "Select Sections",
174404
+ "share-dialog-copy-url": "Copy Shareable URL",
174405
+ "share-dialog-url-copied": "URL copied to clipboard!",
174406
+ "webide-code-preview": "Code Preview",
174407
+ "webide-html": "HTML",
174408
+ "webide-css": "CSS",
174409
+ "webide-js": "JS",
174410
+ "webide-reset": "Reset",
174411
+ "webide-reset-prompt": "Are you sure you want to reset the code?",
174412
+ "webide-copy": "Copy",
174413
+ "webide-download": "Download",
174414
+ "typst-code": "Typst",
174415
+ "typst-reset": "Reset",
174416
+ "typst-reset-prompt": "Are you sure you want to reset the code?",
174417
+ "typst-download-pdf": "Download PDF",
174418
+ "typst-pdf-error": "Error exporting PDF",
174419
+ "typst-download-project": "Download Project",
174420
+ "typst-loading": "Loading Typst...",
174421
+ "typst-add-source-file": "Add source file",
174422
+ "typst-add-binary-file": "Add binary file",
174423
+ "typst-source": "Source",
174424
+ "typst-binary": "Binary",
174425
+ "typst-add": "Add",
174426
+ "typst-delete-file": "Delete file",
174427
+ "typst-delete-confirm": "Delete",
174428
+ "typst-filename-prompt": "Enter filename (e.g., helper.typ):",
174429
+ "typst-filename-error": "Filename must end with .typ or .typst",
174430
+ "typst-filename-exists": "File already exists",
174431
+ "typst-file-replace": "Replace existing file?",
174432
+ "typst-binary-files": "Binary Files",
174433
+ "typst-no-binary-files": "No binary files",
174434
+ "user-login-title": "Login",
174435
+ "user-username": "Username",
174436
+ "user-password": "Password",
174437
+ "user-login": "Login",
174438
+ "user-info-title": "User Info",
174439
+ "user-status": "Status",
174440
+ "user-saved": "Saved",
174441
+ "user-saving": "Saving...",
174442
+ "user-save-error": "Save Error",
174443
+ "user-unsaved": "Unsaved changes",
174444
+ "user-offline": "Offline",
174445
+ "user-offline-queued": "Saved locally",
174446
+ "user-save": "Save Now",
174447
+ "user-logout": "Logout",
174448
+ "user-login-required": "Username and password required",
174449
+ "user-login-failed": "Login failed",
174450
+ "user-logout-confirm": "Are you sure you want to logout?",
174451
+ "user-readonly": "Read-Only Mode",
174452
+ "user-impersonating": "Impersonating",
174453
+ "user-exit-impersonation": "Exit Impersonation",
174454
+ "consent-youtube-text": "Clicking the play button will load a YouTube video via YouTube-NoCookie. However, a connection will still be established and the necessary data will be transmitted.",
174455
+ "consent-youtube-nocookie": "We use YouTube-NoCookie to protect your privacy.",
174456
+ "consent-youtube-always": "Always allow YouTube videos",
174457
+ "consent-youtube-accept": "Accept and play",
174458
+ "consent-embed-text": "Content from an external website is to be loaded here.",
174459
+ "consent-embed-personal-data": "The external website may collect personal data.",
174460
+ "consent-embed-always": "Always allow content from {{domain}}",
174461
+ "consent-embed-accept": "Load content"
174462
+ };
174463
+
174464
+ // locales/de.json
174465
+ var de_default = {
174466
+ "footnote-label": "Fu\xDFnoten",
174467
+ "footnote-back-label": "Hochspringen nach: {{index}}",
174468
+ "footnote-back-label-many": "Hochspringen nach: {{from}}-{{to}}",
174469
+ "store-different-origin": "Die Hyperbook-Datei stammt aus einer anderen Quelle {{origin}}. M\xF6chten Sie sie trotzdem importieren?",
174470
+ "store-import-successful": "Die Hyperbook-Datei wurde erfolgreich importiert.",
174471
+ "store-not-supported-file-version": "Die Hyperbook-Datei hat eine nicht unterst\xFCtzte Version {{version}}.",
174472
+ "store-reset-successful": "Das Hyperbook wurde erfolgreich zur\xFCckgesetzt.",
174473
+ "store-reset-confirm": "Sind Sie sicher, dass Sie das Hyperbook zur\xFCcksetzen m\xF6chten? Dadurch werden alle Ihre Daten entfernt.",
174474
+ "shell-search": "Suche",
174475
+ "shell-toggle-dark-mode": "Zwischen Dunkel- und Hellmodus wechseln",
174476
+ "shell-reset-hyperbook": "Das Hyperbook zur\xFCcksetzen",
174477
+ "shell-import-hyperbook": "Das Hyperbook aus einer Datei importieren",
174478
+ "shell-export-hyperbook": "Das Hyperbook in eine Datei exportieren",
174479
+ "breadcrumb-navigation": "Brotkr\xFCmelnavigation",
174480
+ "breadcrumb-home": "Startseite",
174481
+ "qr-code": "QR-Code",
174482
+ "p5-update": "Aktualisieren",
174483
+ "p5-code-preview": "Code-Vorschau",
174484
+ "p5-reset": "Zur\xFCcksetzen",
174485
+ "p5-copy": "Kopieren",
174486
+ "p5-download": "Herunterladen",
174487
+ "abc-music-reset": "Zur\xFCcksetzen",
174488
+ "abc-music-copy": "Kopieren",
174489
+ "abc-music-download": "Herunterladen",
174490
+ "table-of-contents": "Inhaltsverzeichnis",
174491
+ "audio-play": "Abspielen/Pause",
174492
+ "archive-offline": "Offline",
174493
+ "download-offline": "Offline",
174494
+ "pyide-run": "Ausf\xFChren",
174495
+ "pyide-running-click-to-stop": "Wird ausgef\xFChrt (Klicken zum Stoppen) ...",
174496
+ "pyide-running-refresh-to-stop": "Wird ausgef\xFChrt (Aktualisieren zum Stoppen) ...",
174497
+ "pyide-test": "Testen",
174498
+ "pyide-test-running-click-to-stop": "Test l\xE4uft (Klicken zum Stoppen) ...",
174499
+ "pyide-test-running-refresh-to-stop": "Test l\xE4uft (Aktualisieren zum Stoppen) ...",
174500
+ "pyide-output": "Ausgabe",
174501
+ "pyide-input": "Eingabe",
174502
+ "pyide-reset": "Zur\xFCcksetzen",
174503
+ "pyide-copy": "Kopieren",
174504
+ "pyide-download": "Herunterladen",
174505
+ "slideshow-previous": "Zur\xFCck",
174506
+ "slideshow-next": "Weiter",
174507
+ "slideshow-jump-to": "Springe zu {{index}}",
174508
+ "toggle-bookmark": "Lesezeichen umschalten",
174509
+ "shell-share": "Teilen",
174510
+ "share-dialog-title": "Teilbare URL erstellen",
174511
+ "share-dialog-standalone": "Standalone-Modus",
174512
+ "share-dialog-select-sections": "Abschnitte ausw\xE4hlen",
174513
+ "share-dialog-copy-url": "Teilbare URL kopieren",
174514
+ "share-dialog-url-copied": "URL in Zwischenablage kopiert!",
174515
+ "webide-code-preview": "Code-Vorschau",
174516
+ "webide-html": "HTML",
174517
+ "webide-css": "CSS",
174518
+ "webide-js": "JS",
174519
+ "webide-reset": "Zur\xFCcksetzen",
174520
+ "webide-reset-prompt": "Sind Sie sicher, dass Sie den Code zur\xFCcksetzen m\xF6chten?",
174521
+ "webide-copy": "Kopieren",
174522
+ "webide-download": "Herunterladen",
174523
+ "typst-code": "Typst",
174524
+ "typst-reset": "Zur\xFCcksetzen",
174525
+ "typst-reset-prompt": "Sind Sie sicher, dass Sie den Code zur\xFCcksetzen m\xF6chten?",
174526
+ "typst-download-pdf": "PDF herunterladen",
174527
+ "typst-pdf-error": "Fehler beim PDF-Export",
174528
+ "typst-download-project": "Projekt herunterladen",
174529
+ "typst-loading": "Typst wird geladen...",
174530
+ "typst-add-source-file": "Quelldatei hinzuf\xFCgen",
174531
+ "typst-add-binary-file": "Bin\xE4rdatei hinzuf\xFCgen",
174532
+ "typst-source": "Quelle",
174533
+ "typst-binary": "Bin\xE4r",
174534
+ "typst-add": "Hinzuf\xFCgen",
174535
+ "typst-delete-file": "Datei l\xF6schen",
174536
+ "typst-delete-confirm": "L\xF6schen",
174537
+ "typst-filename-prompt": "Dateiname eingeben (z.B. helper.typ):",
174538
+ "typst-filename-error": "Dateiname muss auf .typ oder .typst enden",
174539
+ "typst-filename-exists": "Datei existiert bereits",
174540
+ "typst-file-replace": "Existierende Datei ersetzen?",
174541
+ "typst-binary-files": "Bin\xE4rdateien",
174542
+ "typst-no-binary-files": "Keine Bin\xE4rdateien",
174543
+ "user-login-title": "Anmelden",
174544
+ "user-username": "Benutzername",
174545
+ "user-password": "Passwort",
174546
+ "user-login": "Anmelden",
174547
+ "user-info-title": "Benutzer Info",
174548
+ "user-status": "Status",
174549
+ "user-saved": "Gespeichert",
174550
+ "user-saving": "Speichere...",
174551
+ "user-save-error": "Fehler beim Speichern",
174552
+ "user-unsaved": "Ungespeicherte \xC4nderungen",
174553
+ "user-offline": "Offline",
174554
+ "user-offline-queued": "Lokal gespeichert",
174555
+ "user-save": "Jetzt speichern",
174556
+ "user-logout": "Abmelden",
174557
+ "user-login-required": "Benutzername und Passwort erforderlich",
174558
+ "user-login-failed": "Anmeldung fehlgeschlagen",
174559
+ "user-logout-confirm": "M\xF6chten Sie sich wirklich abmelden?",
174560
+ "user-readonly": "Nur-Lesen-Modus",
174561
+ "user-impersonating": "Angemeldet als",
174562
+ "user-exit-impersonation": "Identit\xE4tswechsel beenden",
174563
+ "consent-youtube-text": "Bei einem Klick auf den Play-Button wird ein YouTube-Video \xFCber YouTube-NoCookie geladen. Dennoch findet der Verbindungsaufbau statt und die daf\xFCr notwendigen Daten werden \xFCbertragen.",
174564
+ "consent-youtube-nocookie": "Wir verwenden YouTube-NoCookie, um Ihre Privatsph\xE4re zu sch\xFCtzen.",
174565
+ "consent-youtube-always": "YouTube-Videos immer zulassen",
174566
+ "consent-youtube-accept": "Akzeptieren und abspielen",
174567
+ "consent-embed-text": "Hier sollen Inhalte einer externen Internetseite geladen werden.",
174568
+ "consent-embed-personal-data": "Die externe Internetseite kann m\xF6glicherweise personenbezogene Daten erheben.",
174569
+ "consent-embed-always": "Inhalte von {{domain}} immer zulassen",
174570
+ "consent-embed-accept": "Inhalte laden"
174571
+ };
174572
+
174573
+ // src/i18n.ts
174574
+ var locales = {};
174575
+ var init = (lang248) => {
174576
+ if (lang248 === "de") {
174577
+ locales = de_default;
174578
+ } else {
174579
+ locales = en_default;
174580
+ }
174581
+ };
174582
+ var get = (key2, values) => {
174583
+ if (!locales[key2]) {
174584
+ console.warn(`Missing translation for key '${key2}'`);
174585
+ return key2;
174586
+ }
174587
+ let translation = locales[key2];
174588
+ if (values) {
174589
+ for (const [key3, value] of Object.entries(values)) {
174590
+ translation = translation.replace(`{{${key3}}}`, value);
174591
+ }
174592
+ }
174593
+ return translation;
174594
+ };
174595
+ var i18n = {
174596
+ init,
174597
+ get
174598
+ };
174599
+
174355
174600
  // src/remarkDirectiveYoutube.ts
174356
174601
  var remarkDirectiveYoutube_default = (ctx) => () => {
174357
174602
  const name = "youtube";
@@ -174369,7 +174614,9 @@ var remarkDirectiveYoutube_default = (ctx) => () => {
174369
174614
  node3
174370
174615
  );
174371
174616
  }
174372
- registerDirective(file, name, [], ["style.css"], []);
174617
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
174618
+ const iframeSrc = "https://www.youtube-nocookie.com/embed/" + id;
174619
+ const iframeTitle = typeof data.hChildren === "string" ? data.hChildren : "";
174373
174620
  data.hName = "div";
174374
174621
  data.hProperties = {
174375
174622
  class: "directive-youtube",
@@ -174378,40 +174625,106 @@ var remarkDirectiveYoutube_default = (ctx) => () => {
174378
174625
  data.hChildren = [
174379
174626
  {
174380
174627
  type: "element",
174381
- tagName: "iframe",
174628
+ tagName: "div",
174382
174629
  properties: {
174383
- class: "player",
174384
- src: "https://www.youtube-nocookie.com/embed/" + id,
174385
- frameBorder: "0",
174386
- title: typeof data.hChildren === "string" ? data.hChildren : "",
174387
- allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen"
174630
+ class: "directive-youtube-consent"
174388
174631
  },
174389
- children: []
174390
- }
174391
- ];
174392
- }
174393
- });
174394
- };
174395
- };
174396
-
174397
- // src/github-emojis.json
174398
- var github_emojis_default = {
174399
- "100": "\u{1F4AF}",
174400
- "1234": "\u{1F522}",
174401
- "+1": "\u{1F44D}",
174402
- "-1": "\u{1F44E}",
174403
- "1st_place_medal": "\u{1F947}",
174404
- "2nd_place_medal": "\u{1F948}",
174405
- "3rd_place_medal": "\u{1F949}",
174406
- "8ball": "\u{1F3B1}",
174407
- a: "\u{1F170}",
174408
- ab: "\u{1F18E}",
174409
- abacus: "\u{1F9EE}",
174410
- abc: "\u{1F524}",
174411
- abcd: "\u{1F521}",
174412
- accept: "\u{1F251}",
174413
- accordion: "\u{1FA97}",
174414
- adhesive_bandage: "\u{1FA79}",
174632
+ children: [
174633
+ {
174634
+ type: "element",
174635
+ tagName: "div",
174636
+ properties: { class: "directive-youtube-consent-banner" },
174637
+ children: [
174638
+ {
174639
+ type: "element",
174640
+ tagName: "p",
174641
+ properties: { class: "directive-youtube-consent-banner-text" },
174642
+ children: [
174643
+ {
174644
+ type: "text",
174645
+ value: i18n.get("consent-youtube-text")
174646
+ }
174647
+ ]
174648
+ },
174649
+ {
174650
+ type: "element",
174651
+ tagName: "p",
174652
+ properties: { class: "directive-youtube-consent-banner-text" },
174653
+ children: [
174654
+ {
174655
+ type: "text",
174656
+ value: i18n.get("consent-youtube-nocookie")
174657
+ }
174658
+ ]
174659
+ },
174660
+ {
174661
+ type: "element",
174662
+ tagName: "label",
174663
+ properties: { class: "directive-youtube-consent-always-label" },
174664
+ children: [
174665
+ {
174666
+ type: "element",
174667
+ tagName: "input",
174668
+ properties: {
174669
+ type: "checkbox",
174670
+ class: "directive-youtube-consent-always-checkbox"
174671
+ },
174672
+ children: []
174673
+ },
174674
+ {
174675
+ type: "text",
174676
+ value: i18n.get("consent-youtube-always")
174677
+ }
174678
+ ]
174679
+ },
174680
+ {
174681
+ type: "element",
174682
+ tagName: "button",
174683
+ properties: { class: "directive-youtube-consent-accept-btn" },
174684
+ children: [
174685
+ { type: "text", value: i18n.get("consent-youtube-accept") }
174686
+ ]
174687
+ }
174688
+ ]
174689
+ },
174690
+ {
174691
+ type: "element",
174692
+ tagName: "iframe",
174693
+ properties: {
174694
+ class: "player",
174695
+ "data-consent-src": iframeSrc,
174696
+ frameBorder: "0",
174697
+ title: iframeTitle,
174698
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen"
174699
+ },
174700
+ children: []
174701
+ }
174702
+ ]
174703
+ }
174704
+ ];
174705
+ }
174706
+ });
174707
+ };
174708
+ };
174709
+
174710
+ // src/github-emojis.json
174711
+ var github_emojis_default = {
174712
+ "100": "\u{1F4AF}",
174713
+ "1234": "\u{1F522}",
174714
+ "+1": "\u{1F44D}",
174715
+ "-1": "\u{1F44E}",
174716
+ "1st_place_medal": "\u{1F947}",
174717
+ "2nd_place_medal": "\u{1F948}",
174718
+ "3rd_place_medal": "\u{1F949}",
174719
+ "8ball": "\u{1F3B1}",
174720
+ a: "\u{1F170}",
174721
+ ab: "\u{1F18E}",
174722
+ abacus: "\u{1F9EE}",
174723
+ abc: "\u{1F524}",
174724
+ abcd: "\u{1F521}",
174725
+ accept: "\u{1F251}",
174726
+ accordion: "\u{1FA97}",
174727
+ adhesive_bandage: "\u{1FA79}",
174415
174728
  adult: "\u{1F9D1}",
174416
174729
  aerial_tramway: "\u{1F6A1}",
174417
174730
  afghanistan: "\u{1F1E6}\u200D\u{1F1EB}",
@@ -176658,360 +176971,131 @@ function remarkDirectiveTabs_default(ctx) {
176658
176971
  hProperties: {
176659
176972
  class: "tabpanel" + (first ? " active" : ""),
176660
176973
  "data-tab-id": tabId,
176661
- "data-tabs-id": tabsId
176662
- }
176663
- },
176664
- children: child.children
176665
- });
176666
- first = false;
176667
- }
176668
- node3.children = [
176669
- ...radioInputs,
176670
- {
176671
- type: "parent",
176672
- data: {
176673
- hName: "div",
176674
- hProperties: {
176675
- class: "tabs",
176676
- "data-tabs-id": tabsId
176677
- }
176678
- },
176679
- children: labels
176680
- },
176681
- ...contents
176682
- ];
176683
- }
176684
- };
176685
- };
176686
- }
176687
-
176688
- // src/remarkDirectiveSqlIde.ts
176689
- var remarkDirectiveSqlIde_default = (ctx) => () => {
176690
- const name = "sqlide";
176691
- return (tree, file) => {
176692
- visit(tree, function(node3) {
176693
- if (isDirective(node3)) {
176694
- if (node3.name !== name) return;
176695
- const data = node3.data || (node3.data = {});
176696
- const attributes4 = node3.attributes || {};
176697
- const {
176698
- id = hash(node3),
176699
- db = ctx.config.elements?.sqlide?.db || ctx.makeUrl(
176700
- [
176701
- "directive-sqlide",
176702
- "include",
176703
- "assets",
176704
- "databases",
176705
- "world1.sqLite"
176706
- ],
176707
- "assets",
176708
- void 0,
176709
- { versioned: false }
176710
- ),
176711
- height = ctx.config.elements?.sqlide?.height || "600px"
176712
- } = attributes4;
176713
- expectContainerDirective(node3, file, name);
176714
- registerDirective(
176715
- file,
176716
- name,
176717
- [
176718
- "client.js",
176719
- {
176720
- type: "module",
176721
- crossorigin: true,
176722
- src: "include/sql-ide-embedded.js",
176723
- position: "head",
176724
- versioned: false
176725
- }
176726
- ],
176727
- ["style.css", "include/sql-ide-embedded.css"],
176728
- []
176729
- );
176730
- const codes = node3.children?.filter(isCode).map((n) => ({
176731
- type: "element",
176732
- tagName: "script",
176733
- properties: {
176734
- type: "text/plain",
176735
- title: n.meta,
176736
- "data-type": n.lang === "md" || n.lang === "markdown" ? "hint" : "sql"
176737
- },
176738
- children: [
176739
- {
176740
- type: "text",
176741
- value: n.value
176742
- }
176743
- ]
176744
- }));
176745
- data.hName = "div";
176746
- data.hProperties = {
176747
- class: "directive-sqlide"
176748
- };
176749
- data.hChildren = [
176750
- {
176751
- type: "element",
176752
- tagName: "div",
176753
- properties: {
176754
- class: "sql-online",
176755
- style: `height: ${height}; padding: 0; margin: 0;`,
176756
- "data-sql-online": `{'id': '${id}', "databaseURL": "${db}"}`
176757
- },
176758
- children: [...codes]
176759
- },
176760
- {
176761
- type: "element",
176762
- tagName: "div",
176763
- properties: {
176764
- class: "menu"
176765
- },
176766
- children: [
176767
- {
176768
- type: "element",
176769
- tagName: "button",
176770
- properties: {
176771
- onclick: "hyperbook.sqlide.openFullscreen(this)"
176772
- },
176773
- children: [
176774
- {
176775
- type: "text",
176776
- value: "Fullscreen"
176777
- }
176778
- ]
176779
- }
176780
- ]
176781
- }
176782
- ];
176783
- }
176784
- });
176785
- };
176786
- };
176787
-
176788
- // locales/en.json
176789
- var en_default = {
176790
- "footnote-label": "Footnotes",
176791
- "footnote-back-label": "Back to reference {{index}}",
176792
- "footnote-back-label-many": "Back to reference {{from}}-{{to}}",
176793
- "store-different-origin": "The Hyperbook file is from a different origin {{origin}}. Do you want to import it anyways?",
176794
- "store-import-successful": "The Hyperbook file has been imported successfully.",
176795
- "store-not-supported-file-version": "The Hyperbook file has an unsupported version {{version}}.",
176796
- "store-reset-successful": "The Hyberbook has been reset successfully.",
176797
- "store-reset-confirm": "Are you sure you want to reset the Hyperbook? This will remove all your data.",
176798
- "shell-search": "Search",
176799
- "shell-toggle-dark-mode": "Toggle between Dark and Light Mode",
176800
- "shell-reset-hyperbook": "Reset Hyperbook",
176801
- "shell-import-hyperbook": "Import Hyperbook from a file",
176802
- "shell-export-hyperbook": "Export Hyperbook to a file",
176803
- "breadcrumb-navigation": "Breadcrumb",
176804
- "breadcrumb-home": "Home",
176805
- "qr-code": "QR Code",
176806
- "p5-update": "Update",
176807
- "p5-code-preview": "Code Preview",
176808
- "p5-reset": "Reset",
176809
- "p5-copy": "Copy",
176810
- "p5-download": "Download",
176811
- "abc-music-reset": "Reset",
176812
- "abc-music-copy": "Copy",
176813
- "abc-music-download": "Download",
176814
- "table-of-contents": "Table of Contents",
176815
- "audio-play": "Play/Pause",
176816
- "archive-offline": "Offline",
176817
- "download-offline": "Offline",
176818
- "pyide-run": "Run",
176819
- "pyide-running-click-to-stop": "Running (Click to stop) ...",
176820
- "pyide-running-refresh-to-stop": "Running (Refresh to stop) ...",
176821
- "pyide-test": "Test",
176822
- "pyide-test-running-click-to-stop": "Test running (Click to stop) ...",
176823
- "pyide-test-running-refresh-to-stop": "Test running (Refresh to stop) ...",
176824
- "pyide-output": "Output",
176825
- "pyide-input": "Input",
176826
- "pyide-reset": "Reset",
176827
- "pyide-copy": "Copy",
176828
- "pyide-download": "Download",
176829
- "slideshow-previous": "Previous",
176830
- "slideshow-next": "Next",
176831
- "slideshow-jump-to": "Jump to {{index}}",
176832
- "toggle-bookmark": "Toggle Bookmark",
176833
- "shell-share": "Share",
176834
- "share-dialog-title": "Create Shareable URL",
176835
- "share-dialog-standalone": "Standalone Mode",
176836
- "share-dialog-select-sections": "Select Sections",
176837
- "share-dialog-copy-url": "Copy Shareable URL",
176838
- "share-dialog-url-copied": "URL copied to clipboard!",
176839
- "webide-code-preview": "Code Preview",
176840
- "webide-html": "HTML",
176841
- "webide-css": "CSS",
176842
- "webide-js": "JS",
176843
- "webide-reset": "Reset",
176844
- "webide-reset-prompt": "Are you sure you want to reset the code?",
176845
- "webide-copy": "Copy",
176846
- "webide-download": "Download",
176847
- "typst-code": "Typst",
176848
- "typst-reset": "Reset",
176849
- "typst-reset-prompt": "Are you sure you want to reset the code?",
176850
- "typst-download-pdf": "Download PDF",
176851
- "typst-pdf-error": "Error exporting PDF",
176852
- "typst-download-project": "Download Project",
176853
- "typst-loading": "Loading Typst...",
176854
- "typst-add-source-file": "Add source file",
176855
- "typst-add-binary-file": "Add binary file",
176856
- "typst-source": "Source",
176857
- "typst-binary": "Binary",
176858
- "typst-add": "Add",
176859
- "typst-delete-file": "Delete file",
176860
- "typst-delete-confirm": "Delete",
176861
- "typst-filename-prompt": "Enter filename (e.g., helper.typ):",
176862
- "typst-filename-error": "Filename must end with .typ or .typst",
176863
- "typst-filename-exists": "File already exists",
176864
- "typst-file-replace": "Replace existing file?",
176865
- "typst-binary-files": "Binary Files",
176866
- "typst-no-binary-files": "No binary files",
176867
- "user-login-title": "Login",
176868
- "user-username": "Username",
176869
- "user-password": "Password",
176870
- "user-login": "Login",
176871
- "user-info-title": "User Info",
176872
- "user-status": "Status",
176873
- "user-saved": "Saved",
176874
- "user-saving": "Saving...",
176875
- "user-save-error": "Save Error",
176876
- "user-unsaved": "Unsaved changes",
176877
- "user-offline": "Offline",
176878
- "user-offline-queued": "Saved locally",
176879
- "user-save": "Save Now",
176880
- "user-logout": "Logout",
176881
- "user-login-required": "Username and password required",
176882
- "user-login-failed": "Login failed",
176883
- "user-logout-confirm": "Are you sure you want to logout?",
176884
- "user-readonly": "Read-Only Mode",
176885
- "user-impersonating": "Impersonating",
176886
- "user-exit-impersonation": "Exit Impersonation"
176887
- };
176888
-
176889
- // locales/de.json
176890
- var de_default = {
176891
- "footnote-label": "Fu\xDFnoten",
176892
- "footnote-back-label": "Hochspringen nach: {{index}}",
176893
- "footnote-back-label-many": "Hochspringen nach: {{from}}-{{to}}",
176894
- "store-different-origin": "Die Hyperbook-Datei stammt aus einer anderen Quelle {{origin}}. M\xF6chten Sie sie trotzdem importieren?",
176895
- "store-import-successful": "Die Hyperbook-Datei wurde erfolgreich importiert.",
176896
- "store-not-supported-file-version": "Die Hyperbook-Datei hat eine nicht unterst\xFCtzte Version {{version}}.",
176897
- "store-reset-successful": "Das Hyperbook wurde erfolgreich zur\xFCckgesetzt.",
176898
- "store-reset-confirm": "Sind Sie sicher, dass Sie das Hyperbook zur\xFCcksetzen m\xF6chten? Dadurch werden alle Ihre Daten entfernt.",
176899
- "shell-search": "Suche",
176900
- "shell-toggle-dark-mode": "Zwischen Dunkel- und Hellmodus wechseln",
176901
- "shell-reset-hyperbook": "Das Hyperbook zur\xFCcksetzen",
176902
- "shell-import-hyperbook": "Das Hyperbook aus einer Datei importieren",
176903
- "shell-export-hyperbook": "Das Hyperbook in eine Datei exportieren",
176904
- "breadcrumb-navigation": "Brotkr\xFCmelnavigation",
176905
- "breadcrumb-home": "Startseite",
176906
- "qr-code": "QR-Code",
176907
- "p5-update": "Aktualisieren",
176908
- "p5-code-preview": "Code-Vorschau",
176909
- "p5-reset": "Zur\xFCcksetzen",
176910
- "p5-copy": "Kopieren",
176911
- "p5-download": "Herunterladen",
176912
- "abc-music-reset": "Zur\xFCcksetzen",
176913
- "abc-music-copy": "Kopieren",
176914
- "abc-music-download": "Herunterladen",
176915
- "table-of-contents": "Inhaltsverzeichnis",
176916
- "audio-play": "Abspielen/Pause",
176917
- "archive-offline": "Offline",
176918
- "download-offline": "Offline",
176919
- "pyide-run": "Ausf\xFChren",
176920
- "pyide-running-click-to-stop": "Wird ausgef\xFChrt (Klicken zum Stoppen) ...",
176921
- "pyide-running-refresh-to-stop": "Wird ausgef\xFChrt (Aktualisieren zum Stoppen) ...",
176922
- "pyide-test": "Testen",
176923
- "pyide-test-running-click-to-stop": "Test l\xE4uft (Klicken zum Stoppen) ...",
176924
- "pyide-test-running-refresh-to-stop": "Test l\xE4uft (Aktualisieren zum Stoppen) ...",
176925
- "pyide-output": "Ausgabe",
176926
- "pyide-input": "Eingabe",
176927
- "pyide-reset": "Zur\xFCcksetzen",
176928
- "pyide-copy": "Kopieren",
176929
- "pyide-download": "Herunterladen",
176930
- "slideshow-previous": "Zur\xFCck",
176931
- "slideshow-next": "Weiter",
176932
- "slideshow-jump-to": "Springe zu {{index}}",
176933
- "toggle-bookmark": "Lesezeichen umschalten",
176934
- "shell-share": "Teilen",
176935
- "share-dialog-title": "Teilbare URL erstellen",
176936
- "share-dialog-standalone": "Standalone-Modus",
176937
- "share-dialog-select-sections": "Abschnitte ausw\xE4hlen",
176938
- "share-dialog-copy-url": "Teilbare URL kopieren",
176939
- "share-dialog-url-copied": "URL in Zwischenablage kopiert!",
176940
- "webide-code-preview": "Code-Vorschau",
176941
- "webide-html": "HTML",
176942
- "webide-css": "CSS",
176943
- "webide-js": "JS",
176944
- "webide-reset": "Zur\xFCcksetzen",
176945
- "webide-reset-prompt": "Sind Sie sicher, dass Sie den Code zur\xFCcksetzen m\xF6chten?",
176946
- "webide-copy": "Kopieren",
176947
- "webide-download": "Herunterladen",
176948
- "typst-code": "Typst",
176949
- "typst-reset": "Zur\xFCcksetzen",
176950
- "typst-reset-prompt": "Sind Sie sicher, dass Sie den Code zur\xFCcksetzen m\xF6chten?",
176951
- "typst-download-pdf": "PDF herunterladen",
176952
- "typst-pdf-error": "Fehler beim PDF-Export",
176953
- "typst-download-project": "Projekt herunterladen",
176954
- "typst-loading": "Typst wird geladen...",
176955
- "typst-add-source-file": "Quelldatei hinzuf\xFCgen",
176956
- "typst-add-binary-file": "Bin\xE4rdatei hinzuf\xFCgen",
176957
- "typst-source": "Quelle",
176958
- "typst-binary": "Bin\xE4r",
176959
- "typst-add": "Hinzuf\xFCgen",
176960
- "typst-delete-file": "Datei l\xF6schen",
176961
- "typst-delete-confirm": "L\xF6schen",
176962
- "typst-filename-prompt": "Dateiname eingeben (z.B. helper.typ):",
176963
- "typst-filename-error": "Dateiname muss auf .typ oder .typst enden",
176964
- "typst-filename-exists": "Datei existiert bereits",
176965
- "typst-file-replace": "Existierende Datei ersetzen?",
176966
- "typst-binary-files": "Bin\xE4rdateien",
176967
- "typst-no-binary-files": "Keine Bin\xE4rdateien",
176968
- "user-login-title": "Anmelden",
176969
- "user-username": "Benutzername",
176970
- "user-password": "Passwort",
176971
- "user-login": "Anmelden",
176972
- "user-info-title": "Benutzer Info",
176973
- "user-status": "Status",
176974
- "user-saved": "Gespeichert",
176975
- "user-saving": "Speichere...",
176976
- "user-save-error": "Fehler beim Speichern",
176977
- "user-unsaved": "Ungespeicherte \xC4nderungen",
176978
- "user-offline": "Offline",
176979
- "user-offline-queued": "Lokal gespeichert",
176980
- "user-save": "Jetzt speichern",
176981
- "user-logout": "Abmelden",
176982
- "user-login-required": "Benutzername und Passwort erforderlich",
176983
- "user-login-failed": "Anmeldung fehlgeschlagen",
176984
- "user-logout-confirm": "M\xF6chten Sie sich wirklich abmelden?",
176985
- "user-readonly": "Nur-Lesen-Modus",
176986
- "user-impersonating": "Angemeldet als",
176987
- "user-exit-impersonation": "Identit\xE4tswechsel beenden"
176988
- };
176974
+ "data-tabs-id": tabsId
176975
+ }
176976
+ },
176977
+ children: child.children
176978
+ });
176979
+ first = false;
176980
+ }
176981
+ node3.children = [
176982
+ ...radioInputs,
176983
+ {
176984
+ type: "parent",
176985
+ data: {
176986
+ hName: "div",
176987
+ hProperties: {
176988
+ class: "tabs",
176989
+ "data-tabs-id": tabsId
176990
+ }
176991
+ },
176992
+ children: labels
176993
+ },
176994
+ ...contents
176995
+ ];
176996
+ }
176997
+ };
176998
+ };
176999
+ }
176989
177000
 
176990
- // src/i18n.ts
176991
- var locales = {};
176992
- var init = (lang248) => {
176993
- if (lang248 === "de") {
176994
- locales = de_default;
176995
- } else {
176996
- locales = en_default;
176997
- }
176998
- };
176999
- var get = (key2, values) => {
177000
- if (!locales[key2]) {
177001
- console.warn(`Missing translation for key '${key2}'`);
177002
- return key2;
177003
- }
177004
- let translation = locales[key2];
177005
- if (values) {
177006
- for (const [key3, value] of Object.entries(values)) {
177007
- translation = translation.replace(`{{${key3}}}`, value);
177008
- }
177009
- }
177010
- return translation;
177011
- };
177012
- var i18n = {
177013
- init,
177014
- get
177001
+ // src/remarkDirectiveSqlIde.ts
177002
+ var remarkDirectiveSqlIde_default = (ctx) => () => {
177003
+ const name = "sqlide";
177004
+ return (tree, file) => {
177005
+ visit(tree, function(node3) {
177006
+ if (isDirective(node3)) {
177007
+ if (node3.name !== name) return;
177008
+ const data = node3.data || (node3.data = {});
177009
+ const attributes4 = node3.attributes || {};
177010
+ const {
177011
+ id = hash(node3),
177012
+ db = ctx.config.elements?.sqlide?.db || ctx.makeUrl(
177013
+ [
177014
+ "directive-sqlide",
177015
+ "include",
177016
+ "assets",
177017
+ "databases",
177018
+ "world1.sqLite"
177019
+ ],
177020
+ "assets",
177021
+ void 0,
177022
+ { versioned: false }
177023
+ ),
177024
+ height = ctx.config.elements?.sqlide?.height || "600px"
177025
+ } = attributes4;
177026
+ expectContainerDirective(node3, file, name);
177027
+ registerDirective(
177028
+ file,
177029
+ name,
177030
+ [
177031
+ "client.js",
177032
+ {
177033
+ type: "module",
177034
+ crossorigin: true,
177035
+ src: "include/sql-ide-embedded.js",
177036
+ position: "head",
177037
+ versioned: false
177038
+ }
177039
+ ],
177040
+ ["style.css", "include/sql-ide-embedded.css"],
177041
+ []
177042
+ );
177043
+ const codes = node3.children?.filter(isCode).map((n) => ({
177044
+ type: "element",
177045
+ tagName: "script",
177046
+ properties: {
177047
+ type: "text/plain",
177048
+ title: n.meta,
177049
+ "data-type": n.lang === "md" || n.lang === "markdown" ? "hint" : "sql"
177050
+ },
177051
+ children: [
177052
+ {
177053
+ type: "text",
177054
+ value: n.value
177055
+ }
177056
+ ]
177057
+ }));
177058
+ data.hName = "div";
177059
+ data.hProperties = {
177060
+ class: "directive-sqlide"
177061
+ };
177062
+ data.hChildren = [
177063
+ {
177064
+ type: "element",
177065
+ tagName: "div",
177066
+ properties: {
177067
+ class: "sql-online",
177068
+ style: `height: ${height}; padding: 0; margin: 0;`,
177069
+ "data-sql-online": `{'id': '${id}', "databaseURL": "${db}"}`
177070
+ },
177071
+ children: [...codes]
177072
+ },
177073
+ {
177074
+ type: "element",
177075
+ tagName: "div",
177076
+ properties: {
177077
+ class: "menu"
177078
+ },
177079
+ children: [
177080
+ {
177081
+ type: "element",
177082
+ tagName: "button",
177083
+ properties: {
177084
+ onclick: "hyperbook.sqlide.openFullscreen(this)"
177085
+ },
177086
+ children: [
177087
+ {
177088
+ type: "text",
177089
+ value: "Fullscreen"
177090
+ }
177091
+ ]
177092
+ }
177093
+ ]
177094
+ }
177095
+ ];
177096
+ }
177097
+ });
177098
+ };
177015
177099
  };
177016
177100
 
177017
177101
  // src/remarkDirectiveSlideshow.ts
@@ -180444,25 +180528,151 @@ var remarkDirectiveEmbed_default = (ctx) => () => {
180444
180528
  height = "400px",
180445
180529
  src,
180446
180530
  allowFullScreen = true,
180447
- title
180531
+ title,
180532
+ consent = "true"
180448
180533
  } = node3.attributes || {};
180449
- data.hName = "div";
180450
- data.hProperties = {
180451
- class: "directive-embed",
180452
- style: `aspect-ratio: ${aspectRatio}; height: ${height}; width: ${width}`
180453
- };
180454
- data.hChildren = [
180455
- {
180456
- type: "element",
180457
- tagName: "iframe",
180458
- properties: {
180459
- src,
180460
- title,
180461
- allowfullscreen: allowFullScreen
180462
- },
180463
- children: []
180534
+ const useConsent = consent !== "false";
180535
+ if (useConsent) {
180536
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
180537
+ let domain2 = src || "";
180538
+ try {
180539
+ domain2 = new URL(src || "").hostname;
180540
+ } catch (e) {
180464
180541
  }
180465
- ];
180542
+ data.hName = "div";
180543
+ data.hProperties = {
180544
+ class: "directive-embed",
180545
+ style: `aspect-ratio: ${aspectRatio}; height: ${height}; width: ${width}`
180546
+ };
180547
+ data.hChildren = [
180548
+ {
180549
+ type: "element",
180550
+ tagName: "div",
180551
+ properties: {
180552
+ class: "directive-embed-consent",
180553
+ "data-consent-src": src
180554
+ },
180555
+ children: [
180556
+ {
180557
+ type: "element",
180558
+ tagName: "div",
180559
+ properties: { class: "directive-embed-consent-banner" },
180560
+ children: [
180561
+ {
180562
+ type: "element",
180563
+ tagName: "p",
180564
+ properties: { class: "directive-embed-consent-banner-text" },
180565
+ children: [
180566
+ {
180567
+ type: "text",
180568
+ value: i18n.get("consent-embed-text")
180569
+ },
180570
+ {
180571
+ type: "element",
180572
+ tagName: "br",
180573
+ properties: {},
180574
+ children: []
180575
+ },
180576
+ {
180577
+ type: "element",
180578
+ tagName: "br",
180579
+ properties: {},
180580
+ children: []
180581
+ },
180582
+ {
180583
+ type: "text",
180584
+ value: i18n.get("consent-embed-personal-data")
180585
+ }
180586
+ ]
180587
+ },
180588
+ {
180589
+ type: "element",
180590
+ tagName: "p",
180591
+ properties: { class: "directive-embed-consent-banner-url" },
180592
+ children: [
180593
+ { type: "text", value: "URL: " },
180594
+ {
180595
+ type: "element",
180596
+ tagName: "a",
180597
+ properties: {
180598
+ href: src,
180599
+ target: "_blank",
180600
+ rel: "noopener noreferrer"
180601
+ },
180602
+ children: [{ type: "text", value: src || "" }]
180603
+ }
180604
+ ]
180605
+ },
180606
+ {
180607
+ type: "element",
180608
+ tagName: "label",
180609
+ properties: {
180610
+ class: "directive-embed-consent-always-label"
180611
+ },
180612
+ children: [
180613
+ {
180614
+ type: "element",
180615
+ tagName: "input",
180616
+ properties: {
180617
+ type: "checkbox",
180618
+ class: "directive-embed-consent-always-checkbox"
180619
+ },
180620
+ children: []
180621
+ },
180622
+ {
180623
+ type: "text",
180624
+ value: i18n.get("consent-embed-always", { domain: domain2 })
180625
+ }
180626
+ ]
180627
+ },
180628
+ {
180629
+ type: "element",
180630
+ tagName: "button",
180631
+ properties: {
180632
+ class: "directive-embed-consent-accept-btn"
180633
+ },
180634
+ children: [
180635
+ {
180636
+ type: "text",
180637
+ value: i18n.get("consent-embed-accept")
180638
+ }
180639
+ ]
180640
+ }
180641
+ ]
180642
+ },
180643
+ {
180644
+ type: "element",
180645
+ tagName: "iframe",
180646
+ properties: {
180647
+ "data-consent-src": src,
180648
+ title,
180649
+ allowfullscreen: allowFullScreen
180650
+ },
180651
+ children: []
180652
+ }
180653
+ ]
180654
+ }
180655
+ ];
180656
+ } else {
180657
+ registerDirective(file, name, [], ["style.css"], []);
180658
+ data.hName = "div";
180659
+ data.hProperties = {
180660
+ class: "directive-embed",
180661
+ style: `aspect-ratio: ${aspectRatio}; height: ${height}; width: ${width}`
180662
+ };
180663
+ data.hChildren = [
180664
+ {
180665
+ type: "element",
180666
+ tagName: "iframe",
180667
+ properties: {
180668
+ src,
180669
+ title,
180670
+ allowfullscreen: allowFullScreen
180671
+ },
180672
+ children: []
180673
+ }
180674
+ ];
180675
+ }
180466
180676
  }
180467
180677
  });
180468
180678
  };
@@ -200742,7 +200952,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"application/1d-interleaved-parityfec
200742
200952
  /***/ ((module) => {
200743
200953
 
200744
200954
  "use strict";
200745
- module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.84.5","author":"Mike Barkmin","homepage":"https://github.com/openpatch/hyperbook#readme","license":"MIT","bin":{"hyperbook":"./dist/index.js"},"files":["dist"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/openpatch/hyperbook.git","directory":"packages/hyperbook"},"bugs":{"url":"https://github.com/openpatch/hyperbook/issues"},"engines":{"node":">=18"},"scripts":{"version":"pnpm build","lint":"tsc --noEmit","dev":"ncc build ./index.ts -w -o dist/","build":"rimraf dist && ncc build ./index.ts -o ./dist/ --no-cache --no-source-map-register --external favicons --external sharp && node postbuild.mjs"},"dependencies":{"favicons":"^7.2.0"},"devDependencies":{"create-hyperbook":"workspace:*","@hyperbook/fs":"workspace:*","@hyperbook/markdown":"workspace:*","@hyperbook/types":"workspace:*","@pnpm/exportable-manifest":"1000.0.6","@types/archiver":"6.0.3","@types/async-retry":"1.4.9","@types/cross-spawn":"6.0.6","@types/lunr":"^2.3.7","@types/prompts":"2.4.9","@types/tar":"6.1.13","@types/ws":"^8.5.14","@vercel/ncc":"0.38.3","archiver":"7.0.1","async-retry":"1.3.3","chalk":"5.4.1","chokidar":"4.0.3","commander":"12.1.0","cpy":"11.1.0","cross-spawn":"7.0.6","domutils":"^3.2.2","extract-zip":"^2.0.1","got":"12.6.0","htmlparser2":"^10.0.0","lunr":"^2.3.9","lunr-languages":"^1.14.0","mime":"^4.0.6","prompts":"2.4.2","rimraf":"6.0.1","tar":"7.4.3","update-check":"1.5.4","ws":"^8.18.0"}}');
200955
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.85.0","author":"Mike Barkmin","homepage":"https://github.com/openpatch/hyperbook#readme","license":"MIT","bin":{"hyperbook":"./dist/index.js"},"files":["dist"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/openpatch/hyperbook.git","directory":"packages/hyperbook"},"bugs":{"url":"https://github.com/openpatch/hyperbook/issues"},"engines":{"node":">=18"},"scripts":{"version":"pnpm build","lint":"tsc --noEmit","dev":"ncc build ./index.ts -w -o dist/","build":"rimraf dist && ncc build ./index.ts -o ./dist/ --no-cache --no-source-map-register --external favicons --external sharp && node postbuild.mjs"},"dependencies":{"favicons":"^7.2.0"},"devDependencies":{"create-hyperbook":"workspace:*","@hyperbook/fs":"workspace:*","@hyperbook/markdown":"workspace:*","@hyperbook/types":"workspace:*","@pnpm/exportable-manifest":"1000.0.6","@types/archiver":"6.0.3","@types/async-retry":"1.4.9","@types/cross-spawn":"6.0.6","@types/lunr":"^2.3.7","@types/prompts":"2.4.9","@types/tar":"6.1.13","@types/ws":"^8.5.14","@vercel/ncc":"0.38.3","archiver":"7.0.1","async-retry":"1.3.3","chalk":"5.4.1","chokidar":"4.0.3","commander":"12.1.0","cpy":"11.1.0","cross-spawn":"7.0.6","domutils":"^3.2.2","extract-zip":"^2.0.1","got":"12.6.0","htmlparser2":"^10.0.0","lunr":"^2.3.9","lunr-languages":"^1.14.0","mime":"^4.0.6","prompts":"2.4.2","rimraf":"6.0.1","tar":"7.4.3","update-check":"1.5.4","ws":"^8.18.0"}}');
200746
200956
 
200747
200957
  /***/ })
200748
200958