@foxycape/core 1.2.0 → 1.2.2

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 (34) hide show
  1. package/dist/kernal/crypto/WebCrypto.cjs +1 -1
  2. package/dist/kernal/crypto/WebCrypto.mjs +36 -31
  3. package/dist/kernal/index.cjs +1 -1
  4. package/dist/kernal/index.d.ts +0 -3
  5. package/dist/kernal/index.mjs +35 -37
  6. package/dist/kernal/io/IByteSource.cjs +1 -1
  7. package/dist/kernal/io/IByteSource.mjs +16 -17
  8. package/dist/kernal/pipelines/FileLoadPipeline.cjs +1 -1
  9. package/dist/kernal/pipelines/FileLoadPipeline.mjs +2 -1
  10. package/dist/kernal/pipelines/InputFormatter.cjs +1 -1
  11. package/dist/kernal/pipelines/InputFormatter.d.ts +0 -1
  12. package/dist/kernal/pipelines/InputFormatter.mjs +47 -60
  13. package/dist/kernal/services/ServiceCollection.cjs +1 -1
  14. package/dist/kernal/services/ServiceCollection.mjs +0 -3
  15. package/dist/mediaTypes/html/renderer/HtmlRenderer.cjs +1 -1
  16. package/dist/mediaTypes/html/renderer/HtmlRenderer.d.ts +2 -2
  17. package/dist/mediaTypes/html/renderer/HtmlRenderer.mjs +2 -10
  18. package/package.json +1 -4
  19. package/dist/kernal/crypto/MD5.cjs +0 -1
  20. package/dist/kernal/crypto/MD5.d.ts +0 -4
  21. package/dist/kernal/crypto/MD5.mjs +0 -6
  22. package/dist/kernal/crypto/hash.cjs +0 -1
  23. package/dist/kernal/crypto/hash.d.ts +0 -21
  24. package/dist/kernal/crypto/hash.mjs +0 -48
  25. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.cjs +0 -1
  26. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.d.ts +0 -39
  27. package/dist/kernal/plugins/keyboard/KeyboardPageTurning.mjs +0 -136
  28. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.cjs +0 -1
  29. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.d.ts +0 -18
  30. package/dist/mediaTypes/html/renderer/style/LanguageHighlighter.mjs +0 -52
  31. package/dist/node_modules/highlight.js/styles/github-dark.cjs +0 -118
  32. package/dist/node_modules/highlight.js/styles/github-dark.mjs +0 -4
  33. package/dist/node_modules/highlight.js/styles/github.cjs +0 -118
  34. package/dist/node_modules/highlight.js/styles/github.mjs +0 -4
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/EventNames.cjs"),t=require("../../../kernal/common/uuid.cjs"),n=require("../../../kernal/Options.cjs"),r=require("../../../kernal/Theme.cjs"),i=require("../../../kernal/web/scheduler.cjs"),a=require("../../../kernal/html/events.cjs"),o=require("../HtmlOptions.cjs"),s=require("./navigator/HtmlCoreNavigator.cjs"),c=require("./layout/resolveLayoutRoute.cjs"),l=require("./navigator/HtmlPagingNavigator.cjs"),u=require("./navigator/HtmlNavPointNavigator.cjs"),d=require("./navigator/HtmlNavPointProvider.cjs"),f=require("./progress/HtmlProgressTracker.cjs"),p=require("./location/scrollActivity.cjs"),m=require("./documents/HtmlDocumentsProvider.cjs"),h=require("./layout/HtmlRendererLayout.cjs"),g=require("./style/HtmlStyleProvider.cjs"),_=require("./style/HtmlThemeApplier.cjs"),v=require("./documents/HtmlDocumentsResizeObserver.cjs"),y=require("./html/HtmlContentProcessor.cjs"),b=require("./image/HtmlImageLoader.cjs"),x=require("./image/HtmlImageObserver.cjs");var S=class extends m.HtmlDocumentsProvider{constructor(e,r,a,c){super(e,r,a,c),this.isInitRenderer=!1,this.injectProcessHandlers=()=>{this.addDocumentPreprocess(this.preprocessHandler)},this.preprocessHandler=async e=>{await this.contentProcessor.preprocess(e),await this.styleProvider.injectStyles(e);let t=await this.resolveCurrentTheme();t&&await this.themeApplier.applyToDocument(e,t),await this.rendererLayout.applyDocStyles(e),await this.imageLoader.preprocessImages(e);let n=await this.getHighlighter();n&&await n.highlight(e)},this.onPageChange=async()=>{this.progressTracker.notifyProgressChange()},this.onDocumentSizeChange=async()=>{this.owner.context.userChangedProgress||p.isProgrammaticScroll()||p.isUserScrollSettling()||await this.delayRestoreReadingPosition()},this.onOptionsChange=async e=>{let t=this.getRendererContainer();if(!(!t||!t.ownerDocument.defaultView)&&(n.isOptionKey(e)||o.isHtmlOptionKey(e))){let t=o.isHtmlOptionKey(e);if(t){if(!this.owner.context.currentLocation?.precise){let e=await this.progressTracker.getProgress(!0);e&&(this.owner.context.currentLocation=e.location)}this.owner.context.setUserChangedProgress(!1)}if(this.rendererViewport.applyCssVariables(),await i.yieldToMain(),t){for(let e of this.getLoadedDocuments())await this.rendererLayout.applyDocStyles(e);this.owner.context.userChangedProgress||await this.reload()}}},this.progressTracker=new f.HtmlProgressTracker(e,this,c),this.rendererLayout=new h.HtmlRendererLayout(e,this,this.rendererViewport,this.progressTracker,c),this.navPointProvider=new d.HtmlNavPointProvider(this,c),this.navigator=new s.HtmlCoreNavigator(this,c),this.navPointNavigator=new u.HtmlNavPointNavigator(e.locale,e.notifier,this,this.navigator,this.navPointProvider),this.pagingNavigator=new l.HtmlPagingNavigator(this,this.navigator,c),this.styleProvider=new g.HtmlStyleProvider(this),this.currentInstanceId=t.getRandomId(!0),this.themeApplier=new _.HtmlThemeApplier(this),this.documentsResizeObserver=new v.HtmlDocumentsResizeObserver(this,this.rendererViewport,this.progressTracker,this.rendererLayout),this.contentProcessor=new y.HtmlContentProcessor(r),this.imageLoader=this.createImageLoader(),this.imageObserver=new x.HtmlImageObserver(this,c),this.bindEvents(),this.bindScrollWatch(),this.injectProcessHandlers()}get id(){return this.currentInstanceId}createImageLoader(){return new b.HtmlImageLoader(this,this.rendererViewport,this.htmlOptions)}async resolveCurrentTheme(){return(await this.owner.services.get(`themeProvider`))?.getCurrentTheme()??new r.Theme}async getHighlighter(){if(this.htmlOptions.enableFormatCodeBlock){if(!this.languageHighlighter){let{LanguageHighlighter:e}=await Promise.resolve().then(()=>require("./style/LanguageHighlighter.cjs"));this.languageHighlighter=new e(this)}return this.languageHighlighter}}bindEvents(){this.owner.events.on(e.EventNames.OptionsChange,this.onOptionsChange),this.owner.events.on(e.EventNames.PageChange,this.onPageChange),this.owner.events.on(e.EventNames.DocumentSizeChange,this.onDocumentSizeChange)}unbindEvents(){this.owner.events.off(e.EventNames.OptionsChange,this.onOptionsChange),this.owner.events.off(e.EventNames.PageChange,this.onPageChange),this.owner.events.off(e.EventNames.DocumentSizeChange,this.onDocumentSizeChange)}bindScrollWatch(){let t=this.owner.getHostViewport();this.scrollWatchTarget=t.mode==`window`?t.scrollWatchTarget:this.getScrollElement(),this.scrollWatchTarget&&(this.scrollWatchState=a.watchScroll(this.scrollWatchTarget,this.owner.options.calcScrollDirection,async(t,n)=>{this.owner.events.emit(e.EventNames.ReaderDebounceScroll,t,n),this.progressTracker.notifyProgressChange()},t=>{p.isProgrammaticScroll()||!t.isTrusted||(this.owner.onProgressChangeGuard&&this.owner.context?.progress?.current&&(this.owner.onProgressChangeGuard(this.owner.context.progress.current)||t.preventDefault()),p.markUserScroll(),p.releaseAbsoluteLocate(),this.owner.events.emit(e.EventNames.ReaderOriginalScroll,t))}))}async load(e,t){e||=this.owner.context.progress?.location,this.isInitRenderer||(this.isInitRenderer=!0,this.documentsResizeObserver.register(),this.imageObserver.register()),await super.load(e,t)}getFileParser(){return this.fileParser}get writingMode(){return this.htmlOptions.writingMode??`horizontal-tb`}get direction(){return c.resolveHtmlTextDirection(this.htmlOptions)}get layout(){return this.rendererLayout}async applyTheme(e){await this.themeApplier.applyTheme(e);let t=await this.getHighlighter();t&&await t.applyTheme(e)}async dispose(){this.unbindEvents();let e=this.scrollWatchTarget??this.getScrollElement();e&&this.scrollWatchState?._eventHandler&&(e.removeEventListener(`scroll`,this.scrollWatchState._eventHandler,!0),this.scrollWatchState=void 0,this.scrollWatchTarget=void 0),await this.progressTracker.dispose(),await this.imageObserver.dispose(),await this.imageLoader.dispose(),await super.dispose(),await this.styleProvider?.dispose(),await this.languageHighlighter?.dispose(),this.languageHighlighter=void 0,await this.navPointProvider?.dispose(),await this.pagingNavigator?.dispose(),await this.documentsResizeObserver.dispose(),await this.contentProcessor.dispose()}};exports.HtmlRenderer=S;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../kernal/EventNames.cjs"),t=require("../../../kernal/common/uuid.cjs"),n=require("../../../kernal/Options.cjs"),r=require("../../../kernal/Theme.cjs"),i=require("../../../kernal/web/scheduler.cjs"),a=require("../../../kernal/html/events.cjs"),o=require("../HtmlOptions.cjs"),s=require("./navigator/HtmlCoreNavigator.cjs"),c=require("./layout/resolveLayoutRoute.cjs"),l=require("./navigator/HtmlPagingNavigator.cjs"),u=require("./navigator/HtmlNavPointNavigator.cjs"),d=require("./navigator/HtmlNavPointProvider.cjs"),f=require("./progress/HtmlProgressTracker.cjs"),p=require("./location/scrollActivity.cjs"),m=require("./documents/HtmlDocumentsProvider.cjs"),h=require("./layout/HtmlRendererLayout.cjs"),g=require("./style/HtmlStyleProvider.cjs"),_=require("./style/HtmlThemeApplier.cjs"),v=require("./documents/HtmlDocumentsResizeObserver.cjs"),y=require("./html/HtmlContentProcessor.cjs"),b=require("./image/HtmlImageLoader.cjs"),x=require("./image/HtmlImageObserver.cjs");var S=class extends m.HtmlDocumentsProvider{constructor(e,r,a,c){super(e,r,a,c),this.isInitRenderer=!1,this.injectProcessHandlers=()=>{this.addDocumentPreprocess(this.preprocessHandler)},this.preprocessHandler=async e=>{await this.contentProcessor.preprocess(e),await this.styleProvider.injectStyles(e);let t=await this.resolveCurrentTheme();t&&await this.themeApplier.applyToDocument(e,t),await this.rendererLayout.applyDocStyles(e),await this.imageLoader.preprocessImages(e);let n=await this.getHighlighter();n&&await n.highlight(e)},this.onPageChange=async()=>{this.progressTracker.notifyProgressChange()},this.onDocumentSizeChange=async()=>{this.owner.context.userChangedProgress||p.isProgrammaticScroll()||p.isUserScrollSettling()||await this.delayRestoreReadingPosition()},this.onOptionsChange=async e=>{let t=this.getRendererContainer();if(!(!t||!t.ownerDocument.defaultView)&&(n.isOptionKey(e)||o.isHtmlOptionKey(e))){let t=o.isHtmlOptionKey(e);if(t){if(!this.owner.context.currentLocation?.precise){let e=await this.progressTracker.getProgress(!0);e&&(this.owner.context.currentLocation=e.location)}this.owner.context.setUserChangedProgress(!1)}if(this.rendererViewport.applyCssVariables(),await i.yieldToMain(),t){for(let e of this.getLoadedDocuments())await this.rendererLayout.applyDocStyles(e);this.owner.context.userChangedProgress||await this.reload()}}},this.progressTracker=new f.HtmlProgressTracker(e,this,c),this.rendererLayout=new h.HtmlRendererLayout(e,this,this.rendererViewport,this.progressTracker,c),this.navPointProvider=new d.HtmlNavPointProvider(this,c),this.navigator=new s.HtmlCoreNavigator(this,c),this.navPointNavigator=new u.HtmlNavPointNavigator(e.locale,e.notifier,this,this.navigator,this.navPointProvider),this.pagingNavigator=new l.HtmlPagingNavigator(this,this.navigator,c),this.styleProvider=new g.HtmlStyleProvider(this),this.currentInstanceId=t.getRandomId(!0),this.themeApplier=new _.HtmlThemeApplier(this),this.documentsResizeObserver=new v.HtmlDocumentsResizeObserver(this,this.rendererViewport,this.progressTracker,this.rendererLayout),this.contentProcessor=new y.HtmlContentProcessor(r),this.imageLoader=this.createImageLoader(),this.imageObserver=new x.HtmlImageObserver(this,c),this.bindEvents(),this.bindScrollWatch(),this.injectProcessHandlers()}get id(){return this.currentInstanceId}createImageLoader(){return new b.HtmlImageLoader(this,this.rendererViewport,this.htmlOptions)}async resolveCurrentTheme(){return(await this.owner.services.get(`themeProvider`))?.getCurrentTheme()??new r.Theme}async getHighlighter(){}bindEvents(){this.owner.events.on(e.EventNames.OptionsChange,this.onOptionsChange),this.owner.events.on(e.EventNames.PageChange,this.onPageChange),this.owner.events.on(e.EventNames.DocumentSizeChange,this.onDocumentSizeChange)}unbindEvents(){this.owner.events.off(e.EventNames.OptionsChange,this.onOptionsChange),this.owner.events.off(e.EventNames.PageChange,this.onPageChange),this.owner.events.off(e.EventNames.DocumentSizeChange,this.onDocumentSizeChange)}bindScrollWatch(){let t=this.owner.getHostViewport();this.scrollWatchTarget=t.mode==`window`?t.scrollWatchTarget:this.getScrollElement(),this.scrollWatchTarget&&(this.scrollWatchState=a.watchScroll(this.scrollWatchTarget,this.owner.options.calcScrollDirection,async(t,n)=>{this.owner.events.emit(e.EventNames.ReaderDebounceScroll,t,n),this.progressTracker.notifyProgressChange()},t=>{p.isProgrammaticScroll()||!t.isTrusted||(this.owner.onProgressChangeGuard&&this.owner.context?.progress?.current&&(this.owner.onProgressChangeGuard(this.owner.context.progress.current)||t.preventDefault()),p.markUserScroll(),p.releaseAbsoluteLocate(),this.owner.events.emit(e.EventNames.ReaderOriginalScroll,t))}))}async load(e,t){e||=this.owner.context.progress?.location,this.isInitRenderer||(this.isInitRenderer=!0,this.documentsResizeObserver.register(),this.imageObserver.register()),await super.load(e,t)}getFileParser(){return this.fileParser}get writingMode(){return this.htmlOptions.writingMode??`horizontal-tb`}get direction(){return c.resolveHtmlTextDirection(this.htmlOptions)}get layout(){return this.rendererLayout}async applyTheme(e){await this.themeApplier.applyTheme(e);let t=await this.getHighlighter();t&&await t.applyTheme(e)}async dispose(){this.unbindEvents();let e=this.scrollWatchTarget??this.getScrollElement();e&&this.scrollWatchState?._eventHandler&&(e.removeEventListener(`scroll`,this.scrollWatchState._eventHandler,!0),this.scrollWatchState=void 0,this.scrollWatchTarget=void 0),await this.progressTracker.dispose(),await this.imageObserver.dispose(),await this.imageLoader.dispose(),await super.dispose(),await this.styleProvider?.dispose(),await this.navPointProvider?.dispose(),await this.pagingNavigator?.dispose(),await this.documentsResizeObserver.dispose(),await this.contentProcessor.dispose()}};exports.HtmlRenderer=S;
@@ -6,6 +6,7 @@ import { HtmlOptions } from '../HtmlOptions';
6
6
  import { IHtmlProgressTracker } from './progress/IHtmlIProgressTracker';
7
7
  import { IHtmlRendererLayout } from './layout/IHtmlRendererLayout';
8
8
  import { IHtmlDocument } from './IHtmlDocument';
9
+ import { ILanguageHighlighter } from './style/ILanguageHighlighter';
9
10
  import { IHtmlImageLoader } from './image/IHtmlImageLoader';
10
11
 
11
12
  export declare class HtmlRenderer extends HtmlDocumentsProvider implements IHtmlRenderer {
@@ -31,8 +32,7 @@ export declare class HtmlRenderer extends HtmlDocumentsProvider implements IHtml
31
32
  private injectProcessHandlers;
32
33
  private resolveCurrentTheme;
33
34
  protected preprocessHandler: (doc: IHtmlDocument) => Promise<void>;
34
- private languageHighlighter?;
35
- private getHighlighter;
35
+ protected getHighlighter(): Promise<ILanguageHighlighter | undefined>;
36
36
  protected bindEvents(): void;
37
37
  protected unbindEvents(): void;
38
38
  private bindScrollWatch;
@@ -62,15 +62,7 @@ var T = class extends _ {
62
62
  async resolveCurrentTheme() {
63
63
  return (await this.owner.services.get("themeProvider"))?.getCurrentTheme() ?? new r();
64
64
  }
65
- async getHighlighter() {
66
- if (this.htmlOptions.enableFormatCodeBlock) {
67
- if (!this.languageHighlighter) {
68
- let { LanguageHighlighter: e } = await import("./style/LanguageHighlighter.mjs");
69
- this.languageHighlighter = new e(this);
70
- }
71
- return this.languageHighlighter;
72
- }
73
- }
65
+ async getHighlighter() {}
74
66
  bindEvents() {
75
67
  this.owner.events.on(e.OptionsChange, this.onOptionsChange), this.owner.events.on(e.PageChange, this.onPageChange), this.owner.events.on(e.DocumentSizeChange, this.onDocumentSizeChange);
76
68
  }
@@ -108,7 +100,7 @@ var T = class extends _ {
108
100
  async dispose() {
109
101
  this.unbindEvents();
110
102
  let e = this.scrollWatchTarget ?? this.getScrollElement();
111
- e && this.scrollWatchState?._eventHandler && (e.removeEventListener("scroll", this.scrollWatchState._eventHandler, !0), this.scrollWatchState = void 0, this.scrollWatchTarget = void 0), await this.progressTracker.dispose(), await this.imageObserver.dispose(), await this.imageLoader.dispose(), await super.dispose(), await this.styleProvider?.dispose(), await this.languageHighlighter?.dispose(), this.languageHighlighter = void 0, await this.navPointProvider?.dispose(), await this.pagingNavigator?.dispose(), await this.documentsResizeObserver.dispose(), await this.contentProcessor.dispose();
103
+ e && this.scrollWatchState?._eventHandler && (e.removeEventListener("scroll", this.scrollWatchState._eventHandler, !0), this.scrollWatchState = void 0, this.scrollWatchTarget = void 0), await this.progressTracker.dispose(), await this.imageObserver.dispose(), await this.imageLoader.dispose(), await super.dispose(), await this.styleProvider?.dispose(), await this.navPointProvider?.dispose(), await this.pagingNavigator?.dispose(), await this.documentsResizeObserver.dispose(), await this.contentProcessor.dispose();
112
104
  }
113
105
  };
114
106
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foxycape/core",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "Browser-side multi-format reader kernel with pluggable parsers, renderers, services, and plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -78,9 +78,6 @@
78
78
  ],
79
79
  "dependencies": {
80
80
  "events": "^3.3.0",
81
- "hash-wasm": "^4.12.0",
82
- "highlight.js": "^11.12.0",
83
- "hotkeys-js": "^4.0.4",
84
81
  "js-base64": "^3.9.2",
85
82
  "js-logger": "^1.6.1",
86
83
  "perfect-debounce": "^2.1.0",
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../common/uuid.cjs"),t=require("./hash.cjs");var n=async e=>t.digestStream(e,`MD5`),r=async n=>typeof n==`string`?e.computeUniqueId(n):t.digestStream(n,`MD5`,{maxBytes:t.SIMPLE_ID_BYTE_LENGTH});exports.computeMd5=n,exports.computeSimpleId=r;
@@ -1,4 +0,0 @@
1
- import { DigestSource } from './hash';
2
-
3
- export declare const computeMd5: (data: DigestSource) => Promise<string>;
4
- export declare const computeSimpleId: (file: string | Blob | Uint8Array | ArrayBuffer | Promise<Blob> | FileSystemFileHandle) => Promise<string>;
@@ -1,6 +0,0 @@
1
- import { computeUniqueId as e } from "../common/uuid.mjs";
2
- import { SIMPLE_ID_BYTE_LENGTH as t, digestStream as n } from "./hash.mjs";
3
- //#region kernal/crypto/MD5.ts
4
- var r = async (e) => n(e, "MD5"), i = async (r) => typeof r == "string" ? e(r) : n(r, "MD5", { maxBytes: t });
5
- //#endregion
6
- export { r as computeMd5, i as computeSimpleId };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("hash-wasm");var t=2097152,n=5242880,r=t=>{switch(t){case`MD5`:return(0,e.createMD5)();case`SHA-1`:return(0,e.createSHA1)();case`SHA-256`:return(0,e.createSHA256)();default:throw Error(`Unsupported hash algorithm: ${t}`)}},i=async e=>{let t=await r(e);return{update:e=>{t.update(e)},digest:()=>t.digest()}},a=e=>({size:e.byteLength,read:async(t,n)=>e.subarray(t,n)}),o=e=>({size:e.size,read:async(t,n)=>new Uint8Array(await e.slice(t,n).arrayBuffer())}),s=e=>typeof FileSystemFileHandle<`u`&&e instanceof FileSystemFileHandle,c=async e=>typeof e==`string`?a(new TextEncoder().encode(e)):e instanceof Uint8Array?a(e):e instanceof ArrayBuffer?a(new Uint8Array(e)):e instanceof Blob?o(e):s(e)?o(await e.getFile()):o(await e),l=async(e,t,n)=>{if(t.length===0)return[];let r=n?.chunkSize??2097152;if(r<=0)throw Error(`chunkSize must be greater than 0`);let a=await Promise.all(t.map(e=>i(e.algorithm))),o=t.map(e=>e.maxBytes??1/0),s=await c(e),l=Math.min(s.size,o.reduce((e,t)=>Math.max(e,t),0)),u=0;for(;u<l;){let e=Math.min(u+r,l),t=await s.read(u,e);for(let e=0;e<a.length;e++){let n=o[e];if(u>=n)continue;let r=Math.min(t.byteLength,n-u);r<=0||a[e].update(r===t.byteLength?t:t.subarray(0,r))}u=e}return a.map(e=>e.digest())},u=async(e,t,n)=>{let[r]=await l(e,[{algorithm:t,maxBytes:n?.maxBytes}],{chunkSize:n?.chunkSize});return r};exports.HASH_CHUNK_SIZE=t,exports.SIMPLE_ID_BYTE_LENGTH=n,exports.createHasher=i,exports.digestMany=l,exports.digestStream=u;
@@ -1,21 +0,0 @@
1
- import { HashAlgorithm } from './ICrypto';
2
-
3
- export declare const HASH_CHUNK_SIZE: number;
4
- export declare const SIMPLE_ID_BYTE_LENGTH: number;
5
- export type DigestSource = string | Blob | Uint8Array | ArrayBuffer | Promise<Blob> | FileSystemFileHandle;
6
- export type HashSpec = {
7
- algorithm: HashAlgorithm;
8
- maxBytes?: number;
9
- };
10
- export type StreamingHasher = {
11
- update: (chunk: Uint8Array) => void;
12
- digest: () => string;
13
- };
14
- export declare const createHasher: (algorithm: HashAlgorithm) => Promise<StreamingHasher>;
15
- export declare const digestMany: (source: DigestSource, specs: readonly HashSpec[], options?: {
16
- chunkSize?: number;
17
- }) => Promise<string[]>;
18
- export declare const digestStream: (source: DigestSource, algorithm: HashAlgorithm, options?: {
19
- chunkSize?: number;
20
- maxBytes?: number;
21
- }) => Promise<string>;
@@ -1,48 +0,0 @@
1
- import { createMD5 as e, createSHA1 as t, createSHA256 as n } from "hash-wasm";
2
- //#region kernal/crypto/hash.ts
3
- var r = 2097152, i = 5242880, a = (r) => {
4
- switch (r) {
5
- case "MD5": return e();
6
- case "SHA-1": return t();
7
- case "SHA-256": return n();
8
- default: throw Error(`Unsupported hash algorithm: ${r}`);
9
- }
10
- }, o = async (e) => {
11
- let t = await a(e);
12
- return {
13
- update: (e) => {
14
- t.update(e);
15
- },
16
- digest: () => t.digest()
17
- };
18
- }, s = (e) => ({
19
- size: e.byteLength,
20
- read: async (t, n) => e.subarray(t, n)
21
- }), c = (e) => ({
22
- size: e.size,
23
- read: async (t, n) => new Uint8Array(await e.slice(t, n).arrayBuffer())
24
- }), l = (e) => typeof FileSystemFileHandle < "u" && e instanceof FileSystemFileHandle, u = async (e) => typeof e == "string" ? s(new TextEncoder().encode(e)) : e instanceof Uint8Array ? s(e) : e instanceof ArrayBuffer ? s(new Uint8Array(e)) : e instanceof Blob ? c(e) : l(e) ? c(await e.getFile()) : c(await e), d = async (e, t, n) => {
25
- if (t.length === 0) return [];
26
- let r = n?.chunkSize ?? 2097152;
27
- if (r <= 0) throw Error("chunkSize must be greater than 0");
28
- let i = await Promise.all(t.map((e) => o(e.algorithm))), a = t.map((e) => e.maxBytes ?? Infinity), s = await u(e), c = Math.min(s.size, a.reduce((e, t) => Math.max(e, t), 0)), l = 0;
29
- for (; l < c;) {
30
- let e = Math.min(l + r, c), t = await s.read(l, e);
31
- for (let e = 0; e < i.length; e++) {
32
- let n = a[e];
33
- if (l >= n) continue;
34
- let r = Math.min(t.byteLength, n - l);
35
- r <= 0 || i[e].update(r === t.byteLength ? t : t.subarray(0, r));
36
- }
37
- l = e;
38
- }
39
- return i.map((e) => e.digest());
40
- }, f = async (e, t, n) => {
41
- let [r] = await d(e, [{
42
- algorithm: t,
43
- maxBytes: n?.maxBytes
44
- }], { chunkSize: n?.chunkSize });
45
- return r;
46
- };
47
- //#endregion
48
- export { r as HASH_CHUNK_SIZE, i as SIMPLE_ID_BYTE_LENGTH, o as createHasher, d as digestMany, f as digestStream };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../EventNames.cjs"),n=require("../PluginCore.cjs");let r=require("hotkeys-js");r=e.__toESM(r,1);let i=require("perfect-debounce");var a=`left,up,pageup`,o=`right,down,pagedown`,s=class extends n.PluginCore{constructor(e,t){super(e,t),this.bindedFlipPageElements=[],this.bindedDocuments=[],this.heldKeys={},this.currentPauseFlipPageOnPressKey=!1,this.documentKeydownHandlers=new Map,this.documentKeyupHandlers=new Map,this.onDocumentLoad=async e=>{await this.bindDocument(e)},this.onPressPreviousKey=(e,t)=>{if(this.pluginOptions.flipMode==`page`){if(this.heldKeys[e.keyCode]>1)return;this.currentPauseFlipPageOnPressKey||(e.preventDefault(),e.stopImmediatePropagation(),this.reader.context.setUserChangedProgress(!0,`keyboard`),this.delayGotoPreviousPage(this.reader.getRenderer()))}else this.reader.context.setUserChangedProgress(!0,`keyboard`)},this.onPressNextKey=(e,t)=>{if(this.pluginOptions.flipMode==`page`){if(this.heldKeys[e.keyCode]>1)return;this.currentPauseFlipPageOnPressKey||(e.preventDefault(),e.stopImmediatePropagation(),this.reader.context.setUserChangedProgress(!0,`keyboard`),this.delayGotoNextPage(this.reader.getRenderer()))}else this.reader.context.setUserChangedProgress(!0,`keyboard`)},this.delayGotoPreviousPage=(0,i.debounce)(async e=>{if(e?.pagingNavigator){await e.pagingNavigator.gotoPreviousPage({trigger:`user`,triggerType:`keyboard`});return}await e?.gotoPreviousPage?.({trigger:`user`,triggerType:`keyboard`})},64),this.delayGotoNextPage=(0,i.debounce)(async e=>{if(e?.pagingNavigator){await e.pagingNavigator.gotoNextPage({trigger:`user`,triggerType:`keyboard`});return}await e?.gotoNextPage?.({trigger:`user`,triggerType:`keyboard`})},64),this.pluginOptions={flipMode:t?.flipMode??`page`,flipPagePreviousKeys:t?.flipPagePreviousKeys??a,flipPageNextKeys:t?.flipPageNextKeys??o}}get name(){return`keyboard-page-turning`}get title(){return`Keyboard Page Turning`}get description(){return`Keyboard page flip navigation`}get version(){return`1.0.0`}get supportedVersion(){return`>=1.0.0`}get supportedExtensions(){return[`.xml`,`.xhtml`,`.html`,`.epub`,`.mobi`,`.azw3`,`.fb2`,`.txt`,`.md`]}get supportedLanguages(){return[`*`]}get isUIPlugin(){return!1}getContainer(){}set pauseFlipPageOnPressKey(e){this.currentPauseFlipPageOnPressKey=e}get pauseFlipPageOnPressKey(){return this.currentPauseFlipPageOnPressKey}async load(){let e=this.reader.getReaderContainer();e&&(await this.bindFlipPageKeys(e.ownerDocument.documentElement),e.ownerDocument!==document&&await this.bindFlipPageKeys(document.documentElement));let n=this.reader.getRenderer()?.getLoadedDocuments?.()??this.reader.getRenderer()?.getDocuments?.()??[];for(let e of n)await this.bindDocument(e);this.reader.events.on(t.EventNames.DocumentLoad,this.onDocumentLoad)}async dispose(){this.reader.events.off(t.EventNames.DocumentLoad,this.onDocumentLoad);let e=this.pluginOptions.flipPagePreviousKeys,n=this.pluginOptions.flipPageNextKeys;this.bindedFlipPageElements.length>0&&(e&&r.default.unbind(e,`all`,this.onPressPreviousKey),n&&r.default.unbind(n,`all`,this.onPressNextKey));for(let e of this.bindedDocuments){let t=this.documentKeydownHandlers.get(e),n=this.documentKeyupHandlers.get(e);t&&e.removeEventListener(`keydown`,t,!0),n&&e.removeEventListener(`keyup`,n,!0)}this.documentKeydownHandlers.clear(),this.documentKeyupHandlers.clear(),this.bindedFlipPageElements=[],this.bindedDocuments=[],this.heldKeys={},this.currentPauseFlipPageOnPressKey=!1}async bindDocument(e){let t=e.getContentContainer()?.ownerDocument?.documentElement;t&&await this.bindFlipPageKeys(t)}async bindFlipPageKeys(e){if(this.bindedFlipPageElements.includes(e))return;let t=this.pluginOptions.flipPagePreviousKeys,n=this.pluginOptions.flipPageNextKeys;t&&(0,r.default)(t,{element:e,scope:`all`},this.onPressPreviousKey),n&&(0,r.default)(n,{element:e,scope:`all`},this.onPressNextKey);let i=e.ownerDocument;if(!this.bindedDocuments.includes(i)){this.bindedDocuments.push(i);let e=e=>{this.heldKeys[e.keyCode]=(this.heldKeys[e.keyCode]??0)+1},t=e=>{this.heldKeys[e.keyCode]=0};this.documentKeydownHandlers.set(i,e),this.documentKeyupHandlers.set(i,t),i.addEventListener(`keydown`,e,!0),i.addEventListener(`keyup`,t,!0)}this.bindedFlipPageElements.push(e)}};exports.KeyboardPageTurning=s;
@@ -1,39 +0,0 @@
1
- import { PluginCore } from '../PluginCore';
2
- import { Reader } from '../../Reader';
3
- import { FlipMode } from '../../types';
4
-
5
- export type KeyboardPageTurningOptions = {
6
- flipPagePreviousKeys?: string;
7
- flipPageNextKeys?: string;
8
- flipMode?: FlipMode;
9
- };
10
- export declare class KeyboardPageTurning extends PluginCore {
11
- private readonly pluginOptions;
12
- private bindedFlipPageElements;
13
- private bindedDocuments;
14
- private heldKeys;
15
- private currentPauseFlipPageOnPressKey;
16
- private readonly documentKeydownHandlers;
17
- private readonly documentKeyupHandlers;
18
- constructor(reader: Reader, options?: KeyboardPageTurningOptions);
19
- get name(): string;
20
- get title(): string;
21
- get description(): string;
22
- get version(): string;
23
- get supportedVersion(): string;
24
- get supportedExtensions(): string[];
25
- get supportedLanguages(): string[];
26
- get isUIPlugin(): boolean;
27
- getContainer(): HTMLElement | undefined;
28
- set pauseFlipPageOnPressKey(value: boolean);
29
- get pauseFlipPageOnPressKey(): boolean;
30
- load(): Promise<void>;
31
- dispose(): Promise<void>;
32
- private onDocumentLoad;
33
- private bindDocument;
34
- private bindFlipPageKeys;
35
- private onPressPreviousKey;
36
- private onPressNextKey;
37
- private delayGotoPreviousPage;
38
- private delayGotoNextPage;
39
- }
@@ -1,136 +0,0 @@
1
- import { EventNames as e } from "../../EventNames.mjs";
2
- import { PluginCore as t } from "../PluginCore.mjs";
3
- import { asyncDebounce as n } from "../../web/debounce.mjs";
4
- import r from "hotkeys-js";
5
- //#region kernal/plugins/keyboard/KeyboardPageTurning.ts
6
- var i = "left,up,pageup", a = "right,down,pagedown", o = class extends t {
7
- constructor(e, t) {
8
- super(e, t), this.bindedFlipPageElements = [], this.bindedDocuments = [], this.heldKeys = {}, this.currentPauseFlipPageOnPressKey = !1, this.documentKeydownHandlers = /* @__PURE__ */ new Map(), this.documentKeyupHandlers = /* @__PURE__ */ new Map(), this.onDocumentLoad = async (e) => {
9
- await this.bindDocument(e);
10
- }, this.onPressPreviousKey = (e, t) => {
11
- if (this.pluginOptions.flipMode == "page") {
12
- if (this.heldKeys[e.keyCode] > 1) return;
13
- this.currentPauseFlipPageOnPressKey || (e.preventDefault(), e.stopImmediatePropagation(), this.reader.context.setUserChangedProgress(!0, "keyboard"), this.delayGotoPreviousPage(this.reader.getRenderer()));
14
- } else this.reader.context.setUserChangedProgress(!0, "keyboard");
15
- }, this.onPressNextKey = (e, t) => {
16
- if (this.pluginOptions.flipMode == "page") {
17
- if (this.heldKeys[e.keyCode] > 1) return;
18
- this.currentPauseFlipPageOnPressKey || (e.preventDefault(), e.stopImmediatePropagation(), this.reader.context.setUserChangedProgress(!0, "keyboard"), this.delayGotoNextPage(this.reader.getRenderer()));
19
- } else this.reader.context.setUserChangedProgress(!0, "keyboard");
20
- }, this.delayGotoPreviousPage = n(async (e) => {
21
- if (e?.pagingNavigator) {
22
- await e.pagingNavigator.gotoPreviousPage({
23
- trigger: "user",
24
- triggerType: "keyboard"
25
- });
26
- return;
27
- }
28
- await e?.gotoPreviousPage?.({
29
- trigger: "user",
30
- triggerType: "keyboard"
31
- });
32
- }, 64), this.delayGotoNextPage = n(async (e) => {
33
- if (e?.pagingNavigator) {
34
- await e.pagingNavigator.gotoNextPage({
35
- trigger: "user",
36
- triggerType: "keyboard"
37
- });
38
- return;
39
- }
40
- await e?.gotoNextPage?.({
41
- trigger: "user",
42
- triggerType: "keyboard"
43
- });
44
- }, 64), this.pluginOptions = {
45
- flipMode: t?.flipMode ?? "page",
46
- flipPagePreviousKeys: t?.flipPagePreviousKeys ?? i,
47
- flipPageNextKeys: t?.flipPageNextKeys ?? a
48
- };
49
- }
50
- get name() {
51
- return "keyboard-page-turning";
52
- }
53
- get title() {
54
- return "Keyboard Page Turning";
55
- }
56
- get description() {
57
- return "Keyboard page flip navigation";
58
- }
59
- get version() {
60
- return "1.0.0";
61
- }
62
- get supportedVersion() {
63
- return ">=1.0.0";
64
- }
65
- get supportedExtensions() {
66
- return [
67
- ".xml",
68
- ".xhtml",
69
- ".html",
70
- ".epub",
71
- ".mobi",
72
- ".azw3",
73
- ".fb2",
74
- ".txt",
75
- ".md"
76
- ];
77
- }
78
- get supportedLanguages() {
79
- return ["*"];
80
- }
81
- get isUIPlugin() {
82
- return !1;
83
- }
84
- getContainer() {}
85
- set pauseFlipPageOnPressKey(e) {
86
- this.currentPauseFlipPageOnPressKey = e;
87
- }
88
- get pauseFlipPageOnPressKey() {
89
- return this.currentPauseFlipPageOnPressKey;
90
- }
91
- async load() {
92
- let t = this.reader.getReaderContainer();
93
- t && (await this.bindFlipPageKeys(t.ownerDocument.documentElement), t.ownerDocument !== document && await this.bindFlipPageKeys(document.documentElement));
94
- let n = this.reader.getRenderer()?.getLoadedDocuments?.() ?? this.reader.getRenderer()?.getDocuments?.() ?? [];
95
- for (let e of n) await this.bindDocument(e);
96
- this.reader.events.on(e.DocumentLoad, this.onDocumentLoad);
97
- }
98
- async dispose() {
99
- this.reader.events.off(e.DocumentLoad, this.onDocumentLoad);
100
- let t = this.pluginOptions.flipPagePreviousKeys, n = this.pluginOptions.flipPageNextKeys;
101
- this.bindedFlipPageElements.length > 0 && (t && r.unbind(t, "all", this.onPressPreviousKey), n && r.unbind(n, "all", this.onPressNextKey));
102
- for (let e of this.bindedDocuments) {
103
- let t = this.documentKeydownHandlers.get(e), n = this.documentKeyupHandlers.get(e);
104
- t && e.removeEventListener("keydown", t, !0), n && e.removeEventListener("keyup", n, !0);
105
- }
106
- this.documentKeydownHandlers.clear(), this.documentKeyupHandlers.clear(), this.bindedFlipPageElements = [], this.bindedDocuments = [], this.heldKeys = {}, this.currentPauseFlipPageOnPressKey = !1;
107
- }
108
- async bindDocument(e) {
109
- let t = e.getContentContainer()?.ownerDocument?.documentElement;
110
- t && await this.bindFlipPageKeys(t);
111
- }
112
- async bindFlipPageKeys(e) {
113
- if (this.bindedFlipPageElements.includes(e)) return;
114
- let t = this.pluginOptions.flipPagePreviousKeys, n = this.pluginOptions.flipPageNextKeys;
115
- t && r(t, {
116
- element: e,
117
- scope: "all"
118
- }, this.onPressPreviousKey), n && r(n, {
119
- element: e,
120
- scope: "all"
121
- }, this.onPressNextKey);
122
- let i = e.ownerDocument;
123
- if (!this.bindedDocuments.includes(i)) {
124
- this.bindedDocuments.push(i);
125
- let e = (e) => {
126
- this.heldKeys[e.keyCode] = (this.heldKeys[e.keyCode] ?? 0) + 1;
127
- }, t = (e) => {
128
- this.heldKeys[e.keyCode] = 0;
129
- };
130
- this.documentKeydownHandlers.set(i, e), this.documentKeyupHandlers.set(i, t), i.addEventListener("keydown", e, !0), i.addEventListener("keyup", t, !0);
131
- }
132
- this.bindedFlipPageElements.push(e);
133
- }
134
- };
135
- //#endregion
136
- export { o as KeyboardPageTurning };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../kernal/html/finder.cjs"),t=require("../../../../kernal/html/injector.cjs"),n=require("../../../../kernal/Theme.cjs"),r=require("../../../../kernal/html/image.cjs"),i=require("./ContentLayoutCssVariableNames.cjs");var a=`no-text-intent`,o=class{constructor(r){this.documentsProvider=r,this.languagesHighlightCssId=`languages-highlight-css`,this.highlightedDocuments=new Map,this.injectCss=async(n,r)=>{if(!e.getDocumentBody(r))return;let i=await this.getHighlightCss(n);t.injectCssContent(r,i,!0,this.languagesHighlightCssId)},this.getHighlightJs=async()=>{if(this.loadedHljs)return this.loadedHljs;let{default:e}=await import(`highlight.js`);return this.loadedHljs=e,this.loadedHljs},this.getHighlightCss=async e=>{if(e.colorMode===`dark`){let{default:e}=await Promise.resolve().then(()=>require("../../../../node_modules/highlight.js/styles/github-dark.cjs"));return e.toString()}let{default:t}=await Promise.resolve().then(()=>require("../../../../node_modules/highlight.js/styles/github.cjs"));return t.toString()},this.resolveCurrentTheme=async()=>(await this.documentsProvider.owner.services.get(`themeProvider`))?.getCurrentTheme()??new n.Theme}async dispose(){this.highlightedDocuments.clear(),this.loadedHljs=void 0}async applyTheme(e){let n=this.documentsProvider.getLoadedDocuments();for(let r of n){let n=r.getContentContainer()?.ownerDocument;n&&(e.colorMode===`dark`||this.highlightedDocuments.get(r)?await this.injectCss(e,n):t.removeElement(n,this.languagesHighlightCssId))}}async highlight(e){let t=(await e.getVirtualContentContainer())?.ownerDocument;if(!t)return;let n=t.getElementsByTagName(`pre`);for(let e=0;e<n.length;e++){let t=n[e];t.classList.add(a),t.style.setProperty(`max-height`,`var(${i.ContentLayoutCssVariableNames.ColumnMaxHeight})`,`important`),t.firstElementChild&&t.firstElementChild.classList.add(a)}let o=r.getRequireHighlightCodeElements(t),s=o.length>0;if(this.highlightedDocuments.set(e,s),!s)return;let c=await this.getHighlightJs(),l=await this.resolveCurrentTheme();await this.injectCss(l,t);for(let e of o)c.highlightElement(e)}};exports.LanguageHighlighter=o;
@@ -1,18 +0,0 @@
1
- import { IDocument, IDocumentsProvider, Theme } from '../../../../kernal';
2
- import { IHtmlDocument } from '../IHtmlDocument';
3
- import { ILanguageHighlighter } from './ILanguageHighlighter';
4
-
5
- export declare class LanguageHighlighter implements ILanguageHighlighter {
6
- private readonly documentsProvider;
7
- private readonly languagesHighlightCssId;
8
- private readonly highlightedDocuments;
9
- private loadedHljs?;
10
- constructor(documentsProvider: IDocumentsProvider<IHtmlDocument>);
11
- dispose(): Promise<void>;
12
- applyTheme(theme: Theme): Promise<void>;
13
- highlight(doc: IDocument): Promise<void>;
14
- private injectCss;
15
- private getHighlightJs;
16
- private getHighlightCss;
17
- private resolveCurrentTheme;
18
- }
@@ -1,52 +0,0 @@
1
- import { getDocumentBody as e } from "../../../../kernal/html/finder.mjs";
2
- import { injectCssContent as t, removeElement as n } from "../../../../kernal/html/injector.mjs";
3
- import { Theme as r } from "../../../../kernal/Theme.mjs";
4
- import { getRequireHighlightCodeElements as i } from "../../../../kernal/html/image.mjs";
5
- import { ContentLayoutCssVariableNames as a } from "./ContentLayoutCssVariableNames.mjs";
6
- //#region mediaTypes/html/renderer/style/LanguageHighlighter.ts
7
- var o = "no-text-intent", s = class {
8
- constructor(n) {
9
- this.documentsProvider = n, this.languagesHighlightCssId = "languages-highlight-css", this.highlightedDocuments = /* @__PURE__ */ new Map(), this.injectCss = async (n, r) => {
10
- if (!e(r)) return;
11
- let i = await this.getHighlightCss(n);
12
- t(r, i, !0, this.languagesHighlightCssId);
13
- }, this.getHighlightJs = async () => {
14
- if (this.loadedHljs) return this.loadedHljs;
15
- let { default: e } = await import("highlight.js");
16
- return this.loadedHljs = e, this.loadedHljs;
17
- }, this.getHighlightCss = async (e) => {
18
- if (e.colorMode === "dark") {
19
- let { default: e } = await import("../../../../node_modules/highlight.js/styles/github-dark.mjs");
20
- return e.toString();
21
- }
22
- let { default: t } = await import("../../../../node_modules/highlight.js/styles/github.mjs");
23
- return t.toString();
24
- }, this.resolveCurrentTheme = async () => (await this.documentsProvider.owner.services.get("themeProvider"))?.getCurrentTheme() ?? new r();
25
- }
26
- async dispose() {
27
- this.highlightedDocuments.clear(), this.loadedHljs = void 0;
28
- }
29
- async applyTheme(e) {
30
- let t = this.documentsProvider.getLoadedDocuments();
31
- for (let r of t) {
32
- let t = r.getContentContainer()?.ownerDocument;
33
- t && (e.colorMode === "dark" || this.highlightedDocuments.get(r) ? await this.injectCss(e, t) : n(t, this.languagesHighlightCssId));
34
- }
35
- }
36
- async highlight(e) {
37
- let t = (await e.getVirtualContentContainer())?.ownerDocument;
38
- if (!t) return;
39
- let n = t.getElementsByTagName("pre");
40
- for (let e = 0; e < n.length; e++) {
41
- let t = n[e];
42
- t.classList.add(o), t.style.setProperty("max-height", `var(${a.ColumnMaxHeight})`, "important"), t.firstElementChild && t.firstElementChild.classList.add(o);
43
- }
44
- let r = i(t), s = r.length > 0;
45
- if (this.highlightedDocuments.set(e, s), !s) return;
46
- let c = await this.getHighlightJs(), l = await this.resolveCurrentTheme();
47
- await this.injectCss(l, t);
48
- for (let e of r) c.highlightElement(e);
49
- }
50
- };
51
- //#endregion
52
- export { s as LanguageHighlighter };
@@ -1,118 +0,0 @@
1
- var e=`pre code.hljs {
2
- display: block;
3
- overflow-x: auto;
4
- padding: 1em
5
- }
6
- code.hljs {
7
- padding: 3px 5px
8
- }
9
- /*!
10
- Theme: GitHub Dark
11
- Description: Dark theme as seen on github.com
12
- Author: github.com
13
- Maintainer: @Hirse
14
- Updated: 2021-05-15
15
-
16
- Outdated base version: https://github.com/primer/github-syntax-dark
17
- Current colors taken from GitHub's CSS
18
- */
19
- .hljs {
20
- color: #c9d1d9;
21
- background: #0d1117
22
- }
23
- .hljs-doctag,
24
- .hljs-keyword,
25
- .hljs-meta .hljs-keyword,
26
- .hljs-template-tag,
27
- .hljs-template-variable,
28
- .hljs-type,
29
- .hljs-variable.language_ {
30
- /* prettylights-syntax-keyword */
31
- color: #ff7b72
32
- }
33
- .hljs-title,
34
- .hljs-title.class_,
35
- .hljs-title.class_.inherited__,
36
- .hljs-title.function_ {
37
- /* prettylights-syntax-entity */
38
- color: #d2a8ff
39
- }
40
- .hljs-attr,
41
- .hljs-attribute,
42
- .hljs-literal,
43
- .hljs-meta,
44
- .hljs-number,
45
- .hljs-operator,
46
- .hljs-variable,
47
- .hljs-selector-attr,
48
- .hljs-selector-class,
49
- .hljs-selector-id {
50
- /* prettylights-syntax-constant */
51
- color: #79c0ff
52
- }
53
- .hljs-regexp,
54
- .hljs-string,
55
- .hljs-meta .hljs-string {
56
- /* prettylights-syntax-string */
57
- color: #a5d6ff
58
- }
59
- .hljs-built_in,
60
- .hljs-symbol {
61
- /* prettylights-syntax-variable */
62
- color: #ffa657
63
- }
64
- .hljs-comment,
65
- .hljs-code,
66
- .hljs-formula {
67
- /* prettylights-syntax-comment */
68
- color: #8b949e
69
- }
70
- .hljs-name,
71
- .hljs-quote,
72
- .hljs-selector-tag,
73
- .hljs-selector-pseudo {
74
- /* prettylights-syntax-entity-tag */
75
- color: #7ee787
76
- }
77
- .hljs-subst {
78
- /* prettylights-syntax-storage-modifier-import */
79
- color: #c9d1d9
80
- }
81
- .hljs-section {
82
- /* prettylights-syntax-markup-heading */
83
- color: #1f6feb;
84
- font-weight: bold
85
- }
86
- .hljs-bullet {
87
- /* prettylights-syntax-markup-list */
88
- color: #f2cc60
89
- }
90
- .hljs-emphasis {
91
- /* prettylights-syntax-markup-italic */
92
- color: #c9d1d9;
93
- font-style: italic
94
- }
95
- .hljs-strong {
96
- /* prettylights-syntax-markup-bold */
97
- color: #c9d1d9;
98
- font-weight: bold
99
- }
100
- .hljs-addition {
101
- /* prettylights-syntax-markup-inserted */
102
- color: #aff5b4;
103
- background-color: #033a16
104
- }
105
- .hljs-deletion {
106
- /* prettylights-syntax-markup-deleted */
107
- color: #ffdcd7;
108
- background-color: #67060c
109
- }
110
- .hljs-char.escape_,
111
- .hljs-link,
112
- .hljs-params,
113
- .hljs-property,
114
- .hljs-punctuation,
115
- .hljs-tag {
116
- /* purposely ignored */
117
-
118
- }`;exports.default=e;
@@ -1,4 +0,0 @@
1
- //#region node_modules/highlight.js/styles/github-dark.css?raw
2
- var e = "pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub Dark\n Description: Dark theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-dark\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #c9d1d9;\n background: #0d1117\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #ff7b72\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #d2a8ff\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #79c0ff\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #a5d6ff\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #ffa657\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #8b949e\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #7ee787\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #c9d1d9\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #1f6feb;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #f2cc60\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #c9d1d9;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #c9d1d9;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #aff5b4;\n background-color: #033a16\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #ffdcd7;\n background-color: #67060c\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}";
3
- //#endregion
4
- export { e as default };