native-fn 1.2.2 → 1.3.0

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 (151) hide show
  1. package/README.md +32 -8
  2. package/dist/index.d.ts +42 -21
  3. package/dist/native.cjs +412 -110
  4. package/dist/native.min.cjs +1 -1
  5. package/dist/native.min.mjs +1 -1
  6. package/dist/native.mjs +412 -110
  7. package/dist/native.umd.js +412 -110
  8. package/dist/native.umd.min.js +1 -1
  9. package/dist/plugin/appearance/index.cjs +16 -18
  10. package/dist/plugin/appearance/index.d.ts +2 -2
  11. package/dist/plugin/appearance/index.mjs +17 -19
  12. package/dist/plugin/appearance/src/plugin/appearance/constants/index.d.ts +1 -1
  13. package/dist/plugin/appearance/src/plugin/dimension/constants/index.d.ts +2 -3
  14. package/dist/plugin/appearance/src/plugin/dimension/cores/index.d.ts +15 -0
  15. package/dist/plugin/appearance/src/plugin/dimension/types/dimensions.d.ts +26 -20
  16. package/dist/plugin/appearance/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  17. package/dist/plugin/appearance/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  18. package/dist/plugin/appearance/src/plugin/platform/constants/index.d.ts +1 -1
  19. package/dist/plugin/appearance/src/utils/insert-sort.d.ts +1 -0
  20. package/dist/plugin/badge/src/plugin/appearance/constants/index.d.ts +1 -1
  21. package/dist/plugin/badge/src/plugin/dimension/constants/index.d.ts +2 -3
  22. package/dist/plugin/badge/src/plugin/dimension/cores/index.d.ts +15 -0
  23. package/dist/plugin/badge/src/plugin/dimension/types/dimensions.d.ts +26 -20
  24. package/dist/plugin/badge/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  25. package/dist/plugin/badge/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  26. package/dist/plugin/badge/src/plugin/platform/constants/index.d.ts +1 -1
  27. package/dist/plugin/badge/src/utils/insert-sort.d.ts +1 -0
  28. package/dist/plugin/battery/index.cjs +4 -6
  29. package/dist/plugin/battery/index.mjs +4 -6
  30. package/dist/plugin/battery/src/plugin/appearance/constants/index.d.ts +1 -1
  31. package/dist/plugin/battery/src/plugin/dimension/constants/index.d.ts +2 -3
  32. package/dist/plugin/battery/src/plugin/dimension/cores/index.d.ts +15 -0
  33. package/dist/plugin/battery/src/plugin/dimension/types/dimensions.d.ts +26 -20
  34. package/dist/plugin/battery/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  35. package/dist/plugin/battery/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  36. package/dist/plugin/battery/src/plugin/platform/constants/index.d.ts +1 -1
  37. package/dist/plugin/battery/src/utils/insert-sort.d.ts +1 -0
  38. package/dist/plugin/clipboard/src/plugin/appearance/constants/index.d.ts +1 -1
  39. package/dist/plugin/clipboard/src/plugin/dimension/constants/index.d.ts +2 -3
  40. package/dist/plugin/clipboard/src/plugin/dimension/cores/index.d.ts +15 -0
  41. package/dist/plugin/clipboard/src/plugin/dimension/types/dimensions.d.ts +26 -20
  42. package/dist/plugin/clipboard/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  43. package/dist/plugin/clipboard/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  44. package/dist/plugin/clipboard/src/plugin/platform/constants/index.d.ts +1 -1
  45. package/dist/plugin/clipboard/src/utils/insert-sort.d.ts +1 -0
  46. package/dist/plugin/dimension/index.cjs +456 -97
  47. package/dist/plugin/dimension/index.d.ts +45 -24
  48. package/dist/plugin/dimension/index.mjs +457 -97
  49. package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +1 -1
  50. package/dist/plugin/dimension/src/plugin/dimension/constants/index.d.ts +2 -3
  51. package/dist/plugin/dimension/src/plugin/dimension/cores/index.d.ts +15 -0
  52. package/dist/plugin/dimension/src/plugin/dimension/types/dimensions.d.ts +26 -20
  53. package/dist/plugin/dimension/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  54. package/dist/plugin/dimension/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  55. package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +1 -1
  56. package/dist/plugin/dimension/src/utils/insert-sort.d.ts +1 -0
  57. package/dist/plugin/fullscreen/index.cjs +9 -11
  58. package/dist/plugin/fullscreen/index.mjs +9 -11
  59. package/dist/plugin/fullscreen/src/plugin/appearance/constants/index.d.ts +1 -1
  60. package/dist/plugin/fullscreen/src/plugin/dimension/constants/index.d.ts +2 -3
  61. package/dist/plugin/fullscreen/src/plugin/dimension/cores/index.d.ts +15 -0
  62. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimensions.d.ts +26 -20
  63. package/dist/plugin/fullscreen/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  64. package/dist/plugin/fullscreen/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  65. package/dist/plugin/fullscreen/src/plugin/platform/constants/index.d.ts +1 -1
  66. package/dist/plugin/fullscreen/src/utils/insert-sort.d.ts +1 -0
  67. package/dist/plugin/geolocation/index.cjs +4 -6
  68. package/dist/plugin/geolocation/index.mjs +4 -6
  69. package/dist/plugin/geolocation/src/plugin/appearance/constants/index.d.ts +1 -1
  70. package/dist/plugin/geolocation/src/plugin/dimension/constants/index.d.ts +2 -3
  71. package/dist/plugin/geolocation/src/plugin/dimension/cores/index.d.ts +15 -0
  72. package/dist/plugin/geolocation/src/plugin/dimension/types/dimensions.d.ts +26 -20
  73. package/dist/plugin/geolocation/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  74. package/dist/plugin/geolocation/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  75. package/dist/plugin/geolocation/src/plugin/platform/constants/index.d.ts +1 -1
  76. package/dist/plugin/geolocation/src/utils/insert-sort.d.ts +1 -0
  77. package/dist/plugin/notification/src/plugin/appearance/constants/index.d.ts +1 -1
  78. package/dist/plugin/notification/src/plugin/dimension/constants/index.d.ts +2 -3
  79. package/dist/plugin/notification/src/plugin/dimension/cores/index.d.ts +15 -0
  80. package/dist/plugin/notification/src/plugin/dimension/types/dimensions.d.ts +26 -20
  81. package/dist/plugin/notification/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  82. package/dist/plugin/notification/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  83. package/dist/plugin/notification/src/plugin/platform/constants/index.d.ts +1 -1
  84. package/dist/plugin/notification/src/utils/insert-sort.d.ts +1 -0
  85. package/dist/plugin/open/index.cjs +6 -6
  86. package/dist/plugin/open/index.d.ts +16 -0
  87. package/dist/plugin/open/index.mjs +6 -6
  88. package/dist/plugin/open/src/plugin/appearance/constants/index.d.ts +1 -1
  89. package/dist/plugin/open/src/plugin/dimension/constants/index.d.ts +2 -3
  90. package/dist/plugin/open/src/plugin/dimension/cores/index.d.ts +15 -0
  91. package/dist/plugin/open/src/plugin/dimension/types/dimensions.d.ts +26 -20
  92. package/dist/plugin/open/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  93. package/dist/plugin/open/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  94. package/dist/plugin/open/src/plugin/platform/constants/index.d.ts +1 -1
  95. package/dist/plugin/open/src/utils/insert-sort.d.ts +1 -0
  96. package/dist/plugin/permission/src/plugin/appearance/constants/index.d.ts +1 -1
  97. package/dist/plugin/permission/src/plugin/dimension/constants/index.d.ts +2 -3
  98. package/dist/plugin/permission/src/plugin/dimension/cores/index.d.ts +15 -0
  99. package/dist/plugin/permission/src/plugin/dimension/types/dimensions.d.ts +26 -20
  100. package/dist/plugin/permission/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  101. package/dist/plugin/permission/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  102. package/dist/plugin/permission/src/plugin/platform/constants/index.d.ts +1 -1
  103. package/dist/plugin/permission/src/utils/insert-sort.d.ts +1 -0
  104. package/dist/plugin/pip/index.cjs +9 -11
  105. package/dist/plugin/pip/index.mjs +9 -11
  106. package/dist/plugin/pip/src/plugin/appearance/constants/index.d.ts +1 -1
  107. package/dist/plugin/pip/src/plugin/dimension/constants/index.d.ts +2 -3
  108. package/dist/plugin/pip/src/plugin/dimension/cores/index.d.ts +15 -0
  109. package/dist/plugin/pip/src/plugin/dimension/types/dimensions.d.ts +26 -20
  110. package/dist/plugin/pip/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  111. package/dist/plugin/pip/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  112. package/dist/plugin/pip/src/plugin/platform/constants/index.d.ts +1 -1
  113. package/dist/plugin/pip/src/utils/insert-sort.d.ts +1 -0
  114. package/dist/plugin/platform/index.cjs +11 -12
  115. package/dist/plugin/platform/index.d.ts +17 -1
  116. package/dist/plugin/platform/index.mjs +5 -5
  117. package/dist/plugin/platform/src/plugin/appearance/constants/index.d.ts +1 -1
  118. package/dist/plugin/platform/src/plugin/dimension/constants/index.d.ts +2 -3
  119. package/dist/plugin/platform/src/plugin/dimension/cores/index.d.ts +15 -0
  120. package/dist/plugin/platform/src/plugin/dimension/types/dimensions.d.ts +26 -20
  121. package/dist/plugin/platform/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  122. package/dist/plugin/platform/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  123. package/dist/plugin/platform/src/plugin/platform/constants/index.d.ts +1 -1
  124. package/dist/plugin/platform/src/utils/insert-sort.d.ts +1 -0
  125. package/dist/plugin/theme/index.cjs +5 -5
  126. package/dist/plugin/theme/index.mjs +5 -5
  127. package/dist/plugin/theme/src/plugin/appearance/constants/index.d.ts +1 -1
  128. package/dist/plugin/theme/src/plugin/dimension/constants/index.d.ts +2 -3
  129. package/dist/plugin/theme/src/plugin/dimension/cores/index.d.ts +15 -0
  130. package/dist/plugin/theme/src/plugin/dimension/types/dimensions.d.ts +26 -20
  131. package/dist/plugin/theme/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  132. package/dist/plugin/theme/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  133. package/dist/plugin/theme/src/plugin/platform/constants/index.d.ts +1 -1
  134. package/dist/plugin/theme/src/utils/insert-sort.d.ts +1 -0
  135. package/dist/plugin/vibration/src/plugin/appearance/constants/index.d.ts +1 -1
  136. package/dist/plugin/vibration/src/plugin/dimension/constants/index.d.ts +2 -3
  137. package/dist/plugin/vibration/src/plugin/dimension/cores/index.d.ts +15 -0
  138. package/dist/plugin/vibration/src/plugin/dimension/types/dimensions.d.ts +26 -20
  139. package/dist/plugin/vibration/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  140. package/dist/plugin/vibration/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  141. package/dist/plugin/vibration/src/plugin/platform/constants/index.d.ts +1 -1
  142. package/dist/plugin/vibration/src/utils/insert-sort.d.ts +1 -0
  143. package/dist/src/plugin/appearance/constants/index.d.ts +1 -1
  144. package/dist/src/plugin/dimension/constants/index.d.ts +2 -3
  145. package/dist/src/plugin/dimension/cores/index.d.ts +15 -0
  146. package/dist/src/plugin/dimension/types/dimensions.d.ts +26 -20
  147. package/dist/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  148. package/dist/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  149. package/dist/src/plugin/platform/constants/index.d.ts +1 -1
  150. package/dist/src/utils/insert-sort.d.ts +1 -0
  151. package/package.json +1 -1
@@ -3,6 +3,6 @@ export declare enum Appearances {
3
3
  Light = "light",
4
4
  Dark = "dark"
5
5
  }
6
- export declare let MEDIA_QUERY_LIST: MediaQueryList;
6
+ export declare let PREFERS_COLOR_SCHEME_MEDIA_QUERY_LIST: MediaQueryList;
7
7
  export declare const CONTEXT: CanvasRenderingContext2D | null;
8
8
  export declare const SVG_PIXEL_DATA_URL: string;
@@ -1,4 +1,3 @@
1
- import { Dimensions } from "../types";
2
1
  export declare enum Orientation {
3
2
  Portrait = "portrait",
4
3
  Landscape = "landscape",
@@ -40,5 +39,5 @@ export declare const ENV_PRESETS: {
40
39
  readonly left: "viewport-segment-left";
41
40
  };
42
41
  };
43
- export declare const FALLBACK_DIMENSION: Dimensions;
44
- export declare let MEDIA_QUERY_LIST: MediaQueryList;
42
+ export declare let ORIENTATION_MEDIA_QUERY_LIST: MediaQueryList;
43
+ export declare let DEVICE_POSTURE_MEDIA_QUERY_LIST: MediaQueryList;
@@ -1,3 +1,18 @@
1
1
  import { DimensionInstance } from "../types";
2
+ declare global {
3
+ interface DOMRectReadOnly {
4
+ readonly x: number;
5
+ readonly y: number;
6
+ readonly width: number;
7
+ readonly height: number;
8
+ readonly top: number;
9
+ readonly right: number;
10
+ readonly bottom: number;
11
+ readonly left: number;
12
+ }
13
+ interface VisualViewport {
14
+ readonly segments?: DOMRectReadOnly[];
15
+ }
16
+ }
2
17
  declare const Dimension: DimensionInstance;
3
18
  export default Dimension;
@@ -1,18 +1,26 @@
1
1
  import { ENV_PRESETS, Orientation } from "../constants";
2
2
  export type EnvironmentPresetKey = keyof typeof ENV_PRESETS;
3
- export type EnvironmentPresetAttr<K extends EnvironmentPresetKey> = keyof typeof ENV_PRESETS[K];
3
+ export type EnvironmentPresetAttribute<K extends EnvironmentPresetKey> = keyof typeof ENV_PRESETS[K];
4
4
  export type EnvironmentPresetValues<K extends EnvironmentPresetKey> = {
5
- [P in EnvironmentPresetAttr<K>]: number;
5
+ [P in EnvironmentPresetAttribute<K>]: number;
6
6
  };
7
- export declare interface DimensionInstance {
8
- get value(): Dimensions;
9
- environment: Environment;
10
- onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
11
- Constants: {
12
- Orientation: typeof Orientation;
13
- };
14
- Errors: {};
7
+ export declare interface Environment {
8
+ safeAreaInset: EnvironmentObserver<'safe-area-inset'>;
9
+ safeAreaMaxInset: EnvironmentObserver<'safe-area-max-inset'>;
10
+ keyboardInset: EnvironmentObserver<'keyboard-inset'>;
11
+ titlebarArea: EnvironmentObserver<'titlebar-area'>;
12
+ viewportSegment: EnvironmentObserver<'viewport-segment'>;
13
+ }
14
+ export declare interface SegmentsObserver {
15
+ get value(): EnvironmentPresetValues<'viewport-segment'>[];
16
+ onChange(listener: (value: EnvironmentPresetValues<'viewport-segment'>[]) => void, options?: AddEventListenerOptions): () => void;
17
+ useCssVariable(prefix: string): () => void;
15
18
  }
19
+ export declare type EnvironmentObserver<K extends EnvironmentPresetKey> = K extends 'viewport-segment' ? SegmentsObserver : {
20
+ get value(): EnvironmentPresetValues<K>;
21
+ onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
22
+ useCssVariable(prefix: string): () => void;
23
+ };
16
24
  export declare interface Dimensions {
17
25
  outerWidth: number;
18
26
  outerHeight: number;
@@ -21,14 +29,12 @@ export declare interface Dimensions {
21
29
  scale: number;
22
30
  orientation: Orientation;
23
31
  }
24
- export declare interface EnvironmentPreset<K extends EnvironmentPresetKey> {
25
- get value(): EnvironmentPresetValues<K>;
26
- onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
27
- }
28
- export declare interface Environment {
29
- safeAreaInset: EnvironmentPreset<'safe-area-inset'>;
30
- safeAreaMaxInset: EnvironmentPreset<'safe-area-max-inset'>;
31
- keyboardInset: EnvironmentPreset<'keyboard-inset'>;
32
- titlebarArea: EnvironmentPreset<'titlebar-area'>;
33
- viewportSegment: EnvironmentPreset<'viewport-segment'>;
32
+ export declare interface DimensionInstance {
33
+ get value(): Dimensions;
34
+ environment: Environment;
35
+ onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
36
+ Constants: {
37
+ Orientation: typeof Orientation;
38
+ };
39
+ Errors: {};
34
40
  }
@@ -1,10 +1,15 @@
1
- import { EnvironmentPresetKey, EnvironmentPresetValues } from "../types";
1
+ import { EnvironmentObserver, EnvironmentPresetKey } from "../types";
2
2
  declare global {
3
3
  interface Navigator {
4
4
  readonly virtualKeyboard?: VirtualKeyboard;
5
+ readonly devicePosture?: DevicePosture;
5
6
  }
7
+ var viewport: BrowsingContextViewport | undefined;
8
+ }
9
+ interface DevicePosture extends EventTarget {
10
+ readonly type: 'continuous' | 'folded';
11
+ onchange: ((this: DevicePosture, ev: Event) => any) | null;
6
12
  }
7
- type ChangeCallback<K extends EnvironmentPresetKey> = (values: EnvironmentPresetValues<K>) => void;
8
13
  interface VirtualKeyboardEventMap {
9
14
  geometrychange: Event;
10
15
  }
@@ -16,9 +21,13 @@ interface VirtualKeyboard extends EventTarget {
16
21
  addEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: AddEventListenerOptions): void;
17
22
  removeEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18
23
  }
19
- export type EnvObserver<K extends EnvironmentPresetKey> = {
20
- get(): EnvironmentPresetValues<K>;
21
- onChange(callback: ChangeCallback<K>, options?: AddEventListenerOptions): () => void;
22
- };
23
- export default function createEnvObserver<K extends EnvironmentPresetKey>(preset: K): EnvObserver<K>;
24
+ interface BrowsingContextViewportEventMap {
25
+ change: Event;
26
+ }
27
+ interface BrowsingContextViewport extends EventTarget {
28
+ readonly segments: ReadonlyArray<DOMRectReadOnly> | null;
29
+ addEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
30
+ removeEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
31
+ }
32
+ export default function createEnvObserver<K extends EnvironmentPresetKey>(preset: K): EnvironmentObserver<K>;
24
33
  export {};
@@ -0,0 +1,33 @@
1
+ import { EnvironmentObserver, EnvironmentPresetKey } from "../types";
2
+ declare global {
3
+ interface Navigator {
4
+ readonly virtualKeyboard?: VirtualKeyboard;
5
+ readonly devicePosture?: DevicePosture;
6
+ }
7
+ var viewport: BrowsingContextViewport | undefined;
8
+ }
9
+ interface DevicePosture extends EventTarget {
10
+ readonly type: 'continuous' | 'folded';
11
+ onchange: ((this: DevicePosture, ev: Event) => any) | null;
12
+ }
13
+ interface VirtualKeyboardEventMap {
14
+ geometrychange: Event;
15
+ }
16
+ interface VirtualKeyboard extends EventTarget {
17
+ readonly boundingRect: DOMRect;
18
+ overlaysContent: boolean;
19
+ show(): void;
20
+ hide(): void;
21
+ addEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: AddEventListenerOptions): void;
22
+ removeEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
23
+ }
24
+ interface BrowsingContextViewportEventMap {
25
+ change: Event;
26
+ }
27
+ interface BrowsingContextViewport extends EventTarget {
28
+ readonly segments: ReadonlyArray<DOMRectReadOnly> | null;
29
+ addEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
30
+ removeEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
31
+ }
32
+ export default function createEnvironmentObserver<K extends EnvironmentPresetKey>(preset: K): EnvironmentObserver<K>;
33
+ export {};
@@ -34,7 +34,7 @@ export declare enum Browsers {
34
34
  IE = "IE",
35
35
  SamsungInternet = "SamsungInternet"
36
36
  }
37
- export declare const USER_AGENT: string;
37
+ export declare let USER_AGENT: string;
38
38
  export declare const HIGH_ENTROPY_BRAND_NAME_MAP: Record<string, string>;
39
39
  export declare const RTL_LANGUAGES: string[];
40
40
  export declare const OS_RESOLVER_MAP: [RegExp, OS, VersionResolver?][];
@@ -0,0 +1 @@
1
+ export default function insertionSort(arr: number[]): void;
@@ -89,11 +89,11 @@ var Browsers;
89
89
  Browsers["IE"] = "IE";
90
90
  Browsers["SamsungInternet"] = "SamsungInternet";
91
91
  })(Browsers || (Browsers = {}));
92
- var USER_AGENT = (function () {
93
- if (typeof globalThis.navigator.userAgent !== 'undefined')
94
- return globalThis.navigator.userAgent;
95
- return '';
96
- })();
92
+ var USER_AGENT;
93
+ if (typeof globalThis.navigator.userAgent !== 'undefined')
94
+ USER_AGENT = globalThis.navigator.userAgent;
95
+ else
96
+ USER_AGENT = '';
97
97
  var HIGH_ENTROPY_BRAND_NAME_MAP = {
98
98
  'Google Chrome': 'Chrome',
99
99
  'Microsoft Edge': 'Edge',
@@ -794,6 +794,8 @@ function createSubscriptionManager(attach, detach) {
794
794
  },
795
795
  subscribe: function (listener, options) {
796
796
  if (options === void 0) { options = {}; }
797
+ if (typeof options.signal !== 'undefined' && options.signal.aborted)
798
+ return function () { };
797
799
  var entry = { fn: listener, once: false };
798
800
  if (typeof options.once !== 'undefined')
799
801
  entry.once = options.once;
@@ -812,12 +814,8 @@ function createSubscriptionManager(attach, detach) {
812
814
  EventListener.remove(entry.signal, { type: 'abort', callback: cleanup });
813
815
  removeEntry(entry);
814
816
  };
815
- if (typeof entry.signal !== 'undefined') {
816
- if (entry.signal.aborted)
817
- removeEntry(entry);
818
- else
819
- EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
820
- }
817
+ if (typeof entry.signal !== 'undefined')
818
+ EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
821
819
  return function unsubscribe() {
822
820
  removeEntry(entry);
823
821
  };
@@ -87,11 +87,11 @@ var Browsers;
87
87
  Browsers["IE"] = "IE";
88
88
  Browsers["SamsungInternet"] = "SamsungInternet";
89
89
  })(Browsers || (Browsers = {}));
90
- var USER_AGENT = (function () {
91
- if (typeof globalThis.navigator.userAgent !== 'undefined')
92
- return globalThis.navigator.userAgent;
93
- return '';
94
- })();
90
+ var USER_AGENT;
91
+ if (typeof globalThis.navigator.userAgent !== 'undefined')
92
+ USER_AGENT = globalThis.navigator.userAgent;
93
+ else
94
+ USER_AGENT = '';
95
95
  var HIGH_ENTROPY_BRAND_NAME_MAP = {
96
96
  'Google Chrome': 'Chrome',
97
97
  'Microsoft Edge': 'Edge',
@@ -792,6 +792,8 @@ function createSubscriptionManager(attach, detach) {
792
792
  },
793
793
  subscribe: function (listener, options) {
794
794
  if (options === void 0) { options = {}; }
795
+ if (typeof options.signal !== 'undefined' && options.signal.aborted)
796
+ return function () { };
795
797
  var entry = { fn: listener, once: false };
796
798
  if (typeof options.once !== 'undefined')
797
799
  entry.once = options.once;
@@ -810,12 +812,8 @@ function createSubscriptionManager(attach, detach) {
810
812
  EventListener.remove(entry.signal, { type: 'abort', callback: cleanup });
811
813
  removeEntry(entry);
812
814
  };
813
- if (typeof entry.signal !== 'undefined') {
814
- if (entry.signal.aborted)
815
- removeEntry(entry);
816
- else
817
- EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
818
- }
815
+ if (typeof entry.signal !== 'undefined')
816
+ EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
819
817
  return function unsubscribe() {
820
818
  removeEntry(entry);
821
819
  };
@@ -3,6 +3,6 @@ export declare enum Appearances {
3
3
  Light = "light",
4
4
  Dark = "dark"
5
5
  }
6
- export declare let MEDIA_QUERY_LIST: MediaQueryList;
6
+ export declare let PREFERS_COLOR_SCHEME_MEDIA_QUERY_LIST: MediaQueryList;
7
7
  export declare const CONTEXT: CanvasRenderingContext2D | null;
8
8
  export declare const SVG_PIXEL_DATA_URL: string;
@@ -1,4 +1,3 @@
1
- import { Dimensions } from "../types";
2
1
  export declare enum Orientation {
3
2
  Portrait = "portrait",
4
3
  Landscape = "landscape",
@@ -40,5 +39,5 @@ export declare const ENV_PRESETS: {
40
39
  readonly left: "viewport-segment-left";
41
40
  };
42
41
  };
43
- export declare const FALLBACK_DIMENSION: Dimensions;
44
- export declare let MEDIA_QUERY_LIST: MediaQueryList;
42
+ export declare let ORIENTATION_MEDIA_QUERY_LIST: MediaQueryList;
43
+ export declare let DEVICE_POSTURE_MEDIA_QUERY_LIST: MediaQueryList;
@@ -1,3 +1,18 @@
1
1
  import { DimensionInstance } from "../types";
2
+ declare global {
3
+ interface DOMRectReadOnly {
4
+ readonly x: number;
5
+ readonly y: number;
6
+ readonly width: number;
7
+ readonly height: number;
8
+ readonly top: number;
9
+ readonly right: number;
10
+ readonly bottom: number;
11
+ readonly left: number;
12
+ }
13
+ interface VisualViewport {
14
+ readonly segments?: DOMRectReadOnly[];
15
+ }
16
+ }
2
17
  declare const Dimension: DimensionInstance;
3
18
  export default Dimension;
@@ -1,18 +1,26 @@
1
1
  import { ENV_PRESETS, Orientation } from "../constants";
2
2
  export type EnvironmentPresetKey = keyof typeof ENV_PRESETS;
3
- export type EnvironmentPresetAttr<K extends EnvironmentPresetKey> = keyof typeof ENV_PRESETS[K];
3
+ export type EnvironmentPresetAttribute<K extends EnvironmentPresetKey> = keyof typeof ENV_PRESETS[K];
4
4
  export type EnvironmentPresetValues<K extends EnvironmentPresetKey> = {
5
- [P in EnvironmentPresetAttr<K>]: number;
5
+ [P in EnvironmentPresetAttribute<K>]: number;
6
6
  };
7
- export declare interface DimensionInstance {
8
- get value(): Dimensions;
9
- environment: Environment;
10
- onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
11
- Constants: {
12
- Orientation: typeof Orientation;
13
- };
14
- Errors: {};
7
+ export declare interface Environment {
8
+ safeAreaInset: EnvironmentObserver<'safe-area-inset'>;
9
+ safeAreaMaxInset: EnvironmentObserver<'safe-area-max-inset'>;
10
+ keyboardInset: EnvironmentObserver<'keyboard-inset'>;
11
+ titlebarArea: EnvironmentObserver<'titlebar-area'>;
12
+ viewportSegment: EnvironmentObserver<'viewport-segment'>;
13
+ }
14
+ export declare interface SegmentsObserver {
15
+ get value(): EnvironmentPresetValues<'viewport-segment'>[];
16
+ onChange(listener: (value: EnvironmentPresetValues<'viewport-segment'>[]) => void, options?: AddEventListenerOptions): () => void;
17
+ useCssVariable(prefix: string): () => void;
15
18
  }
19
+ export declare type EnvironmentObserver<K extends EnvironmentPresetKey> = K extends 'viewport-segment' ? SegmentsObserver : {
20
+ get value(): EnvironmentPresetValues<K>;
21
+ onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
22
+ useCssVariable(prefix: string): () => void;
23
+ };
16
24
  export declare interface Dimensions {
17
25
  outerWidth: number;
18
26
  outerHeight: number;
@@ -21,14 +29,12 @@ export declare interface Dimensions {
21
29
  scale: number;
22
30
  orientation: Orientation;
23
31
  }
24
- export declare interface EnvironmentPreset<K extends EnvironmentPresetKey> {
25
- get value(): EnvironmentPresetValues<K>;
26
- onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
27
- }
28
- export declare interface Environment {
29
- safeAreaInset: EnvironmentPreset<'safe-area-inset'>;
30
- safeAreaMaxInset: EnvironmentPreset<'safe-area-max-inset'>;
31
- keyboardInset: EnvironmentPreset<'keyboard-inset'>;
32
- titlebarArea: EnvironmentPreset<'titlebar-area'>;
33
- viewportSegment: EnvironmentPreset<'viewport-segment'>;
32
+ export declare interface DimensionInstance {
33
+ get value(): Dimensions;
34
+ environment: Environment;
35
+ onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
36
+ Constants: {
37
+ Orientation: typeof Orientation;
38
+ };
39
+ Errors: {};
34
40
  }
@@ -1,10 +1,15 @@
1
- import { EnvironmentPresetKey, EnvironmentPresetValues } from "../types";
1
+ import { EnvironmentObserver, EnvironmentPresetKey } from "../types";
2
2
  declare global {
3
3
  interface Navigator {
4
4
  readonly virtualKeyboard?: VirtualKeyboard;
5
+ readonly devicePosture?: DevicePosture;
5
6
  }
7
+ var viewport: BrowsingContextViewport | undefined;
8
+ }
9
+ interface DevicePosture extends EventTarget {
10
+ readonly type: 'continuous' | 'folded';
11
+ onchange: ((this: DevicePosture, ev: Event) => any) | null;
6
12
  }
7
- type ChangeCallback<K extends EnvironmentPresetKey> = (values: EnvironmentPresetValues<K>) => void;
8
13
  interface VirtualKeyboardEventMap {
9
14
  geometrychange: Event;
10
15
  }
@@ -16,9 +21,13 @@ interface VirtualKeyboard extends EventTarget {
16
21
  addEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: AddEventListenerOptions): void;
17
22
  removeEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18
23
  }
19
- export type EnvObserver<K extends EnvironmentPresetKey> = {
20
- get(): EnvironmentPresetValues<K>;
21
- onChange(callback: ChangeCallback<K>, options?: AddEventListenerOptions): () => void;
22
- };
23
- export default function createEnvObserver<K extends EnvironmentPresetKey>(preset: K): EnvObserver<K>;
24
+ interface BrowsingContextViewportEventMap {
25
+ change: Event;
26
+ }
27
+ interface BrowsingContextViewport extends EventTarget {
28
+ readonly segments: ReadonlyArray<DOMRectReadOnly> | null;
29
+ addEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
30
+ removeEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
31
+ }
32
+ export default function createEnvObserver<K extends EnvironmentPresetKey>(preset: K): EnvironmentObserver<K>;
24
33
  export {};
@@ -0,0 +1,33 @@
1
+ import { EnvironmentObserver, EnvironmentPresetKey } from "../types";
2
+ declare global {
3
+ interface Navigator {
4
+ readonly virtualKeyboard?: VirtualKeyboard;
5
+ readonly devicePosture?: DevicePosture;
6
+ }
7
+ var viewport: BrowsingContextViewport | undefined;
8
+ }
9
+ interface DevicePosture extends EventTarget {
10
+ readonly type: 'continuous' | 'folded';
11
+ onchange: ((this: DevicePosture, ev: Event) => any) | null;
12
+ }
13
+ interface VirtualKeyboardEventMap {
14
+ geometrychange: Event;
15
+ }
16
+ interface VirtualKeyboard extends EventTarget {
17
+ readonly boundingRect: DOMRect;
18
+ overlaysContent: boolean;
19
+ show(): void;
20
+ hide(): void;
21
+ addEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: AddEventListenerOptions): void;
22
+ removeEventListener<K extends keyof VirtualKeyboardEventMap>(type: K, listener: (this: VirtualKeyboard, ev: VirtualKeyboardEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
23
+ }
24
+ interface BrowsingContextViewportEventMap {
25
+ change: Event;
26
+ }
27
+ interface BrowsingContextViewport extends EventTarget {
28
+ readonly segments: ReadonlyArray<DOMRectReadOnly> | null;
29
+ addEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
30
+ removeEventListener<K extends keyof BrowsingContextViewportEventMap>(type: K, listener: (this: BrowsingContextViewport, ev: BrowsingContextViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
31
+ }
32
+ export default function createEnvironmentObserver<K extends EnvironmentPresetKey>(preset: K): EnvironmentObserver<K>;
33
+ export {};
@@ -34,7 +34,7 @@ export declare enum Browsers {
34
34
  IE = "IE",
35
35
  SamsungInternet = "SamsungInternet"
36
36
  }
37
- export declare const USER_AGENT: string;
37
+ export declare let USER_AGENT: string;
38
38
  export declare const HIGH_ENTROPY_BRAND_NAME_MAP: Record<string, string>;
39
39
  export declare const RTL_LANGUAGES: string[];
40
40
  export declare const OS_RESOLVER_MAP: [RegExp, OS, VersionResolver?][];
@@ -0,0 +1 @@
1
+ export default function insertionSort(arr: number[]): void;
@@ -532,6 +532,8 @@ function createSubscriptionManager(attach, detach) {
532
532
  },
533
533
  subscribe: function (listener, options) {
534
534
  if (options === void 0) { options = {}; }
535
+ if (typeof options.signal !== 'undefined' && options.signal.aborted)
536
+ return function () { };
535
537
  var entry = { fn: listener, once: false };
536
538
  if (typeof options.once !== 'undefined')
537
539
  entry.once = options.once;
@@ -550,12 +552,8 @@ function createSubscriptionManager(attach, detach) {
550
552
  EventListener.remove(entry.signal, { type: 'abort', callback: cleanup });
551
553
  removeEntry(entry);
552
554
  };
553
- if (typeof entry.signal !== 'undefined') {
554
- if (entry.signal.aborted)
555
- removeEntry(entry);
556
- else
557
- EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
558
- }
555
+ if (typeof entry.signal !== 'undefined')
556
+ EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
559
557
  return function unsubscribe() {
560
558
  removeEntry(entry);
561
559
  };
@@ -530,6 +530,8 @@ function createSubscriptionManager(attach, detach) {
530
530
  },
531
531
  subscribe: function (listener, options) {
532
532
  if (options === void 0) { options = {}; }
533
+ if (typeof options.signal !== 'undefined' && options.signal.aborted)
534
+ return function () { };
533
535
  var entry = { fn: listener, once: false };
534
536
  if (typeof options.once !== 'undefined')
535
537
  entry.once = options.once;
@@ -548,12 +550,8 @@ function createSubscriptionManager(attach, detach) {
548
550
  EventListener.remove(entry.signal, { type: 'abort', callback: cleanup });
549
551
  removeEntry(entry);
550
552
  };
551
- if (typeof entry.signal !== 'undefined') {
552
- if (entry.signal.aborted)
553
- removeEntry(entry);
554
- else
555
- EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
556
- }
553
+ if (typeof entry.signal !== 'undefined')
554
+ EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
557
555
  return function unsubscribe() {
558
556
  removeEntry(entry);
559
557
  };
@@ -3,6 +3,6 @@ export declare enum Appearances {
3
3
  Light = "light",
4
4
  Dark = "dark"
5
5
  }
6
- export declare let MEDIA_QUERY_LIST: MediaQueryList;
6
+ export declare let PREFERS_COLOR_SCHEME_MEDIA_QUERY_LIST: MediaQueryList;
7
7
  export declare const CONTEXT: CanvasRenderingContext2D | null;
8
8
  export declare const SVG_PIXEL_DATA_URL: string;
@@ -1,4 +1,3 @@
1
- import { Dimensions } from "../types";
2
1
  export declare enum Orientation {
3
2
  Portrait = "portrait",
4
3
  Landscape = "landscape",
@@ -40,5 +39,5 @@ export declare const ENV_PRESETS: {
40
39
  readonly left: "viewport-segment-left";
41
40
  };
42
41
  };
43
- export declare const FALLBACK_DIMENSION: Dimensions;
44
- export declare let MEDIA_QUERY_LIST: MediaQueryList;
42
+ export declare let ORIENTATION_MEDIA_QUERY_LIST: MediaQueryList;
43
+ export declare let DEVICE_POSTURE_MEDIA_QUERY_LIST: MediaQueryList;
@@ -1,3 +1,18 @@
1
1
  import { DimensionInstance } from "../types";
2
+ declare global {
3
+ interface DOMRectReadOnly {
4
+ readonly x: number;
5
+ readonly y: number;
6
+ readonly width: number;
7
+ readonly height: number;
8
+ readonly top: number;
9
+ readonly right: number;
10
+ readonly bottom: number;
11
+ readonly left: number;
12
+ }
13
+ interface VisualViewport {
14
+ readonly segments?: DOMRectReadOnly[];
15
+ }
16
+ }
2
17
  declare const Dimension: DimensionInstance;
3
18
  export default Dimension;
@@ -1,18 +1,26 @@
1
1
  import { ENV_PRESETS, Orientation } from "../constants";
2
2
  export type EnvironmentPresetKey = keyof typeof ENV_PRESETS;
3
- export type EnvironmentPresetAttr<K extends EnvironmentPresetKey> = keyof typeof ENV_PRESETS[K];
3
+ export type EnvironmentPresetAttribute<K extends EnvironmentPresetKey> = keyof typeof ENV_PRESETS[K];
4
4
  export type EnvironmentPresetValues<K extends EnvironmentPresetKey> = {
5
- [P in EnvironmentPresetAttr<K>]: number;
5
+ [P in EnvironmentPresetAttribute<K>]: number;
6
6
  };
7
- export declare interface DimensionInstance {
8
- get value(): Dimensions;
9
- environment: Environment;
10
- onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
11
- Constants: {
12
- Orientation: typeof Orientation;
13
- };
14
- Errors: {};
7
+ export declare interface Environment {
8
+ safeAreaInset: EnvironmentObserver<'safe-area-inset'>;
9
+ safeAreaMaxInset: EnvironmentObserver<'safe-area-max-inset'>;
10
+ keyboardInset: EnvironmentObserver<'keyboard-inset'>;
11
+ titlebarArea: EnvironmentObserver<'titlebar-area'>;
12
+ viewportSegment: EnvironmentObserver<'viewport-segment'>;
13
+ }
14
+ export declare interface SegmentsObserver {
15
+ get value(): EnvironmentPresetValues<'viewport-segment'>[];
16
+ onChange(listener: (value: EnvironmentPresetValues<'viewport-segment'>[]) => void, options?: AddEventListenerOptions): () => void;
17
+ useCssVariable(prefix: string): () => void;
15
18
  }
19
+ export declare type EnvironmentObserver<K extends EnvironmentPresetKey> = K extends 'viewport-segment' ? SegmentsObserver : {
20
+ get value(): EnvironmentPresetValues<K>;
21
+ onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
22
+ useCssVariable(prefix: string): () => void;
23
+ };
16
24
  export declare interface Dimensions {
17
25
  outerWidth: number;
18
26
  outerHeight: number;
@@ -21,14 +29,12 @@ export declare interface Dimensions {
21
29
  scale: number;
22
30
  orientation: Orientation;
23
31
  }
24
- export declare interface EnvironmentPreset<K extends EnvironmentPresetKey> {
25
- get value(): EnvironmentPresetValues<K>;
26
- onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
27
- }
28
- export declare interface Environment {
29
- safeAreaInset: EnvironmentPreset<'safe-area-inset'>;
30
- safeAreaMaxInset: EnvironmentPreset<'safe-area-max-inset'>;
31
- keyboardInset: EnvironmentPreset<'keyboard-inset'>;
32
- titlebarArea: EnvironmentPreset<'titlebar-area'>;
33
- viewportSegment: EnvironmentPreset<'viewport-segment'>;
32
+ export declare interface DimensionInstance {
33
+ get value(): Dimensions;
34
+ environment: Environment;
35
+ onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
36
+ Constants: {
37
+ Orientation: typeof Orientation;
38
+ };
39
+ Errors: {};
34
40
  }