@embedpdf/plugin-pan 2.0.0 → 2.0.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/svelte/hooks/use-pan.svelte.ts","../../src/svelte/components/PanMode.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { PanPlugin, initialDocumentState, PanScope } from '@embedpdf/plugin-pan';\n\nexport const usePanPlugin = () => usePlugin<PanPlugin>(PanPlugin.id);\nexport const usePanCapability = () => useCapability<PanPlugin>(PanPlugin.id);\n\n// Define the return type explicitly to maintain type safety\ninterface UsePanReturn {\n provides: PanScope | null;\n isPanning: boolean;\n}\n\n/**\n * Hook for pan state for a specific document\n * @param getDocumentId Function that returns the document ID\n */\nexport const usePan = (getDocumentId: () => string | null): UsePanReturn => {\n const capability = usePanCapability();\n\n let isPanning = $state(initialDocumentState.isPanMode);\n\n // Reactive documentId\n const documentId = $derived(getDocumentId());\n\n // Scoped capability for current docId\n const scopedProvides = $derived(\n capability.provides && documentId ? capability.provides.forDocument(documentId) : null,\n );\n\n $effect(() => {\n const provides = capability.provides;\n const docId = documentId;\n\n if (!provides || !docId) {\n isPanning = initialDocumentState.isPanMode;\n return;\n }\n\n const scope = provides.forDocument(docId);\n\n // Set initial state\n isPanning = scope.isPanMode();\n\n // Subscribe to pan mode changes for this document\n return scope.onPanModeChange((isPan) => {\n isPanning = isPan;\n });\n });\n\n return {\n get provides() {\n return scopedProvides;\n },\n get isPanning() {\n return isPanning;\n },\n };\n};\n","<script lang=\"ts\">\n import { usePanCapability, usePanPlugin } from '../hooks';\n\n const { provides: pan } = usePanCapability();\n const { plugin: panPlugin } = usePanPlugin();\n\n $effect(() => {\n if (!pan || !panPlugin) return;\n\n const mode = panPlugin.config?.defaultMode ?? 'never';\n const SUPPORT_TOUCH =\n typeof window !== 'undefined' && ('ontouchstart' in window || navigator.maxTouchPoints > 0);\n\n if (mode === 'mobile' && SUPPORT_TOUCH) {\n pan.makePanDefault();\n }\n });\n</script>\n\n<!-- This component is only used to make the pan mode default when the plugin is initialized. -->\n","import { createPluginPackage } from '@embedpdf/core';\nimport { PanPluginPackage as BasePanPackage } from '@embedpdf/plugin-pan';\n\nimport { PanMode } from './components';\n\nexport * from './hooks';\nexport * from './components';\nexport * from '@embedpdf/plugin-pan';\n\nexport const PanPluginPackage = createPluginPackage(BasePanPackage).addUtility(PanMode).build();\n"],"names":["usePanPlugin","usePlugin","PanPlugin","id","usePanCapability","useCapability","provides","pan","plugin","panPlugin","$","user_effect","mode","_a","config","defaultMode","SUPPORT_TOUCH","window","navigator","maxTouchPoints","makePanDefault","PanPluginPackage","createPluginPackage","BasePanPackage","addUtility","PanMode","build","getDocumentId","capability","isPanning","state","proxy","initialDocumentState","isPanMode","documentId","scopedProvides","derived","forDocument","docId","scope","onPanModeChange","isPan","set"],"mappings":"qiBAGaA,EAAA,IAAqBC,YAAqBC,EAAAA,UAAUC,IACpDC,EAAA,IAAyBC,gBAAyBH,EAAAA,UAAUC,uCCD/DG,SAAUC,GAAQH,KAClBI,OAAQC,GAAcT,IAE9BU,EAAAC,YAAO,WACA,IAAAJ,IAAQE,EAAS,OAEhB,MAAAG,GAAO,OAAAC,EAAAJ,EAAUK,aAAV,EAAAD,EAAkBE,cAAe,QACxCC,EACc,oBAAXC,SAA2B,iBAAkBA,QAAUC,UAAUC,eAAiB,GAE9E,WAATP,GAAqBI,GACvBT,EAAIa,0BAGV,CCRO,MAAMC,EAAmBC,EAAAA,oBAAoBC,EAAAA,kBAAgBC,WAAWC,GAASC,oEFOjEC,IACf,MAAAC,EAAaxB,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/svelte/hooks/use-pan.svelte.ts","../../src/svelte/components/PanMode.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { PanPlugin, initialDocumentState, PanScope } from '@embedpdf/plugin-pan';\n\nexport const usePanPlugin = () => usePlugin<PanPlugin>(PanPlugin.id);\nexport const usePanCapability = () => useCapability<PanPlugin>(PanPlugin.id);\n\n// Define the return type explicitly to maintain type safety\ninterface UsePanReturn {\n provides: PanScope | null;\n isPanning: boolean;\n}\n\n/**\n * Hook for pan state for a specific document\n * @param getDocumentId Function that returns the document ID\n */\nexport const usePan = (getDocumentId: () => string | null): UsePanReturn => {\n const capability = usePanCapability();\n\n let isPanning = $state(initialDocumentState.isPanMode);\n\n // Reactive documentId\n const documentId = $derived(getDocumentId());\n\n // Scoped capability for current docId\n const scopedProvides = $derived(\n capability.provides && documentId ? capability.provides.forDocument(documentId) : null,\n );\n\n $effect(() => {\n const provides = capability.provides;\n const docId = documentId;\n\n if (!provides || !docId) {\n isPanning = initialDocumentState.isPanMode;\n return;\n }\n\n const scope = provides.forDocument(docId);\n\n // Set initial state\n isPanning = scope.isPanMode();\n\n // Subscribe to pan mode changes for this document\n return scope.onPanModeChange((isPan) => {\n isPanning = isPan;\n });\n });\n\n return {\n get provides() {\n return scopedProvides;\n },\n get isPanning() {\n return isPanning;\n },\n };\n};\n","<script lang=\"ts\">\n import { usePanCapability, usePanPlugin } from '../hooks';\n\n const { provides: pan } = usePanCapability();\n const { plugin: panPlugin } = usePanPlugin();\n\n $effect(() => {\n if (!pan || !panPlugin) return;\n\n const mode = panPlugin.config?.defaultMode ?? 'never';\n const SUPPORT_TOUCH =\n typeof window !== 'undefined' && ('ontouchstart' in window || navigator.maxTouchPoints > 0);\n\n if (mode === 'mobile' && SUPPORT_TOUCH) {\n pan.makePanDefault();\n }\n });\n</script>\n\n<!-- This component is only used to make the pan mode default when the plugin is initialized. -->\n","import { createPluginPackage } from '@embedpdf/core';\nimport { PanPluginPackage as BasePanPackage } from '@embedpdf/plugin-pan';\n\nimport { PanMode } from './components';\n\nexport * from './hooks';\nexport * from './components';\nexport * from '@embedpdf/plugin-pan';\n\nexport const PanPluginPackage = createPluginPackage(BasePanPackage).addUtility(PanMode).build();\n"],"names":["usePanPlugin","usePlugin","PanPlugin","id","usePanCapability","useCapability","provides","pan","plugin","panPlugin","$","user_effect","mode","_a","config","defaultMode","SUPPORT_TOUCH","window","navigator","maxTouchPoints","makePanDefault","PanPluginPackage","createPluginPackage","BasePanPackage","addUtility","PanMode","build","getDocumentId","capability","isPanning","state","proxy","initialDocumentState","isPanMode","documentId","scopedProvides","derived","forDocument","docId","scope","onPanModeChange","isPan","set"],"mappings":"qiBAGaA,EAAA,IAAqBC,YAAqBC,EAAAA,UAAUC,IACpDC,EAAA,IAAyBC,gBAAyBH,EAAAA,UAAUC,uCCD/DG,SAAUC,GAAQH,KAClBI,OAAQC,GAAcT,IAE9BU,EAAAC,YAAO,WACA,IAAAJ,IAAQE,EAAS,OAEhB,MAAAG,GAAO,OAAAC,EAAAJ,EAAUK,aAAV,EAAAD,EAAkBE,cAAe,QACxCC,EACc,oBAAXC,SAA2B,iBAAkBA,QAAUC,UAAUC,eAAiB,GAE9E,WAATP,GAAqBI,GACvBT,EAAIa,0BAGV,CCRO,MAAMC,EAAmBC,EAAAA,oBAAoBC,EAAAA,kBAAgBC,WAAWC,GAASC,oEFOjEC,IACf,MAAAC,EAAaxB,IAEf,IAAAyB,EAAYnB,EAAAoB,MAAApB,EAAAqB,MAAOC,EAAAA,qBAAqBC,YAGtC,MAAAC,YAAsBP,GAGtBQ,EAAAzB,EAAA0B,QAAA,IACJR,EAAWtB,gBAAY4B,GAAaN,EAAWtB,SAAS+B,kBAAYH,IAAc,aAGpFxB,EAAAC,uBACQL,EAAWsB,EAAWtB,SACtBgC,QAAQJ,OAET5B,IAAagC,oBAChBT,EAAYG,EAAAA,qBAAqBC,WAAA,GAI7B,MAAAM,EAAQjC,EAAS+B,YAAYC,GAM5B,aAHPT,EAAYU,EAAMN,aAAA,GAGXM,EAAMC,gBAAiBC,IAC5B/B,EAAAgC,IAAAb,EAAYY,GAAA,QAKV,YAAAnC,gBACK6B,EACT,EACI,aAAAN,gBACKA,EACT"}
|
package/dist/svelte/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/svelte/hooks/use-pan.svelte.ts","../../src/svelte/components/PanMode.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { PanPlugin, initialDocumentState, PanScope } from '@embedpdf/plugin-pan';\n\nexport const usePanPlugin = () => usePlugin<PanPlugin>(PanPlugin.id);\nexport const usePanCapability = () => useCapability<PanPlugin>(PanPlugin.id);\n\n// Define the return type explicitly to maintain type safety\ninterface UsePanReturn {\n provides: PanScope | null;\n isPanning: boolean;\n}\n\n/**\n * Hook for pan state for a specific document\n * @param getDocumentId Function that returns the document ID\n */\nexport const usePan = (getDocumentId: () => string | null): UsePanReturn => {\n const capability = usePanCapability();\n\n let isPanning = $state(initialDocumentState.isPanMode);\n\n // Reactive documentId\n const documentId = $derived(getDocumentId());\n\n // Scoped capability for current docId\n const scopedProvides = $derived(\n capability.provides && documentId ? capability.provides.forDocument(documentId) : null,\n );\n\n $effect(() => {\n const provides = capability.provides;\n const docId = documentId;\n\n if (!provides || !docId) {\n isPanning = initialDocumentState.isPanMode;\n return;\n }\n\n const scope = provides.forDocument(docId);\n\n // Set initial state\n isPanning = scope.isPanMode();\n\n // Subscribe to pan mode changes for this document\n return scope.onPanModeChange((isPan) => {\n isPanning = isPan;\n });\n });\n\n return {\n get provides() {\n return scopedProvides;\n },\n get isPanning() {\n return isPanning;\n },\n };\n};\n","<script lang=\"ts\">\n import { usePanCapability, usePanPlugin } from '../hooks';\n\n const { provides: pan } = usePanCapability();\n const { plugin: panPlugin } = usePanPlugin();\n\n $effect(() => {\n if (!pan || !panPlugin) return;\n\n const mode = panPlugin.config?.defaultMode ?? 'never';\n const SUPPORT_TOUCH =\n typeof window !== 'undefined' && ('ontouchstart' in window || navigator.maxTouchPoints > 0);\n\n if (mode === 'mobile' && SUPPORT_TOUCH) {\n pan.makePanDefault();\n }\n });\n</script>\n\n<!-- This component is only used to make the pan mode default when the plugin is initialized. -->\n","import { createPluginPackage } from '@embedpdf/core';\nimport { PanPluginPackage as BasePanPackage } from '@embedpdf/plugin-pan';\n\nimport { PanMode } from './components';\n\nexport * from './hooks';\nexport * from './components';\nexport * from '@embedpdf/plugin-pan';\n\nexport const PanPluginPackage = createPluginPackage(BasePanPackage).addUtility(PanMode).build();\n"],"names":["BasePanPackage"],"mappings":";;;;;;AAGa,MAAA,eAAA,MAAqB,UAAqB,UAAU,EAAE;AACtD,MAAA,mBAAA,MAAyB,cAAyB,UAAU,EAAE;MAY9D,SAAA,CAAU,kBAAqD;AACpE,QAAA,aAAa,iBAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/svelte/hooks/use-pan.svelte.ts","../../src/svelte/components/PanMode.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { PanPlugin, initialDocumentState, PanScope } from '@embedpdf/plugin-pan';\n\nexport const usePanPlugin = () => usePlugin<PanPlugin>(PanPlugin.id);\nexport const usePanCapability = () => useCapability<PanPlugin>(PanPlugin.id);\n\n// Define the return type explicitly to maintain type safety\ninterface UsePanReturn {\n provides: PanScope | null;\n isPanning: boolean;\n}\n\n/**\n * Hook for pan state for a specific document\n * @param getDocumentId Function that returns the document ID\n */\nexport const usePan = (getDocumentId: () => string | null): UsePanReturn => {\n const capability = usePanCapability();\n\n let isPanning = $state(initialDocumentState.isPanMode);\n\n // Reactive documentId\n const documentId = $derived(getDocumentId());\n\n // Scoped capability for current docId\n const scopedProvides = $derived(\n capability.provides && documentId ? capability.provides.forDocument(documentId) : null,\n );\n\n $effect(() => {\n const provides = capability.provides;\n const docId = documentId;\n\n if (!provides || !docId) {\n isPanning = initialDocumentState.isPanMode;\n return;\n }\n\n const scope = provides.forDocument(docId);\n\n // Set initial state\n isPanning = scope.isPanMode();\n\n // Subscribe to pan mode changes for this document\n return scope.onPanModeChange((isPan) => {\n isPanning = isPan;\n });\n });\n\n return {\n get provides() {\n return scopedProvides;\n },\n get isPanning() {\n return isPanning;\n },\n };\n};\n","<script lang=\"ts\">\n import { usePanCapability, usePanPlugin } from '../hooks';\n\n const { provides: pan } = usePanCapability();\n const { plugin: panPlugin } = usePanPlugin();\n\n $effect(() => {\n if (!pan || !panPlugin) return;\n\n const mode = panPlugin.config?.defaultMode ?? 'never';\n const SUPPORT_TOUCH =\n typeof window !== 'undefined' && ('ontouchstart' in window || navigator.maxTouchPoints > 0);\n\n if (mode === 'mobile' && SUPPORT_TOUCH) {\n pan.makePanDefault();\n }\n });\n</script>\n\n<!-- This component is only used to make the pan mode default when the plugin is initialized. -->\n","import { createPluginPackage } from '@embedpdf/core';\nimport { PanPluginPackage as BasePanPackage } from '@embedpdf/plugin-pan';\n\nimport { PanMode } from './components';\n\nexport * from './hooks';\nexport * from './components';\nexport * from '@embedpdf/plugin-pan';\n\nexport const PanPluginPackage = createPluginPackage(BasePanPackage).addUtility(PanMode).build();\n"],"names":["BasePanPackage"],"mappings":";;;;;;AAGa,MAAA,eAAA,MAAqB,UAAqB,UAAU,EAAE;AACtD,MAAA,mBAAA,MAAyB,cAAyB,UAAU,EAAE;MAY9D,SAAA,CAAU,kBAAqD;AACpE,QAAA,aAAa,iBAAA;AAEf,MAAA,YAAY,EAAA,MAAA,EAAA,MAAO,qBAAqB,SAAS,CAAA;AAG/C,QAAA,uBAAsB,aAAA;AAGtB,QAAA,iBAAA,EAAA,QAAA,MACJ,WAAW,kBAAY,UAAA,IAAa,WAAW,SAAS,kBAAY,UAAU,CAAA,IAAI,IAAA;AAGpF,IAAA,kBAAc;UACN,WAAW,WAAW;AACtB,UAAA,cAAQ,UAAA;SAET,YAAA,CAAa,OAAO;YACvB,WAAY,qBAAqB,WAAA,IAAA;;IAEnC;AAEM,UAAA,QAAQ,SAAS,YAAY,KAAK;UAGxC,WAAY,MAAM,UAAA,GAAA,IAAA;AAGX,WAAA,MAAM,gBAAA,CAAiB,UAAU;AACtC,QAAA,IAAA,WAAY,OAAA,IAAA;AAAA,IACd,CAAC;AAAA,EACH,CAAC;;IAGK,IAAA,WAAW;mBACN,cAAA;AAAA,IACT;AAAA,IACI,IAAA,YAAY;mBACP,SAAA;AAAA,IACT;AAAA;AAEJ;oCCzDA;;UAGU,UAAU,IAAG,IAAK,iBAAgB;UAClC,QAAQ,UAAS,IAAK,aAAY;AAE1C,IAAA,YAAO,MAAO;;AACP,QAAA,CAAA,QAAQ,UAAS;AAEhB,UAAA,SAAO,eAAU,WAAV,mBAAkB,gBAAe;AACxC,UAAA,gBAAa,OACV,WAAW,gBAAgB,kBAAkB,UAAU,UAAU,iBAAiB;AAEvF,QAAA,SAAS,YAAY,eAAe;AACtC,UAAI,eAAc;AAAA,IACpB;AAAA,EACF,CAAC;;AACH;ACRO,MAAM,mBAAmB,oBAAoBA,kBAAc,EAAE,WAAW,OAAO,EAAE,MAAA;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@embedpdf/plugin-pan",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@embedpdf/models": "2.0.
|
|
37
|
+
"@embedpdf/models": "2.0.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/react": "^18.2.0",
|
|
41
41
|
"typescript": "^5.0.0",
|
|
42
42
|
"@embedpdf/build": "1.1.0",
|
|
43
|
-
"@embedpdf/plugin-interaction-manager": "2.0.
|
|
44
|
-
"@embedpdf/plugin-viewport": "2.0.
|
|
43
|
+
"@embedpdf/plugin-interaction-manager": "2.0.1",
|
|
44
|
+
"@embedpdf/plugin-viewport": "2.0.1"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"react": ">=16.8.0",
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
"preact": "^10.26.4",
|
|
50
50
|
"vue": ">=3.2.0",
|
|
51
51
|
"svelte": ">=5 <6",
|
|
52
|
-
"@embedpdf/core": "2.0.
|
|
53
|
-
"@embedpdf/plugin-
|
|
54
|
-
"@embedpdf/plugin-
|
|
52
|
+
"@embedpdf/core": "2.0.1",
|
|
53
|
+
"@embedpdf/plugin-viewport": "2.0.1",
|
|
54
|
+
"@embedpdf/plugin-interaction-manager": "2.0.1"
|
|
55
55
|
},
|
|
56
56
|
"files": [
|
|
57
57
|
"dist",
|