@kbach/react-native 1.0.0-beta.23 → 1.0.0-beta.25
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/android/src/main/jniLibs/arm64-v8a/libkbach_core_engine.so +0 -0
- package/android/src/main/jniLibs/x86_64/libkbach_core_engine.so +0 -0
- package/dist/{chunk-OS7EPBH5.mjs → chunk-EBLZ3CJG.mjs} +1 -1
- package/dist/{chunk-TS2EEVOE.mjs → chunk-JENWPIJT.mjs} +1 -1
- package/dist/chunk-TBDAJIR3.mjs +552 -0
- package/dist/index.js +32 -24
- package/dist/index.web.js +1 -1
- package/dist/index.web.mjs +2 -2
- package/dist/jsx-dev-runtime.js +41 -26
- package/dist/jsx-dev-runtime.web.js +1 -1
- package/dist/jsx-dev-runtime.web.mjs +4 -4
- package/dist/jsx-runtime.js +41 -26
- package/dist/jsx-runtime.web.js +1 -1
- package/dist/jsx-runtime.web.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-AG7ZQ2K4.mjs +0 -552
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-JENWPIJT.mjs";
|
|
2
2
|
import {
|
|
3
3
|
Fragment,
|
|
4
4
|
jsx,
|
|
5
5
|
jsxs
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-EBLZ3CJG.mjs";
|
|
7
|
+
import "./chunk-TBDAJIR3.mjs";
|
|
8
8
|
|
|
9
9
|
// src/jsxRuntimeCore.ts
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
import { Fragment as Fragment2, useCallback, useState, useSyncExternalStore } from "react";
|
|
11
|
+
import { Fragment as Fragment2, useCallback, useRef, useState, useSyncExternalStore } from "react";
|
|
12
12
|
import { Pressable, useWindowDimensions } from "react-native";
|
|
13
13
|
function createJsxDEV(jsx2, jsxs2) {
|
|
14
14
|
return function jsxDEV2(type, props, key, isStaticChildren, source, self) {
|
package/dist/jsx-runtime.js
CHANGED
|
@@ -589,11 +589,18 @@ function ReactiveElement({
|
|
|
589
589
|
}) {
|
|
590
590
|
(0, import_react.useSyncExternalStore)(import_darkModeStore.subscribeGlobalDarkMode, import_darkModeStore.getGlobalDarkMode);
|
|
591
591
|
(0, import_react.useSyncExternalStore)(import_dynamicTokens.subscribeDynamicTokens, import_dynamicTokens.getDynamicTokensVersion);
|
|
592
|
-
(0, import_react_native.useWindowDimensions)();
|
|
592
|
+
const windowSize = (0, import_react_native.useWindowDimensions)();
|
|
593
593
|
const [measuredBasis, setMeasuredBasis] = (0, import_react.useState)(null);
|
|
594
|
+
const lastWindowSizeRef = (0, import_react.useRef)(windowSize);
|
|
595
|
+
if (lastWindowSizeRef.current.width !== windowSize.width || lastWindowSizeRef.current.height !== windowSize.height) {
|
|
596
|
+
lastWindowSizeRef.current = windowSize;
|
|
597
|
+
if (measuredBasis !== null) {
|
|
598
|
+
setMeasuredBasis(null);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
594
601
|
const measure = (0, import_react.useCallback)((e) => {
|
|
595
602
|
const { width: w, height: h } = e.nativeEvent.layout;
|
|
596
|
-
setMeasuredBasis((prev) => prev
|
|
603
|
+
setMeasuredBasis((prev) => prev === null ? { width: w, height: h } : prev);
|
|
597
604
|
}, []);
|
|
598
605
|
const [isHovered, setIsHovered] = (0, import_react.useState)(false);
|
|
599
606
|
const [isFocused, setIsFocused] = (0, import_react.useState)(false);
|
|
@@ -713,6 +720,27 @@ function resolveNegatableLength(theme, parsed) {
|
|
|
713
720
|
if (px === 0) return "0px";
|
|
714
721
|
return `-${px}px`;
|
|
715
722
|
}
|
|
723
|
+
function fractionPercent(value) {
|
|
724
|
+
const slashIdx = value.indexOf("/");
|
|
725
|
+
if (slashIdx === -1) return null;
|
|
726
|
+
const numStr = value.slice(0, slashIdx);
|
|
727
|
+
const denStr = value.slice(slashIdx + 1);
|
|
728
|
+
const num = Number(numStr);
|
|
729
|
+
const den = Number(denStr);
|
|
730
|
+
if (!Number.isFinite(num) || !Number.isFinite(den) || numStr.trim() === "" || denStr.trim() === "") return null;
|
|
731
|
+
if (den === 0) return null;
|
|
732
|
+
const pct = num / den * 100;
|
|
733
|
+
const formatted = pct.toFixed(6);
|
|
734
|
+
const trimmed = formatted.replace(/0+$/, "").replace(/\.$/, "");
|
|
735
|
+
return `${trimmed}%`;
|
|
736
|
+
}
|
|
737
|
+
function resolveNegatableSize(theme, parsed) {
|
|
738
|
+
if (!parsed.isArbitrary && parsed.value !== null) {
|
|
739
|
+
const pct = fractionPercent(parsed.value);
|
|
740
|
+
if (pct !== null) return parsed.negative ? `-${pct}` : pct;
|
|
741
|
+
}
|
|
742
|
+
return resolveNegatableLength(theme, parsed);
|
|
743
|
+
}
|
|
716
744
|
function resolvePercent(parsed) {
|
|
717
745
|
if (parsed.negative) return null;
|
|
718
746
|
const value = parsed.value;
|
|
@@ -866,43 +894,44 @@ function resolve(parsed, theme) {
|
|
|
866
894
|
case "shrink":
|
|
867
895
|
return [decl("flex-shrink", parsed.value ?? "1")];
|
|
868
896
|
// top/right/bottom/left/inset support real Tailwind's negative-value
|
|
869
|
-
// convention ("-top-4")
|
|
897
|
+
// convention ("-top-4") AND its percentage-fraction scale ("top-1/2",
|
|
898
|
+
// "-inset-1/3") — see resolveNegatableSize's own doc comment.
|
|
870
899
|
case "top": {
|
|
871
|
-
const v =
|
|
900
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
872
901
|
return v === null ? null : [decl("top", v)];
|
|
873
902
|
}
|
|
874
903
|
case "right": {
|
|
875
|
-
const v =
|
|
904
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
876
905
|
return v === null ? null : [decl("right", v)];
|
|
877
906
|
}
|
|
878
907
|
case "bottom": {
|
|
879
|
-
const v =
|
|
908
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
880
909
|
return v === null ? null : [decl("bottom", v)];
|
|
881
910
|
}
|
|
882
911
|
case "left": {
|
|
883
|
-
const v =
|
|
912
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
884
913
|
return v === null ? null : [decl("left", v)];
|
|
885
914
|
}
|
|
886
915
|
case "inset": {
|
|
887
|
-
const v =
|
|
916
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
888
917
|
return v === null ? null : [decl("inset", v)];
|
|
889
918
|
}
|
|
890
919
|
case "inset-x": {
|
|
891
|
-
const v =
|
|
920
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
892
921
|
return v === null ? null : [decl("left", v), decl("right", v)];
|
|
893
922
|
}
|
|
894
923
|
case "inset-y": {
|
|
895
|
-
const v =
|
|
924
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
896
925
|
return v === null ? null : [decl("top", v), decl("bottom", v)];
|
|
897
926
|
}
|
|
898
927
|
// Logical inset — just a different CSS property name, same reasoning
|
|
899
928
|
// as Rust's layout.rs (no direction-tracking logic needed here).
|
|
900
929
|
case "start": {
|
|
901
|
-
const v =
|
|
930
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
902
931
|
return v === null ? null : [decl("inset-inline-start", v)];
|
|
903
932
|
}
|
|
904
933
|
case "end": {
|
|
905
|
-
const v =
|
|
934
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
906
935
|
return v === null ? null : [decl("inset-inline-end", v)];
|
|
907
936
|
}
|
|
908
937
|
// "aspect-" is a registered VALUE_PREFIXES entry (parser.ts), so
|
|
@@ -1000,20 +1029,6 @@ function namedSize(key) {
|
|
|
1000
1029
|
return null;
|
|
1001
1030
|
}
|
|
1002
1031
|
}
|
|
1003
|
-
function fractionPercent(value) {
|
|
1004
|
-
const slashIdx = value.indexOf("/");
|
|
1005
|
-
if (slashIdx === -1) return null;
|
|
1006
|
-
const numStr = value.slice(0, slashIdx);
|
|
1007
|
-
const denStr = value.slice(slashIdx + 1);
|
|
1008
|
-
const num = Number(numStr);
|
|
1009
|
-
const den = Number(denStr);
|
|
1010
|
-
if (!Number.isFinite(num) || !Number.isFinite(den) || numStr.trim() === "" || denStr.trim() === "") return null;
|
|
1011
|
-
if (den === 0) return null;
|
|
1012
|
-
const pct = num / den * 100;
|
|
1013
|
-
const formatted = pct.toFixed(6);
|
|
1014
|
-
const trimmed = formatted.replace(/0+$/, "").replace(/\.$/, "");
|
|
1015
|
-
return `${trimmed}%`;
|
|
1016
|
-
}
|
|
1017
1032
|
function cssSizeKeyword(key) {
|
|
1018
1033
|
switch (key) {
|
|
1019
1034
|
case "min":
|