@kbach/react-native 1.0.0-beta.24 → 1.0.0-beta.26
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-BEXNFWW6.mjs +564 -0
- package/dist/{chunk-OS7EPBH5.mjs → chunk-GHQ7DWLO.mjs} +1 -1
- package/dist/{chunk-TS2EEVOE.mjs → chunk-LWD6JATB.mjs} +5 -1
- package/dist/darkModeStore.d.ts +16 -1
- package/dist/darkModeStore.js +5 -0
- package/dist/index.d.ts +1 -84
- package/dist/index.js +74 -45
- package/dist/index.web.d.ts +1 -1
- package/dist/index.web.js +38 -22
- package/dist/index.web.mjs +7 -3
- package/dist/jsx-dev-runtime.js +50 -25
- package/dist/jsx-dev-runtime.web.js +14 -2
- package/dist/jsx-dev-runtime.web.mjs +3 -3
- package/dist/jsx-runtime.js +50 -25
- package/dist/jsx-runtime.web.js +14 -2
- package/dist/jsx-runtime.web.mjs +2 -2
- package/dist/{useDynamicToken-DAHQob1u.d.ts → useDynamicToken-C8T9r6Cl.d.ts} +7 -1
- package/package.json +1 -1
- package/dist/chunk-AG7ZQ2K4.mjs +0 -552
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-LWD6JATB.mjs";
|
|
2
2
|
import {
|
|
3
3
|
Fragment,
|
|
4
4
|
jsx,
|
|
5
5
|
jsxs
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-GHQ7DWLO.mjs";
|
|
7
|
+
import "./chunk-BEXNFWW6.mjs";
|
|
8
8
|
|
|
9
9
|
// src/jsxRuntimeCore.ts
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
package/dist/jsx-runtime.js
CHANGED
|
@@ -720,6 +720,27 @@ function resolveNegatableLength(theme, parsed) {
|
|
|
720
720
|
if (px === 0) return "0px";
|
|
721
721
|
return `-${px}px`;
|
|
722
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
|
+
}
|
|
723
744
|
function resolvePercent(parsed) {
|
|
724
745
|
if (parsed.negative) return null;
|
|
725
746
|
const value = parsed.value;
|
|
@@ -873,43 +894,44 @@ function resolve(parsed, theme) {
|
|
|
873
894
|
case "shrink":
|
|
874
895
|
return [decl("flex-shrink", parsed.value ?? "1")];
|
|
875
896
|
// top/right/bottom/left/inset support real Tailwind's negative-value
|
|
876
|
-
// 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.
|
|
877
899
|
case "top": {
|
|
878
|
-
const v =
|
|
900
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
879
901
|
return v === null ? null : [decl("top", v)];
|
|
880
902
|
}
|
|
881
903
|
case "right": {
|
|
882
|
-
const v =
|
|
904
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
883
905
|
return v === null ? null : [decl("right", v)];
|
|
884
906
|
}
|
|
885
907
|
case "bottom": {
|
|
886
|
-
const v =
|
|
908
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
887
909
|
return v === null ? null : [decl("bottom", v)];
|
|
888
910
|
}
|
|
889
911
|
case "left": {
|
|
890
|
-
const v =
|
|
912
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
891
913
|
return v === null ? null : [decl("left", v)];
|
|
892
914
|
}
|
|
893
915
|
case "inset": {
|
|
894
|
-
const v =
|
|
916
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
895
917
|
return v === null ? null : [decl("inset", v)];
|
|
896
918
|
}
|
|
897
919
|
case "inset-x": {
|
|
898
|
-
const v =
|
|
920
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
899
921
|
return v === null ? null : [decl("left", v), decl("right", v)];
|
|
900
922
|
}
|
|
901
923
|
case "inset-y": {
|
|
902
|
-
const v =
|
|
924
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
903
925
|
return v === null ? null : [decl("top", v), decl("bottom", v)];
|
|
904
926
|
}
|
|
905
927
|
// Logical inset — just a different CSS property name, same reasoning
|
|
906
928
|
// as Rust's layout.rs (no direction-tracking logic needed here).
|
|
907
929
|
case "start": {
|
|
908
|
-
const v =
|
|
930
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
909
931
|
return v === null ? null : [decl("inset-inline-start", v)];
|
|
910
932
|
}
|
|
911
933
|
case "end": {
|
|
912
|
-
const v =
|
|
934
|
+
const v = resolveNegatableSize(theme, parsed);
|
|
913
935
|
return v === null ? null : [decl("inset-inline-end", v)];
|
|
914
936
|
}
|
|
915
937
|
// "aspect-" is a registered VALUE_PREFIXES entry (parser.ts), so
|
|
@@ -1007,20 +1029,6 @@ function namedSize(key) {
|
|
|
1007
1029
|
return null;
|
|
1008
1030
|
}
|
|
1009
1031
|
}
|
|
1010
|
-
function fractionPercent(value) {
|
|
1011
|
-
const slashIdx = value.indexOf("/");
|
|
1012
|
-
if (slashIdx === -1) return null;
|
|
1013
|
-
const numStr = value.slice(0, slashIdx);
|
|
1014
|
-
const denStr = value.slice(slashIdx + 1);
|
|
1015
|
-
const num = Number(numStr);
|
|
1016
|
-
const den = Number(denStr);
|
|
1017
|
-
if (!Number.isFinite(num) || !Number.isFinite(den) || numStr.trim() === "" || denStr.trim() === "") return null;
|
|
1018
|
-
if (den === 0) return null;
|
|
1019
|
-
const pct = num / den * 100;
|
|
1020
|
-
const formatted = pct.toFixed(6);
|
|
1021
|
-
const trimmed = formatted.replace(/0+$/, "").replace(/\.$/, "");
|
|
1022
|
-
return `${trimmed}%`;
|
|
1023
|
-
}
|
|
1024
1032
|
function cssSizeKeyword(key) {
|
|
1025
1033
|
switch (key) {
|
|
1026
1034
|
case "min":
|
|
@@ -1921,16 +1929,33 @@ function resolveStyleJsWithWarnings(classString, theme, colorScheme, pressed, wi
|
|
|
1921
1929
|
}
|
|
1922
1930
|
|
|
1923
1931
|
// src/nativeBridge.ts
|
|
1932
|
+
var RESOLVE_STYLE_CACHE_MAX = 500;
|
|
1933
|
+
var resolveStyleCache = /* @__PURE__ */ new Map();
|
|
1934
|
+
var cachedForThemeJson = null;
|
|
1924
1935
|
function resolveStyle(classString, pressed = false) {
|
|
1925
1936
|
const colorScheme = (0, import_darkModeStore2.getGlobalDarkMode)() ? "dark" : "light";
|
|
1926
1937
|
const width = import_react_native2.Dimensions.get("window").width;
|
|
1938
|
+
const themeJson = (0, import_theme.getThemeJson)();
|
|
1939
|
+
if (themeJson !== cachedForThemeJson) {
|
|
1940
|
+
resolveStyleCache.clear();
|
|
1941
|
+
cachedForThemeJson = themeJson;
|
|
1942
|
+
}
|
|
1943
|
+
const cacheKey = `${classString}\0${pressed}\0${colorScheme}\0${width}`;
|
|
1944
|
+
const cached = resolveStyleCache.get(cacheKey);
|
|
1945
|
+
if (cached !== void 0) return { ...cached };
|
|
1946
|
+
const style = resolveStyleUncached(classString, pressed, colorScheme, width, themeJson);
|
|
1947
|
+
if (resolveStyleCache.size >= RESOLVE_STYLE_CACHE_MAX) resolveStyleCache.clear();
|
|
1948
|
+
resolveStyleCache.set(cacheKey, style);
|
|
1949
|
+
return { ...style };
|
|
1950
|
+
}
|
|
1951
|
+
function resolveStyleUncached(classString, pressed, colorScheme, width, themeJson) {
|
|
1927
1952
|
const KbachModule = import_react_native2.TurboModuleRegistry.get("KbachModule");
|
|
1928
1953
|
if (!KbachModule) {
|
|
1929
1954
|
const { style: style2, warnings: warnings2 } = resolveStyleJsWithWarnings(classString, (0, import_theme.getTheme)(), colorScheme, pressed, width);
|
|
1930
1955
|
warnIfDev(classString, warnings2);
|
|
1931
1956
|
return style2;
|
|
1932
1957
|
}
|
|
1933
|
-
const json = KbachModule.resolveStyle(classString,
|
|
1958
|
+
const json = KbachModule.resolveStyle(classString, themeJson, colorScheme, pressed, width);
|
|
1934
1959
|
const style = JSON.parse(json);
|
|
1935
1960
|
const warnings = style.__kbachWarnings;
|
|
1936
1961
|
if (warnings !== void 0) {
|