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.
- package/README.md +32 -8
- package/dist/index.d.ts +42 -21
- package/dist/native.cjs +412 -110
- package/dist/native.min.cjs +1 -1
- package/dist/native.min.mjs +1 -1
- package/dist/native.mjs +412 -110
- package/dist/native.umd.js +412 -110
- package/dist/native.umd.min.js +1 -1
- package/dist/plugin/appearance/index.cjs +16 -18
- package/dist/plugin/appearance/index.d.ts +2 -2
- package/dist/plugin/appearance/index.mjs +17 -19
- package/dist/plugin/appearance/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/appearance/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/appearance/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/appearance/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/appearance/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/appearance/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/appearance/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/appearance/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/badge/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/badge/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/badge/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/badge/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/badge/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/badge/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/badge/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/badge/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/battery/index.cjs +4 -6
- package/dist/plugin/battery/index.mjs +4 -6
- package/dist/plugin/battery/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/battery/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/battery/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/battery/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/battery/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/battery/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/battery/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/battery/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/clipboard/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/clipboard/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/clipboard/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/clipboard/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/clipboard/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/clipboard/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/clipboard/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/clipboard/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/dimension/index.cjs +456 -97
- package/dist/plugin/dimension/index.d.ts +45 -24
- package/dist/plugin/dimension/index.mjs +457 -97
- package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/dimension/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/dimension/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/dimension/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/dimension/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/dimension/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/dimension/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/fullscreen/index.cjs +9 -11
- package/dist/plugin/fullscreen/index.mjs +9 -11
- package/dist/plugin/fullscreen/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/fullscreen/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/fullscreen/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/fullscreen/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/fullscreen/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/fullscreen/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/fullscreen/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/fullscreen/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/geolocation/index.cjs +4 -6
- package/dist/plugin/geolocation/index.mjs +4 -6
- package/dist/plugin/geolocation/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/geolocation/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/geolocation/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/geolocation/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/geolocation/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/geolocation/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/geolocation/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/geolocation/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/notification/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/notification/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/notification/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/notification/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/notification/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/notification/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/notification/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/notification/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/open/index.cjs +6 -6
- package/dist/plugin/open/index.d.ts +16 -0
- package/dist/plugin/open/index.mjs +6 -6
- package/dist/plugin/open/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/open/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/open/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/open/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/open/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/open/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/open/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/open/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/permission/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/permission/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/permission/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/permission/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/permission/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/permission/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/permission/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/permission/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/pip/index.cjs +9 -11
- package/dist/plugin/pip/index.mjs +9 -11
- package/dist/plugin/pip/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/pip/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/pip/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/pip/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/pip/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/pip/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/pip/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/pip/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/platform/index.cjs +11 -12
- package/dist/plugin/platform/index.d.ts +17 -1
- package/dist/plugin/platform/index.mjs +5 -5
- package/dist/plugin/platform/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/platform/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/platform/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/platform/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/platform/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/platform/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/platform/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/platform/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/theme/index.cjs +5 -5
- package/dist/plugin/theme/index.mjs +5 -5
- package/dist/plugin/theme/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/theme/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/theme/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/theme/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/theme/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/theme/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/theme/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/theme/src/utils/insert-sort.d.ts +1 -0
- package/dist/plugin/vibration/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/plugin/vibration/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/plugin/vibration/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/plugin/vibration/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/plugin/vibration/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/plugin/vibration/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/plugin/vibration/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/plugin/vibration/src/utils/insert-sort.d.ts +1 -0
- package/dist/src/plugin/appearance/constants/index.d.ts +1 -1
- package/dist/src/plugin/dimension/constants/index.d.ts +2 -3
- package/dist/src/plugin/dimension/cores/index.d.ts +15 -0
- package/dist/src/plugin/dimension/types/dimensions.d.ts +26 -20
- package/dist/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
- package/dist/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
- package/dist/src/plugin/platform/constants/index.d.ts +1 -1
- package/dist/src/utils/insert-sort.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -592,6 +592,16 @@ const unsubscribe = Native.dimension.environment.safeAreaInset.onChange((inset)
|
|
|
592
592
|
document.body.style.paddingBottom = inset.bottom + 'px';
|
|
593
593
|
});
|
|
594
594
|
unsubscribe();
|
|
595
|
+
|
|
596
|
+
// Sync safe area insets to CSS variables
|
|
597
|
+
// Usage in CSS: var(--sai-top), var(--sai-bottom), var(--sai-left), var(--sai-right)
|
|
598
|
+
const releaseSai = Native.dimension.environment.safeAreaInset.useCssVariable('sai');
|
|
599
|
+
releaseSai(); // removes all --sai-* variables
|
|
600
|
+
|
|
601
|
+
// Sync viewport segments to CSS variables (e.g. foldable devices)
|
|
602
|
+
// Usage in CSS: var(--vs-0-width), var(--vs-0-height), var(--vs-1-top), ...
|
|
603
|
+
const releaseVs = Native.dimension.environment.viewportSegment.useCssVariable('vs');
|
|
604
|
+
releaseVs(); // removes all --vs-{index}-* variables
|
|
595
605
|
```
|
|
596
606
|
|
|
597
607
|
**Returns**
|
|
@@ -603,16 +613,30 @@ Environment
|
|
|
603
613
|
|
|
604
614
|
```ts
|
|
605
615
|
interface Environment {
|
|
606
|
-
safeAreaInset:
|
|
607
|
-
safeAreaMaxInset:
|
|
608
|
-
keyboardInset:
|
|
609
|
-
titlebarArea:
|
|
610
|
-
viewportSegment:
|
|
616
|
+
safeAreaInset: EnvironmentObserver<'safe-area-inset'>;
|
|
617
|
+
safeAreaMaxInset: EnvironmentObserver<'safe-area-max-inset'>;
|
|
618
|
+
keyboardInset: EnvironmentObserver<'keyboard-inset'>;
|
|
619
|
+
titlebarArea: EnvironmentObserver<'titlebar-area'>;
|
|
620
|
+
viewportSegment: EnvironmentObserver<'viewport-segment'>;
|
|
611
621
|
}
|
|
612
622
|
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
623
|
+
type EnvironmentObserver<K extends EnvironmentPresetKey> =
|
|
624
|
+
K extends 'viewport-segment'
|
|
625
|
+
? SegmentsObserver
|
|
626
|
+
: {
|
|
627
|
+
get value(): EnvironmentPresetValues<K>;
|
|
628
|
+
|
|
629
|
+
onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
|
|
630
|
+
|
|
631
|
+
useCssVariable(prefix: string): () => void;
|
|
632
|
+
};
|
|
633
|
+
|
|
634
|
+
interface SegmentsObserver {
|
|
635
|
+
get value(): EnvironmentPresetValues<'viewport-segment'>[];
|
|
636
|
+
|
|
637
|
+
onChange(listener: (value: EnvironmentPresetValues<'viewport-segment'>[]) => void, options?: AddEventListenerOptions): () => void;
|
|
638
|
+
|
|
639
|
+
useCssVariable(prefix: string): () => void;
|
|
616
640
|
}
|
|
617
641
|
```
|
|
618
642
|
|
package/dist/index.d.ts
CHANGED
|
@@ -109,19 +109,27 @@ declare const ENV_PRESETS: {
|
|
|
109
109
|
};
|
|
110
110
|
|
|
111
111
|
type EnvironmentPresetKey = keyof typeof ENV_PRESETS;
|
|
112
|
-
type
|
|
112
|
+
type EnvironmentPresetAttribute<K extends EnvironmentPresetKey> = keyof typeof ENV_PRESETS[K];
|
|
113
113
|
type EnvironmentPresetValues<K extends EnvironmentPresetKey> = {
|
|
114
|
-
[P in
|
|
114
|
+
[P in EnvironmentPresetAttribute<K>]: number;
|
|
115
|
+
};
|
|
116
|
+
declare interface Environment {
|
|
117
|
+
safeAreaInset: EnvironmentObserver<'safe-area-inset'>;
|
|
118
|
+
safeAreaMaxInset: EnvironmentObserver<'safe-area-max-inset'>;
|
|
119
|
+
keyboardInset: EnvironmentObserver<'keyboard-inset'>;
|
|
120
|
+
titlebarArea: EnvironmentObserver<'titlebar-area'>;
|
|
121
|
+
viewportSegment: EnvironmentObserver<'viewport-segment'>;
|
|
122
|
+
}
|
|
123
|
+
declare interface SegmentsObserver {
|
|
124
|
+
get value(): EnvironmentPresetValues<'viewport-segment'>[];
|
|
125
|
+
onChange(listener: (value: EnvironmentPresetValues<'viewport-segment'>[]) => void, options?: AddEventListenerOptions): () => void;
|
|
126
|
+
useCssVariable(prefix: string): () => void;
|
|
127
|
+
}
|
|
128
|
+
declare type EnvironmentObserver<K extends EnvironmentPresetKey> = K extends 'viewport-segment' ? SegmentsObserver : {
|
|
129
|
+
get value(): EnvironmentPresetValues<K>;
|
|
130
|
+
onChange(listener: (value: EnvironmentPresetValues<K>) => void, options?: AddEventListenerOptions): () => void;
|
|
131
|
+
useCssVariable(prefix: string): () => void;
|
|
115
132
|
};
|
|
116
|
-
declare interface DimensionInstance {
|
|
117
|
-
get value(): Dimensions;
|
|
118
|
-
environment: Environment;
|
|
119
|
-
onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
|
|
120
|
-
Constants: {
|
|
121
|
-
Orientation: typeof Orientation;
|
|
122
|
-
};
|
|
123
|
-
Errors: {};
|
|
124
|
-
}
|
|
125
133
|
declare interface Dimensions {
|
|
126
134
|
outerWidth: number;
|
|
127
135
|
outerHeight: number;
|
|
@@ -130,18 +138,31 @@ declare interface Dimensions {
|
|
|
130
138
|
scale: number;
|
|
131
139
|
orientation: Orientation;
|
|
132
140
|
}
|
|
133
|
-
declare interface
|
|
134
|
-
get value():
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
titlebarArea: EnvironmentPreset<'titlebar-area'>;
|
|
142
|
-
viewportSegment: EnvironmentPreset<'viewport-segment'>;
|
|
141
|
+
declare interface DimensionInstance {
|
|
142
|
+
get value(): Dimensions;
|
|
143
|
+
environment: Environment;
|
|
144
|
+
onChange(listener: (dimension: Dimensions) => void, options?: AddEventListenerOptions): () => void;
|
|
145
|
+
Constants: {
|
|
146
|
+
Orientation: typeof Orientation;
|
|
147
|
+
};
|
|
148
|
+
Errors: {};
|
|
143
149
|
}
|
|
144
150
|
|
|
151
|
+
declare global {
|
|
152
|
+
interface DOMRectReadOnly {
|
|
153
|
+
readonly x: number;
|
|
154
|
+
readonly y: number;
|
|
155
|
+
readonly width: number;
|
|
156
|
+
readonly height: number;
|
|
157
|
+
readonly top: number;
|
|
158
|
+
readonly right: number;
|
|
159
|
+
readonly bottom: number;
|
|
160
|
+
readonly left: number;
|
|
161
|
+
}
|
|
162
|
+
interface VisualViewport {
|
|
163
|
+
readonly segments?: DOMRectReadOnly[];
|
|
164
|
+
}
|
|
165
|
+
}
|
|
145
166
|
declare const Dimension: DimensionInstance;
|
|
146
167
|
|
|
147
168
|
declare const InvalidStateError: ErrorConstructor;
|