@embedpdf/plugin-fullscreen 1.4.0 → 1.4.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.
@@ -11,5 +11,5 @@ export declare const useFullscreenCapability: () => {
11
11
  };
12
12
  export declare const useFullscreen: () => {
13
13
  readonly provides: Readonly<import('../../lib/index.ts').FullscreenCapability> | null;
14
- readonly state: FullscreenState;
14
+ state: FullscreenState;
15
15
  };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core"),t=require("@embedpdf/plugin-fullscreen");require("svelte/internal/disclose-version");const r=require("svelte/internal/client"),n=require("@embedpdf/core/svelte");function l(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const s=l(r),u=()=>n.usePlugin(t.FullscreenPlugin.id),c=()=>n.useCapability(t.FullscreenPlugin.id);var i=s.from_html("<div><!></div>");function o(e,t){s.push(t,!0);const{provides:r}=c(),{plugin:n}=u();let l;s.user_effect((()=>{if(!r)return;return r.onRequest((async e=>{if("enter"===e){const e=l;e&&!document.fullscreenElement&&await e.requestFullscreen()}else document.fullscreenElement&&await document.exitFullscreen()}))})),s.user_effect((()=>{if(!n)return;const e=()=>{n.setFullscreenState(!!document.fullscreenElement)};return document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)}));var o=i(),a=s.child(o);s.snippet(a,(()=>t.children)),s.reset(o),s.bind_this(o,(e=>l=e),(()=>l)),s.template_effect((()=>{s.set_class(o,1,s.clsx(t.class)),s.set_style(o,`position: relative; width: 100%; height: 100%; ${(t.style||"")??""}`)})),s.append(e,o),s.pop()}const a=e.createPluginPackage(t.FullscreenPluginPackage).addWrapper(o).build();exports.FullscreenPluginPackage=a,exports.FullscreenProvider=o,exports.useFullscreen=()=>{const e=s.derived(c),r=s.derived((()=>s.get(e).provides)),n=s.proxy(t.initialState);return s.user_effect((()=>{if(s.get(r))return s.get(r).onStateChange((e=>{n.isFullscreen=e.isFullscreen}))})),{get provides(){return s.get(r)},get state(){return n}}},exports.useFullscreenCapability=c,exports.useFullscreenPlugin=u,Object.keys(t).forEach((e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})}));
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core"),t=require("@embedpdf/plugin-fullscreen");require("svelte/internal/disclose-version");const r=require("svelte/internal/client"),n=require("@embedpdf/core/svelte");function l(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const s=l(r),u=()=>n.usePlugin(t.FullscreenPlugin.id),i=()=>n.useCapability(t.FullscreenPlugin.id);var c=s.from_html("<div><!></div>");function o(e,t){s.push(t,!0);const r=i(),n=u();let l;s.user_effect((()=>{if(!r.provides)return;return r.provides.onRequest((async e=>{if("enter"===e){const e=l;e&&!document.fullscreenElement&&await e.requestFullscreen()}else document.fullscreenElement&&await document.exitFullscreen()}))})),s.user_effect((()=>{if(!n.plugin)return;const e=()=>{n.plugin.setFullscreenState(!!document.fullscreenElement)};return document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)}));var o=c(),a=s.child(o);s.snippet(a,(()=>t.children)),s.reset(o),s.bind_this(o,(e=>l=e),(()=>l)),s.template_effect((()=>{s.set_class(o,1,s.clsx(t.class)),s.set_style(o,`position: relative; width: 100%; height: 100%; ${(t.style||"")??""}`)})),s.append(e,o),s.pop()}const a=e.createPluginPackage(t.FullscreenPluginPackage).addWrapper(o).build();exports.FullscreenPluginPackage=a,exports.FullscreenProvider=o,exports.useFullscreen=()=>{const e=i(),r=s.proxy({get provides(){return e.provides},state:t.initialState});return s.user_effect((()=>{if(e.provides)return e.provides.onStateChange((e=>{r.state=e}))})),r},exports.useFullscreenCapability=i,exports.useFullscreenPlugin=u,Object.keys(t).forEach((e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})}));
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/svelte/hooks/use-fullscreen.svelte.ts","../../src/svelte/components/FullscreenProvider.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { FullscreenPlugin, FullscreenState, initialState } from '@embedpdf/plugin-fullscreen';\n\nexport const useFullscreenPlugin = () => usePlugin<FullscreenPlugin>(FullscreenPlugin.id);\nexport const useFullscreenCapability = () => useCapability<FullscreenPlugin>(FullscreenPlugin.id);\n\nexport const useFullscreen = () => {\n const { provides } = $derived(useFullscreenCapability());\n const state = $state<FullscreenState>(initialState);\n\n $effect(() => {\n if (!provides) return;\n return provides.onStateChange((newState) => {\n state.isFullscreen = newState.isFullscreen;\n });\n });\n\n return {\n get provides() {\n return provides;\n },\n get state() {\n return state;\n },\n };\n};\n","<script lang=\"ts\">\n import type { Snippet } from 'svelte';\n import { useFullscreenPlugin, useFullscreenCapability } from '../hooks';\n\n interface Props {\n children: Snippet;\n class?: string;\n style?: string;\n }\n\n const { children, class: className, style }: Props = $props();\n\n const { provides: fullscreenCapability } = useFullscreenCapability();\n const { plugin } = useFullscreenPlugin();\n\n let containerElement: HTMLDivElement | undefined;\n\n // Handle fullscreen requests\n $effect(() => {\n if (!fullscreenCapability) return;\n\n const unsub = fullscreenCapability.onRequest(async (action) => {\n if (action === 'enter') {\n const el = containerElement;\n if (el && !document.fullscreenElement) {\n await el.requestFullscreen();\n }\n } else {\n if (document.fullscreenElement) {\n await document.exitFullscreen();\n }\n }\n });\n\n return unsub;\n });\n\n // Listen for fullscreen changes\n $effect(() => {\n if (!plugin) return;\n\n const handler = () => {\n plugin.setFullscreenState(!!document.fullscreenElement);\n };\n\n document.addEventListener('fullscreenchange', handler);\n return () => document.removeEventListener('fullscreenchange', handler);\n });\n</script>\n\n<div\n bind:this={containerElement}\n class={className}\n style=\"position: relative; width: 100%; height: 100%; {style || ''}\"\n>\n {@render children()}\n</div>\n","import { createPluginPackage } from '@embedpdf/core';\nimport { FullscreenPluginPackage as BaseFullscreenPackage } from '@embedpdf/plugin-fullscreen';\nimport { FullscreenProvider } from './components';\n\nexport * from './hooks';\nexport * from './components';\n\nexport * from '@embedpdf/plugin-fullscreen';\n\nexport const FullscreenPluginPackage = createPluginPackage(BaseFullscreenPackage)\n .addWrapper(FullscreenProvider)\n .build();\n"],"names":["useFullscreenPlugin","usePlugin","FullscreenPlugin","id","useFullscreenCapability","useCapability","provides","fullscreenCapability","plugin","containerElement","$","user_effect","onRequest","async","action","el","document","fullscreenElement","requestFullscreen","exitFullscreen","handler","setFullscreenState","addEventListener","removeEventListener","bind_this","div","$$value","FullscreenPluginPackage","createPluginPackage","BaseFullscreenPackage","addWrapper","FullscreenProvider","build","state","initialState","get","onStateChange","newState","isFullscreen"],"mappings":"4iBAGaA,EAA4B,IAAAC,YAA4BC,EAAAA,iBAAiBC,IACzEC,EAAgC,IAAAC,gBAAgCH,EAAAA,iBAAiBC,2ECQpFG,SAAUC,GAAyBH,KACnCI,OAAAA,GAAWR,IAEf,IAAAS,EAGJC,EAAAC,aAAc,SACPJ,EAAoB,OAelB,OAbOA,EAAqBK,WAASC,MAAQC,OACnC,UAAXA,EAAoB,CAChB,MAAAC,EAAKN,EACPM,IAAOC,SAASC,yBACZF,EAAGG,mBAEb,MACMF,SAASC,yBACLD,SAASG,gBAEnB,GAGK,IAITT,EAAAC,aAAc,SACPH,EAAM,OAEL,MAAAY,EAAgB,KACpBZ,EAAOa,qBAAqBL,SAASC,kBAAiB,EAI3C,OADJD,SAAAM,iBAAiB,mBAAoBF,GACjC,IAAAJ,SAASO,oBAAoB,mBAAoBH,EAAO,oEAK5DV,EAAAc,UAAAC,GAAAC,GAAAjB,UAAAA,uIAEqD,KAAE,KAAA,yBALpE,CCvCO,MAAMkB,EAA0BC,EAAoBA,oBAAAC,EAAqBF,yBAC7EG,WAAWC,GACXC,oHFJ6B5B,GAAtBE,0BAAAA,WACF2B,UAAgCC,uBAEtCxB,EAAAC,2BACOL,GACE,OAAAI,EAAAyB,IAAA7B,GAAS8B,eAAeC,IAC7BJ,EAAMK,aAAeD,EAASC,YAAA,GAC/B,KAIG,YAAAhC,gBACKA,EACT,EACI,SAAA2B,GACK,OAAAA"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/svelte/hooks/use-fullscreen.svelte.ts","../../src/svelte/components/FullscreenProvider.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { FullscreenPlugin, FullscreenState, initialState } from '@embedpdf/plugin-fullscreen';\n\nexport const useFullscreenPlugin = () => usePlugin<FullscreenPlugin>(FullscreenPlugin.id);\nexport const useFullscreenCapability = () => useCapability<FullscreenPlugin>(FullscreenPlugin.id);\n\nexport const useFullscreen = () => {\n const capability = useFullscreenCapability();\n\n const state = $state({\n get provides() {\n return capability.provides;\n },\n state: initialState as FullscreenState,\n });\n\n $effect(() => {\n if (!capability.provides) return;\n return capability.provides.onStateChange((newState) => {\n state.state = newState;\n });\n });\n\n return state;\n};\n","<script lang=\"ts\">\n import type { Snippet } from 'svelte';\n import { useFullscreenPlugin, useFullscreenCapability } from '../hooks';\n\n interface Props {\n children: Snippet;\n class?: string;\n style?: string;\n }\n\n const { children, class: className, style }: Props = $props();\n\n const fullscreenCapability = useFullscreenCapability();\n const fullscreenPlugin = useFullscreenPlugin();\n\n let containerElement: HTMLDivElement | undefined;\n\n // Handle fullscreen requests\n $effect(() => {\n if (!fullscreenCapability.provides) return;\n\n const unsub = fullscreenCapability.provides.onRequest(async (action) => {\n if (action === 'enter') {\n const el = containerElement;\n if (el && !document.fullscreenElement) {\n await el.requestFullscreen();\n }\n } else {\n if (document.fullscreenElement) {\n await document.exitFullscreen();\n }\n }\n });\n\n return unsub;\n });\n\n // Listen for fullscreen changes\n $effect(() => {\n if (!fullscreenPlugin.plugin) return;\n\n const handler = () => {\n fullscreenPlugin.plugin.setFullscreenState(!!document.fullscreenElement);\n };\n\n document.addEventListener('fullscreenchange', handler);\n return () => document.removeEventListener('fullscreenchange', handler);\n });\n</script>\n\n<div\n bind:this={containerElement}\n class={className}\n style=\"position: relative; width: 100%; height: 100%; {style || ''}\"\n>\n {@render children()}\n</div>\n","import { createPluginPackage } from '@embedpdf/core';\nimport { FullscreenPluginPackage as BaseFullscreenPackage } from '@embedpdf/plugin-fullscreen';\nimport { FullscreenProvider } from './components';\n\nexport * from './hooks';\nexport * from './components';\n\nexport * from '@embedpdf/plugin-fullscreen';\n\nexport const FullscreenPluginPackage = createPluginPackage(BaseFullscreenPackage)\n .addWrapper(FullscreenProvider)\n .build();\n"],"names":["useFullscreenPlugin","usePlugin","FullscreenPlugin","id","useFullscreenCapability","useCapability","fullscreenCapability","fullscreenPlugin","containerElement","$","user_effect","provides","onRequest","async","action","el","document","fullscreenElement","requestFullscreen","exitFullscreen","plugin","handler","setFullscreenState","addEventListener","removeEventListener","bind_this","div","$$value","FullscreenPluginPackage","createPluginPackage","BaseFullscreenPackage","addWrapper","FullscreenProvider","build","capability","state","initialState","onStateChange","newState"],"mappings":"4iBAGaA,EAA4B,IAAAC,YAA4BC,EAAAA,iBAAiBC,IACzEC,EAAgC,IAAAC,gBAAgCH,EAAAA,iBAAiBC,qECQtF,MAAAG,EAAuBF,IACvBG,EAAmBP,IAErB,IAAAQ,EAGJC,EAAAC,aAAc,KACP,IAAAJ,EAAqBK,SAAQ,OAe3B,OAbOL,EAAqBK,SAASC,WAASC,MAAQC,OAC5C,UAAXA,EAAoB,CAChB,MAAAC,EAAKP,EACPO,IAAOC,SAASC,yBACZF,EAAGG,mBAEb,MACMF,SAASC,yBACLD,SAASG,gBAEnB,GAGK,IAITV,EAAAC,aAAc,KACP,IAAAH,EAAiBa,OAAM,OAEtB,MAAAC,EAAgB,KACpBd,EAAiBa,OAAOE,qBAAqBN,SAASC,kBAAiB,EAI5D,OADJD,SAAAO,iBAAiB,mBAAoBF,GACjC,IAAAL,SAASQ,oBAAoB,mBAAoBH,EAAO,oEAK5DZ,EAAAgB,UAAAC,GAAAC,GAAAnB,UAAAA,uIAEqD,KAAE,KAAA,yBALpE,CCvCO,MAAMoB,EAA0BC,EAAoBA,oBAAAC,EAAqBF,yBAC7EG,WAAWC,GACXC,kGFJK,MAAAC,EAAa9B,IAEb+B,WACA,YAAAxB,GACK,OAAAuB,EAAWvB,QACpB,EACAwB,MAAOC,EAAAA,eAUF,OAPP3B,EAAAC,kBACO,GAAAwB,EAAWvB,SACT,OAAAuB,EAAWvB,SAAS0B,eAAeC,IACxCH,EAAMA,MAAQG,CAAA,GACf,IAGIH,CAAA"}
@@ -7,32 +7,30 @@ import { useCapability, usePlugin } from "@embedpdf/core/svelte";
7
7
  const useFullscreenPlugin = () => usePlugin(FullscreenPlugin.id);
8
8
  const useFullscreenCapability = () => useCapability(FullscreenPlugin.id);
9
9
  const useFullscreen = () => {
10
- const $$d = $.derived(useFullscreenCapability), provides = $.derived(() => $.get($$d).provides);
11
- const state = $.proxy(initialState);
10
+ const capability = useFullscreenCapability();
11
+ const state = $.proxy({
12
+ get provides() {
13
+ return capability.provides;
14
+ },
15
+ state: initialState
16
+ });
12
17
  $.user_effect(() => {
13
- if (!$.get(provides)) return;
14
- return $.get(provides).onStateChange((newState) => {
15
- state.isFullscreen = newState.isFullscreen;
18
+ if (!capability.provides) return;
19
+ return capability.provides.onStateChange((newState) => {
20
+ state.state = newState;
16
21
  });
17
22
  });
18
- return {
19
- get provides() {
20
- return $.get(provides);
21
- },
22
- get state() {
23
- return state;
24
- }
25
- };
23
+ return state;
26
24
  };
27
25
  var root = $.from_html(`<div><!></div>`);
28
26
  function FullscreenProvider($$anchor, $$props) {
29
27
  $.push($$props, true);
30
- const { provides: fullscreenCapability } = useFullscreenCapability();
31
- const { plugin } = useFullscreenPlugin();
28
+ const fullscreenCapability = useFullscreenCapability();
29
+ const fullscreenPlugin = useFullscreenPlugin();
32
30
  let containerElement;
33
31
  $.user_effect(() => {
34
- if (!fullscreenCapability) return;
35
- const unsub = fullscreenCapability.onRequest(async (action) => {
32
+ if (!fullscreenCapability.provides) return;
33
+ const unsub = fullscreenCapability.provides.onRequest(async (action) => {
36
34
  if (action === "enter") {
37
35
  const el = containerElement;
38
36
  if (el && !document.fullscreenElement) {
@@ -47,9 +45,9 @@ function FullscreenProvider($$anchor, $$props) {
47
45
  return unsub;
48
46
  });
49
47
  $.user_effect(() => {
50
- if (!plugin) return;
48
+ if (!fullscreenPlugin.plugin) return;
51
49
  const handler = () => {
52
- plugin.setFullscreenState(!!document.fullscreenElement);
50
+ fullscreenPlugin.plugin.setFullscreenState(!!document.fullscreenElement);
53
51
  };
54
52
  document.addEventListener("fullscreenchange", handler);
55
53
  return () => document.removeEventListener("fullscreenchange", handler);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/svelte/hooks/use-fullscreen.svelte.ts","../../src/svelte/components/FullscreenProvider.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { FullscreenPlugin, FullscreenState, initialState } from '@embedpdf/plugin-fullscreen';\n\nexport const useFullscreenPlugin = () => usePlugin<FullscreenPlugin>(FullscreenPlugin.id);\nexport const useFullscreenCapability = () => useCapability<FullscreenPlugin>(FullscreenPlugin.id);\n\nexport const useFullscreen = () => {\n const { provides } = $derived(useFullscreenCapability());\n const state = $state<FullscreenState>(initialState);\n\n $effect(() => {\n if (!provides) return;\n return provides.onStateChange((newState) => {\n state.isFullscreen = newState.isFullscreen;\n });\n });\n\n return {\n get provides() {\n return provides;\n },\n get state() {\n return state;\n },\n };\n};\n","<script lang=\"ts\">\n import type { Snippet } from 'svelte';\n import { useFullscreenPlugin, useFullscreenCapability } from '../hooks';\n\n interface Props {\n children: Snippet;\n class?: string;\n style?: string;\n }\n\n const { children, class: className, style }: Props = $props();\n\n const { provides: fullscreenCapability } = useFullscreenCapability();\n const { plugin } = useFullscreenPlugin();\n\n let containerElement: HTMLDivElement | undefined;\n\n // Handle fullscreen requests\n $effect(() => {\n if (!fullscreenCapability) return;\n\n const unsub = fullscreenCapability.onRequest(async (action) => {\n if (action === 'enter') {\n const el = containerElement;\n if (el && !document.fullscreenElement) {\n await el.requestFullscreen();\n }\n } else {\n if (document.fullscreenElement) {\n await document.exitFullscreen();\n }\n }\n });\n\n return unsub;\n });\n\n // Listen for fullscreen changes\n $effect(() => {\n if (!plugin) return;\n\n const handler = () => {\n plugin.setFullscreenState(!!document.fullscreenElement);\n };\n\n document.addEventListener('fullscreenchange', handler);\n return () => document.removeEventListener('fullscreenchange', handler);\n });\n</script>\n\n<div\n bind:this={containerElement}\n class={className}\n style=\"position: relative; width: 100%; height: 100%; {style || ''}\"\n>\n {@render children()}\n</div>\n","import { createPluginPackage } from '@embedpdf/core';\nimport { FullscreenPluginPackage as BaseFullscreenPackage } from '@embedpdf/plugin-fullscreen';\nimport { FullscreenProvider } from './components';\n\nexport * from './hooks';\nexport * from './components';\n\nexport * from '@embedpdf/plugin-fullscreen';\n\nexport const FullscreenPluginPackage = createPluginPackage(BaseFullscreenPackage)\n .addWrapper(FullscreenProvider)\n .build();\n"],"names":["BaseFullscreenPackage"],"mappings":";;;;;;AAGa,MAAA,sBAA4B,MAAA,UAA4B,iBAAiB,EAAE;AAC3E,MAAA,0BAAgC,MAAA,cAAgC,iBAAiB,EAAE;AAEnF,MAAA,sBAAsB;wBACH,0BAAtB,sCAAA,QAAA;AACF,QAAA,gBAAgC,YAAY;AAElD,IAAA,kBAAc;eACP,QAAU,EAAA;AACR,WAAA,EAAA,IAAA,QAAA,EAAS,cAAe,CAAA,aAAa;AAC1C,YAAM,eAAe,SAAS;AAAA,KAC/B;AAAA,GACF;;IAGK,IAAA,WAAW;mBACN,QAAA;AAAA,IACT;AAAA,IACI,IAAA,QAAQ;aACH;AAAA;;AAGb;;+CCzBA;;UAYU,UAAU,qBAAoB,IAAK,wBAAuB;AAC1D,QAAA,EAAA,WAAW,oBAAmB;MAElC;AAGJ,IAAA,YAAc,MAAA;SACP,qBAAoB;AAEnB,UAAA,QAAQ,qBAAqB,UAAS,OAAQ,WAAW;UACzD,WAAW,SAAS;AAChB,cAAA,KAAK;AACP,YAAA,MAAO,CAAA,SAAS,mBAAmB;AAC/B,gBAAA,GAAG,kBAAiB;AAAA,QAC5B;AAAA,MACF,OAAO;YACD,SAAS,mBAAmB;AACxB,gBAAA,SAAS,eAAc;AAAA,QAC/B;AAAA,MACF;AAAA,KACD;WAEM;AAAA,GACR;AAGD,IAAA,YAAc,MAAA;SACP,OAAM;AAEL,UAAA,UAAgB,MAAA;AACpB,aAAO,mBAAqB,CAAA,CAAA,SAAS,iBAAiB;AAAA,IACvD;AAED,aAAS,iBAAiB,oBAAoB,OAAO;AACxC,WAAA,MAAA,SAAS,oBAAoB,oBAAoB,OAAO;AAAA,GACtE;;;;;AAIU,IAAA,UAAA,KAAA,CAAA,YAAA,kCAAA,gBAAgB;;;yFAEqC,OAAE,EAAA,EAAA;AAAA;;;AALpE;ACvCO,MAAM,0BAA0B,oBAAoBA,yBAAqB,EAC7E,WAAW,kBAAkB,EAC7B,MAAM;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/svelte/hooks/use-fullscreen.svelte.ts","../../src/svelte/components/FullscreenProvider.svelte","../../src/svelte/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { FullscreenPlugin, FullscreenState, initialState } from '@embedpdf/plugin-fullscreen';\n\nexport const useFullscreenPlugin = () => usePlugin<FullscreenPlugin>(FullscreenPlugin.id);\nexport const useFullscreenCapability = () => useCapability<FullscreenPlugin>(FullscreenPlugin.id);\n\nexport const useFullscreen = () => {\n const capability = useFullscreenCapability();\n\n const state = $state({\n get provides() {\n return capability.provides;\n },\n state: initialState as FullscreenState,\n });\n\n $effect(() => {\n if (!capability.provides) return;\n return capability.provides.onStateChange((newState) => {\n state.state = newState;\n });\n });\n\n return state;\n};\n","<script lang=\"ts\">\n import type { Snippet } from 'svelte';\n import { useFullscreenPlugin, useFullscreenCapability } from '../hooks';\n\n interface Props {\n children: Snippet;\n class?: string;\n style?: string;\n }\n\n const { children, class: className, style }: Props = $props();\n\n const fullscreenCapability = useFullscreenCapability();\n const fullscreenPlugin = useFullscreenPlugin();\n\n let containerElement: HTMLDivElement | undefined;\n\n // Handle fullscreen requests\n $effect(() => {\n if (!fullscreenCapability.provides) return;\n\n const unsub = fullscreenCapability.provides.onRequest(async (action) => {\n if (action === 'enter') {\n const el = containerElement;\n if (el && !document.fullscreenElement) {\n await el.requestFullscreen();\n }\n } else {\n if (document.fullscreenElement) {\n await document.exitFullscreen();\n }\n }\n });\n\n return unsub;\n });\n\n // Listen for fullscreen changes\n $effect(() => {\n if (!fullscreenPlugin.plugin) return;\n\n const handler = () => {\n fullscreenPlugin.plugin.setFullscreenState(!!document.fullscreenElement);\n };\n\n document.addEventListener('fullscreenchange', handler);\n return () => document.removeEventListener('fullscreenchange', handler);\n });\n</script>\n\n<div\n bind:this={containerElement}\n class={className}\n style=\"position: relative; width: 100%; height: 100%; {style || ''}\"\n>\n {@render children()}\n</div>\n","import { createPluginPackage } from '@embedpdf/core';\nimport { FullscreenPluginPackage as BaseFullscreenPackage } from '@embedpdf/plugin-fullscreen';\nimport { FullscreenProvider } from './components';\n\nexport * from './hooks';\nexport * from './components';\n\nexport * from '@embedpdf/plugin-fullscreen';\n\nexport const FullscreenPluginPackage = createPluginPackage(BaseFullscreenPackage)\n .addWrapper(FullscreenProvider)\n .build();\n"],"names":["BaseFullscreenPackage"],"mappings":";;;;;;AAGa,MAAA,sBAA4B,MAAA,UAA4B,iBAAiB,EAAE;AAC3E,MAAA,0BAAgC,MAAA,cAAgC,iBAAiB,EAAE;AAEnF,MAAA,sBAAsB;AAC3B,QAAA,aAAa,wBAAwB;QAErC;IACA,IAAA,WAAW;AACN,aAAA,WAAW;AAAA,IACpB;AAAA,IACA,OAAO;AAAA;AAGT,IAAA,kBAAc;AACP,QAAA,CAAA,WAAW,SAAU;AACnB,WAAA,WAAW,SAAS,cAAe,CAAA,aAAa;AACrD,YAAM,QAAQ;AAAA,KACf;AAAA,GACF;SAEM;AACT;;+CCxBA;;AAYQ,QAAA,uBAAuB,wBAAuB;AAC9C,QAAA,mBAAmB,oBAAmB;MAExC;AAGJ,IAAA,YAAc,MAAA;AACP,QAAA,CAAA,qBAAqB,SAAQ;UAE5B,QAAQ,qBAAqB,SAAS,UAAS,OAAQ,WAAW;UAClE,WAAW,SAAS;AAChB,cAAA,KAAK;AACP,YAAA,MAAO,CAAA,SAAS,mBAAmB;AAC/B,gBAAA,GAAG,kBAAiB;AAAA,QAC5B;AAAA,MACF,OAAO;YACD,SAAS,mBAAmB;AACxB,gBAAA,SAAS,eAAc;AAAA,QAC/B;AAAA,MACF;AAAA,KACD;WAEM;AAAA,GACR;AAGD,IAAA,YAAc,MAAA;AACP,QAAA,CAAA,iBAAiB,OAAM;AAEtB,UAAA,UAAgB,MAAA;AACpB,uBAAiB,OAAO,mBAAqB,CAAA,CAAA,SAAS,iBAAiB;AAAA,IACxE;AAED,aAAS,iBAAiB,oBAAoB,OAAO;AACxC,WAAA,MAAA,SAAS,oBAAoB,oBAAoB,OAAO;AAAA,GACtE;;;;;AAIU,IAAA,UAAA,KAAA,CAAA,YAAA,kCAAA,gBAAgB;;;yFAEqC,OAAE,EAAA,EAAA;AAAA;;;AALpE;ACvCO,MAAM,0BAA0B,oBAAoBA,yBAAqB,EAC7E,WAAW,kBAAkB,EAC7B,MAAM;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embedpdf/plugin-fullscreen",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.cjs",
@@ -34,13 +34,13 @@
34
34
  }
35
35
  },
36
36
  "dependencies": {
37
- "@embedpdf/models": "1.4.0"
37
+ "@embedpdf/models": "1.4.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/core": "1.4.0"
43
+ "@embedpdf/core": "1.4.1"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "react": ">=16.8.0",
@@ -48,7 +48,7 @@
48
48
  "preact": "^10.26.4",
49
49
  "vue": ">=3.2.0",
50
50
  "svelte": ">=5 <6",
51
- "@embedpdf/core": "1.4.0"
51
+ "@embedpdf/core": "1.4.1"
52
52
  },
53
53
  "files": [
54
54
  "dist",