@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
package/dist/index.web.mjs
CHANGED
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
subscribeDynamicTokens,
|
|
10
10
|
subscribeGlobalDarkMode,
|
|
11
11
|
toggleGlobalDarkMode
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JENWPIJT.mjs";
|
|
13
13
|
import {
|
|
14
14
|
defaultTheme,
|
|
15
15
|
getTheme,
|
|
16
16
|
resolveClassName,
|
|
17
17
|
setTheme
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-TBDAJIR3.mjs";
|
|
19
19
|
|
|
20
20
|
// src/config.ts
|
|
21
21
|
function parseHexRgb(hex) {
|
package/dist/jsx-dev-runtime.js
CHANGED
|
@@ -588,11 +588,18 @@ function ReactiveElement({
|
|
|
588
588
|
}) {
|
|
589
589
|
(0, import_react.useSyncExternalStore)(import_darkModeStore.subscribeGlobalDarkMode, import_darkModeStore.getGlobalDarkMode);
|
|
590
590
|
(0, import_react.useSyncExternalStore)(import_dynamicTokens.subscribeDynamicTokens, import_dynamicTokens.getDynamicTokensVersion);
|
|
591
|
-
(0, import_react_native.useWindowDimensions)();
|
|
591
|
+
const windowSize = (0, import_react_native.useWindowDimensions)();
|
|
592
592
|
const [measuredBasis, setMeasuredBasis] = (0, import_react.useState)(null);
|
|
593
|
+
const lastWindowSizeRef = (0, import_react.useRef)(windowSize);
|
|
594
|
+
if (lastWindowSizeRef.current.width !== windowSize.width || lastWindowSizeRef.current.height !== windowSize.height) {
|
|
595
|
+
lastWindowSizeRef.current = windowSize;
|
|
596
|
+
if (measuredBasis !== null) {
|
|
597
|
+
setMeasuredBasis(null);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
593
600
|
const measure = (0, import_react.useCallback)((e) => {
|
|
594
601
|
const { width: w, height: h } = e.nativeEvent.layout;
|
|
595
|
-
setMeasuredBasis((prev) => prev
|
|
602
|
+
setMeasuredBasis((prev) => prev === null ? { width: w, height: h } : prev);
|
|
596
603
|
}, []);
|
|
597
604
|
const [isHovered, setIsHovered] = (0, import_react.useState)(false);
|
|
598
605
|
const [isFocused, setIsFocused] = (0, import_react.useState)(false);
|
|
@@ -722,6 +729,27 @@ function resolveNegatableLength(theme, parsed) {
|
|
|
722
729
|
if (px === 0) return "0px";
|
|
723
730
|
return `-${px}px`;
|
|
724
731
|
}
|
|
732
|
+
function fractionPercent(value) {
|
|
733
|
+
const slashIdx = value.indexOf("/");
|
|
734
|
+
if (slashIdx === -1) return null;
|
|
735
|
+
const numStr = value.slice(0, slashIdx);
|
|
736
|
+
const denStr = value.slice(slashIdx + 1);
|
|
737
|
+
const num = Number(numStr);
|
|
738
|
+
const den = Number(denStr);
|
|
739
|
+
if (!Number.isFinite(num) || !Number.isFinite(den) || numStr.trim() === "" || denStr.trim() === "") return null;
|
|
740
|
+
if (den === 0) return null;
|
|
741
|
+
const pct = num / den * 100;
|
|
742
|
+
const formatted = pct.toFixed(6);
|
|
743
|
+
const trimmed = formatted.replace(/0+$/, "").replace(/\.$/, "");
|
|
744
|
+
return `${trimmed}%`;
|
|
745
|
+
}
|
|
746
|
+
function resolveNegatableSize(theme, parsed) {
|
|
747
|
+
if (!parsed.isArbitrary && parsed.value !== null) {
|
|
748
|
+
const pct = fractionPercent(parsed.value);
|
|
749
|
+
if (pct !== null) return parsed.negative ? `-${pct}` : pct;
|
|
750
|
+
}
|
|
751
|
+
return resolveNegatableLength(theme, parsed);
|
|
752
|
+
}
|
|
725
753
|
function resolvePercent(parsed) {
|
|
726
754
|
if (parsed.negative) return null;
|
|
727
755
|
const value = parsed.value;
|
|
@@ -875,43 +903,44 @@ function resolve(parsed, theme) {
|
|
|
875
903
|
case "shrink":
|
|
876
904
|
return [decl("flex-shrink", parsed.value ?? "1")];
|
|
877
905
|
// top/right/bottom/left/inset support real Tailwind's negative-value
|
|
878
|
-
// convention ("-top-4")
|
|
906
|
+
// convention ("-top-4") AND its percentage-fraction scale ("top-1/2",
|
|
907
|
+
// "-inset-1/3") — see resolveNegatableSize's own doc comment.
|
|
879
908
|
case "top": {
|
|
880
|
-
const v =
|
|
909
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
881
910
|
return v === null ? null : [decl("top", v)];
|
|
882
911
|
}
|
|
883
912
|
case "right": {
|
|
884
|
-
const v =
|
|
913
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
885
914
|
return v === null ? null : [decl("right", v)];
|
|
886
915
|
}
|
|
887
916
|
case "bottom": {
|
|
888
|
-
const v =
|
|
917
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
889
918
|
return v === null ? null : [decl("bottom", v)];
|
|
890
919
|
}
|
|
891
920
|
case "left": {
|
|
892
|
-
const v =
|
|
921
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
893
922
|
return v === null ? null : [decl("left", v)];
|
|
894
923
|
}
|
|
895
924
|
case "inset": {
|
|
896
|
-
const v =
|
|
925
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
897
926
|
return v === null ? null : [decl("inset", v)];
|
|
898
927
|
}
|
|
899
928
|
case "inset-x": {
|
|
900
|
-
const v =
|
|
929
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
901
930
|
return v === null ? null : [decl("left", v), decl("right", v)];
|
|
902
931
|
}
|
|
903
932
|
case "inset-y": {
|
|
904
|
-
const v =
|
|
933
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
905
934
|
return v === null ? null : [decl("top", v), decl("bottom", v)];
|
|
906
935
|
}
|
|
907
936
|
// Logical inset — just a different CSS property name, same reasoning
|
|
908
937
|
// as Rust's layout.rs (no direction-tracking logic needed here).
|
|
909
938
|
case "start": {
|
|
910
|
-
const v =
|
|
939
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
911
940
|
return v === null ? null : [decl("inset-inline-start", v)];
|
|
912
941
|
}
|
|
913
942
|
case "end": {
|
|
914
|
-
const v =
|
|
943
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
915
944
|
return v === null ? null : [decl("inset-inline-end", v)];
|
|
916
945
|
}
|
|
917
946
|
// "aspect-" is a registered VALUE_PREFIXES entry (parser.ts), so
|
|
@@ -1009,20 +1038,6 @@ function namedSize(key) {
|
|
|
1009
1038
|
return null;
|
|
1010
1039
|
}
|
|
1011
1040
|
}
|
|
1012
|
-
function fractionPercent(value) {
|
|
1013
|
-
const slashIdx = value.indexOf("/");
|
|
1014
|
-
if (slashIdx === -1) return null;
|
|
1015
|
-
const numStr = value.slice(0, slashIdx);
|
|
1016
|
-
const denStr = value.slice(slashIdx + 1);
|
|
1017
|
-
const num = Number(numStr);
|
|
1018
|
-
const den = Number(denStr);
|
|
1019
|
-
if (!Number.isFinite(num) || !Number.isFinite(den) || numStr.trim() === "" || denStr.trim() === "") return null;
|
|
1020
|
-
if (den === 0) return null;
|
|
1021
|
-
const pct = num / den * 100;
|
|
1022
|
-
const formatted = pct.toFixed(6);
|
|
1023
|
-
const trimmed = formatted.replace(/0+$/, "").replace(/\.$/, "");
|
|
1024
|
-
return `${trimmed}%`;
|
|
1025
|
-
}
|
|
1026
1041
|
function cssSizeKeyword(key) {
|
|
1027
1042
|
switch (key) {
|
|
1028
1043
|
case "min":
|