@embedpdf/plugin-spread 1.0.20 → 1.0.21
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 +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/preact/index.cjs +1 -1
- package/dist/preact/index.js +1 -0
- package/dist/preact/index.js.map +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/shared-preact/index.d.ts +1 -0
- package/dist/shared-react/index.d.ts +1 -0
- package/dist/vue/hooks/index.d.ts +1 -0
- package/dist/vue/hooks/use-spread.d.ts +7 -0
- package/dist/vue/index.cjs +2 -0
- package/dist/vue/index.cjs.map +1 -0
- package/dist/vue/index.d.ts +2 -0
- package/dist/vue/index.js +39 -0
- package/dist/vue/index.js.map +1 -0
- package/package.json +14 -7
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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.
|
|
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.createBehaviorEmitter(),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)=>new d(o,e,t),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
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 {
|
|
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 {\n BasePlugin,\n createBehaviorEmitter,\n createEmitter,\n PluginRegistry,\n setPages,\n} 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$ = createBehaviorEmitter<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, 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$","createBehaviorEmitter","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","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,CCHO,MAAMG,EAAN,cAA2BC,EAAAA,WAUhC,WAAAC,CAAYC,EAAYC,EAA0BC,GAChDC,MAAMH,EAAIC,GAHKG,KAAAC,eAAiBC,0BAIhCF,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,ECVA,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,EAAUgB,IAAW,IAAIgC,EAAaC,EAAkBjD,EAAUgB,GAC3E4C,QDPsE,CACtErC,EAAQkC,EACRI,IAEQA,EAAOnE,OACRH,EACI,IACFgC,EACHC,WAAYqC,EAAOlE,SAGd4B,ECHXkC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BasePlugin,
|
|
1
|
+
import { BasePlugin, createBehaviorEmitter, setPages } from "@embedpdf/core";
|
|
2
2
|
var SpreadMode = /* @__PURE__ */ ((SpreadMode2) => {
|
|
3
3
|
SpreadMode2["None"] = "none";
|
|
4
4
|
SpreadMode2["Odd"] = "odd";
|
|
@@ -15,7 +15,7 @@ function setSpreadMode(mode) {
|
|
|
15
15
|
const _SpreadPlugin = class _SpreadPlugin extends BasePlugin {
|
|
16
16
|
constructor(id, registry, cfg) {
|
|
17
17
|
super(id, registry);
|
|
18
|
-
this.spreadEmitter$ =
|
|
18
|
+
this.spreadEmitter$ = createBehaviorEmitter();
|
|
19
19
|
this.resetReady();
|
|
20
20
|
this.dispatch(setSpreadMode(cfg.defaultSpreadMode ?? SpreadMode.None));
|
|
21
21
|
const loaderPlugin = registry.getPlugin("loader");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 {
|
|
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 {\n BasePlugin,\n createBehaviorEmitter,\n createEmitter,\n PluginRegistry,\n setPages,\n} 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$ = createBehaviorEmitter<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, 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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"}
|
package/dist/preact/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/preact"),r=require("@embedpdf/plugin-spread");require("preact");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/preact"),r=require("@embedpdf/plugin-spread");require("preact");const t=require("preact/hooks"),p=()=>e.useCapability(r.SpreadPlugin.id);exports.useSpread=()=>{const{provides:e}=p(),[o,a]=t.useState(r.SpreadMode.None);return t.useEffect((()=>null==e?void 0:e.onSpreadChange((e=>{a(e)}))),[e]),{provides:e,spreadMode:o}},exports.useSpreadCapability=p,exports.useSpreadPlugin=()=>e.usePlugin(r.SpreadPlugin.id),Object.keys(r).forEach((e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>r[e]})}));
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/preact/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { usePlugin, useCapability } from "@embedpdf/core/preact";
|
|
2
2
|
import { SpreadPlugin, SpreadMode } from "@embedpdf/plugin-spread";
|
|
3
|
+
export * from "@embedpdf/plugin-spread";
|
|
3
4
|
import "preact";
|
|
4
5
|
import { useState, useEffect } from "preact/hooks";
|
|
5
6
|
const useSpreadPlugin = () => usePlugin(SpreadPlugin.id);
|
package/dist/preact/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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;"}
|
package/dist/react/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/react"),r=require("@embedpdf/plugin-spread"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/react"),r=require("@embedpdf/plugin-spread"),t=require("react"),p=()=>e.useCapability(r.SpreadPlugin.id);exports.useSpread=()=>{const{provides:e}=p(),[o,a]=t.useState(r.SpreadMode.None);return t.useEffect((()=>null==e?void 0:e.onSpreadChange((e=>{a(e)}))),[e]),{provides:e,spreadMode:o}},exports.useSpreadCapability=p,exports.useSpreadPlugin=()=>e.usePlugin(r.SpreadPlugin.id),Object.keys(r).forEach((e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>r[e]})}));
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/react/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { usePlugin, useCapability } from "@embedpdf/core/react";
|
|
2
2
|
import { SpreadPlugin, SpreadMode } from "@embedpdf/plugin-spread";
|
|
3
|
+
export * from "@embedpdf/plugin-spread";
|
|
3
4
|
import { useState, useEffect } from "react";
|
|
4
5
|
const useSpreadPlugin = () => usePlugin(SpreadPlugin.id);
|
|
5
6
|
const useSpreadCapability = () => useCapability(SpreadPlugin.id);
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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,7 @@
|
|
|
1
|
+
import { SpreadMode, SpreadPlugin } from '../../lib/index.ts';
|
|
2
|
+
export declare const useSpreadPlugin: () => import('@embedpdf/core/vue').PluginState<SpreadPlugin>;
|
|
3
|
+
export declare const useSpreadCapability: () => import('@embedpdf/core/vue').CapabilityState<Readonly<import('../../lib/index.ts').SpreadCapability>>;
|
|
4
|
+
export declare const useSpread: () => {
|
|
5
|
+
provides: import('vue').Ref<Readonly<import('../../lib/index.ts').SpreadCapability> | null, Readonly<import('../../lib/index.ts').SpreadCapability> | null>;
|
|
6
|
+
spreadMode: import('vue').Ref<SpreadMode, SpreadMode>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("@embedpdf/core/vue"),t=require("@embedpdf/plugin-spread"),o=()=>r.useCapability(t.SpreadPlugin.id);exports.useSpread=()=>{const{provides:r}=o(),p=e.ref(t.SpreadMode.None);let u=null;return e.watchEffect((()=>{const e=r.value;u&&(u(),u=null),e&&(p.value=e.getSpreadMode(),u=e.onSpreadChange((e=>{p.value=e})))})),e.onUnmounted((()=>{u&&u()})),{provides:r,spreadMode:p}},exports.useSpreadCapability=o,exports.useSpreadPlugin=()=>r.usePlugin(t.SpreadPlugin.id),Object.keys(t).forEach((e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})}));
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/vue/hooks/use-spread.ts"],"sourcesContent":["import { ref, watchEffect, onUnmounted } from 'vue';\nimport { useCapability, usePlugin } from '@embedpdf/core/vue';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProviderRef } = useSpreadCapability();\n const spreadMode = ref<SpreadMode>(SpreadMode.None);\n\n let unsubscribe: (() => void) | null = null;\n\n watchEffect(() => {\n const spreadProvider = spreadProviderRef.value;\n\n // Clean up previous subscription if it exists\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = null;\n }\n\n if (spreadProvider) {\n // Set initial spread mode\n spreadMode.value = spreadProvider.getSpreadMode();\n\n // Subscribe to spread mode changes\n unsubscribe = spreadProvider.onSpreadChange((newSpreadMode) => {\n spreadMode.value = newSpreadMode;\n });\n }\n });\n\n // Clean up on unmount\n onUnmounted(() => {\n if (unsubscribe) {\n unsubscribe();\n }\n });\n\n return {\n provides: spreadProviderRef,\n spreadMode,\n };\n};\n"],"names":["useSpreadCapability","useCapability","SpreadPlugin","id","provides","spreadProviderRef","spreadMode","ref","SpreadMode","None","unsubscribe","watchEffect","spreadProvider","value","getSpreadMode","onSpreadChange","newSpreadMode","onUnmounted","usePlugin"],"mappings":"4KAKaA,EAAsB,IAAMC,gBAA4BC,EAAAA,aAAaC,sBAEzD,KACvB,MAAQC,SAAUC,GAAsBL,IAClCM,EAAaC,EAAAA,IAAgBC,EAAAA,WAAWC,MAE9C,IAAIC,EAAmC,KA6BhC,OA3BPC,EAAAA,aAAY,KACV,MAAMC,EAAiBP,EAAkBQ,MAGrCH,IACUA,IACEA,EAAA,MAGZE,IAESN,EAAAO,MAAQD,EAAeE,gBAGpBJ,EAAAE,EAAeG,gBAAgBC,IAC3CV,EAAWO,MAAQG,CAAA,IACpB,IAKLC,EAAAA,aAAY,KACNP,GACUA,GAAA,IAIT,CACLN,SAAUC,EACVC,aACF,wDAvC6B,IAAMY,YAAwBhB,EAAAA,aAAaC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ref, watchEffect, onUnmounted } from "vue";
|
|
2
|
+
import { usePlugin, useCapability } from "@embedpdf/core/vue";
|
|
3
|
+
import { SpreadPlugin, SpreadMode } from "@embedpdf/plugin-spread";
|
|
4
|
+
export * from "@embedpdf/plugin-spread";
|
|
5
|
+
const useSpreadPlugin = () => usePlugin(SpreadPlugin.id);
|
|
6
|
+
const useSpreadCapability = () => useCapability(SpreadPlugin.id);
|
|
7
|
+
const useSpread = () => {
|
|
8
|
+
const { provides: spreadProviderRef } = useSpreadCapability();
|
|
9
|
+
const spreadMode = ref(SpreadMode.None);
|
|
10
|
+
let unsubscribe = null;
|
|
11
|
+
watchEffect(() => {
|
|
12
|
+
const spreadProvider = spreadProviderRef.value;
|
|
13
|
+
if (unsubscribe) {
|
|
14
|
+
unsubscribe();
|
|
15
|
+
unsubscribe = null;
|
|
16
|
+
}
|
|
17
|
+
if (spreadProvider) {
|
|
18
|
+
spreadMode.value = spreadProvider.getSpreadMode();
|
|
19
|
+
unsubscribe = spreadProvider.onSpreadChange((newSpreadMode) => {
|
|
20
|
+
spreadMode.value = newSpreadMode;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
onUnmounted(() => {
|
|
25
|
+
if (unsubscribe) {
|
|
26
|
+
unsubscribe();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
provides: spreadProviderRef,
|
|
31
|
+
spreadMode
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
useSpread,
|
|
36
|
+
useSpreadCapability,
|
|
37
|
+
useSpreadPlugin
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/vue/hooks/use-spread.ts"],"sourcesContent":["import { ref, watchEffect, onUnmounted } from 'vue';\nimport { useCapability, usePlugin } from '@embedpdf/core/vue';\nimport { SpreadMode, SpreadPlugin } from '@embedpdf/plugin-spread';\n\nexport const useSpreadPlugin = () => usePlugin<SpreadPlugin>(SpreadPlugin.id);\nexport const useSpreadCapability = () => useCapability<SpreadPlugin>(SpreadPlugin.id);\n\nexport const useSpread = () => {\n const { provides: spreadProviderRef } = useSpreadCapability();\n const spreadMode = ref<SpreadMode>(SpreadMode.None);\n\n let unsubscribe: (() => void) | null = null;\n\n watchEffect(() => {\n const spreadProvider = spreadProviderRef.value;\n\n // Clean up previous subscription if it exists\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = null;\n }\n\n if (spreadProvider) {\n // Set initial spread mode\n spreadMode.value = spreadProvider.getSpreadMode();\n\n // Subscribe to spread mode changes\n unsubscribe = spreadProvider.onSpreadChange((newSpreadMode) => {\n spreadMode.value = newSpreadMode;\n });\n }\n });\n\n // Clean up on unmount\n onUnmounted(() => {\n if (unsubscribe) {\n unsubscribe();\n }\n });\n\n return {\n provides: spreadProviderRef,\n spreadMode,\n };\n};\n"],"names":[],"mappings":";;;;AAIO,MAAM,kBAAkB,MAAM,UAAwB,aAAa,EAAE;AACrE,MAAM,sBAAsB,MAAM,cAA4B,aAAa,EAAE;AAE7E,MAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,UAAU,kBAAkB,IAAI,oBAAoB;AACtD,QAAA,aAAa,IAAgB,WAAW,IAAI;AAElD,MAAI,cAAmC;AAEvC,cAAY,MAAM;AAChB,UAAM,iBAAiB,kBAAkB;AAGzC,QAAI,aAAa;AACH,kBAAA;AACE,oBAAA;AAAA,IAAA;AAGhB,QAAI,gBAAgB;AAEP,iBAAA,QAAQ,eAAe,cAAc;AAGlC,oBAAA,eAAe,eAAe,CAAC,kBAAkB;AAC7D,mBAAW,QAAQ;AAAA,MAAA,CACpB;AAAA,IAAA;AAAA,EACH,CACD;AAGD,cAAY,MAAM;AAChB,QAAI,aAAa;AACH,kBAAA;AAAA,IAAA;AAAA,EACd,CACD;AAEM,SAAA;AAAA,IACL,UAAU;AAAA,IACV;AAAA,EACF;AACF;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@embedpdf/plugin-spread",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -20,24 +20,30 @@
|
|
|
20
20
|
"types": "./dist/react/index.d.ts",
|
|
21
21
|
"import": "./dist/react/index.js",
|
|
22
22
|
"require": "./dist/react/index.cjs"
|
|
23
|
+
},
|
|
24
|
+
"./vue": {
|
|
25
|
+
"types": "./dist/vue/index.d.ts",
|
|
26
|
+
"import": "./dist/vue/index.js",
|
|
27
|
+
"require": "./dist/vue/index.cjs"
|
|
23
28
|
}
|
|
24
29
|
},
|
|
25
30
|
"dependencies": {
|
|
26
|
-
"@embedpdf/models": "1.0.
|
|
31
|
+
"@embedpdf/models": "1.0.21"
|
|
27
32
|
},
|
|
28
33
|
"devDependencies": {
|
|
29
34
|
"@types/react": "^18.2.0",
|
|
30
35
|
"typescript": "^5.0.0",
|
|
31
36
|
"@embedpdf/build": "1.0.0",
|
|
32
|
-
"@embedpdf/core": "1.0.
|
|
33
|
-
"@embedpdf/plugin-loader": "1.0.
|
|
37
|
+
"@embedpdf/core": "1.0.21",
|
|
38
|
+
"@embedpdf/plugin-loader": "1.0.21"
|
|
34
39
|
},
|
|
35
40
|
"peerDependencies": {
|
|
36
41
|
"react": ">=16.8.0",
|
|
37
42
|
"react-dom": ">=16.8.0",
|
|
38
43
|
"preact": "^10.26.4",
|
|
39
|
-
"
|
|
40
|
-
"@embedpdf/
|
|
44
|
+
"vue": ">=3.2.0",
|
|
45
|
+
"@embedpdf/core": "1.0.21",
|
|
46
|
+
"@embedpdf/plugin-loader": "1.0.21"
|
|
41
47
|
},
|
|
42
48
|
"files": [
|
|
43
49
|
"dist",
|
|
@@ -59,7 +65,8 @@
|
|
|
59
65
|
"build:base": "vite build --mode base",
|
|
60
66
|
"build:react": "vite build --mode react",
|
|
61
67
|
"build:preact": "vite build --mode preact",
|
|
62
|
-
"build": "
|
|
68
|
+
"build:vue": "vite build --mode vue",
|
|
69
|
+
"build": "pnpm run clean && concurrently -c auto -n base,react,preact,vue \"vite build --mode base\" \"vite build --mode react\" \"vite build --mode preact\" \"vite build --mode vue\"",
|
|
63
70
|
"clean": "rimraf dist",
|
|
64
71
|
"lint": "eslint src --color",
|
|
65
72
|
"lint:fix": "eslint src --color --fix"
|