@embedpdf/plugin-spread 1.0.11 → 1.0.12

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.cjs CHANGED
@@ -1,166 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var index_exports = {};
22
- __export(index_exports, {
23
- SPREAD_PLUGIN_ID: () => SPREAD_PLUGIN_ID,
24
- SpreadMode: () => SpreadMode,
25
- SpreadPlugin: () => SpreadPlugin,
26
- SpreadPluginPackage: () => SpreadPluginPackage,
27
- manifest: () => manifest
28
- });
29
- module.exports = __toCommonJS(index_exports);
30
-
31
- // src/lib/spread-plugin.ts
32
- var import_core = require("@embedpdf/core");
33
-
34
- // src/lib/types.ts
35
- var SpreadMode = /* @__PURE__ */ ((SpreadMode2) => {
36
- SpreadMode2["None"] = "none";
37
- SpreadMode2["Odd"] = "odd";
38
- SpreadMode2["Even"] = "even";
39
- return SpreadMode2;
40
- })(SpreadMode || {});
41
-
42
- // src/lib/actions.ts
43
- var SET_SPREAD_MODE = "SET_SPREAD_MODE";
44
- function setSpreadMode(mode) {
45
- return {
46
- type: SET_SPREAD_MODE,
47
- payload: mode
48
- };
49
- }
50
-
51
- // src/lib/spread-plugin.ts
52
- var SpreadPlugin = class extends import_core.BasePlugin {
53
- constructor(id, registry, cfg) {
54
- super(id, registry);
55
- this.spreadEmitter$ = (0, import_core.createEmitter)();
56
- this.resetReady();
57
- this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? "none" /* None */));
58
- const loaderPlugin = registry.getPlugin("loader");
59
- loaderPlugin.provides().onDocumentLoaded((document) => this.documentLoaded(document));
60
- }
61
- async initialize(config) {
62
- if (config.defaultSpreadMode) {
63
- this.dispatch(setSpreadMode(config.defaultSpreadMode));
64
- }
65
- }
66
- documentLoaded(document) {
67
- this.dispatchCoreAction((0, import_core.setPages)(this.getSpreadPagesObjects(document.pages)));
68
- this.markReady();
69
- }
70
- getSpreadPagesObjects(pages) {
71
- if (!pages.length) return [];
72
- switch (this.state.spreadMode) {
73
- case "none" /* None */:
74
- return pages.map((page) => [page]);
75
- case "odd" /* Odd */:
76
- return Array.from(
77
- { length: Math.ceil(pages.length / 2) },
78
- (_, i) => pages.slice(i * 2, i * 2 + 2)
79
- );
80
- case "even" /* Even */:
81
- return [
82
- [pages[0]],
83
- ...Array.from(
84
- { length: Math.ceil((pages.length - 1) / 2) },
85
- (_, i) => pages.slice(1 + i * 2, 1 + i * 2 + 2)
86
- )
87
- ];
88
- default:
89
- return pages.map((page) => [page]);
90
- }
91
- }
92
- setSpreadMode(mode) {
93
- const currentMode = this.state.spreadMode;
94
- const document = this.coreState.core.document;
95
- if (!document) {
96
- throw new Error("Document not loaded");
97
- }
98
- if (currentMode !== mode) {
99
- this.dispatch(setSpreadMode(mode));
100
- this.dispatchCoreAction((0, import_core.setPages)(this.getSpreadPagesObjects(document.pages)));
101
- this.notifySpreadChange(mode);
102
- }
103
- }
104
- notifySpreadChange(spreadMode) {
105
- this.spreadEmitter$.emit(spreadMode);
106
- }
107
- buildCapability() {
108
- return {
109
- onSpreadChange: this.spreadEmitter$.on,
110
- setSpreadMode: (mode) => this.setSpreadMode(mode),
111
- getSpreadMode: () => this.state.spreadMode,
112
- getSpreadPagesObjects: (pages) => this.getSpreadPagesObjects(pages)
113
- };
114
- }
115
- async destroy() {
116
- this.spreadEmitter$.clear();
117
- }
118
- };
119
- SpreadPlugin.id = "spread";
120
-
121
- // src/lib/manifest.ts
122
- var SPREAD_PLUGIN_ID = "spread";
123
- var manifest = {
124
- id: SPREAD_PLUGIN_ID,
125
- name: "Spread Plugin",
126
- version: "1.0.0",
127
- provides: ["spread"],
128
- requires: ["loader"],
129
- optional: [],
130
- defaultConfig: {
131
- enabled: true
132
- }
133
- };
134
-
135
- // src/lib/reducer.ts
136
- var initialState = {
137
- spreadMode: "none" /* None */
138
- };
139
- var spreadReducer = (state = initialState, action) => {
140
- switch (action.type) {
141
- case SET_SPREAD_MODE:
142
- return {
143
- ...state,
144
- spreadMode: action.payload
145
- };
146
- default:
147
- return state;
148
- }
149
- };
150
-
151
- // src/lib/index.ts
152
- var SpreadPluginPackage = {
153
- manifest,
154
- create: (registry, _engine, config) => new SpreadPlugin(SPREAD_PLUGIN_ID, registry, config),
155
- reducer: spreadReducer,
156
- initialState
157
- };
158
- // Annotate the CommonJS export names for ESM import in node:
159
- 0 && (module.exports = {
160
- SPREAD_PLUGIN_ID,
161
- SpreadMode,
162
- SpreadPlugin,
163
- SpreadPluginPackage,
164
- manifest
165
- });
166
- //# sourceMappingURL=index.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core");var t=(e=>(e.None="none",e.Odd="odd",e.Even="even",e))(t||{});const a="SET_SPREAD_MODE";function r(e){return{type:a,payload:e}}const s=class extends e.BasePlugin{constructor(a,s,d){super(a,s),this.spreadEmitter$=e.createEmitter(),this.resetReady(),this.dispatch(r(d.defaultSpreadMode??t.None));s.getPlugin("loader").provides().onDocumentLoaded((e=>this.documentLoaded(e)))}async initialize(e){e.defaultSpreadMode&&this.dispatch(r(e.defaultSpreadMode))}documentLoaded(t){this.dispatchCoreAction(e.setPages(this.getSpreadPagesObjects(t.pages))),this.markReady()}getSpreadPagesObjects(e){if(!e.length)return[];switch(this.state.spreadMode){case t.None:return e.map((e=>[e]));case t.Odd:return Array.from({length:Math.ceil(e.length/2)},((t,a)=>e.slice(2*a,2*a+2)));case t.Even:return[[e[0]],...Array.from({length:Math.ceil((e.length-1)/2)},((t,a)=>e.slice(1+2*a,1+2*a+2)))];default:return e.map((e=>[e]))}}setSpreadMode(t){const a=this.state.spreadMode,s=this.coreState.core.document;if(!s)throw new Error("Document not loaded");a!==t&&(this.dispatch(r(t)),this.dispatchCoreAction(e.setPages(this.getSpreadPagesObjects(s.pages))),this.notifySpreadChange(t))}notifySpreadChange(e){this.spreadEmitter$.emit(e)}buildCapability(){return{onSpreadChange:this.spreadEmitter$.on,setSpreadMode:e=>this.setSpreadMode(e),getSpreadMode:()=>this.state.spreadMode,getSpreadPagesObjects:e=>this.getSpreadPagesObjects(e)}}async destroy(){this.spreadEmitter$.clear()}};s.id="spread";let d=s;const o="spread",i={id:o,name:"Spread Plugin",version:"1.0.0",provides:["spread"],requires:["loader"],optional:[],defaultConfig:{enabled:!0}},n={spreadMode:t.None},p={manifest:i,create:(e,t,a)=>new d(o,e,a),reducer:(e=n,t)=>t.type===a?{...e,spreadMode:t.payload}:e,initialState:n};exports.SPREAD_PLUGIN_ID=o,exports.SpreadMode=t,exports.SpreadPlugin=d,exports.SpreadPluginPackage=p,exports.manifest=i;
2
+ //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/spread-plugin.ts","../src/lib/types.ts","../src/lib/actions.ts","../src/lib/manifest.ts","../src/lib/reducer.ts","../src/lib/index.ts"],"sourcesContent":["export * from './lib';\n","import { BasePlugin, createEmitter, PluginRegistry, setPages } from '@embedpdf/core';\nimport { PdfDocumentObject, PdfPageObject } from '@embedpdf/models';\nimport { LoaderPlugin } from '@embedpdf/plugin-loader';\nimport { SpreadCapability, SpreadMode, SpreadPluginConfig, SpreadState } from './types';\nimport { setSpreadMode } from './actions';\nimport { SpreadAction } from './actions';\n\nexport class SpreadPlugin extends BasePlugin<\n SpreadPluginConfig,\n SpreadCapability,\n SpreadState,\n SpreadAction\n> {\n static readonly id = 'spread' as const;\n\n private readonly spreadEmitter$ = createEmitter<SpreadMode>();\n\n constructor(id: string, registry: PluginRegistry, cfg: SpreadPluginConfig) {\n super(id, registry);\n this.resetReady();\n this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? SpreadMode.None));\n const loaderPlugin = registry.getPlugin<LoaderPlugin>('loader');\n loaderPlugin!.provides().onDocumentLoaded((document) => this.documentLoaded(document));\n }\n\n async initialize(config: SpreadPluginConfig): Promise<void> {\n if (config.defaultSpreadMode) {\n this.dispatch(setSpreadMode(config.defaultSpreadMode));\n }\n }\n\n private documentLoaded(document: PdfDocumentObject): void {\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.markReady();\n }\n\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][] {\n if (!pages.length) return [];\n\n switch (this.state.spreadMode) {\n case SpreadMode.None:\n return pages.map((page) => [page]);\n\n case SpreadMode.Odd:\n return Array.from({ length: Math.ceil(pages.length / 2) }, (_, i) =>\n pages.slice(i * 2, i * 2 + 2),\n );\n\n case SpreadMode.Even:\n return [\n [pages[0]],\n ...Array.from({ length: Math.ceil((pages.length - 1) / 2) }, (_, i) =>\n pages.slice(1 + i * 2, 1 + i * 2 + 2),\n ),\n ];\n\n default:\n return pages.map((page) => [page]);\n }\n }\n\n setSpreadMode(mode: SpreadMode): void {\n const currentMode = this.state.spreadMode;\n const document = this.coreState.core.document;\n if (!document) {\n throw new Error('Document not loaded');\n }\n if (currentMode !== mode) {\n this.dispatch(setSpreadMode(mode));\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.notifySpreadChange(mode);\n }\n }\n\n private notifySpreadChange(spreadMode: SpreadMode): void {\n this.spreadEmitter$.emit(spreadMode);\n }\n\n protected buildCapability(): SpreadCapability {\n return {\n onSpreadChange: this.spreadEmitter$.on,\n setSpreadMode: (mode) => this.setSpreadMode(mode),\n getSpreadMode: () => this.state.spreadMode,\n getSpreadPagesObjects: (pages) => this.getSpreadPagesObjects(pages),\n };\n }\n\n async destroy(): Promise<void> {\n this.spreadEmitter$.clear();\n }\n}\n","import { BasePluginConfig, EventHook } from '@embedpdf/core';\nimport { PdfPageObject } from '@embedpdf/models';\n\nexport interface SpreadPluginConfig extends BasePluginConfig {\n defaultSpreadMode?: SpreadMode;\n}\n\nexport enum SpreadMode {\n None = 'none',\n Odd = 'odd',\n Even = 'even',\n}\n\nexport interface SpreadCapability {\n onSpreadChange: EventHook<SpreadMode>;\n setSpreadMode(mode: SpreadMode): void;\n getSpreadMode(): SpreadMode;\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];\n}\n\nexport interface SpreadState {\n spreadMode: SpreadMode;\n}\n","import { SpreadMode } from './types';\n\nexport const SET_SPREAD_MODE = 'SET_SPREAD_MODE';\n\nexport interface SetSpreadModeAction {\n type: typeof SET_SPREAD_MODE;\n payload: SpreadMode;\n}\n\nexport type SpreadAction = SetSpreadModeAction;\n\nexport function setSpreadMode(mode: SpreadMode): SetSpreadModeAction {\n return {\n type: SET_SPREAD_MODE,\n payload: mode,\n };\n}\n","import { PluginManifest } from '@embedpdf/core';\nimport { SpreadPluginConfig } from './types';\n\nexport const SPREAD_PLUGIN_ID = 'spread';\n\nexport const manifest: PluginManifest<SpreadPluginConfig> = {\n id: SPREAD_PLUGIN_ID,\n name: 'Spread Plugin',\n version: '1.0.0',\n provides: ['spread'],\n requires: ['loader'],\n optional: [],\n defaultConfig: {\n enabled: true,\n },\n};\n","import { Reducer } from '@embedpdf/core';\nimport { SpreadState, SpreadMode } from './types';\nimport { SET_SPREAD_MODE, SetSpreadModeAction } from './actions';\n\nexport const initialState: SpreadState = {\n spreadMode: SpreadMode.None,\n};\n\nexport const spreadReducer: Reducer<SpreadState, SetSpreadModeAction> = (\n state = initialState,\n action,\n) => {\n switch (action.type) {\n case SET_SPREAD_MODE:\n return {\n ...state,\n spreadMode: action.payload,\n };\n default:\n return state;\n }\n};\n","import { PluginPackage } from '@embedpdf/core';\nimport { SpreadPlugin } from './spread-plugin';\nimport { manifest, SPREAD_PLUGIN_ID } from './manifest';\nimport { SpreadPluginConfig, SpreadState } from './types';\nimport { spreadReducer, initialState } from './reducer';\nimport { SpreadAction } from './actions';\n\nexport const SpreadPluginPackage: PluginPackage<\n SpreadPlugin,\n SpreadPluginConfig,\n SpreadState,\n SpreadAction\n> = {\n manifest,\n create: (registry, _engine, config) => new SpreadPlugin(SPREAD_PLUGIN_ID, registry, config),\n reducer: spreadReducer,\n initialState,\n};\n\nexport * from './spread-plugin';\nexport * from './types';\nexport * from './manifest';\n"],"mappings":"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","names":["SpreadMode"]}
1
+ {"version":3,"file":"index.cjs","sources":["../src/lib/types.ts","../src/lib/actions.ts","../src/lib/spread-plugin.ts","../src/lib/manifest.ts","../src/lib/reducer.ts","../src/lib/index.ts"],"sourcesContent":["import { BasePluginConfig, EventHook } from '@embedpdf/core';\nimport { PdfPageObject } from '@embedpdf/models';\n\nexport interface SpreadPluginConfig extends BasePluginConfig {\n defaultSpreadMode?: SpreadMode;\n}\n\nexport enum SpreadMode {\n None = 'none',\n Odd = 'odd',\n Even = 'even',\n}\n\nexport interface SpreadCapability {\n onSpreadChange: EventHook<SpreadMode>;\n setSpreadMode(mode: SpreadMode): void;\n getSpreadMode(): SpreadMode;\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];\n}\n\nexport interface SpreadState {\n spreadMode: SpreadMode;\n}\n","import { SpreadMode } from './types';\n\nexport const SET_SPREAD_MODE = 'SET_SPREAD_MODE';\n\nexport interface SetSpreadModeAction {\n type: typeof SET_SPREAD_MODE;\n payload: SpreadMode;\n}\n\nexport type SpreadAction = SetSpreadModeAction;\n\nexport function setSpreadMode(mode: SpreadMode): SetSpreadModeAction {\n return {\n type: SET_SPREAD_MODE,\n payload: mode,\n };\n}\n","import { BasePlugin, createEmitter, PluginRegistry, setPages } from '@embedpdf/core';\nimport { PdfDocumentObject, PdfPageObject } from '@embedpdf/models';\nimport { LoaderPlugin } from '@embedpdf/plugin-loader';\nimport { SpreadCapability, SpreadMode, SpreadPluginConfig, SpreadState } from './types';\nimport { setSpreadMode } from './actions';\nimport { SpreadAction } from './actions';\n\nexport class SpreadPlugin extends BasePlugin<\n SpreadPluginConfig,\n SpreadCapability,\n SpreadState,\n SpreadAction\n> {\n static readonly id = 'spread' as const;\n\n private readonly spreadEmitter$ = createEmitter<SpreadMode>();\n\n constructor(id: string, registry: PluginRegistry, cfg: SpreadPluginConfig) {\n super(id, registry);\n this.resetReady();\n this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? SpreadMode.None));\n const loaderPlugin = registry.getPlugin<LoaderPlugin>('loader');\n loaderPlugin!.provides().onDocumentLoaded((document) => this.documentLoaded(document));\n }\n\n async initialize(config: SpreadPluginConfig): Promise<void> {\n if (config.defaultSpreadMode) {\n this.dispatch(setSpreadMode(config.defaultSpreadMode));\n }\n }\n\n private documentLoaded(document: PdfDocumentObject): void {\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.markReady();\n }\n\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][] {\n if (!pages.length) return [];\n\n switch (this.state.spreadMode) {\n case SpreadMode.None:\n return pages.map((page) => [page]);\n\n case SpreadMode.Odd:\n return Array.from({ length: Math.ceil(pages.length / 2) }, (_, i) =>\n pages.slice(i * 2, i * 2 + 2),\n );\n\n case SpreadMode.Even:\n return [\n [pages[0]],\n ...Array.from({ length: Math.ceil((pages.length - 1) / 2) }, (_, i) =>\n pages.slice(1 + i * 2, 1 + i * 2 + 2),\n ),\n ];\n\n default:\n return pages.map((page) => [page]);\n }\n }\n\n setSpreadMode(mode: SpreadMode): void {\n const currentMode = this.state.spreadMode;\n const document = this.coreState.core.document;\n if (!document) {\n throw new Error('Document not loaded');\n }\n if (currentMode !== mode) {\n this.dispatch(setSpreadMode(mode));\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.notifySpreadChange(mode);\n }\n }\n\n private notifySpreadChange(spreadMode: SpreadMode): void {\n this.spreadEmitter$.emit(spreadMode);\n }\n\n protected buildCapability(): SpreadCapability {\n return {\n onSpreadChange: this.spreadEmitter$.on,\n setSpreadMode: (mode) => this.setSpreadMode(mode),\n getSpreadMode: () => this.state.spreadMode,\n getSpreadPagesObjects: (pages) => this.getSpreadPagesObjects(pages),\n };\n }\n\n async destroy(): Promise<void> {\n this.spreadEmitter$.clear();\n }\n}\n","import { PluginManifest } from '@embedpdf/core';\nimport { SpreadPluginConfig } from './types';\n\nexport const SPREAD_PLUGIN_ID = 'spread';\n\nexport const manifest: PluginManifest<SpreadPluginConfig> = {\n id: SPREAD_PLUGIN_ID,\n name: 'Spread Plugin',\n version: '1.0.0',\n provides: ['spread'],\n requires: ['loader'],\n optional: [],\n defaultConfig: {\n enabled: true,\n },\n};\n","import { Reducer } from '@embedpdf/core';\nimport { SpreadState, SpreadMode } from './types';\nimport { SET_SPREAD_MODE, SetSpreadModeAction } from './actions';\n\nexport const initialState: SpreadState = {\n spreadMode: SpreadMode.None,\n};\n\nexport const spreadReducer: Reducer<SpreadState, SetSpreadModeAction> = (\n state = initialState,\n action,\n) => {\n switch (action.type) {\n case SET_SPREAD_MODE:\n return {\n ...state,\n spreadMode: action.payload,\n };\n default:\n return state;\n }\n};\n","import { PluginPackage } from '@embedpdf/core';\nimport { SpreadPlugin } from './spread-plugin';\nimport { manifest, SPREAD_PLUGIN_ID } from './manifest';\nimport { SpreadPluginConfig, SpreadState } from './types';\nimport { spreadReducer, initialState } from './reducer';\nimport { SpreadAction } from './actions';\n\nexport const SpreadPluginPackage: PluginPackage<\n SpreadPlugin,\n SpreadPluginConfig,\n SpreadState,\n SpreadAction\n> = {\n manifest,\n create: (registry, _engine, config) => new SpreadPlugin(SPREAD_PLUGIN_ID, registry, config),\n reducer: spreadReducer,\n initialState,\n};\n\nexport * from './spread-plugin';\nexport * from './types';\nexport * from './manifest';\n"],"names":["SpreadMode","SET_SPREAD_MODE","setSpreadMode","mode","type","payload","_SpreadPlugin","BasePlugin","constructor","id","registry","cfg","super","this","spreadEmitter$","createEmitter","resetReady","dispatch","defaultSpreadMode","None","getPlugin","provides","onDocumentLoaded","document","documentLoaded","initialize","config","dispatchCoreAction","setPages","getSpreadPagesObjects","pages","markReady","length","state","spreadMode","map","page","Odd","Array","from","Math","ceil","_","i","slice","Even","currentMode","coreState","core","Error","notifySpreadChange","emit","buildCapability","onSpreadChange","on","getSpreadMode","destroy","clear","SpreadPlugin","SPREAD_PLUGIN_ID","manifest","name","version","requires","optional","defaultConfig","enabled","initialState","SpreadPluginPackage","create","_engine","reducer","action"],"mappings":"kHAOY,IAAAA,GAAAA,IACVA,EAAO,KAAA,OACPA,EAAM,IAAA,MACNA,EAAO,KAAA,OAHGA,IAAAA,GAAA,CAAA,GCLL,MAAMC,EAAkB,kBASxB,SAASC,EAAcC,GACrB,MAAA,CACLC,KAAMH,EACNI,QAASF,EAEb,CCTO,MAAMG,EAAN,cAA2BC,EAAAA,WAUhC,WAAAC,CAAYC,EAAYC,EAA0BC,GAChDC,MAAMH,EAAIC,GAHKG,KAAAC,eAAiBC,kBAIhCF,KAAKG,aACLH,KAAKI,SAASf,EAAcS,EAAIO,mBAAqBlB,EAAWmB,OAC3CT,EAASU,UAAwB,UACxCC,WAAWC,kBAAkBC,GAAaV,KAAKW,eAAeD,IAAS,CAGvF,gBAAME,CAAWC,GACXA,EAAOR,mBACTL,KAAKI,SAASf,EAAcwB,EAAOR,mBACrC,CAGM,cAAAM,CAAeD,GAChBV,KAAAc,mBAAmBC,WAASf,KAAKgB,sBAAsBN,EAASO,SACrEjB,KAAKkB,WAAU,CAGjB,qBAAAF,CAAsBC,GACpB,IAAKA,EAAME,OAAQ,MAAO,GAElB,OAAAnB,KAAKoB,MAAMC,YACjB,KAAKlC,EAAWmB,KACd,OAAOW,EAAMK,KAAKC,GAAS,CAACA,KAE9B,KAAKpC,EAAWqC,IACd,OAAOC,MAAMC,KAAK,CAAEP,OAAQQ,KAAKC,KAAKX,EAAME,OAAS,KAAM,CAACU,EAAGC,IAC7Db,EAAMc,MAAU,EAAJD,EAAW,EAAJA,EAAQ,KAG/B,KAAK3C,EAAW6C,KACP,MAAA,CACL,CAACf,EAAM,OACJQ,MAAMC,KAAK,CAAEP,OAAQQ,KAAKC,MAAMX,EAAME,OAAS,GAAK,KAAM,CAACU,EAAGC,IAC/Db,EAAMc,MAAM,EAAQ,EAAJD,EAAO,EAAQ,EAAJA,EAAQ,MAIzC,QACE,OAAOb,EAAMK,KAAKC,GAAS,CAACA,KAChC,CAGF,aAAAlC,CAAcC,GACN,MAAA2C,EAAcjC,KAAKoB,MAAMC,WACzBX,EAAWV,KAAKkC,UAAUC,KAAKzB,SACrC,IAAKA,EACG,MAAA,IAAI0B,MAAM,uBAEdH,IAAgB3C,IACbU,KAAAI,SAASf,EAAcC,IACvBU,KAAAc,mBAAmBC,WAASf,KAAKgB,sBAAsBN,EAASO,SACrEjB,KAAKqC,mBAAmB/C,GAC1B,CAGM,kBAAA+C,CAAmBhB,GACpBrB,KAAAC,eAAeqC,KAAKjB,EAAU,CAG3B,eAAAkB,GACD,MAAA,CACLC,eAAgBxC,KAAKC,eAAewC,GACpCpD,cAAgBC,GAASU,KAAKX,cAAcC,GAC5CoD,cAAe,IAAM1C,KAAKoB,MAAMC,WAChCL,sBAAwBC,GAAUjB,KAAKgB,sBAAsBC,GAC/D,CAGF,aAAM0B,GACJ3C,KAAKC,eAAe2C,OAAM,GA3E5BnD,EAAgBG,GAAK,SANhB,IAAMiD,EAANpD,ECJA,MAAMqD,EAAmB,SAEnBC,EAA+C,CAC1DnD,GAAIkD,EACJE,KAAM,gBACNC,QAAS,QACTzC,SAAU,CAAC,UACX0C,SAAU,CAAC,UACXC,SAAU,GACVC,cAAe,CACbC,SAAS,ICTAC,EAA4B,CACvCjC,WAAYlC,EAAWmB,MCEZiD,EAKT,CACFR,WACAS,OAAQ,CAAC3D,EAAU4D,EAAS5C,IAAW,IAAIgC,EAAaC,EAAkBjD,EAAUgB,GACpF6C,QDPsE,CACtEtC,EAAQkC,EACRK,IAEQA,EAAOpE,OACRH,EACI,IACFgC,EACHC,WAAYsC,EAAOnE,SAGd4B,ECHXkC"}
package/dist/index.d.ts CHANGED
@@ -1,47 +1 @@
1
- import { BasePluginConfig, EventHook, BasePlugin, PluginRegistry, PluginManifest, PluginPackage } from '@embedpdf/core';
2
- import { PdfPageObject } from '@embedpdf/models';
3
-
4
- interface SpreadPluginConfig extends BasePluginConfig {
5
- defaultSpreadMode?: SpreadMode;
6
- }
7
- declare enum SpreadMode {
8
- None = "none",
9
- Odd = "odd",
10
- Even = "even"
11
- }
12
- interface SpreadCapability {
13
- onSpreadChange: EventHook<SpreadMode>;
14
- setSpreadMode(mode: SpreadMode): void;
15
- getSpreadMode(): SpreadMode;
16
- getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];
17
- }
18
- interface SpreadState {
19
- spreadMode: SpreadMode;
20
- }
21
-
22
- declare const SET_SPREAD_MODE = "SET_SPREAD_MODE";
23
- interface SetSpreadModeAction {
24
- type: typeof SET_SPREAD_MODE;
25
- payload: SpreadMode;
26
- }
27
- type SpreadAction = SetSpreadModeAction;
28
-
29
- declare class SpreadPlugin extends BasePlugin<SpreadPluginConfig, SpreadCapability, SpreadState, SpreadAction> {
30
- static readonly id: "spread";
31
- private readonly spreadEmitter$;
32
- constructor(id: string, registry: PluginRegistry, cfg: SpreadPluginConfig);
33
- initialize(config: SpreadPluginConfig): Promise<void>;
34
- private documentLoaded;
35
- getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];
36
- setSpreadMode(mode: SpreadMode): void;
37
- private notifySpreadChange;
38
- protected buildCapability(): SpreadCapability;
39
- destroy(): Promise<void>;
40
- }
41
-
42
- declare const SPREAD_PLUGIN_ID = "spread";
43
- declare const manifest: PluginManifest<SpreadPluginConfig>;
44
-
45
- declare const SpreadPluginPackage: PluginPackage<SpreadPlugin, SpreadPluginConfig, SpreadState, SpreadAction>;
46
-
47
- export { SPREAD_PLUGIN_ID, type SpreadCapability, SpreadMode, SpreadPlugin, type SpreadPluginConfig, SpreadPluginPackage, type SpreadState, manifest };
1
+ export * from './lib';
package/dist/index.js CHANGED
@@ -1,30 +1,23 @@
1
- // src/lib/spread-plugin.ts
2
1
  import { BasePlugin, createEmitter, setPages } from "@embedpdf/core";
3
-
4
- // src/lib/types.ts
5
2
  var SpreadMode = /* @__PURE__ */ ((SpreadMode2) => {
6
3
  SpreadMode2["None"] = "none";
7
4
  SpreadMode2["Odd"] = "odd";
8
5
  SpreadMode2["Even"] = "even";
9
6
  return SpreadMode2;
10
7
  })(SpreadMode || {});
11
-
12
- // src/lib/actions.ts
13
- var SET_SPREAD_MODE = "SET_SPREAD_MODE";
8
+ const SET_SPREAD_MODE = "SET_SPREAD_MODE";
14
9
  function setSpreadMode(mode) {
15
10
  return {
16
11
  type: SET_SPREAD_MODE,
17
12
  payload: mode
18
13
  };
19
14
  }
20
-
21
- // src/lib/spread-plugin.ts
22
- var SpreadPlugin = class extends BasePlugin {
15
+ const _SpreadPlugin = class _SpreadPlugin extends BasePlugin {
23
16
  constructor(id, registry, cfg) {
24
17
  super(id, registry);
25
18
  this.spreadEmitter$ = createEmitter();
26
19
  this.resetReady();
27
- this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? "none" /* None */));
20
+ this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? SpreadMode.None));
28
21
  const loaderPlugin = registry.getPlugin("loader");
29
22
  loaderPlugin.provides().onDocumentLoaded((document) => this.documentLoaded(document));
30
23
  }
@@ -40,14 +33,14 @@ var SpreadPlugin = class extends BasePlugin {
40
33
  getSpreadPagesObjects(pages) {
41
34
  if (!pages.length) return [];
42
35
  switch (this.state.spreadMode) {
43
- case "none" /* None */:
36
+ case SpreadMode.None:
44
37
  return pages.map((page) => [page]);
45
- case "odd" /* Odd */:
38
+ case SpreadMode.Odd:
46
39
  return Array.from(
47
40
  { length: Math.ceil(pages.length / 2) },
48
41
  (_, i) => pages.slice(i * 2, i * 2 + 2)
49
42
  );
50
- case "even" /* Even */:
43
+ case SpreadMode.Even:
51
44
  return [
52
45
  [pages[0]],
53
46
  ...Array.from(
@@ -86,11 +79,10 @@ var SpreadPlugin = class extends BasePlugin {
86
79
  this.spreadEmitter$.clear();
87
80
  }
88
81
  };
89
- SpreadPlugin.id = "spread";
90
-
91
- // src/lib/manifest.ts
92
- var SPREAD_PLUGIN_ID = "spread";
93
- var manifest = {
82
+ _SpreadPlugin.id = "spread";
83
+ let SpreadPlugin = _SpreadPlugin;
84
+ const SPREAD_PLUGIN_ID = "spread";
85
+ const manifest = {
94
86
  id: SPREAD_PLUGIN_ID,
95
87
  name: "Spread Plugin",
96
88
  version: "1.0.0",
@@ -101,12 +93,10 @@ var manifest = {
101
93
  enabled: true
102
94
  }
103
95
  };
104
-
105
- // src/lib/reducer.ts
106
- var initialState = {
107
- spreadMode: "none" /* None */
96
+ const initialState = {
97
+ spreadMode: SpreadMode.None
108
98
  };
109
- var spreadReducer = (state = initialState, action) => {
99
+ const spreadReducer = (state = initialState, action) => {
110
100
  switch (action.type) {
111
101
  case SET_SPREAD_MODE:
112
102
  return {
@@ -117,9 +107,7 @@ var spreadReducer = (state = initialState, action) => {
117
107
  return state;
118
108
  }
119
109
  };
120
-
121
- // src/lib/index.ts
122
- var SpreadPluginPackage = {
110
+ const SpreadPluginPackage = {
123
111
  manifest,
124
112
  create: (registry, _engine, config) => new SpreadPlugin(SPREAD_PLUGIN_ID, registry, config),
125
113
  reducer: spreadReducer,
@@ -132,4 +120,4 @@ export {
132
120
  SpreadPluginPackage,
133
121
  manifest
134
122
  };
135
- //# sourceMappingURL=index.js.map
123
+ //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/spread-plugin.ts","../src/lib/types.ts","../src/lib/actions.ts","../src/lib/manifest.ts","../src/lib/reducer.ts","../src/lib/index.ts"],"sourcesContent":["import { BasePlugin, createEmitter, PluginRegistry, setPages } from '@embedpdf/core';\nimport { PdfDocumentObject, PdfPageObject } from '@embedpdf/models';\nimport { LoaderPlugin } from '@embedpdf/plugin-loader';\nimport { SpreadCapability, SpreadMode, SpreadPluginConfig, SpreadState } from './types';\nimport { setSpreadMode } from './actions';\nimport { SpreadAction } from './actions';\n\nexport class SpreadPlugin extends BasePlugin<\n SpreadPluginConfig,\n SpreadCapability,\n SpreadState,\n SpreadAction\n> {\n static readonly id = 'spread' as const;\n\n private readonly spreadEmitter$ = createEmitter<SpreadMode>();\n\n constructor(id: string, registry: PluginRegistry, cfg: SpreadPluginConfig) {\n super(id, registry);\n this.resetReady();\n this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? SpreadMode.None));\n const loaderPlugin = registry.getPlugin<LoaderPlugin>('loader');\n loaderPlugin!.provides().onDocumentLoaded((document) => this.documentLoaded(document));\n }\n\n async initialize(config: SpreadPluginConfig): Promise<void> {\n if (config.defaultSpreadMode) {\n this.dispatch(setSpreadMode(config.defaultSpreadMode));\n }\n }\n\n private documentLoaded(document: PdfDocumentObject): void {\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.markReady();\n }\n\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][] {\n if (!pages.length) return [];\n\n switch (this.state.spreadMode) {\n case SpreadMode.None:\n return pages.map((page) => [page]);\n\n case SpreadMode.Odd:\n return Array.from({ length: Math.ceil(pages.length / 2) }, (_, i) =>\n pages.slice(i * 2, i * 2 + 2),\n );\n\n case SpreadMode.Even:\n return [\n [pages[0]],\n ...Array.from({ length: Math.ceil((pages.length - 1) / 2) }, (_, i) =>\n pages.slice(1 + i * 2, 1 + i * 2 + 2),\n ),\n ];\n\n default:\n return pages.map((page) => [page]);\n }\n }\n\n setSpreadMode(mode: SpreadMode): void {\n const currentMode = this.state.spreadMode;\n const document = this.coreState.core.document;\n if (!document) {\n throw new Error('Document not loaded');\n }\n if (currentMode !== mode) {\n this.dispatch(setSpreadMode(mode));\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.notifySpreadChange(mode);\n }\n }\n\n private notifySpreadChange(spreadMode: SpreadMode): void {\n this.spreadEmitter$.emit(spreadMode);\n }\n\n protected buildCapability(): SpreadCapability {\n return {\n onSpreadChange: this.spreadEmitter$.on,\n setSpreadMode: (mode) => this.setSpreadMode(mode),\n getSpreadMode: () => this.state.spreadMode,\n getSpreadPagesObjects: (pages) => this.getSpreadPagesObjects(pages),\n };\n }\n\n async destroy(): Promise<void> {\n this.spreadEmitter$.clear();\n }\n}\n","import { BasePluginConfig, EventHook } from '@embedpdf/core';\nimport { PdfPageObject } from '@embedpdf/models';\n\nexport interface SpreadPluginConfig extends BasePluginConfig {\n defaultSpreadMode?: SpreadMode;\n}\n\nexport enum SpreadMode {\n None = 'none',\n Odd = 'odd',\n Even = 'even',\n}\n\nexport interface SpreadCapability {\n onSpreadChange: EventHook<SpreadMode>;\n setSpreadMode(mode: SpreadMode): void;\n getSpreadMode(): SpreadMode;\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];\n}\n\nexport interface SpreadState {\n spreadMode: SpreadMode;\n}\n","import { SpreadMode } from './types';\n\nexport const SET_SPREAD_MODE = 'SET_SPREAD_MODE';\n\nexport interface SetSpreadModeAction {\n type: typeof SET_SPREAD_MODE;\n payload: SpreadMode;\n}\n\nexport type SpreadAction = SetSpreadModeAction;\n\nexport function setSpreadMode(mode: SpreadMode): SetSpreadModeAction {\n return {\n type: SET_SPREAD_MODE,\n payload: mode,\n };\n}\n","import { PluginManifest } from '@embedpdf/core';\nimport { SpreadPluginConfig } from './types';\n\nexport const SPREAD_PLUGIN_ID = 'spread';\n\nexport const manifest: PluginManifest<SpreadPluginConfig> = {\n id: SPREAD_PLUGIN_ID,\n name: 'Spread Plugin',\n version: '1.0.0',\n provides: ['spread'],\n requires: ['loader'],\n optional: [],\n defaultConfig: {\n enabled: true,\n },\n};\n","import { Reducer } from '@embedpdf/core';\nimport { SpreadState, SpreadMode } from './types';\nimport { SET_SPREAD_MODE, SetSpreadModeAction } from './actions';\n\nexport const initialState: SpreadState = {\n spreadMode: SpreadMode.None,\n};\n\nexport const spreadReducer: Reducer<SpreadState, SetSpreadModeAction> = (\n state = initialState,\n action,\n) => {\n switch (action.type) {\n case SET_SPREAD_MODE:\n return {\n ...state,\n spreadMode: action.payload,\n };\n default:\n return state;\n }\n};\n","import { PluginPackage } from '@embedpdf/core';\nimport { SpreadPlugin } from './spread-plugin';\nimport { manifest, SPREAD_PLUGIN_ID } from './manifest';\nimport { SpreadPluginConfig, SpreadState } from './types';\nimport { spreadReducer, initialState } from './reducer';\nimport { SpreadAction } from './actions';\n\nexport const SpreadPluginPackage: PluginPackage<\n SpreadPlugin,\n SpreadPluginConfig,\n SpreadState,\n SpreadAction\n> = {\n manifest,\n create: (registry, _engine, config) => new SpreadPlugin(SPREAD_PLUGIN_ID, registry, config),\n reducer: spreadReducer,\n initialState,\n};\n\nexport * from './spread-plugin';\nexport * from './types';\nexport * from './manifest';\n"],"mappings":"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","names":["SpreadMode"]}
1
+ {"version":3,"file":"index.js","sources":["../src/lib/types.ts","../src/lib/actions.ts","../src/lib/spread-plugin.ts","../src/lib/manifest.ts","../src/lib/reducer.ts","../src/lib/index.ts"],"sourcesContent":["import { BasePluginConfig, EventHook } from '@embedpdf/core';\nimport { PdfPageObject } from '@embedpdf/models';\n\nexport interface SpreadPluginConfig extends BasePluginConfig {\n defaultSpreadMode?: SpreadMode;\n}\n\nexport enum SpreadMode {\n None = 'none',\n Odd = 'odd',\n Even = 'even',\n}\n\nexport interface SpreadCapability {\n onSpreadChange: EventHook<SpreadMode>;\n setSpreadMode(mode: SpreadMode): void;\n getSpreadMode(): SpreadMode;\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];\n}\n\nexport interface SpreadState {\n spreadMode: SpreadMode;\n}\n","import { SpreadMode } from './types';\n\nexport const SET_SPREAD_MODE = 'SET_SPREAD_MODE';\n\nexport interface SetSpreadModeAction {\n type: typeof SET_SPREAD_MODE;\n payload: SpreadMode;\n}\n\nexport type SpreadAction = SetSpreadModeAction;\n\nexport function setSpreadMode(mode: SpreadMode): SetSpreadModeAction {\n return {\n type: SET_SPREAD_MODE,\n payload: mode,\n };\n}\n","import { BasePlugin, createEmitter, PluginRegistry, setPages } from '@embedpdf/core';\nimport { PdfDocumentObject, PdfPageObject } from '@embedpdf/models';\nimport { LoaderPlugin } from '@embedpdf/plugin-loader';\nimport { SpreadCapability, SpreadMode, SpreadPluginConfig, SpreadState } from './types';\nimport { setSpreadMode } from './actions';\nimport { SpreadAction } from './actions';\n\nexport class SpreadPlugin extends BasePlugin<\n SpreadPluginConfig,\n SpreadCapability,\n SpreadState,\n SpreadAction\n> {\n static readonly id = 'spread' as const;\n\n private readonly spreadEmitter$ = createEmitter<SpreadMode>();\n\n constructor(id: string, registry: PluginRegistry, cfg: SpreadPluginConfig) {\n super(id, registry);\n this.resetReady();\n this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? SpreadMode.None));\n const loaderPlugin = registry.getPlugin<LoaderPlugin>('loader');\n loaderPlugin!.provides().onDocumentLoaded((document) => this.documentLoaded(document));\n }\n\n async initialize(config: SpreadPluginConfig): Promise<void> {\n if (config.defaultSpreadMode) {\n this.dispatch(setSpreadMode(config.defaultSpreadMode));\n }\n }\n\n private documentLoaded(document: PdfDocumentObject): void {\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.markReady();\n }\n\n getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][] {\n if (!pages.length) return [];\n\n switch (this.state.spreadMode) {\n case SpreadMode.None:\n return pages.map((page) => [page]);\n\n case SpreadMode.Odd:\n return Array.from({ length: Math.ceil(pages.length / 2) }, (_, i) =>\n pages.slice(i * 2, i * 2 + 2),\n );\n\n case SpreadMode.Even:\n return [\n [pages[0]],\n ...Array.from({ length: Math.ceil((pages.length - 1) / 2) }, (_, i) =>\n pages.slice(1 + i * 2, 1 + i * 2 + 2),\n ),\n ];\n\n default:\n return pages.map((page) => [page]);\n }\n }\n\n setSpreadMode(mode: SpreadMode): void {\n const currentMode = this.state.spreadMode;\n const document = this.coreState.core.document;\n if (!document) {\n throw new Error('Document not loaded');\n }\n if (currentMode !== mode) {\n this.dispatch(setSpreadMode(mode));\n this.dispatchCoreAction(setPages(this.getSpreadPagesObjects(document.pages)));\n this.notifySpreadChange(mode);\n }\n }\n\n private notifySpreadChange(spreadMode: SpreadMode): void {\n this.spreadEmitter$.emit(spreadMode);\n }\n\n protected buildCapability(): SpreadCapability {\n return {\n onSpreadChange: this.spreadEmitter$.on,\n setSpreadMode: (mode) => this.setSpreadMode(mode),\n getSpreadMode: () => this.state.spreadMode,\n getSpreadPagesObjects: (pages) => this.getSpreadPagesObjects(pages),\n };\n }\n\n async destroy(): Promise<void> {\n this.spreadEmitter$.clear();\n }\n}\n","import { PluginManifest } from '@embedpdf/core';\nimport { SpreadPluginConfig } from './types';\n\nexport const SPREAD_PLUGIN_ID = 'spread';\n\nexport const manifest: PluginManifest<SpreadPluginConfig> = {\n id: SPREAD_PLUGIN_ID,\n name: 'Spread Plugin',\n version: '1.0.0',\n provides: ['spread'],\n requires: ['loader'],\n optional: [],\n defaultConfig: {\n enabled: true,\n },\n};\n","import { Reducer } from '@embedpdf/core';\nimport { SpreadState, SpreadMode } from './types';\nimport { SET_SPREAD_MODE, SetSpreadModeAction } from './actions';\n\nexport const initialState: SpreadState = {\n spreadMode: SpreadMode.None,\n};\n\nexport const spreadReducer: Reducer<SpreadState, SetSpreadModeAction> = (\n state = initialState,\n action,\n) => {\n switch (action.type) {\n case SET_SPREAD_MODE:\n return {\n ...state,\n spreadMode: action.payload,\n };\n default:\n return state;\n }\n};\n","import { PluginPackage } from '@embedpdf/core';\nimport { SpreadPlugin } from './spread-plugin';\nimport { manifest, SPREAD_PLUGIN_ID } from './manifest';\nimport { SpreadPluginConfig, SpreadState } from './types';\nimport { spreadReducer, initialState } from './reducer';\nimport { SpreadAction } from './actions';\n\nexport const SpreadPluginPackage: PluginPackage<\n SpreadPlugin,\n SpreadPluginConfig,\n SpreadState,\n SpreadAction\n> = {\n manifest,\n create: (registry, _engine, config) => new SpreadPlugin(SPREAD_PLUGIN_ID, registry, config),\n reducer: spreadReducer,\n initialState,\n};\n\nexport * from './spread-plugin';\nexport * from './types';\nexport * from './manifest';\n"],"names":["SpreadMode"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { SpreadMode } from './types';
2
+ export declare const SET_SPREAD_MODE = "SET_SPREAD_MODE";
3
+ export interface SetSpreadModeAction {
4
+ type: typeof SET_SPREAD_MODE;
5
+ payload: SpreadMode;
6
+ }
7
+ export type SpreadAction = SetSpreadModeAction;
8
+ export declare function setSpreadMode(mode: SpreadMode): SetSpreadModeAction;
@@ -0,0 +1,8 @@
1
+ import { PluginPackage } from '@embedpdf/core';
2
+ import { SpreadPlugin } from './spread-plugin';
3
+ import { SpreadPluginConfig, SpreadState } from './types';
4
+ import { SpreadAction } from './actions';
5
+ export declare const SpreadPluginPackage: PluginPackage<SpreadPlugin, SpreadPluginConfig, SpreadState, SpreadAction>;
6
+ export * from './spread-plugin';
7
+ export * from './types';
8
+ export * from './manifest';
@@ -0,0 +1,4 @@
1
+ import { PluginManifest } from '@embedpdf/core';
2
+ import { SpreadPluginConfig } from './types';
3
+ export declare const SPREAD_PLUGIN_ID = "spread";
4
+ export declare const manifest: PluginManifest<SpreadPluginConfig>;
@@ -0,0 +1,5 @@
1
+ import { Reducer } from '@embedpdf/core';
2
+ import { SpreadState } from './types';
3
+ import { SetSpreadModeAction } from './actions';
4
+ export declare const initialState: SpreadState;
5
+ export declare const spreadReducer: Reducer<SpreadState, SetSpreadModeAction>;
@@ -0,0 +1,16 @@
1
+ import { BasePlugin, PluginRegistry } from '@embedpdf/core';
2
+ import { PdfPageObject } from '@embedpdf/models';
3
+ import { SpreadCapability, SpreadMode, SpreadPluginConfig, SpreadState } from './types';
4
+ import { SpreadAction } from './actions';
5
+ export declare class SpreadPlugin extends BasePlugin<SpreadPluginConfig, SpreadCapability, SpreadState, SpreadAction> {
6
+ static readonly id: "spread";
7
+ private readonly spreadEmitter$;
8
+ constructor(id: string, registry: PluginRegistry, cfg: SpreadPluginConfig);
9
+ initialize(config: SpreadPluginConfig): Promise<void>;
10
+ private documentLoaded;
11
+ getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];
12
+ setSpreadMode(mode: SpreadMode): void;
13
+ private notifySpreadChange;
14
+ protected buildCapability(): SpreadCapability;
15
+ destroy(): Promise<void>;
16
+ }
@@ -0,0 +1,19 @@
1
+ import { BasePluginConfig, EventHook } from '@embedpdf/core';
2
+ import { PdfPageObject } from '@embedpdf/models';
3
+ export interface SpreadPluginConfig extends BasePluginConfig {
4
+ defaultSpreadMode?: SpreadMode;
5
+ }
6
+ export declare enum SpreadMode {
7
+ None = "none",
8
+ Odd = "odd",
9
+ Even = "even"
10
+ }
11
+ export interface SpreadCapability {
12
+ onSpreadChange: EventHook<SpreadMode>;
13
+ setSpreadMode(mode: SpreadMode): void;
14
+ getSpreadMode(): SpreadMode;
15
+ getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];
16
+ }
17
+ export interface SpreadState {
18
+ spreadMode: SpreadMode;
19
+ }
@@ -0,0 +1,2 @@
1
+ export { Fragment } from 'preact';
2
+ export { useEffect, useState } from 'preact/hooks';
@@ -0,0 +1 @@
1
+ export * from '@embedpdf/core/preact';
@@ -1,54 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/preact/index.ts
21
- var preact_exports = {};
22
- __export(preact_exports, {
23
- useSpread: () => useSpread,
24
- useSpreadCapability: () => useSpreadCapability,
25
- useSpreadPlugin: () => useSpreadPlugin
26
- });
27
- module.exports = __toCommonJS(preact_exports);
28
-
29
- // src/preact/hooks/use-spread.ts
30
- var import_preact = require("@embedpdf/core/preact");
31
- var import_plugin_spread = require("@embedpdf/plugin-spread");
32
- var import_hooks = require("preact/hooks");
33
- var useSpreadPlugin = () => (0, import_preact.usePlugin)(import_plugin_spread.SpreadPlugin.id);
34
- var useSpreadCapability = () => (0, import_preact.useCapability)(import_plugin_spread.SpreadPlugin.id);
35
- var useSpread = () => {
36
- const { provides: spreadProvider } = useSpreadCapability();
37
- const [spreadMode, setSpreadMode] = (0, import_hooks.useState)(import_plugin_spread.SpreadMode.None);
38
- (0, import_hooks.useEffect)(() => {
39
- return spreadProvider?.onSpreadChange((spreadMode2) => {
40
- setSpreadMode(spreadMode2);
41
- });
42
- }, [spreadProvider]);
43
- return {
44
- provides: spreadProvider,
45
- spreadMode
46
- };
47
- };
48
- // Annotate the CommonJS export names for ESM import in node:
49
- 0 && (module.exports = {
50
- useSpread,
51
- useSpreadCapability,
52
- useSpreadPlugin
53
- });
54
- //# sourceMappingURL=index.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/preact"),r=require("@embedpdf/plugin-spread");require("preact");const p=require("preact/hooks"),d=()=>e.useCapability(r.SpreadPlugin.id);exports.useSpread=()=>{const{provides:e}=d(),[t,i]=p.useState(r.SpreadMode.None);return p.useEffect((()=>null==e?void 0:e.onSpreadChange((e=>{i(e)}))),[e]),{provides:e,spreadMode:t}},exports.useSpreadCapability=d,exports.useSpreadPlugin=()=>e.usePlugin(r.SpreadPlugin.id);
2
+ //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/preact/index.ts","../../src/preact/hooks/use-spread.ts"],"sourcesContent":["export * from './hooks';\n","import { useCapability, usePlugin } from '@embedpdf/core/preact';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyC;AACzC,2BAAyC;AACzC,mBAAoC;AAE7B,IAAM,kBAAkB,UAAM,yBAAwB,kCAAa,EAAE;AACrE,IAAM,sBAAsB,UAAM,6BAA4B,kCAAa,EAAE;AAE7E,IAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,UAAU,eAAe,IAAI,oBAAoB;AACzD,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAqB,gCAAW,IAAI;AAExE,8BAAU,MAAM;AACd,WAAO,gBAAgB,eAAe,CAACA,gBAAe;AACpD,oBAAcA,WAAU;AAAA,IAC1B,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AAAA,IACL,UAAU;AAAA,IACV;AAAA,EACF;AACF;","names":["spreadMode"]}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/shared/hooks/use-spread.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from '@framework';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"names":["useSpreadCapability","useCapability","SpreadPlugin","id","provides","spreadProvider","spreadMode","setSpreadMode","useState","SpreadMode","None","useEffect","onSpreadChange","usePlugin"],"mappings":"gNAKaA,EAAsB,IAAMC,gBAA4BC,EAAAA,aAAaC,sBAEzD,KACvB,MAAQC,SAAUC,GAAmBL,KAC9BM,EAAYC,GAAiBC,EAAAA,SAAqBC,EAAAA,WAAWC,MAQ7D,OANPC,EAAAA,WAAU,IACD,MAAAN,OAAA,EAAAA,EAAgBO,gBAAgBN,IACrCC,EAAcD,EAAU,KAEzB,CAACD,IAEG,CACLD,SAAUC,EACVC,aACF,wDAhB6B,IAAMO,YAAwBX,EAAAA,aAAaC"}
@@ -1,19 +1 @@
1
- import * as _embedpdf_plugin_spread from '@embedpdf/plugin-spread';
2
- import { SpreadPlugin, SpreadMode } from '@embedpdf/plugin-spread';
3
-
4
- declare const useSpreadPlugin: () => {
5
- plugin: SpreadPlugin | null;
6
- isLoading: boolean;
7
- ready: Promise<void>;
8
- };
9
- declare const useSpreadCapability: () => {
10
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
11
- isLoading: boolean;
12
- ready: Promise<void>;
13
- };
14
- declare const useSpread: () => {
15
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
16
- spreadMode: SpreadMode;
17
- };
18
-
19
- export { useSpread, useSpreadCapability, useSpreadPlugin };
1
+ export * from '../shared-preact';
@@ -1,14 +1,14 @@
1
- // src/preact/hooks/use-spread.ts
2
- import { useCapability, usePlugin } from "@embedpdf/core/preact";
3
- import { SpreadMode, SpreadPlugin } from "@embedpdf/plugin-spread";
4
- import { useEffect, useState } from "preact/hooks";
5
- var useSpreadPlugin = () => usePlugin(SpreadPlugin.id);
6
- var useSpreadCapability = () => useCapability(SpreadPlugin.id);
7
- var useSpread = () => {
1
+ import { usePlugin, useCapability } from "@embedpdf/core/preact";
2
+ import { SpreadPlugin, SpreadMode } from "@embedpdf/plugin-spread";
3
+ import "preact";
4
+ import { useState, useEffect } from "preact/hooks";
5
+ const useSpreadPlugin = () => usePlugin(SpreadPlugin.id);
6
+ const useSpreadCapability = () => useCapability(SpreadPlugin.id);
7
+ const useSpread = () => {
8
8
  const { provides: spreadProvider } = useSpreadCapability();
9
9
  const [spreadMode, setSpreadMode] = useState(SpreadMode.None);
10
10
  useEffect(() => {
11
- return spreadProvider?.onSpreadChange((spreadMode2) => {
11
+ return spreadProvider == null ? void 0 : spreadProvider.onSpreadChange((spreadMode2) => {
12
12
  setSpreadMode(spreadMode2);
13
13
  });
14
14
  }, [spreadProvider]);
@@ -22,4 +22,4 @@ export {
22
22
  useSpreadCapability,
23
23
  useSpreadPlugin
24
24
  };
25
- //# sourceMappingURL=index.js.map
25
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/preact/hooks/use-spread.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/preact';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"mappings":";AAAA,SAAS,eAAe,iBAAiB;AACzC,SAAS,YAAY,oBAAoB;AACzC,SAAS,WAAW,gBAAgB;AAE7B,IAAM,kBAAkB,MAAM,UAAwB,aAAa,EAAE;AACrE,IAAM,sBAAsB,MAAM,cAA4B,aAAa,EAAE;AAE7E,IAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,UAAU,eAAe,IAAI,oBAAoB;AACzD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAqB,WAAW,IAAI;AAExE,YAAU,MAAM;AACd,WAAO,gBAAgB,eAAe,CAACA,gBAAe;AACpD,oBAAcA,WAAU;AAAA,IAC1B,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AAAA,IACL,UAAU;AAAA,IACV;AAAA,EACF;AACF;","names":["spreadMode"]}
1
+ {"version":3,"file":"index.js","sources":["../../src/shared/hooks/use-spread.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from '@framework';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"names":["spreadMode"],"mappings":";;;;AAIO,MAAM,kBAAkB,MAAM,UAAwB,aAAa,EAAE;AACrE,MAAM,sBAAsB,MAAM,cAA4B,aAAa,EAAE;AAE7E,MAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,UAAU,eAAe,IAAI,oBAAoB;AACzD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAqB,WAAW,IAAI;AAExE,YAAU,MAAM;AACP,WAAA,iDAAgB,eAAe,CAACA,gBAAe;AACpD,oBAAcA,WAAU;AAAA,IAAA;AAAA,EACzB,GACA,CAAC,cAAc,CAAC;AAEZ,SAAA;AAAA,IACL,UAAU;AAAA,IACV;AAAA,EACF;AACF;"}
@@ -0,0 +1 @@
1
+ export { useEffect, useState } from 'react';
@@ -0,0 +1 @@
1
+ export * from '@embedpdf/core/react';
@@ -1,54 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/react/index.ts
21
- var react_exports = {};
22
- __export(react_exports, {
23
- useSpread: () => useSpread,
24
- useSpreadCapability: () => useSpreadCapability,
25
- useSpreadPlugin: () => useSpreadPlugin
26
- });
27
- module.exports = __toCommonJS(react_exports);
28
-
29
- // src/react/hooks/use-spread.ts
30
- var import_react = require("@embedpdf/core/react");
31
- var import_plugin_spread = require("@embedpdf/plugin-spread");
32
- var import_react2 = require("react");
33
- var useSpreadPlugin = () => (0, import_react.usePlugin)(import_plugin_spread.SpreadPlugin.id);
34
- var useSpreadCapability = () => (0, import_react.useCapability)(import_plugin_spread.SpreadPlugin.id);
35
- var useSpread = () => {
36
- const { provides: spreadProvider } = useSpreadCapability();
37
- const [spreadMode, setSpreadMode] = (0, import_react2.useState)(import_plugin_spread.SpreadMode.None);
38
- (0, import_react2.useEffect)(() => {
39
- return spreadProvider?.onSpreadChange((spreadMode2) => {
40
- setSpreadMode(spreadMode2);
41
- });
42
- }, [spreadProvider]);
43
- return {
44
- provides: spreadProvider,
45
- spreadMode
46
- };
47
- };
48
- // Annotate the CommonJS export names for ESM import in node:
49
- 0 && (module.exports = {
50
- useSpread,
51
- useSpreadCapability,
52
- useSpreadPlugin
53
- });
54
- //# sourceMappingURL=index.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/react"),r=require("@embedpdf/plugin-spread"),d=require("react"),p=()=>e.useCapability(r.SpreadPlugin.id);exports.useSpread=()=>{const{provides:e}=p(),[i,t]=d.useState(r.SpreadMode.None);return d.useEffect((()=>null==e?void 0:e.onSpreadChange((e=>{t(e)}))),[e]),{provides:e,spreadMode:i}},exports.useSpreadCapability=p,exports.useSpreadPlugin=()=>e.usePlugin(r.SpreadPlugin.id);
2
+ //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/index.ts","../../src/react/hooks/use-spread.ts"],"sourcesContent":["export * from './hooks';\n","import { useCapability, usePlugin } from '@embedpdf/core/react';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from 'react';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAyC;AACzC,2BAAyC;AACzC,IAAAA,gBAAoC;AAE7B,IAAM,kBAAkB,UAAM,wBAAwB,kCAAa,EAAE;AACrE,IAAM,sBAAsB,UAAM,4BAA4B,kCAAa,EAAE;AAE7E,IAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,UAAU,eAAe,IAAI,oBAAoB;AACzD,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAqB,gCAAW,IAAI;AAExE,+BAAU,MAAM;AACd,WAAO,gBAAgB,eAAe,CAACC,gBAAe;AACpD,oBAAcA,WAAU;AAAA,IAC1B,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AAAA,IACL,UAAU;AAAA,IACV;AAAA,EACF;AACF;","names":["import_react","spreadMode"]}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/shared/hooks/use-spread.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from '@framework';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"names":["useSpreadCapability","useCapability","SpreadPlugin","id","provides","spreadProvider","spreadMode","setSpreadMode","useState","SpreadMode","None","useEffect","onSpreadChange","usePlugin"],"mappings":"gLAKaA,EAAsB,IAAMC,gBAA4BC,EAAAA,aAAaC,sBAEzD,KACvB,MAAQC,SAAUC,GAAmBL,KAC9BM,EAAYC,GAAiBC,EAAAA,SAAqBC,EAAAA,WAAWC,MAQ7D,OANPC,EAAAA,WAAU,IACD,MAAAN,OAAA,EAAAA,EAAgBO,gBAAgBN,IACrCC,EAAcD,EAAU,KAEzB,CAACD,IAEG,CACLD,SAAUC,EACVC,aACF,wDAhB6B,IAAMO,YAAwBX,EAAAA,aAAaC"}
@@ -1,19 +1 @@
1
- import * as _embedpdf_plugin_spread from '@embedpdf/plugin-spread';
2
- import { SpreadPlugin, SpreadMode } from '@embedpdf/plugin-spread';
3
-
4
- declare const useSpreadPlugin: () => {
5
- plugin: SpreadPlugin | null;
6
- isLoading: boolean;
7
- ready: Promise<void>;
8
- };
9
- declare const useSpreadCapability: () => {
10
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
11
- isLoading: boolean;
12
- ready: Promise<void>;
13
- };
14
- declare const useSpread: () => {
15
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
16
- spreadMode: SpreadMode;
17
- };
18
-
19
- export { useSpread, useSpreadCapability, useSpreadPlugin };
1
+ export * from '../shared-react';
@@ -1,14 +1,13 @@
1
- // src/react/hooks/use-spread.ts
2
- import { useCapability, usePlugin } from "@embedpdf/core/react";
3
- import { SpreadMode, SpreadPlugin } from "@embedpdf/plugin-spread";
4
- import { useEffect, useState } from "react";
5
- var useSpreadPlugin = () => usePlugin(SpreadPlugin.id);
6
- var useSpreadCapability = () => useCapability(SpreadPlugin.id);
7
- var useSpread = () => {
1
+ import { usePlugin, useCapability } from "@embedpdf/core/react";
2
+ import { SpreadPlugin, SpreadMode } from "@embedpdf/plugin-spread";
3
+ import { useState, useEffect } from "react";
4
+ const useSpreadPlugin = () => usePlugin(SpreadPlugin.id);
5
+ const useSpreadCapability = () => useCapability(SpreadPlugin.id);
6
+ const useSpread = () => {
8
7
  const { provides: spreadProvider } = useSpreadCapability();
9
8
  const [spreadMode, setSpreadMode] = useState(SpreadMode.None);
10
9
  useEffect(() => {
11
- return spreadProvider?.onSpreadChange((spreadMode2) => {
10
+ return spreadProvider == null ? void 0 : spreadProvider.onSpreadChange((spreadMode2) => {
12
11
  setSpreadMode(spreadMode2);
13
12
  });
14
13
  }, [spreadProvider]);
@@ -22,4 +21,4 @@ export {
22
21
  useSpreadCapability,
23
22
  useSpreadPlugin
24
23
  };
25
- //# sourceMappingURL=index.js.map
24
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/hooks/use-spread.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/react';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from 'react';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"mappings":";AAAA,SAAS,eAAe,iBAAiB;AACzC,SAAS,YAAY,oBAAoB;AACzC,SAAS,WAAW,gBAAgB;AAE7B,IAAM,kBAAkB,MAAM,UAAwB,aAAa,EAAE;AACrE,IAAM,sBAAsB,MAAM,cAA4B,aAAa,EAAE;AAE7E,IAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,UAAU,eAAe,IAAI,oBAAoB;AACzD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAqB,WAAW,IAAI;AAExE,YAAU,MAAM;AACd,WAAO,gBAAgB,eAAe,CAACA,gBAAe;AACpD,oBAAcA,WAAU;AAAA,IAC1B,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AAAA,IACL,UAAU;AAAA,IACV;AAAA,EACF;AACF;","names":["spreadMode"]}
1
+ {"version":3,"file":"index.js","sources":["../../src/shared/hooks/use-spread.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\nimport { useEffect, useState } from '@framework';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProvider } = useSpreadCapability();\n const [spreadMode, setSpreadMode] = useState<SpreadMode>(SpreadMode.None);\n\n useEffect(() => {\n return spreadProvider?.onSpreadChange((spreadMode) => {\n setSpreadMode(spreadMode);\n });\n }, [spreadProvider]);\n\n return {\n provides: spreadProvider,\n spreadMode,\n };\n};\n"],"names":["spreadMode"],"mappings":";;;AAIO,MAAM,kBAAkB,MAAM,UAAwB,aAAa,EAAE;AACrE,MAAM,sBAAsB,MAAM,cAA4B,aAAa,EAAE;AAE7E,MAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,UAAU,eAAe,IAAI,oBAAoB;AACzD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAqB,WAAW,IAAI;AAExE,YAAU,MAAM;AACP,WAAA,iDAAgB,eAAe,CAACA,gBAAe;AACpD,oBAAcA,WAAU;AAAA,IAAA;AAAA,EACzB,GACA,CAAC,cAAc,CAAC;AAEZ,SAAA;AAAA,IACL,UAAU;AAAA,IACV;AAAA,EACF;AACF;"}
@@ -0,0 +1 @@
1
+ export * from './use-spread';
@@ -0,0 +1,15 @@
1
+ import { SpreadMode, SpreadPlugin } from '../../lib/index.ts';
2
+ export declare const useSpreadPlugin: () => {
3
+ plugin: SpreadPlugin | null;
4
+ isLoading: boolean;
5
+ ready: Promise<void>;
6
+ };
7
+ export declare const useSpreadCapability: () => {
8
+ provides: Readonly<import('../../lib/index.ts').SpreadCapability> | null;
9
+ isLoading: boolean;
10
+ ready: Promise<void>;
11
+ };
12
+ export declare const useSpread: () => {
13
+ provides: Readonly<import('../../lib/index.ts').SpreadCapability> | null;
14
+ spreadMode: SpreadMode;
15
+ };
@@ -0,0 +1 @@
1
+ export * from './hooks';
@@ -0,0 +1 @@
1
+ export * from './use-spread';
@@ -0,0 +1,15 @@
1
+ import { SpreadMode, SpreadPlugin } from '../../lib/index.ts';
2
+ export declare const useSpreadPlugin: () => {
3
+ plugin: SpreadPlugin | null;
4
+ isLoading: boolean;
5
+ ready: Promise<void>;
6
+ };
7
+ export declare const useSpreadCapability: () => {
8
+ provides: Readonly<import('../../lib/index.ts').SpreadCapability> | null;
9
+ isLoading: boolean;
10
+ ready: Promise<void>;
11
+ };
12
+ export declare const useSpread: () => {
13
+ provides: Readonly<import('../../lib/index.ts').SpreadCapability> | null;
14
+ spreadMode: SpreadMode;
15
+ };
@@ -0,0 +1 @@
1
+ export * from './hooks';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embedpdf/plugin-spread",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -23,19 +23,21 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@embedpdf/models": "1.0.11",
27
- "@embedpdf/plugin-loader": "1.0.11"
26
+ "@embedpdf/models": "1.0.12"
28
27
  },
29
28
  "devDependencies": {
30
29
  "@types/react": "^18.2.0",
31
- "tsup": "^8.0.0",
32
- "typescript": "^5.0.0"
30
+ "typescript": "^5.0.0",
31
+ "@embedpdf/core": "1.0.12",
32
+ "@embedpdf/build": "1.0.0",
33
+ "@embedpdf/plugin-loader": "1.0.12"
33
34
  },
34
35
  "peerDependencies": {
35
36
  "react": ">=16.8.0",
36
37
  "react-dom": ">=16.8.0",
37
38
  "preact": "^10.26.4",
38
- "@embedpdf/core": "1.0.11"
39
+ "@embedpdf/core": "1.0.12",
40
+ "@embedpdf/plugin-loader": "1.0.12"
39
41
  },
40
42
  "files": [
41
43
  "dist",
@@ -54,11 +56,12 @@
54
56
  "access": "public"
55
57
  },
56
58
  "scripts": {
57
- "build": "PROJECT_CWD=$(pwd) pnpm -w p:build",
58
- "build:watch": "PROJECT_CWD=$(pwd) pnpm -w p:build:watch",
59
- "clean": "PROJECT_CWD=$(pwd) pnpm -w p:clean",
60
- "lint": "PROJECT_CWD=$(pwd) pnpm -w p:lint",
61
- "lint:fix": "PROJECT_CWD=$(pwd) pnpm -w p:lint:fix",
62
- "typecheck": "PROJECT_CWD=$(pwd) pnpm -w p:typecheck"
59
+ "build:base": "vite build --mode base",
60
+ "build:react": "vite build --mode react",
61
+ "build:preact": "vite build --mode preact",
62
+ "build": "pnpm run clean && concurrently -c auto -n base,react,preact \"vite build --mode base\" \"vite build --mode react\" \"vite build --mode preact\"",
63
+ "clean": "rimraf dist",
64
+ "lint": "eslint src --color",
65
+ "lint:fix": "eslint src --color --fix"
63
66
  }
64
67
  }
package/dist/index.d.cts DELETED
@@ -1,47 +0,0 @@
1
- import { BasePluginConfig, EventHook, BasePlugin, PluginRegistry, PluginManifest, PluginPackage } from '@embedpdf/core';
2
- import { PdfPageObject } from '@embedpdf/models';
3
-
4
- interface SpreadPluginConfig extends BasePluginConfig {
5
- defaultSpreadMode?: SpreadMode;
6
- }
7
- declare enum SpreadMode {
8
- None = "none",
9
- Odd = "odd",
10
- Even = "even"
11
- }
12
- interface SpreadCapability {
13
- onSpreadChange: EventHook<SpreadMode>;
14
- setSpreadMode(mode: SpreadMode): void;
15
- getSpreadMode(): SpreadMode;
16
- getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];
17
- }
18
- interface SpreadState {
19
- spreadMode: SpreadMode;
20
- }
21
-
22
- declare const SET_SPREAD_MODE = "SET_SPREAD_MODE";
23
- interface SetSpreadModeAction {
24
- type: typeof SET_SPREAD_MODE;
25
- payload: SpreadMode;
26
- }
27
- type SpreadAction = SetSpreadModeAction;
28
-
29
- declare class SpreadPlugin extends BasePlugin<SpreadPluginConfig, SpreadCapability, SpreadState, SpreadAction> {
30
- static readonly id: "spread";
31
- private readonly spreadEmitter$;
32
- constructor(id: string, registry: PluginRegistry, cfg: SpreadPluginConfig);
33
- initialize(config: SpreadPluginConfig): Promise<void>;
34
- private documentLoaded;
35
- getSpreadPagesObjects(pages: PdfPageObject[]): PdfPageObject[][];
36
- setSpreadMode(mode: SpreadMode): void;
37
- private notifySpreadChange;
38
- protected buildCapability(): SpreadCapability;
39
- destroy(): Promise<void>;
40
- }
41
-
42
- declare const SPREAD_PLUGIN_ID = "spread";
43
- declare const manifest: PluginManifest<SpreadPluginConfig>;
44
-
45
- declare const SpreadPluginPackage: PluginPackage<SpreadPlugin, SpreadPluginConfig, SpreadState, SpreadAction>;
46
-
47
- export { SPREAD_PLUGIN_ID, type SpreadCapability, SpreadMode, SpreadPlugin, type SpreadPluginConfig, SpreadPluginPackage, type SpreadState, manifest };
@@ -1,19 +0,0 @@
1
- import * as _embedpdf_plugin_spread from '@embedpdf/plugin-spread';
2
- import { SpreadPlugin, SpreadMode } from '@embedpdf/plugin-spread';
3
-
4
- declare const useSpreadPlugin: () => {
5
- plugin: SpreadPlugin | null;
6
- isLoading: boolean;
7
- ready: Promise<void>;
8
- };
9
- declare const useSpreadCapability: () => {
10
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
11
- isLoading: boolean;
12
- ready: Promise<void>;
13
- };
14
- declare const useSpread: () => {
15
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
16
- spreadMode: SpreadMode;
17
- };
18
-
19
- export { useSpread, useSpreadCapability, useSpreadPlugin };
@@ -1,19 +0,0 @@
1
- import * as _embedpdf_plugin_spread from '@embedpdf/plugin-spread';
2
- import { SpreadPlugin, SpreadMode } from '@embedpdf/plugin-spread';
3
-
4
- declare const useSpreadPlugin: () => {
5
- plugin: SpreadPlugin | null;
6
- isLoading: boolean;
7
- ready: Promise<void>;
8
- };
9
- declare const useSpreadCapability: () => {
10
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
11
- isLoading: boolean;
12
- ready: Promise<void>;
13
- };
14
- declare const useSpread: () => {
15
- provides: Readonly<_embedpdf_plugin_spread.SpreadCapability> | null;
16
- spreadMode: SpreadMode;
17
- };
18
-
19
- export { useSpread, useSpreadCapability, useSpreadPlugin };