first commit

This commit is contained in:
2026-03-10 16:18:05 +00:00
commit 11f9c069b5
31635 changed files with 3187747 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
import React from 'react';
import { Freeze } from 'react-freeze';
// This component allows one more render before freezing the screen.
// Allows activityState to reach the native side and useIsFocused to work correctly.
function DelayedFreeze({
freeze,
children
}) {
// flag used for determining whether freeze should be enabled
const [freezeState, setFreezeState] = React.useState(false);
React.useEffect(() => {
const id = setTimeout(() => {
setFreezeState(freeze);
}, 0);
return () => {
clearTimeout(id);
};
}, [freeze]);
return /*#__PURE__*/React.createElement(Freeze, {
freeze: freeze ? freezeState : false
}, children);
}
export default DelayedFreeze;
//# sourceMappingURL=DelayedFreeze.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","Freeze","DelayedFreeze","freeze","children","freezeState","setFreezeState","useState","useEffect","id","setTimeout","clearTimeout","createElement"],"sourceRoot":"../../../../src","sources":["components/helpers/DelayedFreeze.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AAOrC;AACA;AACA,SAASC,aAAaA,CAAC;EAAEC,MAAM;EAAEC;AAA6B,CAAC,EAAE;EAC/D;EACA,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGN,KAAK,CAACO,QAAQ,CAAC,KAAK,CAAC;EAE3DP,KAAK,CAACQ,SAAS,CAAC,MAAM;IACpB,MAAMC,EAAE,GAAGC,UAAU,CAAC,MAAM;MAC1BJ,cAAc,CAACH,MAAM,CAAC;IACxB,CAAC,EAAE,CAAC,CAAC;IACL,OAAO,MAAM;MACXQ,YAAY,CAACF,EAAE,CAAC;IAClB,CAAC;EACH,CAAC,EAAE,CAACN,MAAM,CAAC,CAAC;EAEZ,oBAAOH,KAAA,CAAAY,aAAA,CAACX,MAAM;IAACE,MAAM,EAAEA,MAAM,GAAGE,WAAW,GAAG;EAAM,GAAED,QAAiB,CAAC;AAC1E;AAEA,eAAeF,aAAa","ignoreList":[]}

View File

@@ -0,0 +1,75 @@
import { Image, processColor } from 'react-native';
const prepareMenu = (menu, index, side) => {
return {
...menu,
items: menu.items.map((menuItem, menuIndex) => {
const iconType = menuItem.icon?.type;
const sfSymbolName = iconType === 'sfSymbol' ? menuItem.icon?.name : undefined;
const xcassetName = iconType === 'xcasset' ? menuItem.icon?.name : undefined;
if (menuItem.type === 'submenu') {
return {
...menuItem,
sfSymbolName,
xcassetName,
...prepareMenu(menuItem, menuIndex, side)
};
}
return {
...menuItem,
sfSymbolName,
xcassetName,
menuId: `${menuIndex}-${index}-${side}`
};
})
};
};
export const prepareHeaderBarButtonItems = (barButtonItems, side) => {
return barButtonItems?.map((item, index) => {
if (item.type === 'spacing') {
return item;
}
let imageSource, templateSource;
if (item.icon?.type === 'imageSource') {
imageSource = Image.resolveAssetSource(item.icon.imageSource);
} else if (item.icon?.type === 'templateSource') {
templateSource = Image.resolveAssetSource(item.icon.templateSource);
}
const titleStyle = item.titleStyle ? {
...item.titleStyle,
color: processColor(item.titleStyle.color)
} : undefined;
const tintColor = item.tintColor ? processColor(item.tintColor) : undefined;
const badge = item.badge ? {
...item.badge,
style: {
...item.badge.style,
color: processColor(item.badge.style?.color),
backgroundColor: processColor(item.badge.style?.backgroundColor)
}
} : undefined;
const processedItem = {
...item,
imageSource,
templateSource,
sfSymbolName: item.icon?.type === 'sfSymbol' ? item.icon.name : undefined,
xcassetName: item.icon?.type === 'xcasset' ? item.icon.name : undefined,
titleStyle,
tintColor,
badge
};
if (item.type === 'button') {
return {
...processedItem,
buttonId: `${index}-${side}`
};
}
if (item.type === 'menu') {
return {
...processedItem,
menu: prepareMenu(item.menu, index, side)
};
}
return null;
});
};
//# sourceMappingURL=prepareHeaderBarButtonItems.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["Image","processColor","prepareMenu","menu","index","side","items","map","menuItem","menuIndex","iconType","icon","type","sfSymbolName","name","undefined","xcassetName","menuId","prepareHeaderBarButtonItems","barButtonItems","item","imageSource","templateSource","resolveAssetSource","titleStyle","color","tintColor","badge","style","backgroundColor","processedItem","buttonId"],"sourceRoot":"../../../../src","sources":["components/helpers/prepareHeaderBarButtonItems.ts"],"mappings":"AAAA,SAASA,KAAK,EAAEC,YAAY,QAAQ,cAAc;AAMlD,MAAMC,WAAW,GAAGA,CAClBC,IAAyC,EACzCC,KAAa,EACbC,IAAsB,KACkB;EACxC,OAAO;IACL,GAAGF,IAAI;IACPG,KAAK,EAAEH,IAAI,CAACG,KAAK,CAACC,GAAG,CAAC,CAACC,QAAQ,EAAEC,SAAS,KAAK;MAC7C,MAAMC,QAAQ,GAAGF,QAAQ,CAACG,IAAI,EAAEC,IAAI;MACpC,MAAMC,YAAY,GAChBH,QAAQ,KAAK,UAAU,GAAGF,QAAQ,CAACG,IAAI,EAAEG,IAAI,GAAGC,SAAS;MAC3D,MAAMC,WAAW,GACfN,QAAQ,KAAK,SAAS,GAAGF,QAAQ,CAACG,IAAI,EAAEG,IAAI,GAAGC,SAAS;MAE1D,IAAIP,QAAQ,CAACI,IAAI,KAAK,SAAS,EAAE;QAC/B,OAAO;UACL,GAAGJ,QAAQ;UACXK,YAAY;UACZG,WAAW;UACX,GAAGd,WAAW,CAACM,QAAQ,EAAEC,SAAS,EAAEJ,IAAI;QAC1C,CAAC;MACH;MACA,OAAO;QACL,GAAGG,QAAQ;QACXK,YAAY;QACZG,WAAW;QACXC,MAAM,EAAE,GAAGR,SAAS,IAAIL,KAAK,IAAIC,IAAI;MACvC,CAAC;IACH,CAAC;EACH,CAAC;AACH,CAAC;AAED,OAAO,MAAMa,2BAA2B,GAAGA,CACzCC,cAAqC,EACrCd,IAAsB,KACnB;EACH,OAAOc,cAAc,EAAEZ,GAAG,CAAC,CAACa,IAAI,EAAEhB,KAAK,KAAK;IAC1C,IAAIgB,IAAI,CAACR,IAAI,KAAK,SAAS,EAAE;MAC3B,OAAOQ,IAAI;IACb;IACA,IAAIC,WAAW,EAAEC,cAAc;IAC/B,IAAIF,IAAI,CAACT,IAAI,EAAEC,IAAI,KAAK,aAAa,EAAE;MACrCS,WAAW,GAAGrB,KAAK,CAACuB,kBAAkB,CAACH,IAAI,CAACT,IAAI,CAACU,WAAW,CAAC;IAC/D,CAAC,MAAM,IAAID,IAAI,CAACT,IAAI,EAAEC,IAAI,KAAK,gBAAgB,EAAE;MAC/CU,cAAc,GAAGtB,KAAK,CAACuB,kBAAkB,CAACH,IAAI,CAACT,IAAI,CAACW,cAAc,CAAC;IACrE;IAEA,MAAME,UAAU,GAAGJ,IAAI,CAACI,UAAU,GAC9B;MAAE,GAAGJ,IAAI,CAACI,UAAU;MAAEC,KAAK,EAAExB,YAAY,CAACmB,IAAI,CAACI,UAAU,CAACC,KAAK;IAAE,CAAC,GAClEV,SAAS;IACb,MAAMW,SAAS,GAAGN,IAAI,CAACM,SAAS,GAAGzB,YAAY,CAACmB,IAAI,CAACM,SAAS,CAAC,GAAGX,SAAS;IAC3E,MAAMY,KAAK,GAAGP,IAAI,CAACO,KAAK,GACpB;MACE,GAAGP,IAAI,CAACO,KAAK;MACbC,KAAK,EAAE;QACL,GAAGR,IAAI,CAACO,KAAK,CAACC,KAAK;QACnBH,KAAK,EAAExB,YAAY,CAACmB,IAAI,CAACO,KAAK,CAACC,KAAK,EAAEH,KAAK,CAAC;QAC5CI,eAAe,EAAE5B,YAAY,CAACmB,IAAI,CAACO,KAAK,CAACC,KAAK,EAAEC,eAAe;MACjE;IACF,CAAC,GACDd,SAAS;IACb,MAAMe,aAAa,GAAG;MACpB,GAAGV,IAAI;MACPC,WAAW;MACXC,cAAc;MACdT,YAAY,EAAEO,IAAI,CAACT,IAAI,EAAEC,IAAI,KAAK,UAAU,GAAGQ,IAAI,CAACT,IAAI,CAACG,IAAI,GAAGC,SAAS;MACzEC,WAAW,EAAEI,IAAI,CAACT,IAAI,EAAEC,IAAI,KAAK,SAAS,GAAGQ,IAAI,CAACT,IAAI,CAACG,IAAI,GAAGC,SAAS;MACvES,UAAU;MACVE,SAAS;MACTC;IACF,CAAC;IACD,IAAIP,IAAI,CAACR,IAAI,KAAK,QAAQ,EAAE;MAC1B,OAAO;QACL,GAAGkB,aAAa;QAChBC,QAAQ,EAAE,GAAG3B,KAAK,IAAIC,IAAI;MAC5B,CAAC;IACH;IACA,IAAIe,IAAI,CAACR,IAAI,KAAK,MAAM,EAAE;MACxB,OAAO;QACL,GAAGkB,aAAa;QAChB3B,IAAI,EAAED,WAAW,CAACkB,IAAI,CAACjB,IAAI,EAAEC,KAAK,EAAEC,IAAI;MAC1C,CAAC;IACH;IACA,OAAO,IAAI;EACb,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}

View File

@@ -0,0 +1,85 @@
import { Platform } from 'react-native';
// This value must be kept in sync with native side.
export const SHEET_FIT_TO_CONTENTS = [-1];
export const SHEET_COMPAT_LARGE = [1.0];
export const SHEET_COMPAT_MEDIUM = [0.5];
export const SHEET_COMPAT_ALL = [0.5, 1.0];
export const SHEET_DIMMED_ALWAYS = -1;
export function assertDetentsArrayIsSorted(array) {
for (let i = 1; i < array.length; i++) {
if (array[i - 1] > array[i]) {
throw new Error('[RNScreens] The detent array is not sorted in ascending order!');
}
}
}
// These exist to transform old 'legacy' values used by the formsheet API to the new API shape.
// We can get rid of it, once we get rid of support for legacy values: 'large', 'medium', 'all'.
export function resolveSheetAllowedDetents(allowedDetentsCompat) {
if (Array.isArray(allowedDetentsCompat)) {
if (Platform.OS === 'android' && allowedDetentsCompat.length > 3) {
if (__DEV__) {
console.warn('[RNScreens] Sheets API on Android do accept only up to 3 values. Any surplus value are ignored.');
}
allowedDetentsCompat = allowedDetentsCompat.slice(0, 3);
}
if (__DEV__) {
assertDetentsArrayIsSorted(allowedDetentsCompat);
}
return allowedDetentsCompat;
} else if (allowedDetentsCompat === 'fitToContents') {
return SHEET_FIT_TO_CONTENTS;
} else if (allowedDetentsCompat === 'large') {
return SHEET_COMPAT_LARGE;
} else if (allowedDetentsCompat === 'medium') {
return SHEET_COMPAT_MEDIUM;
} else if (allowedDetentsCompat === 'all') {
return SHEET_COMPAT_ALL;
} else {
// Safe default, only large detent is allowed.
return SHEET_COMPAT_LARGE;
}
}
export function resolveSheetLargestUndimmedDetent(lud, lastDetentIndex) {
if (typeof lud === 'number') {
if (!isIndexInClosedRange(lud, SHEET_DIMMED_ALWAYS, lastDetentIndex)) {
if (__DEV__) {
throw new Error("[RNScreens] Provided value of 'sheetLargestUndimmedDetentIndex' prop is out of bounds of 'sheetAllowedDetents' array.");
}
// Return default in production
return SHEET_DIMMED_ALWAYS;
}
return lud;
} else if (lud === 'last') {
return lastDetentIndex;
} else if (lud === 'none' || lud === 'all') {
return SHEET_DIMMED_ALWAYS;
} else if (lud === 'large') {
return 1;
} else if (lud === 'medium') {
return 0;
} else {
// Safe default, every detent is dimmed
return SHEET_DIMMED_ALWAYS;
}
}
export function resolveSheetInitialDetentIndex(index, lastDetentIndex) {
if (index === 'last') {
index = lastDetentIndex;
} else if (index == null) {
// Intentional check for undefined & null ^
index = 0;
}
if (!isIndexInClosedRange(index, 0, lastDetentIndex)) {
if (__DEV__) {
throw new Error("[RNScreens] Provided value of 'sheetInitialDetentIndex' prop is out of bounds of 'sheetAllowedDetents' array.");
}
// Return default in production
return 0;
}
return index;
}
function isIndexInClosedRange(value, lowerBound, upperBound) {
return Number.isInteger(value) && value >= lowerBound && value <= upperBound;
}
//# sourceMappingURL=sheet.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["Platform","SHEET_FIT_TO_CONTENTS","SHEET_COMPAT_LARGE","SHEET_COMPAT_MEDIUM","SHEET_COMPAT_ALL","SHEET_DIMMED_ALWAYS","assertDetentsArrayIsSorted","array","i","length","Error","resolveSheetAllowedDetents","allowedDetentsCompat","Array","isArray","OS","__DEV__","console","warn","slice","resolveSheetLargestUndimmedDetent","lud","lastDetentIndex","isIndexInClosedRange","resolveSheetInitialDetentIndex","index","value","lowerBound","upperBound","Number","isInteger"],"sourceRoot":"../../../../src","sources":["components/helpers/sheet.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,9 @@
import { useEffect, useRef } from 'react';
export function usePrevious(state) {
const ref = useRef(undefined);
useEffect(() => {
ref.current = state;
});
return ref.current;
}
//# sourceMappingURL=usePrevious.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["useEffect","useRef","usePrevious","state","ref","undefined","current"],"sourceRoot":"../../../../src","sources":["components/helpers/usePrevious.tsx"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,OAAO,SAASC,WAAWA,CAAIC,KAAQ,EAAiB;EACtD,MAAMC,GAAG,GAAGH,MAAM,CAAII,SAAS,CAAC;EAEhCL,SAAS,CAAC,MAAM;IACdI,GAAG,CAACE,OAAO,GAAGH,KAAK;EACrB,CAAC,CAAC;EAEF,OAAOC,GAAG,CAACE,OAAO;AACpB","ignoreList":[]}