native-fn 1.2.0 → 1.2.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.
Files changed (68) hide show
  1. package/README.md +14 -14
  2. package/dist/index.d.ts +12 -6
  3. package/dist/native.cjs +180 -102
  4. package/dist/native.min.cjs +1 -1
  5. package/dist/native.min.mjs +1 -1
  6. package/dist/native.mjs +180 -102
  7. package/dist/native.umd.js +180 -102
  8. package/dist/native.umd.min.js +1 -1
  9. package/dist/plugin/appearance/index.cjs +8 -3
  10. package/dist/plugin/appearance/index.mjs +8 -3
  11. package/dist/plugin/appearance/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  12. package/dist/plugin/appearance/src/plugin/pip/types/pip.d.ts +5 -2
  13. package/dist/plugin/appearance/src/types/subscription-manager.d.ts +1 -1
  14. package/dist/plugin/badge/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  15. package/dist/plugin/badge/src/plugin/pip/types/pip.d.ts +5 -2
  16. package/dist/plugin/badge/src/types/subscription-manager.d.ts +1 -1
  17. package/dist/plugin/battery/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  18. package/dist/plugin/battery/src/plugin/pip/types/pip.d.ts +5 -2
  19. package/dist/plugin/battery/src/types/subscription-manager.d.ts +1 -1
  20. package/dist/plugin/clipboard/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  21. package/dist/plugin/clipboard/src/plugin/pip/types/pip.d.ts +5 -2
  22. package/dist/plugin/clipboard/src/types/subscription-manager.d.ts +1 -1
  23. package/dist/plugin/dimension/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  24. package/dist/plugin/dimension/src/plugin/pip/types/pip.d.ts +5 -2
  25. package/dist/plugin/dimension/src/types/subscription-manager.d.ts +1 -1
  26. package/dist/plugin/fullscreen/index.cjs +93 -54
  27. package/dist/plugin/fullscreen/index.d.ts +7 -4
  28. package/dist/plugin/fullscreen/index.mjs +93 -54
  29. package/dist/plugin/fullscreen/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  30. package/dist/plugin/fullscreen/src/plugin/pip/types/pip.d.ts +5 -2
  31. package/dist/plugin/fullscreen/src/types/subscription-manager.d.ts +1 -1
  32. package/dist/plugin/geolocation/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  33. package/dist/plugin/geolocation/src/plugin/pip/types/pip.d.ts +5 -2
  34. package/dist/plugin/geolocation/src/types/subscription-manager.d.ts +1 -1
  35. package/dist/plugin/notification/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  36. package/dist/plugin/notification/src/plugin/pip/types/pip.d.ts +5 -2
  37. package/dist/plugin/notification/src/types/subscription-manager.d.ts +1 -1
  38. package/dist/plugin/open/index.cjs +8 -3
  39. package/dist/plugin/open/index.mjs +8 -3
  40. package/dist/plugin/open/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  41. package/dist/plugin/open/src/plugin/pip/types/pip.d.ts +5 -2
  42. package/dist/plugin/open/src/types/subscription-manager.d.ts +1 -1
  43. package/dist/plugin/permission/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  44. package/dist/plugin/permission/src/plugin/pip/types/pip.d.ts +5 -2
  45. package/dist/plugin/permission/src/types/subscription-manager.d.ts +1 -1
  46. package/dist/plugin/pip/index.cjs +448 -47
  47. package/dist/plugin/pip/index.d.ts +5 -2
  48. package/dist/plugin/pip/index.mjs +448 -47
  49. package/dist/plugin/pip/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  50. package/dist/plugin/pip/src/plugin/pip/types/pip.d.ts +5 -2
  51. package/dist/plugin/pip/src/types/subscription-manager.d.ts +1 -1
  52. package/dist/plugin/platform/index.cjs +8 -3
  53. package/dist/plugin/platform/index.mjs +8 -3
  54. package/dist/plugin/platform/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  55. package/dist/plugin/platform/src/plugin/pip/types/pip.d.ts +5 -2
  56. package/dist/plugin/platform/src/types/subscription-manager.d.ts +1 -1
  57. package/dist/plugin/theme/index.cjs +8 -3
  58. package/dist/plugin/theme/index.mjs +8 -3
  59. package/dist/plugin/theme/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  60. package/dist/plugin/theme/src/plugin/pip/types/pip.d.ts +5 -2
  61. package/dist/plugin/theme/src/types/subscription-manager.d.ts +1 -1
  62. package/dist/plugin/vibration/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  63. package/dist/plugin/vibration/src/plugin/pip/types/pip.d.ts +5 -2
  64. package/dist/plugin/vibration/src/types/subscription-manager.d.ts +1 -1
  65. package/dist/src/plugin/fullscreen/types/fullscreen.d.ts +7 -4
  66. package/dist/src/plugin/pip/types/pip.d.ts +5 -2
  67. package/dist/src/types/subscription-manager.d.ts +1 -1
  68. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
  export declare interface SubscriptionManager<T, U> {
2
2
  emit: (value: U) => void;
3
- subscribe: (this: T, listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
3
+ subscribe: (listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
4
4
  }
@@ -656,10 +656,15 @@ function parseFromHighEntropyValues() {
656
656
  parsedFromHighEntropyValuesEngine.version = brandVersion;
657
657
  }
658
658
  if (typeof platformVersion === 'string') {
659
- if (getParsedCache().os.name === exports.OS.Windows)
660
- parsedFromHighEntropyValuesOS.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
661
- else
659
+ if (getParsedCache().os.name === exports.OS.Windows) {
660
+ if (parseInt(platformVersion.split('.')[0], 10) >= 13)
661
+ parsedFromHighEntropyValuesOS.version = '11';
662
+ else
663
+ parsedFromHighEntropyValuesOS.version = '10';
664
+ }
665
+ else {
662
666
  parsedFromHighEntropyValuesOS.version = platformVersion;
667
+ }
663
668
  }
664
669
  if (typeof platform === 'string') {
665
670
  if (/android/i.test(platform))
@@ -652,10 +652,15 @@ function parseFromHighEntropyValues() {
652
652
  parsedFromHighEntropyValuesEngine.version = brandVersion;
653
653
  }
654
654
  if (typeof platformVersion === 'string') {
655
- if (getParsedCache().os.name === OS.Windows)
656
- parsedFromHighEntropyValuesOS.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
657
- else
655
+ if (getParsedCache().os.name === OS.Windows) {
656
+ if (parseInt(platformVersion.split('.')[0], 10) >= 13)
657
+ parsedFromHighEntropyValuesOS.version = '11';
658
+ else
659
+ parsedFromHighEntropyValuesOS.version = '10';
660
+ }
661
+ else {
658
662
  parsedFromHighEntropyValuesOS.version = platformVersion;
663
+ }
659
664
  }
660
665
  if (typeof platform === 'string') {
661
666
  if (/android/i.test(platform))
@@ -1,13 +1,16 @@
1
1
  import { NotSupportedError } from "../../../errors/not-supported-error";
2
2
  import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface FullscreenInstance {
4
- supported: boolean;
5
- element: Element | null;
6
- isFullscreen: boolean;
4
+ get supported(): boolean;
5
+ get element(): Element | null;
6
+ get isActive(): boolean;
7
7
  request(target?: Element, options?: FullscreenOptions): Promise<void>;
8
+ toggle(target?: Element, options?: FullscreenOptions): Promise<void>;
8
9
  exit(): Promise<void>;
9
10
  onChange(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface FullscreenInstance {
17
20
  export declare interface FullscreenEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: Element;
20
- isFullscreen: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -3,11 +3,14 @@ import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface PipInstance {
4
4
  get supported(): boolean;
5
5
  get element(): HTMLVideoElement | null;
6
- get isPip(): boolean;
6
+ get isActive(): boolean;
7
7
  request(target?: HTMLVideoElement): Promise<void>;
8
8
  exit(): Promise<void>;
9
+ toggle(target?: HTMLVideoElement): Promise<void>;
9
10
  onChange(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onError(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface PipInstance {
17
20
  export declare interface PipEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: HTMLVideoElement;
20
- isPip: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -1,4 +1,4 @@
1
1
  export declare interface SubscriptionManager<T, U> {
2
2
  emit: (value: U) => void;
3
- subscribe: (this: T, listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
3
+ subscribe: (listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
4
4
  }
@@ -513,10 +513,15 @@ function parseFromHighEntropyValues() {
513
513
  parsedFromHighEntropyValuesEngine.version = brandVersion;
514
514
  }
515
515
  if (typeof platformVersion === 'string') {
516
- if (getParsedCache().os.name === OS.Windows)
517
- parsedFromHighEntropyValuesOS.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
518
- else
516
+ if (getParsedCache().os.name === OS.Windows) {
517
+ if (parseInt(platformVersion.split('.')[0], 10) >= 13)
518
+ parsedFromHighEntropyValuesOS.version = '11';
519
+ else
520
+ parsedFromHighEntropyValuesOS.version = '10';
521
+ }
522
+ else {
519
523
  parsedFromHighEntropyValuesOS.version = platformVersion;
524
+ }
520
525
  }
521
526
  if (typeof platform === 'string') {
522
527
  if (/android/i.test(platform))
@@ -511,10 +511,15 @@ function parseFromHighEntropyValues() {
511
511
  parsedFromHighEntropyValuesEngine.version = brandVersion;
512
512
  }
513
513
  if (typeof platformVersion === 'string') {
514
- if (getParsedCache().os.name === OS.Windows)
515
- parsedFromHighEntropyValuesOS.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
516
- else
514
+ if (getParsedCache().os.name === OS.Windows) {
515
+ if (parseInt(platformVersion.split('.')[0], 10) >= 13)
516
+ parsedFromHighEntropyValuesOS.version = '11';
517
+ else
518
+ parsedFromHighEntropyValuesOS.version = '10';
519
+ }
520
+ else {
517
521
  parsedFromHighEntropyValuesOS.version = platformVersion;
522
+ }
518
523
  }
519
524
  if (typeof platform === 'string') {
520
525
  if (/android/i.test(platform))
@@ -1,13 +1,16 @@
1
1
  import { NotSupportedError } from "../../../errors/not-supported-error";
2
2
  import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface FullscreenInstance {
4
- supported: boolean;
5
- element: Element | null;
6
- isFullscreen: boolean;
4
+ get supported(): boolean;
5
+ get element(): Element | null;
6
+ get isActive(): boolean;
7
7
  request(target?: Element, options?: FullscreenOptions): Promise<void>;
8
+ toggle(target?: Element, options?: FullscreenOptions): Promise<void>;
8
9
  exit(): Promise<void>;
9
10
  onChange(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface FullscreenInstance {
17
20
  export declare interface FullscreenEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: Element;
20
- isFullscreen: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -3,11 +3,14 @@ import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface PipInstance {
4
4
  get supported(): boolean;
5
5
  get element(): HTMLVideoElement | null;
6
- get isPip(): boolean;
6
+ get isActive(): boolean;
7
7
  request(target?: HTMLVideoElement): Promise<void>;
8
8
  exit(): Promise<void>;
9
+ toggle(target?: HTMLVideoElement): Promise<void>;
9
10
  onChange(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onError(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface PipInstance {
17
20
  export declare interface PipEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: HTMLVideoElement;
20
- isPip: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -1,4 +1,4 @@
1
1
  export declare interface SubscriptionManager<T, U> {
2
2
  emit: (value: U) => void;
3
- subscribe: (this: T, listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
3
+ subscribe: (listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
4
4
  }
@@ -1,13 +1,16 @@
1
1
  import { NotSupportedError } from "../../../errors/not-supported-error";
2
2
  import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface FullscreenInstance {
4
- supported: boolean;
5
- element: Element | null;
6
- isFullscreen: boolean;
4
+ get supported(): boolean;
5
+ get element(): Element | null;
6
+ get isActive(): boolean;
7
7
  request(target?: Element, options?: FullscreenOptions): Promise<void>;
8
+ toggle(target?: Element, options?: FullscreenOptions): Promise<void>;
8
9
  exit(): Promise<void>;
9
10
  onChange(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface FullscreenInstance {
17
20
  export declare interface FullscreenEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: Element;
20
- isFullscreen: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -3,11 +3,14 @@ import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface PipInstance {
4
4
  get supported(): boolean;
5
5
  get element(): HTMLVideoElement | null;
6
- get isPip(): boolean;
6
+ get isActive(): boolean;
7
7
  request(target?: HTMLVideoElement): Promise<void>;
8
8
  exit(): Promise<void>;
9
+ toggle(target?: HTMLVideoElement): Promise<void>;
9
10
  onChange(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onError(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface PipInstance {
17
20
  export declare interface PipEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: HTMLVideoElement;
20
- isPip: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -1,4 +1,4 @@
1
1
  export declare interface SubscriptionManager<T, U> {
2
2
  emit: (value: U) => void;
3
- subscribe: (this: T, listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
3
+ subscribe: (listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
4
4
  }
@@ -1,13 +1,16 @@
1
1
  import { NotSupportedError } from "../../../errors/not-supported-error";
2
2
  import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface FullscreenInstance {
4
- supported: boolean;
5
- element: Element | null;
6
- isFullscreen: boolean;
4
+ get supported(): boolean;
5
+ get element(): Element | null;
6
+ get isActive(): boolean;
7
7
  request(target?: Element, options?: FullscreenOptions): Promise<void>;
8
+ toggle(target?: Element, options?: FullscreenOptions): Promise<void>;
8
9
  exit(): Promise<void>;
9
10
  onChange(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onChange(target: Element, listener: (payload: FullscreenEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface FullscreenInstance {
17
20
  export declare interface FullscreenEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: Element;
20
- isFullscreen: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -3,11 +3,14 @@ import { InvalidStateError } from "../../../errors/invalid-state-error";
3
3
  export declare interface PipInstance {
4
4
  get supported(): boolean;
5
5
  get element(): HTMLVideoElement | null;
6
- get isPip(): boolean;
6
+ get isActive(): boolean;
7
7
  request(target?: HTMLVideoElement): Promise<void>;
8
8
  exit(): Promise<void>;
9
+ toggle(target?: HTMLVideoElement): Promise<void>;
9
10
  onChange(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
+ onChange(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
10
12
  onError(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
+ onError(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
11
14
  Constants: {};
12
15
  Errors: {
13
16
  NotSupportedError: typeof NotSupportedError;
@@ -17,5 +20,5 @@ export declare interface PipInstance {
17
20
  export declare interface PipEventPayload {
18
21
  nativeEvent: Event;
19
22
  element: HTMLVideoElement;
20
- isPip: boolean;
23
+ isActive: boolean;
21
24
  }
@@ -1,4 +1,4 @@
1
1
  export declare interface SubscriptionManager<T, U> {
2
2
  emit: (value: U) => void;
3
- subscribe: (this: T, listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
3
+ subscribe: (listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "native-fn",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "TypeScript library bridging Web APIs to native device capabilities — Picture-in-Picture, Fullscreen, Clipboard, Geolocation, Battery, Notifications, Vibration, Platform detection, and more.",
5
5
  "author": "Park Jungyoung <qkrwnss0509@gmail.com> (https://github.com/pjy0509)",
6
6
  "type": "module",