;\n/**\n * @deprecated Please import `AnimatedTransform` directly from `react-native-reanimated` instead of `Animated` namespace.\n */\nexport type AnimatedTransform = _AnimatedTransform;\n/**\n * @deprecated Please import `AnimateStyle` directly from `react-native-reanimated` instead of `Animated` namespace.\n * */\nexport type AnimateStyle = _AnimateStyle;\n/**\n * @deprecated Please import `StylesOrDefault` directly from `react-native-reanimated` instead of `Animated` namespace.\n * */\nexport type StylesOrDefault = _StylesOrDefault;\n/**\n * @deprecated Please import `AnimateProps` directly from `react-native-reanimated` instead of `Animated` namespace.\n * */\nexport type AnimateProps = _AnimateProps
;\n/**\n * @deprecated Please import `EasingFunction` directly from `react-native-reanimated` instead of `Animated` namespace.\n * */\nexport type EasingFunction = _EasingFunction;\n/**\n * @deprecated Please import `AnimatedScrollViewProps` directly from `react-native-reanimated` instead of `Animated` namespace.\n * */\nexport type AnimatedScrollViewProps = _AnimatedScrollViewProps;\n/**\n * @deprecated Please import `FlatListPropsWithLayout` directly from `react-native-reanimated` instead of `Animated` namespace.\n * */\nexport type FlatListPropsWithLayout = _FlatListPropsWithLayout;\n"],"mappings":"AAAA,YAAY;;AAkBZ,SAASA,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,YAAY,IAAIC,IAAI,QAAQ,8BAA8B;AACnE,SAASC,YAAY,IAAIC,IAAI,QAAQ,8BAA8B;AACnE,SAASC,kBAAkB,IAAIC,UAAU,QAAQ,oCAAoC;AACrF,SAASC,aAAa,IAAIC,KAAK,QAAQ,+BAA+B;AACtE,SAASC,kBAAkB,IAAIC,QAAQ,QAAQ,kCAAkC;AACjF,SACEC,yBAAyB,EACzBC,qBAAqB,QAChB,gBAAgB;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA"}
\ No newline at end of file
+{"version":3,"names":["ReanimatedFlatList","FlatList","AnimatedImage","Image","AnimatedScrollView","ScrollView","AnimatedText","Text","AnimatedView","View","addWhitelistedNativeProps","addWhitelistedUIProps","createAnimatedComponent"],"sourceRoot":"../../src","sources":["Animated.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,kBAAkB,IAAIC,QAAQ,QAAQ,sBAAsB;AACrE,SAASC,aAAa,IAAIC,KAAK,QAAQ,mBAAmB;AAC1D,SAASC,kBAAkB,IAAIC,UAAU,QAAQ,wBAAwB;AACzE,SAASC,YAAY,IAAIC,IAAI,QAAQ,kBAAkB;AACvD,SAASC,YAAY,IAAIC,IAAI,QAAQ,kBAAkB;AACvD,SACEC,yBAAyB,EACzBC,qBAAqB,QAChB,gBAAgB;AACvB,SAASC,uBAAuB,QAAQ,2BAA2B","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js
index 568ab06f..4dcf50f7 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js
@@ -1,61 +1,35 @@
'use strict';
-import { PropsAllowlists } from './propsAllowlists';
-import { jsiConfigureProps } from './reanimated2/core';
-function assertNoOverlapInLists() {
- for (const key in PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST) {
- if (key in PropsAllowlists.UI_THREAD_PROPS_WHITELIST) {
- throw new Error(`[Reanimated] Property \`${key}\` was whitelisted both as UI and native prop. Please remove it from one of the lists.`);
- }
- }
+import { executeOnUIRuntimeSync } from 'react-native-worklets';
+import { getLoggerConfig, SHOULD_BE_USE_WEB, updateLoggerConfig } from './common';
+
+/** @deprecated This function is a no-op in Reanimated 4. */
+export function addWhitelistedNativeProps(_props) {
+ // Do nothing. This is just for backward compatibility.
}
-function configureProps() {
- assertNoOverlapInLists();
- jsiConfigureProps(Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST), Object.keys(PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST));
+
+/** @deprecated This function is a no-op in Reanimated 4. */
+export function addWhitelistedUIProps(_props) {
+ // Do nothing. This is just for backward compatibility.
}
-export function addWhitelistedNativeProps(props) {
- const oldSize = Object.keys(PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST).length;
- PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST = {
- ...PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST,
- ...props
- };
- if (oldSize !== Object.keys(PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST).length) {
- configureProps();
- }
-}
-export function addWhitelistedUIProps(props) {
- const oldSize = Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST).length;
- PropsAllowlists.UI_THREAD_PROPS_WHITELIST = {
- ...PropsAllowlists.UI_THREAD_PROPS_WHITELIST,
- ...props
- };
- if (oldSize !== Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST).length) {
- configureProps();
- }
-}
-const PROCESSED_VIEW_NAMES = new Set();
+
/**
- * updates UI props whitelist for given view host instance
- * this will work just once for every view name
+ * Updates Reanimated logger config with the user-provided configuration. Will
+ * affect Reanimated code executed after call to this function so it should be
+ * called before any Reanimated code is executed to take effect. Each call to
+ * this function will override the previous configuration (it's recommended to
+ * call it only once).
+ *
+ * @param config - The new logger configuration to apply.
*/
-
-export function adaptViewConfig(viewConfig) {
- const viewName = viewConfig.uiViewClassName;
- const props = viewConfig.validAttributes;
-
- // update whitelist of UI props for this view name only once
- if (!PROCESSED_VIEW_NAMES.has(viewName)) {
- const propsToAdd = {};
- Object.keys(props).forEach(key => {
- // we don't want to add native props as they affect layout
- // we also skip props which repeat here
- if (!(key in PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST) && !(key in PropsAllowlists.UI_THREAD_PROPS_WHITELIST)) {
- propsToAdd[key] = true;
- }
- });
- addWhitelistedUIProps(propsToAdd);
- PROCESSED_VIEW_NAMES.add(viewName);
+export function configureReanimatedLogger(config) {
+ // Get the current config from the React runtime (to have a single source of truth)
+ const currentConfig = getLoggerConfig();
+ // Update the configuration object in the React runtime
+ updateLoggerConfig(currentConfig, config);
+ // Register the updated configuration in the UI runtime
+ if (!SHOULD_BE_USE_WEB) {
+ executeOnUIRuntimeSync(updateLoggerConfig)(currentConfig, config);
}
}
-configureProps();
//# sourceMappingURL=ConfigHelper.js.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js.map
index e6bc3357..2124f45d 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/ConfigHelper.js.map
@@ -1 +1 @@
-{"version":3,"names":["PropsAllowlists","jsiConfigureProps","assertNoOverlapInLists","key","NATIVE_THREAD_PROPS_WHITELIST","UI_THREAD_PROPS_WHITELIST","Error","configureProps","Object","keys","addWhitelistedNativeProps","props","oldSize","length","addWhitelistedUIProps","PROCESSED_VIEW_NAMES","Set","adaptViewConfig","viewConfig","viewName","uiViewClassName","validAttributes","has","propsToAdd","forEach","add"],"sources":["ConfigHelper.ts"],"sourcesContent":["'use strict';\nimport { PropsAllowlists } from './propsAllowlists';\nimport { jsiConfigureProps } from './reanimated2/core';\nfunction assertNoOverlapInLists() {\n for (const key in PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST) {\n if (key in PropsAllowlists.UI_THREAD_PROPS_WHITELIST) {\n throw new Error(\n `[Reanimated] Property \\`${key}\\` was whitelisted both as UI and native prop. Please remove it from one of the lists.`\n );\n }\n }\n}\n\nfunction configureProps(): void {\n assertNoOverlapInLists();\n jsiConfigureProps(\n Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST),\n Object.keys(PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST)\n );\n}\n\nexport function addWhitelistedNativeProps(\n props: Record\n): void {\n const oldSize = Object.keys(\n PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST\n ).length;\n PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST = {\n ...PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST,\n ...props,\n };\n if (\n oldSize !==\n Object.keys(PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST).length\n ) {\n configureProps();\n }\n}\n\nexport function addWhitelistedUIProps(props: Record): void {\n const oldSize = Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST).length;\n PropsAllowlists.UI_THREAD_PROPS_WHITELIST = {\n ...PropsAllowlists.UI_THREAD_PROPS_WHITELIST,\n ...props,\n };\n if (\n oldSize !== Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST).length\n ) {\n configureProps();\n }\n}\n\nconst PROCESSED_VIEW_NAMES = new Set();\n\nexport interface ViewConfig {\n uiViewClassName: string;\n validAttributes: Record;\n}\n/**\n * updates UI props whitelist for given view host instance\n * this will work just once for every view name\n */\n\nexport function adaptViewConfig(viewConfig: ViewConfig): void {\n const viewName = viewConfig.uiViewClassName;\n const props = viewConfig.validAttributes;\n\n // update whitelist of UI props for this view name only once\n if (!PROCESSED_VIEW_NAMES.has(viewName)) {\n const propsToAdd: Record = {};\n Object.keys(props).forEach((key) => {\n // we don't want to add native props as they affect layout\n // we also skip props which repeat here\n if (\n !(key in PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST) &&\n !(key in PropsAllowlists.UI_THREAD_PROPS_WHITELIST)\n ) {\n propsToAdd[key] = true;\n }\n });\n addWhitelistedUIProps(propsToAdd);\n\n PROCESSED_VIEW_NAMES.add(viewName);\n }\n}\n\nconfigureProps();\n"],"mappings":"AAAA,YAAY;;AACZ,SAASA,eAAe,QAAQ,mBAAmB;AACnD,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,sBAAsBA,CAAA,EAAG;EAChC,KAAK,MAAMC,GAAG,IAAIH,eAAe,CAACI,6BAA6B,EAAE;IAC/D,IAAID,GAAG,IAAIH,eAAe,CAACK,yBAAyB,EAAE;MACpD,MAAM,IAAIC,KAAK,CACZ,2BAA0BH,GAAI,wFAAuF,CACvH;IACH;EACF;AACF;AAEA,SAASI,cAAcA,CAAA,EAAS;EAC9BL,sBAAsB,EAAE;EACxBD,iBAAiB,CACfO,MAAM,CAACC,IAAI,CAACT,eAAe,CAACK,yBAAyB,CAAC,EACtDG,MAAM,CAACC,IAAI,CAACT,eAAe,CAACI,6BAA6B,CAAC,CAC3D;AACH;AAEA,OAAO,SAASM,yBAAyBA,CACvCC,KAA8B,EACxB;EACN,MAAMC,OAAO,GAAGJ,MAAM,CAACC,IAAI,CACzBT,eAAe,CAACI,6BAA6B,CAC9C,CAACS,MAAM;EACRb,eAAe,CAACI,6BAA6B,GAAG;IAC9C,GAAGJ,eAAe,CAACI,6BAA6B;IAChD,GAAGO;EACL,CAAC;EACD,IACEC,OAAO,KACPJ,MAAM,CAACC,IAAI,CAACT,eAAe,CAACI,6BAA6B,CAAC,CAACS,MAAM,EACjE;IACAN,cAAc,EAAE;EAClB;AACF;AAEA,OAAO,SAASO,qBAAqBA,CAACH,KAA8B,EAAQ;EAC1E,MAAMC,OAAO,GAAGJ,MAAM,CAACC,IAAI,CAACT,eAAe,CAACK,yBAAyB,CAAC,CAACQ,MAAM;EAC7Eb,eAAe,CAACK,yBAAyB,GAAG;IAC1C,GAAGL,eAAe,CAACK,yBAAyB;IAC5C,GAAGM;EACL,CAAC;EACD,IACEC,OAAO,KAAKJ,MAAM,CAACC,IAAI,CAACT,eAAe,CAACK,yBAAyB,CAAC,CAACQ,MAAM,EACzE;IACAN,cAAc,EAAE;EAClB;AACF;AAEA,MAAMQ,oBAAoB,GAAG,IAAIC,GAAG,EAAE;AAMtC;AACA;AACA;AACA;;AAEA,OAAO,SAASC,eAAeA,CAACC,UAAsB,EAAQ;EAC5D,MAAMC,QAAQ,GAAGD,UAAU,CAACE,eAAe;EAC3C,MAAMT,KAAK,GAAGO,UAAU,CAACG,eAAe;;EAExC;EACA,IAAI,CAACN,oBAAoB,CAACO,GAAG,CAACH,QAAQ,CAAC,EAAE;IACvC,MAAMI,UAAmC,GAAG,CAAC,CAAC;IAC9Cf,MAAM,CAACC,IAAI,CAACE,KAAK,CAAC,CAACa,OAAO,CAAErB,GAAG,IAAK;MAClC;MACA;MACA,IACE,EAAEA,GAAG,IAAIH,eAAe,CAACI,6BAA6B,CAAC,IACvD,EAAED,GAAG,IAAIH,eAAe,CAACK,yBAAyB,CAAC,EACnD;QACAkB,UAAU,CAACpB,GAAG,CAAC,GAAG,IAAI;MACxB;IACF,CAAC,CAAC;IACFW,qBAAqB,CAACS,UAAU,CAAC;IAEjCR,oBAAoB,CAACU,GAAG,CAACN,QAAQ,CAAC;EACpC;AACF;AAEAZ,cAAc,EAAE"}
\ No newline at end of file
+{"version":3,"names":["executeOnUIRuntimeSync","getLoggerConfig","SHOULD_BE_USE_WEB","updateLoggerConfig","addWhitelistedNativeProps","_props","addWhitelistedUIProps","configureReanimatedLogger","config","currentConfig"],"sourceRoot":"../../src","sources":["ConfigHelper.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,sBAAsB,QAAQ,uBAAuB;AAG9D,SACEC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,QACb,UAAU;;AAEjB;AACA,OAAO,SAASC,yBAAyBA,CACvCC,MAA+B,EACzB;EACN;AAAA;;AAGF;AACA,OAAO,SAASC,qBAAqBA,CAACD,MAA+B,EAAQ;EAC3E;AAAA;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,yBAAyBA,CAACC,MAAoB,EAAE;EAC9D;EACA,MAAMC,aAAa,GAAGR,eAAe,CAAC,CAAC;EACvC;EACAE,kBAAkB,CAACM,aAAa,EAAED,MAAM,CAAC;EACzC;EACA,IAAI,CAACN,iBAAiB,EAAE;IACtBF,sBAAsB,CAACG,kBAAkB,CAAC,CAACM,aAAa,EAAED,MAAM,CAAC;EACnE;AACF","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js
index 60655570..8478898b 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js
@@ -1,5 +1,6 @@
'use strict';
+import { logger } from './common';
const mockTargetValues = {
targetOriginX: 0,
targetOriginY: 0,
@@ -18,18 +19,30 @@ const mockTargetValues = {
currentGlobalOriginY: 0,
currentBorderRadius: 0
};
+function getCommonProperties(layoutStyle, componentStyle) {
+ let componentStyleFlat = Array.isArray(componentStyle) ? componentStyle.flat() : [componentStyle];
+ componentStyleFlat = componentStyleFlat.filter(Boolean);
+ componentStyleFlat = componentStyleFlat.map(style => 'initial' in style ? style.initial.value // Include properties of animated style
+ : style);
+ const componentStylesKeys = componentStyleFlat.flatMap(style => Object.keys(style));
+ const commonKeys = Object.keys(layoutStyle).filter(key => componentStylesKeys.includes(key));
+ return commonKeys;
+}
+function maybeReportOverwrittenProperties(layoutAnimationStyle, style, displayName) {
+ const commonProperties = getCommonProperties(layoutAnimationStyle, style);
+ if (commonProperties.length > 0) {
+ logger.warn(`${commonProperties.length === 1 ? 'Property' : 'Properties'} "${commonProperties.join(', ')}" of ${displayName} may be overwritten by a layout animation. Please wrap your component with an animated view and apply the layout animation on the wrapper.`);
+ }
+}
export function maybeBuild(layoutAnimationOrBuilder, style, displayName) {
const isAnimationBuilder = value => 'build' in layoutAnimationOrBuilder && typeof layoutAnimationOrBuilder.build === 'function';
if (isAnimationBuilder(layoutAnimationOrBuilder)) {
const animationFactory = layoutAnimationOrBuilder.build();
- const layoutAnimation = animationFactory(mockTargetValues);
- const animatedStyle = layoutAnimation.animations;
- const getCommonProperties = (obj1, obj2) => Object.keys(obj1).filter(key => Object.prototype.hasOwnProperty.call(obj2, key));
- const commonProperties = getCommonProperties(animatedStyle, style || {});
- if (commonProperties.length > 0) {
- console.warn(`[Reanimated] ${commonProperties.length === 1 ? 'Property' : 'Properties: '} "${commonProperties}" of ${displayName} may be overwritten with layout animation. Please create a wrapper with the layout animation you want to apply.`);
+ if (__DEV__ && style) {
+ const layoutAnimation = animationFactory(mockTargetValues);
+ maybeReportOverwrittenProperties(layoutAnimation.animations, style, displayName);
}
- return layoutAnimationOrBuilder.build();
+ return animationFactory;
} else {
return layoutAnimationOrBuilder;
}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js.map
index 49b93225..117b86c8 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/animationBuilder.js.map
@@ -1 +1 @@
-{"version":3,"names":["mockTargetValues","targetOriginX","targetOriginY","targetWidth","targetHeight","targetGlobalOriginX","targetGlobalOriginY","targetBorderRadius","windowWidth","windowHeight","currentOriginX","currentOriginY","currentWidth","currentHeight","currentGlobalOriginX","currentGlobalOriginY","currentBorderRadius","maybeBuild","layoutAnimationOrBuilder","style","displayName","isAnimationBuilder","value","build","animationFactory","layoutAnimation","animatedStyle","animations","getCommonProperties","obj1","obj2","Object","keys","filter","key","prototype","hasOwnProperty","call","commonProperties","length","console","warn"],"sources":["animationBuilder.tsx"],"sourcesContent":["'use strict';\nimport type {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n LayoutAnimationsValues,\n} from './reanimated2/layoutReanimation';\nimport type { StyleProps } from './reanimated2/commonTypes';\n\nconst mockTargetValues: LayoutAnimationsValues = {\n targetOriginX: 0,\n targetOriginY: 0,\n targetWidth: 0,\n targetHeight: 0,\n targetGlobalOriginX: 0,\n targetGlobalOriginY: 0,\n targetBorderRadius: 0,\n windowWidth: 0,\n windowHeight: 0,\n currentOriginX: 0,\n currentOriginY: 0,\n currentWidth: 0,\n currentHeight: 0,\n currentGlobalOriginX: 0,\n currentGlobalOriginY: 0,\n currentBorderRadius: 0,\n};\n\nexport function maybeBuild(\n layoutAnimationOrBuilder:\n | ILayoutAnimationBuilder\n | LayoutAnimationFunction\n | Keyframe,\n style: StyleProps | undefined,\n displayName: string\n): LayoutAnimationFunction | Keyframe {\n const isAnimationBuilder = (\n value: ILayoutAnimationBuilder | LayoutAnimationFunction | Keyframe\n ): value is ILayoutAnimationBuilder =>\n 'build' in layoutAnimationOrBuilder &&\n typeof layoutAnimationOrBuilder.build === 'function';\n\n if (isAnimationBuilder(layoutAnimationOrBuilder)) {\n const animationFactory = layoutAnimationOrBuilder.build();\n const layoutAnimation = animationFactory(mockTargetValues);\n const animatedStyle = layoutAnimation.animations;\n\n const getCommonProperties = (obj1: object, obj2: object) =>\n Object.keys(obj1).filter((key) =>\n Object.prototype.hasOwnProperty.call(obj2, key)\n );\n\n const commonProperties = getCommonProperties(animatedStyle, style || {});\n if (commonProperties.length > 0) {\n console.warn(\n `[Reanimated] ${\n commonProperties.length === 1 ? 'Property' : 'Properties: '\n } \"${commonProperties}\" of ${displayName} may be overwritten with layout animation. Please create a wrapper with the layout animation you want to apply.`\n );\n }\n\n return layoutAnimationOrBuilder.build();\n } else {\n return layoutAnimationOrBuilder;\n }\n}\n"],"mappings":"AAAA,YAAY;;AAQZ,MAAMA,gBAAwC,GAAG;EAC/CC,aAAa,EAAE,CAAC;EAChBC,aAAa,EAAE,CAAC;EAChBC,WAAW,EAAE,CAAC;EACdC,YAAY,EAAE,CAAC;EACfC,mBAAmB,EAAE,CAAC;EACtBC,mBAAmB,EAAE,CAAC;EACtBC,kBAAkB,EAAE,CAAC;EACrBC,WAAW,EAAE,CAAC;EACdC,YAAY,EAAE,CAAC;EACfC,cAAc,EAAE,CAAC;EACjBC,cAAc,EAAE,CAAC;EACjBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,oBAAoB,EAAE,CAAC;EACvBC,oBAAoB,EAAE,CAAC;EACvBC,mBAAmB,EAAE;AACvB,CAAC;AAED,OAAO,SAASC,UAAUA,CACxBC,wBAGY,EACZC,KAA6B,EAC7BC,WAAmB,EACiB;EACpC,MAAMC,kBAAkB,GACtBC,KAAmE,IAEnE,OAAO,IAAIJ,wBAAwB,IACnC,OAAOA,wBAAwB,CAACK,KAAK,KAAK,UAAU;EAEtD,IAAIF,kBAAkB,CAACH,wBAAwB,CAAC,EAAE;IAChD,MAAMM,gBAAgB,GAAGN,wBAAwB,CAACK,KAAK,EAAE;IACzD,MAAME,eAAe,GAAGD,gBAAgB,CAACxB,gBAAgB,CAAC;IAC1D,MAAM0B,aAAa,GAAGD,eAAe,CAACE,UAAU;IAEhD,MAAMC,mBAAmB,GAAGA,CAACC,IAAY,EAAEC,IAAY,KACrDC,MAAM,CAACC,IAAI,CAACH,IAAI,CAAC,CAACI,MAAM,CAAEC,GAAG,IAC3BH,MAAM,CAACI,SAAS,CAACC,cAAc,CAACC,IAAI,CAACP,IAAI,EAAEI,GAAG,CAAC,CAChD;IAEH,MAAMI,gBAAgB,GAAGV,mBAAmB,CAACF,aAAa,EAAEP,KAAK,IAAI,CAAC,CAAC,CAAC;IACxE,IAAImB,gBAAgB,CAACC,MAAM,GAAG,CAAC,EAAE;MAC/BC,OAAO,CAACC,IAAI,CACT,gBACCH,gBAAgB,CAACC,MAAM,KAAK,CAAC,GAAG,UAAU,GAAG,cAC9C,KAAID,gBAAiB,QAAOlB,WAAY,iHAAgH,CAC1J;IACH;IAEA,OAAOF,wBAAwB,CAACK,KAAK,EAAE;EACzC,CAAC,MAAM;IACL,OAAOL,wBAAwB;EACjC;AACF"}
\ No newline at end of file
+{"version":3,"names":["logger","mockTargetValues","targetOriginX","targetOriginY","targetWidth","targetHeight","targetGlobalOriginX","targetGlobalOriginY","targetBorderRadius","windowWidth","windowHeight","currentOriginX","currentOriginY","currentWidth","currentHeight","currentGlobalOriginX","currentGlobalOriginY","currentBorderRadius","getCommonProperties","layoutStyle","componentStyle","componentStyleFlat","Array","isArray","flat","filter","Boolean","map","style","initial","value","componentStylesKeys","flatMap","Object","keys","commonKeys","key","includes","maybeReportOverwrittenProperties","layoutAnimationStyle","displayName","commonProperties","length","warn","join","maybeBuild","layoutAnimationOrBuilder","isAnimationBuilder","build","animationFactory","__DEV__","layoutAnimation","animations"],"sourceRoot":"../../src","sources":["animationBuilder.tsx"],"mappings":"AAAA,YAAY;;AACZ,SAASA,MAAM,QAAQ,UAAU;AASjC,MAAMC,gBAAuC,GAAG;EAC9CC,aAAa,EAAE,CAAC;EAChBC,aAAa,EAAE,CAAC;EAChBC,WAAW,EAAE,CAAC;EACdC,YAAY,EAAE,CAAC;EACfC,mBAAmB,EAAE,CAAC;EACtBC,mBAAmB,EAAE,CAAC;EACtBC,kBAAkB,EAAE,CAAC;EACrBC,WAAW,EAAE,CAAC;EACdC,YAAY,EAAE,CAAC;EACfC,cAAc,EAAE,CAAC;EACjBC,cAAc,EAAE,CAAC;EACjBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,oBAAoB,EAAE,CAAC;EACvBC,oBAAoB,EAAE,CAAC;EACvBC,mBAAmB,EAAE;AACvB,CAAC;AAED,SAASC,mBAAmBA,CAC1BC,WAAuB,EACvBC,cAAuC,EACvC;EACA,IAAIC,kBAAkB,GAAGC,KAAK,CAACC,OAAO,CAACH,cAAc,CAAC,GAClDA,cAAc,CAACI,IAAI,CAAC,CAAC,GACrB,CAACJ,cAAc,CAAC;EAEpBC,kBAAkB,GAAGA,kBAAkB,CAACI,MAAM,CAACC,OAAO,CAAC;EAEvDL,kBAAkB,GAAGA,kBAAkB,CAACM,GAAG,CAAEC,KAAK,IAChD,SAAS,IAAIA,KAAK,GACdA,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC;EAAA,EACpBF,KACN,CAAC;EAED,MAAMG,mBAAmB,GAAGV,kBAAkB,CAACW,OAAO,CAAEJ,KAAK,IAC3DK,MAAM,CAACC,IAAI,CAACN,KAAK,CACnB,CAAC;EAED,MAAMO,UAAU,GAAGF,MAAM,CAACC,IAAI,CAACf,WAAW,CAAC,CAACM,MAAM,CAAEW,GAAG,IACrDL,mBAAmB,CAACM,QAAQ,CAACD,GAAG,CAClC,CAAC;EAED,OAAOD,UAAU;AACnB;AAEA,SAASG,gCAAgCA,CACvCC,oBAAgC,EAChCX,KAA8B,EAC9BY,WAAmB,EACnB;EACA,MAAMC,gBAAgB,GAAGvB,mBAAmB,CAACqB,oBAAoB,EAAEX,KAAK,CAAC;EAEzE,IAAIa,gBAAgB,CAACC,MAAM,GAAG,CAAC,EAAE;IAC/B1C,MAAM,CAAC2C,IAAI,CACT,GACEF,gBAAgB,CAACC,MAAM,KAAK,CAAC,GAAG,UAAU,GAAG,YAAY,KACtDD,gBAAgB,CAACG,IAAI,CACxB,IACF,CAAC,QAAQJ,WAAW,4IACtB,CAAC;EACH;AACF;AAEA,OAAO,SAASK,UAAUA,CACxBC,wBAGY,EACZlB,KAA0C,EAC1CY,WAAmB,EACiB;EACpC,MAAMO,kBAAkB,GACtBjB,KAAmE,IAEnE,OAAO,IAAIgB,wBAAwB,IACnC,OAAOA,wBAAwB,CAACE,KAAK,KAAK,UAAU;EAEtD,IAAID,kBAAkB,CAACD,wBAAwB,CAAC,EAAE;IAChD,MAAMG,gBAAgB,GAAGH,wBAAwB,CAACE,KAAK,CAAC,CAAC;IAEzD,IAAIE,OAAO,IAAItB,KAAK,EAAE;MACpB,MAAMuB,eAAe,GAAGF,gBAAgB,CAAChD,gBAAgB,CAAC;MAC1DqC,gCAAgC,CAC9Ba,eAAe,CAACC,UAAU,EAC1BxB,KAAK,EACLY,WACF,CAAC;IACH;IAEA,OAAOS,gBAAgB;EACzB,CAAC,MAAM;IACL,OAAOH,wBAAwB;EACjC;AACF","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js
index c0a7dd31..5828da9d 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js
@@ -1,16 +1,10 @@
'use strict';
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
+import { isSharedValue } from '../isSharedValue';
+import { startMapper, stopMapper } from '../mappers';
+import { updateProps } from '../updateProps';
+import { makeViewDescriptorsSet } from '../ViewDescriptorsSet';
import { flattenArray } from './utils';
-import { makeViewDescriptorsSet } from '../reanimated2/ViewDescriptorsSet';
-import { adaptViewConfig } from '../ConfigHelper';
-import updateProps from '../reanimated2/UpdateProps';
-import { stopMapper, startMapper } from '../reanimated2/mappers';
-import { isSharedValue } from '../reanimated2/isSharedValue';
-import { shouldBeUseWeb } from '../reanimated2/PlatformChecker';
-const SHOULD_BE_USE_WEB = shouldBeUseWeb();
function isInlineStyleTransform(transform) {
if (!Array.isArray(transform)) {
return false;
@@ -22,28 +16,29 @@ function inlinePropsHasChanged(styles1, styles2) {
return true;
}
for (const key of Object.keys(styles1)) {
- if (styles1[key] !== styles2[key]) return true;
+ if (styles1[key] !== styles2[key]) {
+ return true;
+ }
}
return false;
}
-function getInlinePropsUpdate(inlineProps) {
+function getInlinePropsUpdate(styleValue) {
'worklet';
- const update = {};
- for (const [key, styleValue] of Object.entries(inlineProps)) {
- if (isSharedValue(styleValue)) {
- update[key] = styleValue.value;
- } else if (Array.isArray(styleValue)) {
- update[key] = styleValue.map(item => {
- return getInlinePropsUpdate(item);
- });
- } else if (typeof styleValue === 'object') {
- update[key] = getInlinePropsUpdate(styleValue);
- } else {
- update[key] = styleValue;
- }
+ if (isSharedValue(styleValue)) {
+ return styleValue.value;
}
- return update;
+ if (Array.isArray(styleValue)) {
+ return styleValue.map(getInlinePropsUpdate);
+ }
+ if (styleValue && typeof styleValue === 'object') {
+ const update = {};
+ for (const [key, value] of Object.entries(styleValue)) {
+ update[key] = getInlinePropsUpdate(value);
+ }
+ return update;
+ }
+ return styleValue;
}
function extractSharedValuesMapFromProps(props) {
const inlineProps = {};
@@ -55,11 +50,11 @@ function extractSharedValuesMapFromProps(props) {
if (!style) {
return;
}
- for (const [key, styleValue] of Object.entries(style)) {
+ for (const [styleKey, styleValue] of Object.entries(style)) {
if (isSharedValue(styleValue)) {
- inlineProps[key] = styleValue;
- } else if (key === 'transform' && isInlineStyleTransform(styleValue)) {
- inlineProps[key] = styleValue;
+ inlineProps[styleKey] = styleValue;
+ } else if (styleKey === 'transform' && isInlineStyleTransform(styleValue)) {
+ inlineProps[styleKey] = styleValue;
}
}
});
@@ -91,11 +86,9 @@ export function getInlineStyle(style, isFirstRender) {
return newStyle;
}
export class InlinePropManager {
- constructor() {
- _defineProperty(this, "_inlinePropsViewDescriptors", null);
- _defineProperty(this, "_inlinePropsMapperId", null);
- _defineProperty(this, "_inlineProps", {});
- }
+ _inlinePropsViewDescriptors = null;
+ _inlinePropsMapperId = null;
+ _inlineProps = {};
attachInlineProps(animatedComponent, viewInfo) {
const newInlineProps = extractSharedValuesMapFromProps(animatedComponent.props);
const hasChanged = inlinePropsHasChanged(newInlineProps, this._inlineProps);
@@ -104,32 +97,19 @@ export class InlinePropManager {
this._inlinePropsViewDescriptors = makeViewDescriptorsSet();
const {
viewTag,
- viewName,
- shadowNodeWrapper,
- viewConfig
+ shadowNodeWrapper
} = viewInfo;
- if (Object.keys(newInlineProps).length && viewConfig) {
- adaptViewConfig(viewConfig);
- }
this._inlinePropsViewDescriptors.add({
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
tag: viewTag,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- name: viewName,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
shadowNodeWrapper: shadowNodeWrapper
});
}
const shareableViewDescriptors = this._inlinePropsViewDescriptors.shareableViewDescriptors;
- const maybeViewRef = SHOULD_BE_USE_WEB ? {
- items: new Set([animatedComponent])
- } // see makeViewsRefSet
- : undefined;
const updaterFunction = () => {
'worklet';
const update = getInlinePropsUpdate(newInlineProps);
- updateProps(shareableViewDescriptors, update, maybeViewRef);
+ updateProps(shareableViewDescriptors, update);
};
this._inlineProps = newInlineProps;
if (this._inlinePropsMapperId) {
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js.map
index fad0bd58..1d36e2e0 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.js.map
@@ -1 +1 @@
-{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","flattenArray","makeViewDescriptorsSet","adaptViewConfig","updateProps","stopMapper","startMapper","isSharedValue","shouldBeUseWeb","SHOULD_BE_USE_WEB","isInlineStyleTransform","transform","Array","isArray","some","t","hasInlineStyles","inlinePropsHasChanged","styles1","styles2","keys","length","getInlinePropsUpdate","inlineProps","update","styleValue","entries","map","item","extractSharedValuesMapFromProps","props","styles","style","forEach","getInlineStyle","isFirstRender","newStyle","InlinePropManager","constructor","attachInlineProps","animatedComponent","viewInfo","newInlineProps","hasChanged","_inlineProps","_inlinePropsViewDescriptors","viewTag","viewName","shadowNodeWrapper","viewConfig","add","tag","name","shareableViewDescriptors","maybeViewRef","items","Set","updaterFunction","_inlinePropsMapperId","values","detachInlineProps"],"sources":["InlinePropManager.ts"],"sourcesContent":["'use strict';\nimport type { StyleProps } from '../reanimated2';\nimport type {\n IAnimatedComponentInternal,\n AnimatedComponentProps,\n IInlinePropManager,\n ViewInfo,\n} from './commonTypes';\nimport { flattenArray } from './utils';\nimport { makeViewDescriptorsSet } from '../reanimated2/ViewDescriptorsSet';\nimport type {\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../reanimated2/ViewDescriptorsSet';\nimport { adaptViewConfig } from '../ConfigHelper';\nimport updateProps from '../reanimated2/UpdateProps';\nimport { stopMapper, startMapper } from '../reanimated2/mappers';\nimport { isSharedValue } from '../reanimated2/isSharedValue';\nimport { shouldBeUseWeb } from '../reanimated2/PlatformChecker';\n\nconst SHOULD_BE_USE_WEB = shouldBeUseWeb();\n\nfunction isInlineStyleTransform(transform: unknown): boolean {\n if (!Array.isArray(transform)) {\n return false;\n }\n\n return transform.some((t: Record) => hasInlineStyles(t));\n}\n\nfunction inlinePropsHasChanged(\n styles1: StyleProps,\n styles2: StyleProps\n): boolean {\n if (Object.keys(styles1).length !== Object.keys(styles2).length) {\n return true;\n }\n\n for (const key of Object.keys(styles1)) {\n if (styles1[key] !== styles2[key]) return true;\n }\n\n return false;\n}\n\nfunction getInlinePropsUpdate(inlineProps: Record) {\n 'worklet';\n const update: Record = {};\n for (const [key, styleValue] of Object.entries(inlineProps)) {\n if (isSharedValue(styleValue)) {\n update[key] = styleValue.value;\n } else if (Array.isArray(styleValue)) {\n update[key] = styleValue.map((item) => {\n return getInlinePropsUpdate(item);\n });\n } else if (typeof styleValue === 'object') {\n update[key] = getInlinePropsUpdate(styleValue as Record);\n } else {\n update[key] = styleValue;\n }\n }\n return update;\n}\n\nfunction extractSharedValuesMapFromProps(\n props: AnimatedComponentProps<\n Record /* Initial component props */\n >\n): Record {\n const inlineProps: Record = {};\n\n for (const key in props) {\n const value = props[key];\n if (key === 'style') {\n const styles = flattenArray(props.style ?? []);\n styles.forEach((style) => {\n if (!style) {\n return;\n }\n for (const [key, styleValue] of Object.entries(style)) {\n if (isSharedValue(styleValue)) {\n inlineProps[key] = styleValue;\n } else if (\n key === 'transform' &&\n isInlineStyleTransform(styleValue)\n ) {\n inlineProps[key] = styleValue;\n }\n }\n });\n } else if (isSharedValue(value)) {\n inlineProps[key] = value;\n }\n }\n\n return inlineProps;\n}\n\nexport function hasInlineStyles(style: StyleProps): boolean {\n if (!style) {\n return false;\n }\n return Object.keys(style).some((key) => {\n const styleValue = style[key];\n return (\n isSharedValue(styleValue) ||\n (key === 'transform' && isInlineStyleTransform(styleValue))\n );\n });\n}\n\nexport function getInlineStyle(\n style: Record,\n isFirstRender: boolean\n) {\n if (isFirstRender) {\n return getInlinePropsUpdate(style);\n }\n const newStyle: StyleProps = {};\n for (const [key, styleValue] of Object.entries(style)) {\n if (\n !isSharedValue(styleValue) &&\n !(key === 'transform' && isInlineStyleTransform(styleValue))\n ) {\n newStyle[key] = styleValue;\n }\n }\n return newStyle;\n}\n\nexport class InlinePropManager implements IInlinePropManager {\n _inlinePropsViewDescriptors: ViewDescriptorsSet | null = null;\n _inlinePropsMapperId: number | null = null;\n _inlineProps: StyleProps = {};\n\n public attachInlineProps(\n animatedComponent: React.Component &\n IAnimatedComponentInternal,\n viewInfo: ViewInfo\n ) {\n const newInlineProps: Record =\n extractSharedValuesMapFromProps(animatedComponent.props);\n const hasChanged = inlinePropsHasChanged(newInlineProps, this._inlineProps);\n\n if (hasChanged) {\n if (!this._inlinePropsViewDescriptors) {\n this._inlinePropsViewDescriptors = makeViewDescriptorsSet();\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } = viewInfo;\n\n if (Object.keys(newInlineProps).length && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._inlinePropsViewDescriptors.add({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n tag: viewTag as number,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: viewName!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n const shareableViewDescriptors =\n this._inlinePropsViewDescriptors.shareableViewDescriptors;\n\n const maybeViewRef = SHOULD_BE_USE_WEB\n ? ({ items: new Set([animatedComponent]) } as ViewRefSet) // see makeViewsRefSet\n : undefined;\n const updaterFunction = () => {\n 'worklet';\n const update = getInlinePropsUpdate(newInlineProps);\n updateProps(shareableViewDescriptors, update, maybeViewRef);\n };\n this._inlineProps = newInlineProps;\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n this._inlinePropsMapperId = null;\n if (Object.keys(newInlineProps).length) {\n this._inlinePropsMapperId = startMapper(\n updaterFunction,\n Object.values(newInlineProps)\n );\n }\n }\n }\n\n public detachInlineProps() {\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n }\n}\n"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"names":["isSharedValue","startMapper","stopMapper","updateProps","makeViewDescriptorsSet","flattenArray","isInlineStyleTransform","transform","Array","isArray","some","t","hasInlineStyles","inlinePropsHasChanged","styles1","styles2","Object","keys","length","key","getInlinePropsUpdate","styleValue","value","map","update","entries","extractSharedValuesMapFromProps","props","inlineProps","styles","style","forEach","styleKey","getInlineStyle","isFirstRender","newStyle","InlinePropManager","_inlinePropsViewDescriptors","_inlinePropsMapperId","_inlineProps","attachInlineProps","animatedComponent","viewInfo","newInlineProps","hasChanged","viewTag","shadowNodeWrapper","add","tag","shareableViewDescriptors","updaterFunction","values","detachInlineProps"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/InlinePropManager.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,aAAa,QAAQ,kBAAkB;AAChD,SAASC,WAAW,EAAEC,UAAU,QAAQ,YAAY;AACpD,SAASC,WAAW,QAAQ,gBAAgB;AAE5C,SAASC,sBAAsB,QAAQ,uBAAuB;AAO9D,SAASC,YAAY,QAAQ,SAAS;AAEtC,SAASC,sBAAsBA,CAACC,SAAkB,EAAW;EAC3D,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,OAAOA,SAAS,CAACG,IAAI,CAAEC,CAA0B,IAAKC,eAAe,CAACD,CAAC,CAAC,CAAC;AAC3E;AAEA,SAASE,qBAAqBA,CAC5BC,OAAmB,EACnBC,OAAmB,EACV;EACT,IAAIC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,MAAM,KAAKF,MAAM,CAACC,IAAI,CAACF,OAAO,CAAC,CAACG,MAAM,EAAE;IAC/D,OAAO,IAAI;EACb;EAEA,KAAK,MAAMC,GAAG,IAAIH,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,EAAE;IACtC,IAAIA,OAAO,CAACK,GAAG,CAAC,KAAKJ,OAAO,CAACI,GAAG,CAAC,EAAE;MACjC,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd;AAEA,SAASC,oBAAoBA,CAACC,UAAsB,EAAW;EAC7D,SAAS;;EACT,IAAIrB,aAAa,CAACqB,UAAU,CAAC,EAAE;IAC7B,OAAOA,UAAU,CAACC,KAAK;EACzB;EACA,IAAId,KAAK,CAACC,OAAO,CAACY,UAAU,CAAC,EAAE;IAC7B,OAAOA,UAAU,CAACE,GAAG,CAACH,oBAAoB,CAAC;EAC7C;EACA,IAAIC,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IAChD,MAAMG,MAA+B,GAAG,CAAC,CAAC;IAC1C,KAAK,MAAM,CAACL,GAAG,EAAEG,KAAK,CAAC,IAAIN,MAAM,CAACS,OAAO,CAACJ,UAAU,CAAC,EAAE;MACrDG,MAAM,CAACL,GAAG,CAAC,GAAGC,oBAAoB,CAACE,KAAK,CAAC;IAC3C;IACA,OAAOE,MAAM;EACf;EACA,OAAOH,UAAU;AACnB;AAEA,SAASK,+BAA+BA,CACtCC,KAEC,EACwB;EACzB,MAAMC,WAAoC,GAAG,CAAC,CAAC;EAE/C,KAAK,MAAMT,GAAG,IAAIQ,KAAK,EAAE;IACvB,MAAML,KAAK,GAAGK,KAAK,CAACR,GAAG,CAAC;IACxB,IAAIA,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMU,MAAM,GAAGxB,YAAY,CAAasB,KAAK,CAACG,KAAK,IAAI,EAAE,CAAC;MAC1DD,MAAM,CAACE,OAAO,CAAED,KAAK,IAAK;QACxB,IAAI,CAACA,KAAK,EAAE;UACV;QACF;QACA,KAAK,MAAM,CAACE,QAAQ,EAAEX,UAAU,CAAC,IAAIL,MAAM,CAACS,OAAO,CAACK,KAAK,CAAC,EAAE;UAC1D,IAAI9B,aAAa,CAACqB,UAAU,CAAC,EAAE;YAC7BO,WAAW,CAACI,QAAQ,CAAC,GAAGX,UAAU;UACpC,CAAC,MAAM,IACLW,QAAQ,KAAK,WAAW,IACxB1B,sBAAsB,CAACe,UAAU,CAAC,EAClC;YACAO,WAAW,CAACI,QAAQ,CAAC,GAAGX,UAAU;UACpC;QACF;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIrB,aAAa,CAACsB,KAAK,CAAC,EAAE;MAC/BM,WAAW,CAACT,GAAG,CAAC,GAAGG,KAAK;IAC1B;EACF;EAEA,OAAOM,WAAW;AACpB;AAEA,OAAO,SAAShB,eAAeA,CAACkB,KAAiB,EAAW;EAC1D,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,KAAK;EACd;EACA,OAAOd,MAAM,CAACC,IAAI,CAACa,KAAK,CAAC,CAACpB,IAAI,CAAES,GAAG,IAAK;IACtC,MAAME,UAAU,GAAGS,KAAK,CAACX,GAAG,CAAC;IAC7B,OACEnB,aAAa,CAACqB,UAAU,CAAC,IACxBF,GAAG,KAAK,WAAW,IAAIb,sBAAsB,CAACe,UAAU,CAAE;EAE/D,CAAC,CAAC;AACJ;AAEA,OAAO,SAASY,cAAcA,CAC5BH,KAA8B,EAC9BI,aAAsB,EACtB;EACA,IAAIA,aAAa,EAAE;IACjB,OAAOd,oBAAoB,CAACU,KAAK,CAAC;EACpC;EACA,MAAMK,QAAoB,GAAG,CAAC,CAAC;EAC/B,KAAK,MAAM,CAAChB,GAAG,EAAEE,UAAU,CAAC,IAAIL,MAAM,CAACS,OAAO,CAACK,KAAK,CAAC,EAAE;IACrD,IACE,CAAC9B,aAAa,CAACqB,UAAU,CAAC,IAC1B,EAAEF,GAAG,KAAK,WAAW,IAAIb,sBAAsB,CAACe,UAAU,CAAC,CAAC,EAC5D;MACAc,QAAQ,CAAChB,GAAG,CAAC,GAAGE,UAAU;IAC5B;EACF;EACA,OAAOc,QAAQ;AACjB;AAEA,OAAO,MAAMC,iBAAiB,CAA+B;EAC3DC,2BAA2B,GAA8B,IAAI;EAC7DC,oBAAoB,GAAkB,IAAI;EAC1CC,YAAY,GAAe,CAAC,CAAC;EAEtBC,iBAAiBA,CACtBC,iBAAwC,EACxCC,QAAkB,EAClB;IACA,MAAMC,cAAuC,GAC3CjB,+BAA+B,CAACe,iBAAiB,CAACd,KAAK,CAAC;IAC1D,MAAMiB,UAAU,GAAG/B,qBAAqB,CAAC8B,cAAc,EAAE,IAAI,CAACJ,YAAY,CAAC;IAE3E,IAAIK,UAAU,EAAE;MACd,IAAI,CAAC,IAAI,CAACP,2BAA2B,EAAE;QACrC,IAAI,CAACA,2BAA2B,GAAGjC,sBAAsB,CAAC,CAAC;QAE3D,MAAM;UAAEyC,OAAO;UAAEC;QAAkB,CAAC,GAAGJ,QAAQ;QAE/C,IAAI,CAACL,2BAA2B,CAACU,GAAG,CAAC;UACnCC,GAAG,EAAEH,OAAiB;UACtBC,iBAAiB,EAAEA;QACrB,CAAC,CAAC;MACJ;MACA,MAAMG,wBAAwB,GAC5B,IAAI,CAACZ,2BAA2B,CAACY,wBAAwB;MAE3D,MAAMC,eAAe,GAAGA,CAAA,KAAM;QAC5B,SAAS;;QACT,MAAM1B,MAAM,GAAGJ,oBAAoB,CAACuB,cAAc,CAAC;QACnDxC,WAAW,CAAC8C,wBAAwB,EAAEzB,MAAM,CAAC;MAC/C,CAAC;MACD,IAAI,CAACe,YAAY,GAAGI,cAAc;MAClC,IAAI,IAAI,CAACL,oBAAoB,EAAE;QAC7BpC,UAAU,CAAC,IAAI,CAACoC,oBAAoB,CAAC;MACvC;MACA,IAAI,CAACA,oBAAoB,GAAG,IAAI;MAChC,IAAItB,MAAM,CAACC,IAAI,CAAC0B,cAAc,CAAC,CAACzB,MAAM,EAAE;QACtC,IAAI,CAACoB,oBAAoB,GAAGrC,WAAW,CACrCiD,eAAe,EACflC,MAAM,CAACmC,MAAM,CAACR,cAAc,CAC9B,CAAC;MACH;IACF;EACF;EAEOS,iBAAiBA,CAAA,EAAG;IACzB,IAAI,IAAI,CAACd,oBAAoB,EAAE;MAC7BpC,UAAU,CAAC,IAAI,CAACoC,oBAAoB,CAAC;IACvC;EACF;AACF","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js
index c0bd9a77..f4b19fc7 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js
@@ -1,86 +1,50 @@
'use strict';
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-import { NativeEventEmitter, NativeModules, findNodeHandle } from 'react-native';
-import { shouldBeUseWeb } from '../reanimated2/PlatformChecker';
-import { runOnJS, runOnUIImmediately } from '../reanimated2/threads';
-const SHOULD_BE_USE_WEB = shouldBeUseWeb();
-class JSPropsUpdaterPaper {
- constructor() {
- _defineProperty(this, "_reanimatedEventEmitter", void 0);
- this._reanimatedEventEmitter = new NativeEventEmitter(NativeModules.ReanimatedModule);
+import { runOnUI } from 'react-native-worklets';
+import { SHOULD_BE_USE_WEB } from '../common';
+class JSPropsUpdaterNative {
+ static _tagToComponentMapping = new Map();
+ registerComponent(animatedComponent, jsProps) {
+ const viewTag = animatedComponent.getComponentViewTag();
+ JSPropsUpdaterNative._tagToComponentMapping.set(viewTag, animatedComponent);
+ runOnUI(() => {
+ global._tagToJSPropNamesMapping[viewTag] = Object.fromEntries(jsProps.map(propName => [propName, true]));
+ })();
}
- addOnJSPropsChangeListener(animatedComponent) {
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterPaper._tagToComponentMapping.set(viewTag, animatedComponent);
- if (JSPropsUpdaterPaper._tagToComponentMapping.size === 1) {
- const listener = data => {
- const component = JSPropsUpdaterPaper._tagToComponentMapping.get(data.viewTag);
- component === null || component === void 0 ? void 0 : component._updateFromNative(data.props);
- };
- this._reanimatedEventEmitter.addListener('onReanimatedPropsChange', listener);
- }
+ unregisterComponent(animatedComponent) {
+ const viewTag = animatedComponent.getComponentViewTag();
+ JSPropsUpdaterNative._tagToComponentMapping.delete(viewTag);
+ runOnUI(() => {
+ delete global._tagToJSPropNamesMapping[viewTag];
+ })();
}
- removeOnJSPropsChangeListener(animatedComponent) {
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterPaper._tagToComponentMapping.delete(viewTag);
- if (JSPropsUpdaterPaper._tagToComponentMapping.size === 0) {
- this._reanimatedEventEmitter.removeAllListeners('onReanimatedPropsChange');
- }
+ updateProps(operations) {
+ operations.forEach(({
+ tag,
+ updates
+ }) => {
+ const component = JSPropsUpdaterNative._tagToComponentMapping.get(tag);
+ component?.setNativeProps(updates);
+ });
}
}
-_defineProperty(JSPropsUpdaterPaper, "_tagToComponentMapping", new Map());
-class JSPropsUpdaterFabric {
- constructor() {
- if (!JSPropsUpdaterFabric.isInitialized) {
- const updater = (viewTag, props) => {
- const component = JSPropsUpdaterFabric._tagToComponentMapping.get(viewTag);
- component === null || component === void 0 ? void 0 : component._updateFromNative(props);
- };
- runOnUIImmediately(() => {
- 'worklet';
-
- global.updateJSProps = (viewTag, props) => {
- runOnJS(updater)(viewTag, props);
- };
- })();
- JSPropsUpdaterFabric.isInitialized = true;
- }
- }
- addOnJSPropsChangeListener(animatedComponent) {
- if (!JSPropsUpdaterFabric.isInitialized) {
- return;
- }
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterFabric._tagToComponentMapping.set(viewTag, animatedComponent);
- }
- removeOnJSPropsChangeListener(animatedComponent) {
- if (!JSPropsUpdaterFabric.isInitialized) {
- return;
- }
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterFabric._tagToComponentMapping.delete(viewTag);
- }
-}
-_defineProperty(JSPropsUpdaterFabric, "_tagToComponentMapping", new Map());
-_defineProperty(JSPropsUpdaterFabric, "isInitialized", false);
class JSPropsUpdaterWeb {
- addOnJSPropsChangeListener(_animatedComponent) {
+ registerComponent(_animatedComponent) {
// noop
}
- removeOnJSPropsChangeListener(_animatedComponent) {
+ unregisterComponent(_animatedComponent) {
+ // noop
+ }
+ updateProps(_operations) {
// noop
}
}
let JSPropsUpdater;
if (SHOULD_BE_USE_WEB) {
JSPropsUpdater = JSPropsUpdaterWeb;
-} else if (global._IS_FABRIC) {
- JSPropsUpdater = JSPropsUpdaterFabric;
} else {
- JSPropsUpdater = JSPropsUpdaterPaper;
+ JSPropsUpdater = JSPropsUpdaterNative;
}
-export default JSPropsUpdater;
+const jsPropsUpdater = new JSPropsUpdater();
+export default jsPropsUpdater;
//# sourceMappingURL=JSPropsUpdater.js.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js.map
index 0972e582..fc35d180 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.js.map
@@ -1 +1 @@
-{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","NativeEventEmitter","NativeModules","findNodeHandle","shouldBeUseWeb","runOnJS","runOnUIImmediately","SHOULD_BE_USE_WEB","JSPropsUpdaterPaper","constructor","_reanimatedEventEmitter","ReanimatedModule","addOnJSPropsChangeListener","animatedComponent","viewTag","_tagToComponentMapping","set","size","listener","data","component","get","_updateFromNative","props","addListener","removeOnJSPropsChangeListener","delete","removeAllListeners","Map","JSPropsUpdaterFabric","isInitialized","updater","global","updateJSProps","JSPropsUpdaterWeb","_animatedComponent","JSPropsUpdater","_IS_FABRIC"],"sources":["JSPropsUpdater.ts"],"sourcesContent":["'use strict';\nimport {\n NativeEventEmitter,\n NativeModules,\n findNodeHandle,\n} from 'react-native';\nimport { shouldBeUseWeb } from '../reanimated2/PlatformChecker';\nimport type { StyleProps } from '../reanimated2';\nimport { runOnJS, runOnUIImmediately } from '../reanimated2/threads';\nimport type {\n AnimatedComponentProps,\n IAnimatedComponentInternal,\n IJSPropsUpdater,\n InitialComponentProps,\n} from './commonTypes';\n\ninterface ListenerData {\n viewTag: number;\n props: StyleProps;\n}\n\nconst SHOULD_BE_USE_WEB = shouldBeUseWeb();\n\nclass JSPropsUpdaterPaper implements IJSPropsUpdater {\n private static _tagToComponentMapping = new Map();\n private _reanimatedEventEmitter: NativeEventEmitter;\n\n constructor() {\n this._reanimatedEventEmitter = new NativeEventEmitter(\n NativeModules.ReanimatedModule\n );\n }\n\n public addOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps\n > &\n IAnimatedComponentInternal\n ) {\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterPaper._tagToComponentMapping.set(viewTag, animatedComponent);\n if (JSPropsUpdaterPaper._tagToComponentMapping.size === 1) {\n const listener = (data: ListenerData) => {\n const component = JSPropsUpdaterPaper._tagToComponentMapping.get(\n data.viewTag\n );\n component?._updateFromNative(data.props);\n };\n this._reanimatedEventEmitter.addListener(\n 'onReanimatedPropsChange',\n listener\n );\n }\n }\n\n public removeOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps\n > &\n IAnimatedComponentInternal\n ) {\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterPaper._tagToComponentMapping.delete(viewTag);\n if (JSPropsUpdaterPaper._tagToComponentMapping.size === 0) {\n this._reanimatedEventEmitter.removeAllListeners(\n 'onReanimatedPropsChange'\n );\n }\n }\n}\n\nclass JSPropsUpdaterFabric implements IJSPropsUpdater {\n private static _tagToComponentMapping = new Map();\n private static isInitialized = false;\n\n constructor() {\n if (!JSPropsUpdaterFabric.isInitialized) {\n const updater = (viewTag: number, props: unknown) => {\n const component =\n JSPropsUpdaterFabric._tagToComponentMapping.get(viewTag);\n component?._updateFromNative(props);\n };\n runOnUIImmediately(() => {\n 'worklet';\n global.updateJSProps = (viewTag: number, props: unknown) => {\n runOnJS(updater)(viewTag, props);\n };\n })();\n JSPropsUpdaterFabric.isInitialized = true;\n }\n }\n\n public addOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps\n > &\n IAnimatedComponentInternal\n ) {\n if (!JSPropsUpdaterFabric.isInitialized) {\n return;\n }\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterFabric._tagToComponentMapping.set(viewTag, animatedComponent);\n }\n\n public removeOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps\n > &\n IAnimatedComponentInternal\n ) {\n if (!JSPropsUpdaterFabric.isInitialized) {\n return;\n }\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterFabric._tagToComponentMapping.delete(viewTag);\n }\n}\n\nclass JSPropsUpdaterWeb implements IJSPropsUpdater {\n public addOnJSPropsChangeListener(\n _animatedComponent: React.Component<\n AnimatedComponentProps\n > &\n IAnimatedComponentInternal\n ) {\n // noop\n }\n\n public removeOnJSPropsChangeListener(\n _animatedComponent: React.Component<\n AnimatedComponentProps\n > &\n IAnimatedComponentInternal\n ) {\n // noop\n }\n}\n\ntype JSPropsUpdaterOptions =\n | typeof JSPropsUpdaterWeb\n | typeof JSPropsUpdaterFabric\n | typeof JSPropsUpdaterPaper;\n\nlet JSPropsUpdater: JSPropsUpdaterOptions;\nif (SHOULD_BE_USE_WEB) {\n JSPropsUpdater = JSPropsUpdaterWeb;\n} else if (global._IS_FABRIC) {\n JSPropsUpdater = JSPropsUpdaterFabric;\n} else {\n JSPropsUpdater = JSPropsUpdaterPaper;\n}\n\nexport default JSPropsUpdater;\n"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"names":["runOnUI","SHOULD_BE_USE_WEB","JSPropsUpdaterNative","_tagToComponentMapping","Map","registerComponent","animatedComponent","jsProps","viewTag","getComponentViewTag","set","global","_tagToJSPropNamesMapping","Object","fromEntries","map","propName","unregisterComponent","delete","updateProps","operations","forEach","tag","updates","component","get","setNativeProps","JSPropsUpdaterWeb","_animatedComponent","_operations","JSPropsUpdater","jsPropsUpdater"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/JSPropsUpdater.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,OAAO,QAAQ,uBAAuB;AAE/C,SAASC,iBAAiB,QAAQ,WAAW;AAU7C,MAAMC,oBAAoB,CAA4B;EACpD,OAAeC,sBAAsB,GAAG,IAAIC,GAAG,CAG7C,CAAC;EAEIC,iBAAiBA,CACtBC,iBAAwC,EACxCC,OAAiB,EACjB;IACA,MAAMC,OAAO,GAAGF,iBAAiB,CAACG,mBAAmB,CAAC,CAAC;IACvDP,oBAAoB,CAACC,sBAAsB,CAACO,GAAG,CAACF,OAAO,EAAEF,iBAAiB,CAAC;IAE3EN,OAAO,CAAC,MAAM;MACZW,MAAM,CAACC,wBAAwB,CAACJ,OAAO,CAAC,GAAGK,MAAM,CAACC,WAAW,CAC3DP,OAAO,CAACQ,GAAG,CAAEC,QAAQ,IAAK,CAACA,QAAQ,EAAE,IAAI,CAAC,CAC5C,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;EACN;EAEOC,mBAAmBA,CAACX,iBAAwC,EAAE;IACnE,MAAME,OAAO,GAAGF,iBAAiB,CAACG,mBAAmB,CAAC,CAAC;IACvDP,oBAAoB,CAACC,sBAAsB,CAACe,MAAM,CAACV,OAAO,CAAC;IAE3DR,OAAO,CAAC,MAAM;MACZ,OAAOW,MAAM,CAACC,wBAAwB,CAACJ,OAAO,CAAC;IACjD,CAAC,CAAC,CAAC,CAAC;EACN;EAEOW,WAAWA,CAACC,UAA8B,EAAE;IACjDA,UAAU,CAACC,OAAO,CAAC,CAAC;MAAEC,GAAG;MAAEC;IAAQ,CAAC,KAAK;MACvC,MAAMC,SAAS,GAAGtB,oBAAoB,CAACC,sBAAsB,CAACsB,GAAG,CAACH,GAAG,CAAC;MACtEE,SAAS,EAAEE,cAAc,CAACH,OAAO,CAAC;IACpC,CAAC,CAAC;EACJ;AACF;AAEA,MAAMI,iBAAiB,CAA4B;EAC1CtB,iBAAiBA,CACtBuB,kBAG4B,EAC5B;IACA;EAAA;EAGKX,mBAAmBA,CACxBW,kBAG4B,EAC5B;IACA;EAAA;EAGKT,WAAWA,CAACU,WAA+B,EAAE;IAClD;EAAA;AAEJ;AAMA,IAAIC,cAAqC;AACzC,IAAI7B,iBAAiB,EAAE;EACrB6B,cAAc,GAAGH,iBAAiB;AACpC,CAAC,MAAM;EACLG,cAAc,GAAG5B,oBAAoB;AACvC;AAEA,MAAM6B,cAAc,GAAG,IAAID,cAAc,CAAC,CAAC;AAE3C,eAAeC,cAAc","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js
index da8a3c48..df366419 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js
@@ -1,23 +1,16 @@
'use strict';
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-import { isSharedValue } from '../reanimated2';
-import { isChromeDebugger } from '../reanimated2/PlatformChecker';
-import WorkletEventHandler from '../reanimated2/WorkletEventHandler';
-import { initialUpdaterRun } from '../reanimated2/animation';
-import { hasInlineStyles, getInlineStyle } from './InlinePropManager';
+import { initialUpdaterRun } from '../animation';
+import { isSharedValue } from '../isSharedValue';
+import { WorkletEventHandler } from '../WorkletEventHandler';
+import { getInlineStyle, hasInlineStyles } from './InlinePropManager';
import { flattenArray, has } from './utils';
-import { StyleSheet } from 'react-native';
function dummyListener() {
// empty listener we use to assign to listener properties for which animated
// event is used.
}
export class PropsFilter {
- constructor() {
- _defineProperty(this, "_initialStyle", {});
- }
+ _initialPropsMap = new Map();
filterNonAnimatedProps(component) {
const inputProps = component.props;
const props = {};
@@ -27,37 +20,38 @@ export class PropsFilter {
const styleProp = inputProps.style;
const styles = flattenArray(styleProp ?? []);
const processedStyle = styles.map(style => {
- if (style && style.viewDescriptors) {
- // this is how we recognize styles returned by useAnimatedStyle
- style.viewsRef.add(component);
+ if (style?.viewDescriptors) {
+ const handle = style;
if (component._isFirstRender) {
- this._initialStyle = {
- ...style.initial.value,
- ...this._initialStyle,
- ...initialUpdaterRun(style.initial.updater)
- };
+ this._initialPropsMap.set(handle, {
+ ...handle.initial.value,
+ ...initialUpdaterRun(handle.initial.updater)
+ });
}
- return this._initialStyle;
+ return this._initialPropsMap.get(handle) ?? {};
} else if (hasInlineStyles(style)) {
return getInlineStyle(style, component._isFirstRender);
} else {
return style;
}
});
- props[key] = StyleSheet.flatten(processedStyle);
+ // keep styles as they were passed by the user
+ // it will help other libs to interpret styles correctly
+ props[key] = processedStyle;
} else if (key === 'animatedProps') {
- const animatedProp = inputProps.animatedProps;
- if (animatedProp.initial !== undefined) {
- Object.keys(animatedProp.initial.value).forEach(key => {
- var _animatedProp$initial, _animatedProp$viewsRe;
- props[key] = (_animatedProp$initial = animatedProp.initial) === null || _animatedProp$initial === void 0 ? void 0 : _animatedProp$initial.value[key];
- (_animatedProp$viewsRe = animatedProp.viewsRef) === null || _animatedProp$viewsRe === void 0 ? void 0 : _animatedProp$viewsRe.add(component);
- });
- }
- } else if (has('current', value) && value.current instanceof WorkletEventHandler) {
- if (value.current.eventNames.length > 0) {
- value.current.eventNames.forEach(eventName => {
- props[eventName] = has('listeners', value.current) ? value.current.listeners[eventName] : dummyListener;
+ const animatedPropsProp = inputProps.animatedProps;
+ const animatedPropsArray = flattenArray(animatedPropsProp ?? []);
+ animatedPropsArray.forEach(animatedProps => {
+ if (animatedProps?.viewDescriptors && animatedProps.initial) {
+ Object.keys(animatedProps.initial.value).forEach(initialValueKey => {
+ props[initialValueKey] = animatedProps.initial?.value[initialValueKey];
+ });
+ }
+ });
+ } else if (has('workletEventHandler', value) && value.workletEventHandler instanceof WorkletEventHandler) {
+ if (value.workletEventHandler.eventNames.length > 0) {
+ value.workletEventHandler.eventNames.forEach(eventName => {
+ props[eventName] = has('listeners', value.workletEventHandler) ? value.workletEventHandler.listeners[eventName] : dummyListener;
});
} else {
props[key] = dummyListener;
@@ -66,7 +60,7 @@ export class PropsFilter {
if (component._isFirstRender) {
props[key] = value.value;
}
- } else if (key !== 'onGestureHandlerStateChange' || !isChromeDebugger()) {
+ } else {
props[key] = value;
}
}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js.map
index 1de50866..0ed2856f 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.js.map
@@ -1 +1 @@
-{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","isSharedValue","isChromeDebugger","WorkletEventHandler","initialUpdaterRun","hasInlineStyles","getInlineStyle","flattenArray","has","StyleSheet","dummyListener","PropsFilter","constructor","filterNonAnimatedProps","component","inputProps","props","styleProp","style","styles","processedStyle","map","viewDescriptors","viewsRef","add","_isFirstRender","_initialStyle","initial","updater","flatten","animatedProp","animatedProps","keys","forEach","_animatedProp$initial","_animatedProp$viewsRe","current","eventNames","length","eventName","listeners"],"sources":["PropsFilter.tsx"],"sourcesContent":["'use strict';\nimport type { StyleProps, SharedValue } from '../reanimated2';\nimport { isSharedValue } from '../reanimated2';\nimport { isChromeDebugger } from '../reanimated2/PlatformChecker';\nimport WorkletEventHandler from '../reanimated2/WorkletEventHandler';\nimport { initialUpdaterRun } from '../reanimated2/animation';\nimport { hasInlineStyles, getInlineStyle } from './InlinePropManager';\nimport type {\n AnimatedComponentProps,\n AnimatedProps,\n InitialComponentProps,\n IAnimatedComponentInternal,\n IPropsFilter,\n} from './commonTypes';\nimport { flattenArray, has } from './utils';\nimport { StyleSheet } from 'react-native';\n\nfunction dummyListener() {\n // empty listener we use to assign to listener properties for which animated\n // event is used.\n}\n\nexport class PropsFilter implements IPropsFilter {\n private _initialStyle = {};\n\n public filterNonAnimatedProps(\n component: React.Component & IAnimatedComponentInternal\n ): Record {\n const inputProps =\n component.props as AnimatedComponentProps;\n const props: Record = {};\n for (const key in inputProps) {\n const value = inputProps[key];\n if (key === 'style') {\n const styleProp = inputProps.style;\n const styles = flattenArray(styleProp ?? []);\n const processedStyle: StyleProps = styles.map((style) => {\n if (style && style.viewDescriptors) {\n // this is how we recognize styles returned by useAnimatedStyle\n style.viewsRef.add(component);\n if (component._isFirstRender) {\n this._initialStyle = {\n ...style.initial.value,\n ...this._initialStyle,\n ...initialUpdaterRun(style.initial.updater),\n };\n }\n return this._initialStyle;\n } else if (hasInlineStyles(style)) {\n return getInlineStyle(style, component._isFirstRender);\n } else {\n return style;\n }\n });\n props[key] = StyleSheet.flatten(processedStyle);\n } else if (key === 'animatedProps') {\n const animatedProp = inputProps.animatedProps as Partial<\n AnimatedComponentProps\n >;\n if (animatedProp.initial !== undefined) {\n Object.keys(animatedProp.initial.value).forEach((key) => {\n props[key] = animatedProp.initial?.value[key];\n animatedProp.viewsRef?.add(component);\n });\n }\n } else if (\n has('current', value) &&\n value.current instanceof WorkletEventHandler\n ) {\n if (value.current.eventNames.length > 0) {\n value.current.eventNames.forEach((eventName) => {\n props[eventName] = has('listeners', value.current)\n ? (value.current.listeners as Record)[eventName]\n : dummyListener;\n });\n } else {\n props[key] = dummyListener;\n }\n } else if (isSharedValue(value)) {\n if (component._isFirstRender) {\n props[key] = (value as SharedValue).value;\n }\n } else if (key !== 'onGestureHandlerStateChange' || !isChromeDebugger()) {\n props[key] = value;\n }\n }\n return props;\n }\n}\n"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"names":["initialUpdaterRun","isSharedValue","WorkletEventHandler","getInlineStyle","hasInlineStyles","flattenArray","has","dummyListener","PropsFilter","_initialPropsMap","Map","filterNonAnimatedProps","component","inputProps","props","key","value","styleProp","style","styles","processedStyle","map","viewDescriptors","handle","_isFirstRender","set","initial","updater","get","animatedPropsProp","animatedProps","animatedPropsArray","forEach","Object","keys","initialValueKey","workletEventHandler","eventNames","length","eventName","listeners"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/PropsFilter.tsx"],"mappings":"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","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/commonTypes.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/commonTypes.js.map
index 5c4b7af0..e9870b32 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/commonTypes.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/commonTypes.js.map
@@ -1 +1 @@
-{"version":3,"names":[],"sources":["commonTypes.ts"],"sourcesContent":["'use strict';\nimport type { Ref, Component } from 'react';\nimport type {\n StyleProps,\n BaseAnimationBuilder,\n ILayoutAnimationBuilder,\n EntryExitAnimationFunction,\n SharedTransition,\n SharedValue,\n} from '../reanimated2';\nimport type {\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../reanimated2/ViewDescriptorsSet';\nimport type { SkipEnteringContext } from '../reanimated2/component/LayoutAnimationConfig';\nimport type { ShadowNodeWrapper } from '../reanimated2/commonTypes';\nimport type { ViewConfig } from '../ConfigHelper';\n\nexport interface AnimatedProps extends Record {\n viewDescriptors?: ViewDescriptorsSet;\n viewsRef?: ViewRefSet;\n initial?: SharedValue;\n}\n\nexport interface ViewInfo {\n viewTag: number | HTMLElement | null;\n viewName: string | null;\n shadowNodeWrapper: ShadowNodeWrapper | null;\n viewConfig: ViewConfig;\n}\n\nexport interface IInlinePropManager {\n attachInlineProps(\n animatedComponent: React.Component,\n viewInfo: ViewInfo\n ): void;\n detachInlineProps(): void;\n}\n\nexport interface IPropsFilter {\n filterNonAnimatedProps: (\n component: React.Component & IAnimatedComponentInternal\n ) => Record;\n}\n\nexport interface IJSPropsUpdater {\n addOnJSPropsChangeListener(\n animatedComponent: React.Component &\n IAnimatedComponentInternal\n ): void;\n removeOnJSPropsChangeListener(\n animatedComponent: React.Component &\n IAnimatedComponentInternal\n ): void;\n}\n\nexport type LayoutAnimationStaticContext = {\n presetName: string;\n};\n\nexport type AnimatedComponentProps> = P & {\n forwardedRef?: Ref;\n style?: NestedArray;\n animatedProps?: Partial>;\n animatedStyle?: StyleProps;\n layout?: (\n | BaseAnimationBuilder\n | ILayoutAnimationBuilder\n | typeof BaseAnimationBuilder\n ) &\n LayoutAnimationStaticContext;\n entering?: (\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe\n ) &\n LayoutAnimationStaticContext;\n exiting?: (\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe\n ) &\n LayoutAnimationStaticContext;\n sharedTransitionTag?: string;\n sharedTransitionStyle?: SharedTransition;\n};\n\nexport interface AnimatedComponentRef extends Component {\n setNativeProps?: (props: Record) => void;\n getScrollableNode?: () => AnimatedComponentRef;\n getAnimatableRef?: () => AnimatedComponentRef;\n}\n\nexport interface IAnimatedComponentInternal {\n _styles: StyleProps[] | null;\n _animatedProps?: Partial>;\n _viewTag: number;\n _isFirstRender: boolean;\n animatedStyle: { value: StyleProps };\n _component: AnimatedComponentRef | HTMLElement | null;\n _sharedElementTransition: SharedTransition | null;\n _jsPropsUpdater: IJSPropsUpdater;\n _InlinePropManager: IInlinePropManager;\n _PropsFilter: IPropsFilter;\n _viewInfo?: ViewInfo;\n context: React.ContextType;\n}\n\nexport type NestedArray = T | NestedArray[];\n\nexport interface InitialComponentProps extends Record {\n ref?: Ref;\n collapsable?: boolean;\n}\n"],"mappings":"AAAA,YAAY;;AAAC"}
\ No newline at end of file
+{"version":3,"names":[],"sourceRoot":"../../../src","sources":["createAnimatedComponent/commonTypes.ts"],"mappings":"AAAA,YAAY;;AAAC","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js
index c972d50a..9ddd602f 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js
@@ -1,41 +1,9 @@
'use strict';
-function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
import React from 'react';
-import { findNodeHandle, Platform } from 'react-native';
-import WorkletEventHandler from '../reanimated2/WorkletEventHandler';
-import '../reanimated2/layoutReanimation/animationsManager';
-import invariant from 'invariant';
-import { adaptViewConfig } from '../ConfigHelper';
-import { RNRenderer } from '../reanimated2/platform-specific/RNRenderer';
-import { configureLayoutAnimations, enableLayoutAnimations } from '../reanimated2/core';
-import { SharedTransition, LayoutAnimationType } from '../reanimated2/layoutReanimation';
-import { getShadowNodeWrapperFromRef } from '../reanimated2/fabricUtils';
-import { removeFromPropsRegistry } from '../reanimated2/PropsRegistry';
-import { getReduceMotionFromConfig } from '../reanimated2/animation/util';
-import { maybeBuild } from '../animationBuilder';
-import { SkipEnteringContext } from '../reanimated2/component/LayoutAnimationConfig';
-import JSPropsUpdater from './JSPropsUpdater';
-import { has, flattenArray } from './utils';
-import setAndForwardRef from './setAndForwardRef';
-import { isFabric, isJest, isWeb, shouldBeUseWeb } from '../reanimated2/PlatformChecker';
-import { InlinePropManager } from './InlinePropManager';
-import { PropsFilter } from './PropsFilter';
-import { startWebLayoutAnimation, tryActivateLayoutTransition, configureWebLayoutAnimations, getReducedMotionFromConfig } from '../reanimated2/layoutReanimation/web';
-const IS_WEB = isWeb();
-const IS_FABRIC = isFabric();
-function onlyAnimatedStyles(styles) {
- return styles.filter(style => style === null || style === void 0 ? void 0 : style.viewDescriptors);
-}
-function isSameAnimatedStyle(style1, style2) {
- // We cannot use equality check to compare useAnimatedStyle outputs directly.
- // Instead, we can compare its viewsRefs.
- return (style1 === null || style1 === void 0 ? void 0 : style1.viewsRef) === (style2 === null || style2 === void 0 ? void 0 : style2.viewsRef);
-}
-const isSameAnimatedProps = isSameAnimatedStyle;
+import AnimatedComponentImpl from './AnimatedComponent';
+
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
/**
* Lets you create an Animated version of any React Native component.
@@ -45,366 +13,39 @@ const isSameAnimatedProps = isSameAnimatedStyle;
* @see https://docs.swmansion.com/react-native-reanimated/docs/core/createAnimatedComponent
*/
+// Don't change the order of overloads, since such a change breaks current behavior
+
/**
- * @deprecated Please use `Animated.FlatList` component instead of calling `Animated.createAnimatedComponent(FlatList)` manually.
- */ // @ts-ignore This is required to create this overload, since type of createAnimatedComponent is incorrect and doesn't include typeof FlatList
+ * @deprecated Please use `Animated.FlatList` component instead of calling
+ * `Animated.createAnimatedComponent(FlatList)` manually.
+ */
+// @ts-ignore This is required to create this overload, since type of createAnimatedComponent is incorrect and doesn't include typeof FlatList
+import { jsx as _jsx } from "react/jsx-runtime";
export function createAnimatedComponent(Component, options) {
- invariant(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, `Looks like you're passing a function component \`${Component.name}\` to \`createAnimatedComponent\` function which supports only class components. Please wrap your function component with \`React.forwardRef()\` or use a class component instead.`);
- class AnimatedComponent extends React.Component {
+ class AnimatedComponent extends AnimatedComponentImpl {
+ static displayName = `AnimatedComponent(${Component.displayName || Component.name || 'Component'})`;
constructor(props) {
- super(props);
- _defineProperty(this, "_styles", null);
- _defineProperty(this, "_animatedProps", void 0);
- _defineProperty(this, "_viewTag", -1);
- _defineProperty(this, "_isFirstRender", true);
- _defineProperty(this, "animatedStyle", {
- value: {}
- });
- _defineProperty(this, "_component", null);
- _defineProperty(this, "_sharedElementTransition", null);
- _defineProperty(this, "_jsPropsUpdater", new JSPropsUpdater());
- _defineProperty(this, "_InlinePropManager", new InlinePropManager());
- _defineProperty(this, "_PropsFilter", new PropsFilter());
- _defineProperty(this, "_viewInfo", void 0);
- _defineProperty(this, "context", void 0);
- _defineProperty(this, "_setComponentRef", setAndForwardRef({
- getForwardedRef: () => this.props.forwardedRef,
- setLocalRef: ref => {
- // TODO update config
-
- const tag = IS_WEB ? ref : findNodeHandle(ref);
- const {
- layout,
- entering,
- exiting,
- sharedTransitionTag
- } = this.props;
- if ((layout || entering || exiting || sharedTransitionTag) && tag != null) {
- var _this$context;
- if (!shouldBeUseWeb()) {
- enableLayoutAnimations(true, false);
- }
- if (layout) {
- configureLayoutAnimations(tag, LayoutAnimationType.LAYOUT, maybeBuild(layout, undefined /* We don't have to warn user if style has common properties with animation for LAYOUT */, AnimatedComponent.displayName));
- }
- const skipEntering = (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.current;
- if (entering && !skipEntering) {
- var _this$props;
- configureLayoutAnimations(tag, LayoutAnimationType.ENTERING, maybeBuild(entering, (_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.style, AnimatedComponent.displayName));
- }
- if (exiting) {
- const reduceMotionInExiting = 'getReduceMotion' in exiting && typeof exiting.getReduceMotion === 'function' ? getReduceMotionFromConfig(exiting.getReduceMotion()) : getReduceMotionFromConfig();
- if (!reduceMotionInExiting) {
- var _this$props2;
- configureLayoutAnimations(tag, LayoutAnimationType.EXITING, maybeBuild(exiting, (_this$props2 = this.props) === null || _this$props2 === void 0 ? void 0 : _this$props2.style, AnimatedComponent.displayName));
- }
- }
- if (sharedTransitionTag && !IS_WEB) {
- const sharedElementTransition = this.props.sharedTransitionStyle ?? new SharedTransition();
- const reduceMotionInTransition = getReduceMotionFromConfig(sharedElementTransition.getReduceMotion());
- if (!reduceMotionInTransition) {
- sharedElementTransition.registerTransition(tag, sharedTransitionTag);
- this._sharedElementTransition = sharedElementTransition;
- }
- }
- }
- if (ref !== this._component) {
- this._component = ref;
- }
- }
- }));
- if (isJest()) {
- this.animatedStyle = {
- value: {}
- };
- }
- }
- componentDidMount() {
- this._attachNativeEvents();
- this._jsPropsUpdater.addOnJSPropsChangeListener(this);
- this._attachAnimatedStyles();
- this._InlinePropManager.attachInlineProps(this, this._getViewInfo());
- if (IS_WEB) {
- configureWebLayoutAnimations();
- if (!this.props.entering) {
- this._isFirstRender = false;
- return;
- }
- if (getReducedMotionFromConfig(this.props.entering)) {
- this._isFirstRender = false;
- return;
- }
- startWebLayoutAnimation(this.props, this._component, LayoutAnimationType.ENTERING);
- }
- this._isFirstRender = false;
- }
- componentWillUnmount() {
- var _this$_sharedElementT;
- this._detachNativeEvents();
- this._jsPropsUpdater.removeOnJSPropsChangeListener(this);
- this._detachStyles();
- this._InlinePropManager.detachInlineProps();
- (_this$_sharedElementT = this._sharedElementTransition) === null || _this$_sharedElementT === void 0 ? void 0 : _this$_sharedElementT.unregisterTransition(this._viewTag);
- if (IS_WEB && this.props.exiting && !getReducedMotionFromConfig(this.props.exiting)) {
- startWebLayoutAnimation(this.props, this._component, LayoutAnimationType.EXITING);
- }
- }
- _getEventViewRef() {
- var _this$_component, _getScrollableNode, _ref;
- // Make sure to get the scrollable node for components that implement
- // `ScrollResponder.Mixin`.
- return (_this$_component = this._component) !== null && _this$_component !== void 0 && _this$_component.getScrollableNode ? (_getScrollableNode = (_ref = this._component).getScrollableNode) === null || _getScrollableNode === void 0 ? void 0 : _getScrollableNode.call(_ref) : this._component;
- }
- _attachNativeEvents() {
- const node = this._getEventViewRef();
- let viewTag = null; // We set it only if needed
-
- for (const key in this.props) {
- const prop = this.props[key];
- if (has('current', prop) && prop.current instanceof WorkletEventHandler) {
- if (viewTag === null) {
- viewTag = findNodeHandle(options !== null && options !== void 0 && options.setNativeProps ? this : node);
- }
- prop.current.registerForEvents(viewTag, key);
- }
- }
- }
- _detachNativeEvents() {
- for (const key in this.props) {
- const prop = this.props[key];
- if (has('current', prop) && prop.current instanceof WorkletEventHandler) {
- prop.current.unregisterFromEvents();
- }
- }
- }
- _detachStyles() {
- if (IS_WEB && this._styles !== null) {
- for (const style of this._styles) {
- if (style !== null && style !== void 0 && style.viewsRef) {
- style.viewsRef.remove(this);
- }
- }
- } else if (this._viewTag !== -1 && this._styles !== null) {
- var _this$props$animatedP;
- for (const style of this._styles) {
- style.viewDescriptors.remove(this._viewTag);
- }
- if ((_this$props$animatedP = this.props.animatedProps) !== null && _this$props$animatedP !== void 0 && _this$props$animatedP.viewDescriptors) {
- this.props.animatedProps.viewDescriptors.remove(this._viewTag);
- }
- if (IS_FABRIC) {
- removeFromPropsRegistry(this._viewTag);
- }
- }
- }
- _reattachNativeEvents(prevProps) {
- for (const key in prevProps) {
- const prop = this.props[key];
- if (has('current', prop) && prop.current instanceof WorkletEventHandler && prop.current.reattachNeeded) {
- prop.current.unregisterFromEvents();
- }
- }
- let viewTag = null;
- for (const key in this.props) {
- const prop = this.props[key];
- if (has('current', prop) && prop.current instanceof WorkletEventHandler && prop.current.reattachNeeded) {
- if (viewTag === null) {
- const node = this._getEventViewRef();
- viewTag = findNodeHandle(options !== null && options !== void 0 && options.setNativeProps ? this : node);
- }
- prop.current.registerForEvents(viewTag, key);
- prop.current.reattachNeeded = false;
- }
- }
- }
- _updateFromNative(props) {
- if (options !== null && options !== void 0 && options.setNativeProps) {
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- options.setNativeProps(this._component, props);
- } else {
- var _this$_component2, _this$_component2$set;
- // eslint-disable-next-line no-unused-expressions
- (_this$_component2 = this._component) === null || _this$_component2 === void 0 ? void 0 : (_this$_component2$set = _this$_component2.setNativeProps) === null || _this$_component2$set === void 0 ? void 0 : _this$_component2$set.call(_this$_component2, props);
- }
- }
- _getViewInfo() {
- var _this$_component3, _getAnimatableRef, _ref2;
- if (this._viewInfo !== undefined) {
- return this._viewInfo;
- }
- let viewTag;
- let viewName;
- let shadowNodeWrapper = null;
- let viewConfig;
- // Component can specify ref which should be animated when animated version of the component is created.
- // Otherwise, we animate the component itself.
- const component = (_this$_component3 = this._component) !== null && _this$_component3 !== void 0 && _this$_component3.getAnimatableRef ? (_getAnimatableRef = (_ref2 = this._component).getAnimatableRef) === null || _getAnimatableRef === void 0 ? void 0 : _getAnimatableRef.call(_ref2) : this;
- if (IS_WEB) {
- // At this point I assume that `_setComponentRef` was already called and `_component` is set.
- // `this._component` on web represents HTMLElement of our component, that's why we use casting
- viewTag = this._component;
- viewName = null;
- shadowNodeWrapper = null;
- viewConfig = null;
- } else {
- var _hostInstance$viewCon;
- // hostInstance can be null for a component that doesn't render anything (render function returns null). Example: svg Stop: https://github.com/react-native-svg/react-native-svg/blob/develop/src/elements/Stop.tsx
- const hostInstance = RNRenderer.findHostInstance_DEPRECATED(component);
- if (!hostInstance) {
- throw new Error('[Reanimated] Cannot find host instance for this component. Maybe it renders nothing?');
- }
- // we can access view tag in the same way it's accessed here https://github.com/facebook/react/blob/e3f4eb7272d4ca0ee49f27577156b57eeb07cf73/packages/react-native-renderer/src/ReactFabric.js#L146
- viewTag = hostInstance === null || hostInstance === void 0 ? void 0 : hostInstance._nativeTag;
- /**
- * RN uses viewConfig for components for storing different properties of the component(example: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Components/ScrollView/ScrollViewNativeComponent.js#L24).
- * The name we're looking for is in the field named uiViewClassName.
- */
- viewName = hostInstance === null || hostInstance === void 0 ? void 0 : (_hostInstance$viewCon = hostInstance.viewConfig) === null || _hostInstance$viewCon === void 0 ? void 0 : _hostInstance$viewCon.uiViewClassName;
- viewConfig = hostInstance === null || hostInstance === void 0 ? void 0 : hostInstance.viewConfig;
- if (IS_FABRIC) {
- shadowNodeWrapper = getShadowNodeWrapperFromRef(this);
- }
- }
- this._viewInfo = {
- viewTag,
- viewName,
- shadowNodeWrapper,
- viewConfig
- };
- return this._viewInfo;
- }
- _attachAnimatedStyles() {
- var _this$props$animatedP2, _this$props$animatedP3;
- const styles = this.props.style ? onlyAnimatedStyles(flattenArray(this.props.style)) : [];
- const prevStyles = this._styles;
- this._styles = styles;
- const prevAnimatedProps = this._animatedProps;
- this._animatedProps = this.props.animatedProps;
- const {
- viewTag,
- viewName,
- shadowNodeWrapper,
- viewConfig
- } = this._getViewInfo();
-
- // update UI props whitelist for this view
- const hasReanimated2Props = ((_this$props$animatedP2 = this.props.animatedProps) === null || _this$props$animatedP2 === void 0 ? void 0 : _this$props$animatedP2.viewDescriptors) || styles.length;
- if (hasReanimated2Props && viewConfig) {
- adaptViewConfig(viewConfig);
- }
- this._viewTag = viewTag;
-
- // remove old styles
- if (prevStyles) {
- // in most of the cases, views have only a single animated style and it remains unchanged
- const hasOneSameStyle = styles.length === 1 && prevStyles.length === 1 && isSameAnimatedStyle(styles[0], prevStyles[0]);
- if (!hasOneSameStyle) {
- // otherwise, remove each style that is not present in new styles
- for (const prevStyle of prevStyles) {
- const isPresent = styles.some(style => isSameAnimatedStyle(style, prevStyle));
- if (!isPresent) {
- prevStyle.viewDescriptors.remove(viewTag);
- }
- }
- }
- }
- styles.forEach(style => {
- style.viewDescriptors.add({
- tag: viewTag,
- name: viewName,
- shadowNodeWrapper
- });
- if (isJest()) {
- /**
- * We need to connect Jest's TestObject instance whose contains just props object
- * with the updateProps() function where we update the properties of the component.
- * We can't update props object directly because TestObject contains a copy of props - look at render function:
- * const props = this._filterNonAnimatedProps(this.props);
- */
- this.animatedStyle.value = {
- ...this.animatedStyle.value,
- ...style.initial.value
- };
- style.animatedStyle.current = this.animatedStyle;
- }
- });
-
- // detach old animatedProps
- if (prevAnimatedProps && !isSameAnimatedProps(prevAnimatedProps, this.props.animatedProps)) {
- prevAnimatedProps.viewDescriptors.remove(viewTag);
- }
-
- // attach animatedProps property
- if ((_this$props$animatedP3 = this.props.animatedProps) !== null && _this$props$animatedP3 !== void 0 && _this$props$animatedP3.viewDescriptors) {
- this.props.animatedProps.viewDescriptors.add({
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- tag: viewTag,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- name: viewName,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- shadowNodeWrapper: shadowNodeWrapper
- });
- }
- }
- componentDidUpdate(prevProps, _prevState,
- // This type comes straight from React
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- snapshot) {
- this._reattachNativeEvents(prevProps);
- this._attachAnimatedStyles();
- this._InlinePropManager.attachInlineProps(this, this._getViewInfo());
-
- // Snapshot won't be undefined because it comes from getSnapshotBeforeUpdate method
- if (IS_WEB && snapshot !== null && this.props.layout && !getReducedMotionFromConfig(this.props.layout)) {
- tryActivateLayoutTransition(this.props, this._component, snapshot);
- }
- }
- // This is a component lifecycle method from React, therefore we are not calling it directly.
- // It is called before the component gets rerendered. This way we can access components' position before it changed
- // and later on, in componentDidUpdate, calculate translation for layout transition.
- getSnapshotBeforeUpdate() {
- if (this._component.getBoundingClientRect !== undefined) {
- return this._component.getBoundingClientRect();
- }
- return null;
- }
- render() {
- const props = this._PropsFilter.filterNonAnimatedProps(this);
- if (isJest()) {
- props.animatedStyle = this.animatedStyle;
- }
-
- // Layout animations on web are set inside `componentDidMount` method, which is called after first render.
- // Because of that we can encounter a situation in which component is visible for a short amount of time, and later on animation triggers.
- // I've tested that on various browsers and devices and it did not happen to me. To be sure that it won't happen to someone else,
- // I've decided to hide component at first render. Its visibility is reset in `componentDidMount`.
- if (this._isFirstRender && IS_WEB && props.entering && !getReducedMotionFromConfig(props.entering)) {
- props.style = {
- ...(props.style ?? {}),
- visibility: 'hidden' // Hide component until `componentDidMount` triggers
- };
- }
-
- const platformProps = Platform.select({
- web: {},
- default: {
- collapsable: false
- }
- });
- return /*#__PURE__*/React.createElement(Component, _extends({}, props, {
- // Casting is used here, because ref can be null - in that case it cannot be assigned to HTMLElement.
- // After spending some time trying to figure out what to do with this problem, we decided to leave it this way
- ref: this._setComponentRef
- }, platformProps));
+ // User can override component-defined jsProps via options
+ const jsProps = options?.jsProps ?? Component.jsProps;
+ const modifiedOptions = jsProps?.length ? {
+ ...options,
+ jsProps
+ } : options;
+ super(Component, props, AnimatedComponent.displayName, modifiedOptions);
}
}
- _defineProperty(AnimatedComponent, "displayName", void 0);
- _defineProperty(AnimatedComponent, "contextType", SkipEnteringContext);
- AnimatedComponent.displayName = `AnimatedComponent(${Component.displayName || Component.name || 'Component'})`;
- return /*#__PURE__*/React.forwardRef((props, ref) => {
- return /*#__PURE__*/React.createElement(AnimatedComponent, _extends({}, props, ref === null ? null : {
- forwardedRef: ref
- }));
- });
+ const animatedComponent = props => {
+ return /*#__PURE__*/_jsx(AnimatedComponent, {
+ ...props,
+ // Needed to prevent react from signing AnimatedComponent to the ref
+ // (we want to handle the ref assignment in the AnimatedComponent)
+ ref: null,
+ ...(props.ref === null ? null : {
+ forwardedRef: props.ref
+ })
+ });
+ };
+ animatedComponent.displayName = Component.displayName || Component.name || 'Component';
+ return animatedComponent;
}
//# sourceMappingURL=createAnimatedComponent.js.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js.map
index 7d3d18af..2a87223b 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.js.map
@@ -1 +1 @@
-{"version":3,"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","obj","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","React","findNodeHandle","Platform","WorkletEventHandler","invariant","adaptViewConfig","RNRenderer","configureLayoutAnimations","enableLayoutAnimations","SharedTransition","LayoutAnimationType","getShadowNodeWrapperFromRef","removeFromPropsRegistry","getReduceMotionFromConfig","maybeBuild","SkipEnteringContext","JSPropsUpdater","has","flattenArray","setAndForwardRef","isFabric","isJest","isWeb","shouldBeUseWeb","InlinePropManager","PropsFilter","startWebLayoutAnimation","tryActivateLayoutTransition","configureWebLayoutAnimations","getReducedMotionFromConfig","IS_WEB","IS_FABRIC","onlyAnimatedStyles","styles","filter","style","viewDescriptors","isSameAnimatedStyle","style1","style2","viewsRef","isSameAnimatedProps","createAnimatedComponent","Component","options","isReactComponent","name","AnimatedComponent","constructor","props","getForwardedRef","forwardedRef","setLocalRef","ref","tag","layout","entering","exiting","sharedTransitionTag","_this$context","LAYOUT","displayName","skipEntering","context","current","_this$props","ENTERING","reduceMotionInExiting","getReduceMotion","_this$props2","EXITING","sharedElementTransition","sharedTransitionStyle","reduceMotionInTransition","registerTransition","_sharedElementTransition","_component","animatedStyle","componentDidMount","_attachNativeEvents","_jsPropsUpdater","addOnJSPropsChangeListener","_attachAnimatedStyles","_InlinePropManager","attachInlineProps","_getViewInfo","_isFirstRender","componentWillUnmount","_this$_sharedElementT","_detachNativeEvents","removeOnJSPropsChangeListener","_detachStyles","detachInlineProps","unregisterTransition","_viewTag","_getEventViewRef","_this$_component","_getScrollableNode","_ref","getScrollableNode","node","viewTag","prop","setNativeProps","registerForEvents","unregisterFromEvents","_styles","remove","_this$props$animatedP","animatedProps","_reattachNativeEvents","prevProps","reattachNeeded","_updateFromNative","_this$_component2","_this$_component2$set","_this$_component3","_getAnimatableRef","_ref2","_viewInfo","viewName","shadowNodeWrapper","viewConfig","component","getAnimatableRef","_hostInstance$viewCon","hostInstance","findHostInstance_DEPRECATED","Error","_nativeTag","uiViewClassName","_this$props$animatedP2","_this$props$animatedP3","prevStyles","prevAnimatedProps","_animatedProps","hasReanimated2Props","hasOneSameStyle","prevStyle","isPresent","some","forEach","add","initial","componentDidUpdate","_prevState","snapshot","getSnapshotBeforeUpdate","getBoundingClientRect","render","_PropsFilter","filterNonAnimatedProps","visibility","platformProps","select","web","default","collapsable","createElement","_setComponentRef","forwardRef"],"sources":["createAnimatedComponent.tsx"],"sourcesContent":["'use strict';\nimport type {\n Component,\n ComponentClass,\n ComponentType,\n FunctionComponent,\n MutableRefObject,\n} from 'react';\nimport React from 'react';\nimport { findNodeHandle, Platform } from 'react-native';\nimport WorkletEventHandler from '../reanimated2/WorkletEventHandler';\nimport '../reanimated2/layoutReanimation/animationsManager';\nimport invariant from 'invariant';\nimport { adaptViewConfig } from '../ConfigHelper';\nimport { RNRenderer } from '../reanimated2/platform-specific/RNRenderer';\nimport {\n configureLayoutAnimations,\n enableLayoutAnimations,\n} from '../reanimated2/core';\nimport {\n SharedTransition,\n LayoutAnimationType,\n} from '../reanimated2/layoutReanimation';\nimport type { StyleProps, ShadowNodeWrapper } from '../reanimated2/commonTypes';\nimport { getShadowNodeWrapperFromRef } from '../reanimated2/fabricUtils';\nimport { removeFromPropsRegistry } from '../reanimated2/PropsRegistry';\nimport { getReduceMotionFromConfig } from '../reanimated2/animation/util';\nimport { maybeBuild } from '../animationBuilder';\nimport { SkipEnteringContext } from '../reanimated2/component/LayoutAnimationConfig';\nimport type { AnimateProps } from '../reanimated2';\nimport JSPropsUpdater from './JSPropsUpdater';\nimport type {\n AnimatedComponentProps,\n AnimatedProps,\n InitialComponentProps,\n AnimatedComponentRef,\n IAnimatedComponentInternal,\n ViewInfo,\n} from './commonTypes';\nimport { has, flattenArray } from './utils';\nimport setAndForwardRef from './setAndForwardRef';\nimport {\n isFabric,\n isJest,\n isWeb,\n shouldBeUseWeb,\n} from '../reanimated2/PlatformChecker';\nimport { InlinePropManager } from './InlinePropManager';\nimport { PropsFilter } from './PropsFilter';\nimport {\n startWebLayoutAnimation,\n tryActivateLayoutTransition,\n configureWebLayoutAnimations,\n getReducedMotionFromConfig,\n} from '../reanimated2/layoutReanimation/web';\nimport type { CustomConfig } from '../reanimated2/layoutReanimation/web/config';\nimport type { FlatList, FlatListProps } from 'react-native';\n\nconst IS_WEB = isWeb();\nconst IS_FABRIC = isFabric();\n\nfunction onlyAnimatedStyles(styles: StyleProps[]): StyleProps[] {\n return styles.filter((style) => style?.viewDescriptors);\n}\n\nfunction isSameAnimatedStyle(\n style1?: StyleProps,\n style2?: StyleProps\n): boolean {\n // We cannot use equality check to compare useAnimatedStyle outputs directly.\n // Instead, we can compare its viewsRefs.\n return style1?.viewsRef === style2?.viewsRef;\n}\n\nconst isSameAnimatedProps = isSameAnimatedStyle;\n\ntype Options = {\n setNativeProps: (ref: AnimatedComponentRef, props: P) => void;\n};\n\n/**\n * Lets you create an Animated version of any React Native component.\n *\n * @param component - The component you want to make animatable.\n * @returns A component that Reanimated is capable of animating.\n * @see https://docs.swmansion.com/react-native-reanimated/docs/core/createAnimatedComponent\n */\n\n/**\n * @deprecated Please use `Animated.FlatList` component instead of calling `Animated.createAnimatedComponent(FlatList)` manually.\n */\n// @ts-ignore This is required to create this overload, since type of createAnimatedComponent is incorrect and doesn't include typeof FlatList\nexport function createAnimatedComponent(\n component: typeof FlatList,\n options?: Options\n): ComponentClass>>;\n\nexport function createAnimatedComponent(\n component: FunctionComponent
,\n options?: Options
\n): FunctionComponent>;\n\nexport function createAnimatedComponent(\n component: ComponentClass
,\n options?: Options
\n): ComponentClass>;\n\nexport function createAnimatedComponent(\n Component: ComponentType,\n options?: Options\n): any {\n invariant(\n typeof Component !== 'function' ||\n (Component.prototype && Component.prototype.isReactComponent),\n `Looks like you're passing a function component \\`${Component.name}\\` to \\`createAnimatedComponent\\` function which supports only class components. Please wrap your function component with \\`React.forwardRef()\\` or use a class component instead.`\n );\n\n class AnimatedComponent\n extends React.Component>\n implements IAnimatedComponentInternal\n {\n _styles: StyleProps[] | null = null;\n _animatedProps?: Partial>;\n _viewTag = -1;\n _isFirstRender = true;\n animatedStyle: { value: StyleProps } = { value: {} };\n _component: AnimatedComponentRef | HTMLElement | null = null;\n _sharedElementTransition: SharedTransition | null = null;\n _jsPropsUpdater = new JSPropsUpdater();\n _InlinePropManager = new InlinePropManager();\n _PropsFilter = new PropsFilter();\n _viewInfo?: ViewInfo;\n static displayName: string;\n static contextType = SkipEnteringContext;\n context!: React.ContextType;\n\n constructor(props: AnimatedComponentProps) {\n super(props);\n if (isJest()) {\n this.animatedStyle = { value: {} };\n }\n }\n\n componentDidMount() {\n this._attachNativeEvents();\n this._jsPropsUpdater.addOnJSPropsChangeListener(this);\n this._attachAnimatedStyles();\n this._InlinePropManager.attachInlineProps(this, this._getViewInfo());\n\n if (IS_WEB) {\n configureWebLayoutAnimations();\n\n if (!this.props.entering) {\n this._isFirstRender = false;\n return;\n }\n\n if (getReducedMotionFromConfig(this.props.entering as CustomConfig)) {\n this._isFirstRender = false;\n return;\n }\n\n startWebLayoutAnimation(\n this.props,\n this._component as HTMLElement,\n LayoutAnimationType.ENTERING\n );\n }\n\n this._isFirstRender = false;\n }\n\n componentWillUnmount() {\n this._detachNativeEvents();\n this._jsPropsUpdater.removeOnJSPropsChangeListener(this);\n this._detachStyles();\n this._InlinePropManager.detachInlineProps();\n this._sharedElementTransition?.unregisterTransition(this._viewTag);\n\n if (\n IS_WEB &&\n this.props.exiting &&\n !getReducedMotionFromConfig(this.props.exiting as CustomConfig)\n ) {\n startWebLayoutAnimation(\n this.props,\n this._component as HTMLElement,\n LayoutAnimationType.EXITING\n );\n }\n }\n\n _getEventViewRef() {\n // Make sure to get the scrollable node for components that implement\n // `ScrollResponder.Mixin`.\n return (this._component as AnimatedComponentRef)?.getScrollableNode\n ? (this._component as AnimatedComponentRef).getScrollableNode?.()\n : this._component;\n }\n\n _attachNativeEvents() {\n const node = this._getEventViewRef() as AnimatedComponentRef;\n let viewTag = null; // We set it only if needed\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n if (viewTag === null) {\n viewTag = findNodeHandle(options?.setNativeProps ? this : node);\n }\n prop.current.registerForEvents(viewTag as number, key);\n }\n }\n }\n\n _detachNativeEvents() {\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n prop.current.unregisterFromEvents();\n }\n }\n }\n\n _detachStyles() {\n if (IS_WEB && this._styles !== null) {\n for (const style of this._styles) {\n if (style?.viewsRef) {\n style.viewsRef.remove(this);\n }\n }\n } else if (this._viewTag !== -1 && this._styles !== null) {\n for (const style of this._styles) {\n style.viewDescriptors.remove(this._viewTag);\n }\n if (this.props.animatedProps?.viewDescriptors) {\n this.props.animatedProps.viewDescriptors.remove(this._viewTag);\n }\n if (IS_FABRIC) {\n removeFromPropsRegistry(this._viewTag);\n }\n }\n }\n\n _reattachNativeEvents(\n prevProps: AnimatedComponentProps\n ) {\n for (const key in prevProps) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler &&\n prop.current.reattachNeeded\n ) {\n prop.current.unregisterFromEvents();\n }\n }\n\n let viewTag = null;\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler &&\n prop.current.reattachNeeded\n ) {\n if (viewTag === null) {\n const node = this._getEventViewRef() as AnimatedComponentRef;\n viewTag = findNodeHandle(options?.setNativeProps ? this : node);\n }\n prop.current.registerForEvents(viewTag as number, key);\n prop.current.reattachNeeded = false;\n }\n }\n }\n\n _updateFromNative(props: StyleProps) {\n if (options?.setNativeProps) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.setNativeProps(this._component as AnimatedComponentRef, props);\n } else {\n // eslint-disable-next-line no-unused-expressions\n (this._component as AnimatedComponentRef)?.setNativeProps?.(props);\n }\n }\n\n _getViewInfo(): ViewInfo {\n if (this._viewInfo !== undefined) {\n return this._viewInfo;\n }\n\n let viewTag: number | HTMLElement | null;\n let viewName: string | null;\n let shadowNodeWrapper: ShadowNodeWrapper | null = null;\n let viewConfig;\n // Component can specify ref which should be animated when animated version of the component is created.\n // Otherwise, we animate the component itself.\n const component = (this._component as AnimatedComponentRef)\n ?.getAnimatableRef\n ? (this._component as AnimatedComponentRef).getAnimatableRef?.()\n : this;\n\n if (IS_WEB) {\n // At this point I assume that `_setComponentRef` was already called and `_component` is set.\n // `this._component` on web represents HTMLElement of our component, that's why we use casting\n viewTag = this._component as HTMLElement;\n viewName = null;\n shadowNodeWrapper = null;\n viewConfig = null;\n } else {\n // hostInstance can be null for a component that doesn't render anything (render function returns null). Example: svg Stop: https://github.com/react-native-svg/react-native-svg/blob/develop/src/elements/Stop.tsx\n const hostInstance = RNRenderer.findHostInstance_DEPRECATED(component);\n if (!hostInstance) {\n throw new Error(\n '[Reanimated] Cannot find host instance for this component. Maybe it renders nothing?'\n );\n }\n // we can access view tag in the same way it's accessed here https://github.com/facebook/react/blob/e3f4eb7272d4ca0ee49f27577156b57eeb07cf73/packages/react-native-renderer/src/ReactFabric.js#L146\n viewTag = hostInstance?._nativeTag;\n /**\n * RN uses viewConfig for components for storing different properties of the component(example: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Components/ScrollView/ScrollViewNativeComponent.js#L24).\n * The name we're looking for is in the field named uiViewClassName.\n */\n viewName = hostInstance?.viewConfig?.uiViewClassName;\n\n viewConfig = hostInstance?.viewConfig;\n\n if (IS_FABRIC) {\n shadowNodeWrapper = getShadowNodeWrapperFromRef(this);\n }\n }\n this._viewInfo = { viewTag, viewName, shadowNodeWrapper, viewConfig };\n return this._viewInfo;\n }\n\n _attachAnimatedStyles() {\n const styles = this.props.style\n ? onlyAnimatedStyles(flattenArray(this.props.style))\n : [];\n const prevStyles = this._styles;\n this._styles = styles;\n\n const prevAnimatedProps = this._animatedProps;\n this._animatedProps = this.props.animatedProps;\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } =\n this._getViewInfo();\n\n // update UI props whitelist for this view\n const hasReanimated2Props =\n this.props.animatedProps?.viewDescriptors || styles.length;\n if (hasReanimated2Props && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._viewTag = viewTag as number;\n\n // remove old styles\n if (prevStyles) {\n // in most of the cases, views have only a single animated style and it remains unchanged\n const hasOneSameStyle =\n styles.length === 1 &&\n prevStyles.length === 1 &&\n isSameAnimatedStyle(styles[0], prevStyles[0]);\n\n if (!hasOneSameStyle) {\n // otherwise, remove each style that is not present in new styles\n for (const prevStyle of prevStyles) {\n const isPresent = styles.some((style) =>\n isSameAnimatedStyle(style, prevStyle)\n );\n if (!isPresent) {\n prevStyle.viewDescriptors.remove(viewTag);\n }\n }\n }\n }\n\n styles.forEach((style) => {\n style.viewDescriptors.add({\n tag: viewTag,\n name: viewName,\n shadowNodeWrapper,\n });\n if (isJest()) {\n /**\n * We need to connect Jest's TestObject instance whose contains just props object\n * with the updateProps() function where we update the properties of the component.\n * We can't update props object directly because TestObject contains a copy of props - look at render function:\n * const props = this._filterNonAnimatedProps(this.props);\n */\n this.animatedStyle.value = {\n ...this.animatedStyle.value,\n ...style.initial.value,\n };\n style.animatedStyle.current = this.animatedStyle;\n }\n });\n\n // detach old animatedProps\n if (\n prevAnimatedProps &&\n !isSameAnimatedProps(prevAnimatedProps, this.props.animatedProps)\n ) {\n prevAnimatedProps.viewDescriptors!.remove(viewTag as number);\n }\n\n // attach animatedProps property\n if (this.props.animatedProps?.viewDescriptors) {\n this.props.animatedProps.viewDescriptors.add({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n tag: viewTag as number,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: viewName!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n }\n\n componentDidUpdate(\n prevProps: AnimatedComponentProps,\n _prevState: Readonly,\n // This type comes straight from React\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n snapshot: DOMRect | null\n ) {\n this._reattachNativeEvents(prevProps);\n this._attachAnimatedStyles();\n this._InlinePropManager.attachInlineProps(this, this._getViewInfo());\n\n // Snapshot won't be undefined because it comes from getSnapshotBeforeUpdate method\n if (\n IS_WEB &&\n snapshot !== null &&\n this.props.layout &&\n !getReducedMotionFromConfig(this.props.layout as CustomConfig)\n ) {\n tryActivateLayoutTransition(\n this.props,\n this._component as HTMLElement,\n snapshot\n );\n }\n }\n\n _setComponentRef = setAndForwardRef({\n getForwardedRef: () =>\n this.props.forwardedRef as MutableRefObject<\n Component, Record, unknown>\n >,\n setLocalRef: (ref) => {\n // TODO update config\n\n const tag = IS_WEB\n ? (ref as HTMLElement)\n : findNodeHandle(ref as Component);\n\n const { layout, entering, exiting, sharedTransitionTag } = this.props;\n if (\n (layout || entering || exiting || sharedTransitionTag) &&\n tag != null\n ) {\n if (!shouldBeUseWeb()) {\n enableLayoutAnimations(true, false);\n }\n if (layout) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.LAYOUT,\n maybeBuild(\n layout,\n undefined /* We don't have to warn user if style has common properties with animation for LAYOUT */,\n AnimatedComponent.displayName\n )\n );\n }\n const skipEntering = this.context?.current;\n if (entering && !skipEntering) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.ENTERING,\n maybeBuild(\n entering,\n this.props?.style,\n AnimatedComponent.displayName\n )\n );\n }\n if (exiting) {\n const reduceMotionInExiting =\n 'getReduceMotion' in exiting &&\n typeof exiting.getReduceMotion === 'function'\n ? getReduceMotionFromConfig(exiting.getReduceMotion())\n : getReduceMotionFromConfig();\n if (!reduceMotionInExiting) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.EXITING,\n maybeBuild(\n exiting,\n this.props?.style,\n AnimatedComponent.displayName\n )\n );\n }\n }\n if (sharedTransitionTag && !IS_WEB) {\n const sharedElementTransition =\n this.props.sharedTransitionStyle ?? new SharedTransition();\n const reduceMotionInTransition = getReduceMotionFromConfig(\n sharedElementTransition.getReduceMotion()\n );\n if (!reduceMotionInTransition) {\n sharedElementTransition.registerTransition(\n tag as number,\n sharedTransitionTag\n );\n this._sharedElementTransition = sharedElementTransition;\n }\n }\n }\n\n if (ref !== this._component) {\n this._component = ref;\n }\n },\n });\n\n // This is a component lifecycle method from React, therefore we are not calling it directly.\n // It is called before the component gets rerendered. This way we can access components' position before it changed\n // and later on, in componentDidUpdate, calculate translation for layout transition.\n getSnapshotBeforeUpdate() {\n if (\n (this._component as HTMLElement).getBoundingClientRect !== undefined\n ) {\n return (this._component as HTMLElement).getBoundingClientRect();\n }\n\n return null;\n }\n\n render() {\n const props = this._PropsFilter.filterNonAnimatedProps(this);\n\n if (isJest()) {\n props.animatedStyle = this.animatedStyle;\n }\n\n // Layout animations on web are set inside `componentDidMount` method, which is called after first render.\n // Because of that we can encounter a situation in which component is visible for a short amount of time, and later on animation triggers.\n // I've tested that on various browsers and devices and it did not happen to me. To be sure that it won't happen to someone else,\n // I've decided to hide component at first render. Its visibility is reset in `componentDidMount`.\n if (\n this._isFirstRender &&\n IS_WEB &&\n props.entering &&\n !getReducedMotionFromConfig(props.entering as CustomConfig)\n ) {\n props.style = {\n ...(props.style ?? {}),\n visibility: 'hidden', // Hide component until `componentDidMount` triggers\n };\n }\n\n const platformProps = Platform.select({\n web: {},\n default: { collapsable: false },\n });\n\n return (\n void}\n {...platformProps}\n />\n );\n }\n }\n\n AnimatedComponent.displayName = `AnimatedComponent(${\n Component.displayName || Component.name || 'Component'\n })`;\n\n return React.forwardRef((props, ref) => {\n return (\n \n );\n });\n}\n"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"names":["React","AnimatedComponentImpl","jsx","_jsx","createAnimatedComponent","Component","options","AnimatedComponent","displayName","name","constructor","props","jsProps","modifiedOptions","length","animatedComponent","ref","forwardedRef"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/createAnimatedComponent.tsx"],"mappings":"AAAA,YAAY;;AAOZ,OAAOA,KAAK,MAAM,OAAO;AAKzB,OAAOC,qBAAqB,MAAM,qBAAqB;;AAMvD;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAkBA;AACA;AACA;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAMA,OAAO,SAASC,uBAAuBA,CACrCC,SAAoE,EACpEC,OAAwC,EAEnC;EACL,MAAMC,iBAAiB,SAASN,qBAAqB,CAAC;IACpD,OAAOO,WAAW,GAAG,qBACnBH,SAAS,CAACG,WAAW,IAAIH,SAAS,CAACI,IAAI,IAAI,WAAW,GACrD;IAEHC,WAAWA,CAACC,KAAoD,EAAE;MAChE;MACA,MAAMC,OAAO,GAAGN,OAAO,EAAEM,OAAO,IAAIP,SAAS,CAACO,OAAO;MACrD,MAAMC,eAAe,GAAGD,OAAO,EAAEE,MAAM,GACnC;QAAE,GAAGR,OAAO;QAAEM;MAAQ,CAAC,GACvBN,OAAO;MACX,KAAK,CAACD,SAAS,EAAEM,KAAK,EAAEJ,iBAAiB,CAACC,WAAW,EAAEK,eAAe,CAAC;IACzE;EACF;EAEA,MAAME,iBAAiB,GACrBJ,KAA+D,IAC5D;IACH,oBACER,IAAA,CAACI,iBAAiB;MAAA,GACZI,KAAK;MACT;MACA;MACAK,GAAG,EAAE,IAAK;MAAA,IACLL,KAAK,CAACK,GAAG,KAAK,IAAI,GAAG,IAAI,GAAG;QAAEC,YAAY,EAAEN,KAAK,CAACK;MAAI,CAAC;IAAA,CAC7D,CAAC;EAEN,CAAC;EAEDD,iBAAiB,CAACP,WAAW,GAC3BH,SAAS,CAACG,WAAW,IAAIH,SAAS,CAACI,IAAI,IAAI,WAAW;EAExD,OAAOM,iBAAiB;AAC1B","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/index.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/index.js.map
index 115da9b6..d143eb8e 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/index.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/index.js.map
@@ -1 +1 @@
-{"version":3,"names":["createAnimatedComponent"],"sources":["index.ts"],"sourcesContent":["'use strict';\nexport { createAnimatedComponent } from './createAnimatedComponent';\n"],"mappings":"AAAA,YAAY;;AACZ,SAASA,uBAAuB,QAAQ,2BAA2B"}
\ No newline at end of file
+{"version":3,"names":["createAnimatedComponent"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/index.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,uBAAuB,QAAQ,2BAA2B","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js
index fbc0d9f4..c9b67967 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js
@@ -27,4 +27,32 @@ export const has = (key, x) => {
}
return false;
};
+export function filterStyles(styles) {
+ if (!styles) {
+ return {
+ animatedStyles: [],
+ cssStyle: null
+ };
+ }
+ return styles.reduce(({
+ animatedStyles,
+ cssStyle
+ }, style) => {
+ if (style?.viewDescriptors) {
+ animatedStyles.push(style);
+ } else {
+ cssStyle = {
+ ...cssStyle,
+ ...style
+ };
+ }
+ return {
+ animatedStyles,
+ cssStyle
+ };
+ }, {
+ animatedStyles: [],
+ cssStyle: null
+ });
+}
//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js.map
index ad7feddc..c4713e48 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.js.map
@@ -1 +1 @@
-{"version":3,"names":["flattenArray","array","Array","isArray","resultArr","_flattenArray","arr","forEach","item","push","has","key","x","undefined"],"sources":["utils.ts"],"sourcesContent":["'use strict';\nimport type { NestedArray } from './commonTypes';\n\nexport function flattenArray(array: NestedArray): T[] {\n if (!Array.isArray(array)) {\n return [array];\n }\n const resultArr: T[] = [];\n\n const _flattenArray = (arr: NestedArray[]): void => {\n arr.forEach((item) => {\n if (Array.isArray(item)) {\n _flattenArray(item);\n } else {\n resultArr.push(item);\n }\n });\n };\n _flattenArray(array);\n return resultArr;\n}\n\nexport const has = (\n key: K,\n x: unknown\n): x is typeof x & { [key in K]: unknown } => {\n if (typeof x === 'function' || typeof x === 'object') {\n if (x === null || x === undefined) {\n return false;\n } else {\n return key in x;\n }\n }\n return false;\n};\n"],"mappings":"AAAA,YAAY;;AAGZ,OAAO,SAASA,YAAYA,CAAIC,KAAqB,EAAO;EAC1D,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACzB,OAAO,CAACA,KAAK,CAAC;EAChB;EACA,MAAMG,SAAc,GAAG,EAAE;EAEzB,MAAMC,aAAa,GAAIC,GAAqB,IAAW;IACrDA,GAAG,CAACC,OAAO,CAAEC,IAAI,IAAK;MACpB,IAAIN,KAAK,CAACC,OAAO,CAACK,IAAI,CAAC,EAAE;QACvBH,aAAa,CAACG,IAAI,CAAC;MACrB,CAAC,MAAM;QACLJ,SAAS,CAACK,IAAI,CAACD,IAAI,CAAC;MACtB;IACF,CAAC,CAAC;EACJ,CAAC;EACDH,aAAa,CAACJ,KAAK,CAAC;EACpB,OAAOG,SAAS;AAClB;AAEA,OAAO,MAAMM,GAAG,GAAGA,CACjBC,GAAM,EACNC,CAAU,KACkC;EAC5C,IAAI,OAAOA,CAAC,KAAK,UAAU,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;IACpD,IAAIA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAKC,SAAS,EAAE;MACjC,OAAO,KAAK;IACd,CAAC,MAAM;MACL,OAAOF,GAAG,IAAIC,CAAC;IACjB;EACF;EACA,OAAO,KAAK;AACd,CAAC"}
\ No newline at end of file
+{"version":3,"names":["flattenArray","array","Array","isArray","resultArr","_flattenArray","arr","forEach","item","push","has","key","x","undefined","filterStyles","styles","animatedStyles","cssStyle","reduce","style","viewDescriptors"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/utils.ts"],"mappings":"AAAA,YAAY;;AAKZ,OAAO,SAASA,YAAYA,CAAIC,KAAqB,EAAO;EAC1D,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACzB,OAAO,CAACA,KAAK,CAAC;EAChB;EACA,MAAMG,SAAc,GAAG,EAAE;EAEzB,MAAMC,aAAa,GAAIC,GAAqB,IAAW;IACrDA,GAAG,CAACC,OAAO,CAAEC,IAAI,IAAK;MACpB,IAAIN,KAAK,CAACC,OAAO,CAACK,IAAI,CAAC,EAAE;QACvBH,aAAa,CAACG,IAAI,CAAC;MACrB,CAAC,MAAM;QACLJ,SAAS,CAACK,IAAI,CAACD,IAAI,CAAC;MACtB;IACF,CAAC,CAAC;EACJ,CAAC;EACDH,aAAa,CAACJ,KAAK,CAAC;EACpB,OAAOG,SAAS;AAClB;AAEA,OAAO,MAAMM,GAAG,GAAGA,CACjBC,GAAM,EACNC,CAAU,KACuB;EACjC,IAAI,OAAOA,CAAC,KAAK,UAAU,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;IACpD,IAAIA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAKC,SAAS,EAAE;MACjC,OAAO,KAAK;IACd,CAAC,MAAM;MACL,OAAOF,GAAG,IAAIC,CAAC;IACjB;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAOD,OAAO,SAASE,YAAYA,CAACC,MAAgC,EAAkB;EAC7E,IAAI,CAACA,MAAM,EAAE;IACX,OAAO;MAAEC,cAAc,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAK,CAAC;EAC/C;EAEA,OAAOF,MAAM,CAACG,MAAM,CAClB,CAAC;IAAEF,cAAc;IAAEC;EAAS,CAAC,EAAEE,KAAK,KAAK;IACvC,IAAIA,KAAK,EAAEC,eAAe,EAAE;MAC1BJ,cAAc,CAACP,IAAI,CAACU,KAAK,CAAC;IAC5B,CAAC,MAAM;MACLF,QAAQ,GAAG;QAAE,GAAGA,QAAQ;QAAE,GAAGE;MAAM,CAAa;IAClD;IACA,OAAO;MAAEH,cAAc;MAAEC;IAAS,CAAC;EACrC,CAAC,EACD;IAAED,cAAc,EAAE,EAAE;IAAEC,QAAQ,EAAE;EAAK,CACvC,CAAC;AACH","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js b/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js
index 931366da..1088397e 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js
@@ -1,6 +1,64 @@
'use strict';
+import './publicGlobals';
+import { initializeReanimatedModule } from './initializers';
+import { ReanimatedModule } from './ReanimatedModule';
+
+// TODO: Specify the initialization pipeline since now there's no
+// universal source of truth for it.
+initializeReanimatedModule(ReanimatedModule);
+
+// eslint-disable-next-line import/first
import * as Animated from './Animated';
-export * from './reanimated2';
export default Animated;
+export { createAnimatedComponent } from './Animated';
+export { cancelAnimation, defineAnimation, GentleSpringConfig, GentleSpringConfigWithDuration, Reanimated3DefaultSpringConfig, Reanimated3DefaultSpringConfigWithDuration, SnappySpringConfig, SnappySpringConfigWithDuration, WigglySpringConfig, WigglySpringConfigWithDuration, withClamp, withDecay, withDelay, withRepeat, withSequence, withSpring, withTiming } from './animation';
+export { convertToRGBA, isColor } from './Colors';
+export { processColor, ReanimatedLogLevel } from './common';
+export { InterfaceOrientation, IOSReferenceFrame, KeyboardState, ReduceMotion, SensorType } from './commonTypes';
+export { LayoutAnimationConfig } from './component/LayoutAnimationConfig';
+export { PerformanceMonitor } from './component/PerformanceMonitor';
+export { ReducedMotionConfig } from './component/ReducedMotionConfig';
+export { configureReanimatedLogger } from './ConfigHelper';
+export { enableLayoutAnimations, getViewProp, isConfigured, isReanimated3, makeMutable } from './core';
+export * from './css';
+export { Easing } from './Easing';
+export { getStaticFeatureFlag, setDynamicFeatureFlag } from './featureFlags';
+export { useAnimatedKeyboard, useAnimatedProps, useAnimatedReaction, useAnimatedRef, useAnimatedScrollHandler, useAnimatedSensor, useAnimatedStyle, useComposedEventHandler, useDerivedValue, useEvent, useFrameCallback, useHandler, useReducedMotion, useScrollOffset, /** @deprecated Please use {@link useScrollOffset} instead. */
+useScrollOffset as useScrollViewOffset, useSharedValue } from './hook';
+export { ColorSpace, /** @deprecated Please use {@link Extrapolation} instead. */
+Extrapolate, interpolateColor, useInterpolateConfig } from './interpolateColor';
+export { clamp, Extrapolation, interpolate } from './interpolation';
+export { isSharedValue } from './isSharedValue';
+export { advanceAnimationByFrame, advanceAnimationByTime, getAnimatedStyle, setUpTests, withReanimatedTimer } from './jestUtils';
+export { BaseAnimationBuilder,
+// Bounce
+BounceIn, BounceInDown, BounceInLeft, BounceInRight, BounceInUp, BounceOut, BounceOutDown, BounceOutLeft, BounceOutRight, BounceOutUp, ComplexAnimationBuilder, CurvedTransition, EntryExitTransition,
+// Fade
+FadeIn, FadeInDown, FadeInLeft, FadeInRight, FadeInUp, FadeOut, FadeOutDown, FadeOutLeft, FadeOutRight, FadeOutUp, FadingTransition, FlipInEasyX, FlipInEasyY, FlipInXDown,
+// Flip
+FlipInXUp, FlipInYLeft, FlipInYRight, FlipOutEasyX, FlipOutEasyY, FlipOutXDown, FlipOutXUp, FlipOutYLeft, FlipOutYRight, JumpingTransition, Keyframe,
+// Transitions
+Layout, LightSpeedInLeft,
+// Lightspeed
+LightSpeedInRight, LightSpeedOutLeft, LightSpeedOutRight, LinearTransition,
+// Pinwheel
+PinwheelIn, PinwheelOut,
+// Roll
+RollInLeft, RollInRight, RollOutLeft, RollOutRight,
+// Rotate
+RotateInDownLeft, RotateInDownRight, RotateInUpLeft, RotateInUpRight, RotateOutDownLeft, RotateOutDownRight, RotateOutUpLeft, RotateOutUpRight, SequencedTransition, SlideInDown, SlideInLeft,
+// Slide
+SlideInRight, SlideInUp, SlideOutDown, SlideOutLeft, SlideOutRight, SlideOutUp,
+// Stretch
+StretchInX, StretchInY, StretchOutX, StretchOutY,
+// Zoom
+ZoomIn, ZoomInDown, ZoomInEasyDown, ZoomInEasyUp, ZoomInLeft, ZoomInRight, ZoomInRotate, ZoomInUp, ZoomOut, ZoomOutDown, ZoomOutEasyDown, ZoomOutEasyUp, ZoomOutLeft, ZoomOutRight, ZoomOutRotate, ZoomOutUp } from './layoutReanimation';
+export { startMapper, stopMapper } from './mappers';
+export { jsVersion as reanimatedVersion } from './platform-specific/jsVersion';
+export { dispatchCommand, getRelativeCoords, measure, scrollTo, setGestureState, setNativeProps } from './platformFunctions';
+export { getUseOfValueInStyleWarning } from './pluginUtils';
+export { createAnimatedPropAdapter } from './PropAdapters';
+export { finishScreenTransition, ScreenTransition, startScreenTransition } from './screenTransition';
+export { createWorkletRuntime, executeOnUIRuntimeSync, isWorkletFunction, makeShareableCloneRecursive, runOnJS, runOnRuntime, runOnUI } from './workletFunctions';
//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js.map b/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js.map
index 1e3384f9..5379fcc6 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js.map
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/module/index.js.map
@@ -1 +1 @@
-{"version":3,"names":["Animated"],"sources":["index.ts"],"sourcesContent":["'use strict';\nimport * as Animated from './Animated';\n\nexport * from './reanimated2';\nexport default Animated;\n"],"mappings":"AAAA,YAAY;;AACZ,OAAO,KAAKA,QAAQ,MAAM,YAAY;AAEtC,cAAc,eAAe;AAC7B,eAAeA,QAAQ"}
\ No newline at end of file
+{"version":3,"names":["initializeReanimatedModule","ReanimatedModule","Animated","createAnimatedComponent","cancelAnimation","defineAnimation","GentleSpringConfig","GentleSpringConfigWithDuration","Reanimated3DefaultSpringConfig","Reanimated3DefaultSpringConfigWithDuration","SnappySpringConfig","SnappySpringConfigWithDuration","WigglySpringConfig","WigglySpringConfigWithDuration","withClamp","withDecay","withDelay","withRepeat","withSequence","withSpring","withTiming","convertToRGBA","isColor","processColor","ReanimatedLogLevel","InterfaceOrientation","IOSReferenceFrame","KeyboardState","ReduceMotion","SensorType","LayoutAnimationConfig","PerformanceMonitor","ReducedMotionConfig","configureReanimatedLogger","enableLayoutAnimations","getViewProp","isConfigured","isReanimated3","makeMutable","Easing","getStaticFeatureFlag","setDynamicFeatureFlag","useAnimatedKeyboard","useAnimatedProps","useAnimatedReaction","useAnimatedRef","useAnimatedScrollHandler","useAnimatedSensor","useAnimatedStyle","useComposedEventHandler","useDerivedValue","useEvent","useFrameCallback","useHandler","useReducedMotion","useScrollOffset","useScrollViewOffset","useSharedValue","ColorSpace","Extrapolate","interpolateColor","useInterpolateConfig","clamp","Extrapolation","interpolate","isSharedValue","advanceAnimationByFrame","advanceAnimationByTime","getAnimatedStyle","setUpTests","withReanimatedTimer","BaseAnimationBuilder","BounceIn","BounceInDown","BounceInLeft","BounceInRight","BounceInUp","BounceOut","BounceOutDown","BounceOutLeft","BounceOutRight","BounceOutUp","ComplexAnimationBuilder","CurvedTransition","EntryExitTransition","FadeIn","FadeInDown","FadeInLeft","FadeInRight","FadeInUp","FadeOut","FadeOutDown","FadeOutLeft","FadeOutRight","FadeOutUp","FadingTransition","FlipInEasyX","FlipInEasyY","FlipInXDown","FlipInXUp","FlipInYLeft","FlipInYRight","FlipOutEasyX","FlipOutEasyY","FlipOutXDown","FlipOutXUp","FlipOutYLeft","FlipOutYRight","JumpingTransition","Keyframe","Layout","LightSpeedInLeft","LightSpeedInRight","LightSpeedOutLeft","LightSpeedOutRight","LinearTransition","PinwheelIn","PinwheelOut","RollInLeft","RollInRight","RollOutLeft","RollOutRight","RotateInDownLeft","RotateInDownRight","RotateInUpLeft","RotateInUpRight","RotateOutDownLeft","RotateOutDownRight","RotateOutUpLeft","RotateOutUpRight","SequencedTransition","SlideInDown","SlideInLeft","SlideInRight","SlideInUp","SlideOutDown","SlideOutLeft","SlideOutRight","SlideOutUp","StretchInX","StretchInY","StretchOutX","StretchOutY","ZoomIn","ZoomInDown","ZoomInEasyDown","ZoomInEasyUp","ZoomInLeft","ZoomInRight","ZoomInRotate","ZoomInUp","ZoomOut","ZoomOutDown","ZoomOutEasyDown","ZoomOutEasyUp","ZoomOutLeft","ZoomOutRight","ZoomOutRotate","ZoomOutUp","startMapper","stopMapper","jsVersion","reanimatedVersion","dispatchCommand","getRelativeCoords","measure","scrollTo","setGestureState","setNativeProps","getUseOfValueInStyleWarning","createAnimatedPropAdapter","finishScreenTransition","ScreenTransition","startScreenTransition","createWorkletRuntime","executeOnUIRuntimeSync","isWorkletFunction","makeShareableCloneRecursive","runOnJS","runOnRuntime","runOnUI"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/Animated.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/Animated.d.ts
index 4efee978..be7c579e 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/Animated.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/Animated.d.ts
@@ -1,66 +1,8 @@
-import type { Extrapolate as _Extrapolate } from './reanimated2/interpolateColor';
-import type { SharedValue as _SharedValue } from './reanimated2/commonTypes';
-import type { DerivedValue as _DerivedValue } from './reanimated2/hook/useDerivedValue';
-import type { TransformStyleTypes as _TransformStyleTypes, Adaptable as _Adaptable, AdaptTransforms as _AdaptTransforms, AnimatedTransform as _AnimatedTransform, AnimateStyle as _AnimateStyle, StylesOrDefault as _StylesOrDefault, AnimateProps as _AnimateProps } from './reanimated2/helperTypes';
-import type { EasingFunction as _EasingFunction } from './reanimated2/Easing';
-import type { AnimatedScrollViewProps as _AnimatedScrollViewProps } from './reanimated2/component/ScrollView';
-import type { FlatListPropsWithLayout as _FlatListPropsWithLayout } from './reanimated2/component/FlatList';
-export { createAnimatedComponent } from './createAnimatedComponent';
-export { AnimatedText as Text } from './reanimated2/component/Text';
-export { AnimatedView as View } from './reanimated2/component/View';
-export { AnimatedScrollView as ScrollView } from './reanimated2/component/ScrollView';
-export { AnimatedImage as Image } from './reanimated2/component/Image';
-export { ReanimatedFlatList as FlatList } from './reanimated2/component/FlatList';
+export { ReanimatedFlatList as FlatList } from './component/FlatList';
+export { AnimatedImage as Image } from './component/Image';
+export { AnimatedScrollView as ScrollView } from './component/ScrollView';
+export { AnimatedText as Text } from './component/Text';
+export { AnimatedView as View } from './component/View';
export { addWhitelistedNativeProps, addWhitelistedUIProps, } from './ConfigHelper';
-/**
- * @deprecated Please import `Extrapolate` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type Extrapolate = typeof _Extrapolate;
-/**
- * @deprecated Please import `SharedValue` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type SharedValue = _SharedValue;
-/**
- * @deprecated Please import `DerivedValue` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type DerivedValue = _DerivedValue;
-/**
- * @deprecated Please import `Adaptable` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type Adaptable = _Adaptable;
-/**
- * @deprecated Please import `TransformStyleTypes` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type TransformStyleTypes = _TransformStyleTypes;
-/**
- * @deprecated Please import `AdaptTransforms` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AdaptTransforms = _AdaptTransforms;
-/**
- * @deprecated Please import `AnimatedTransform` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type AnimatedTransform = _AnimatedTransform;
-/**
- * @deprecated Please import `AnimateStyle` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AnimateStyle = _AnimateStyle;
-/**
- * @deprecated Please import `StylesOrDefault` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type StylesOrDefault = _StylesOrDefault;
-/**
- * @deprecated Please import `AnimateProps` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AnimateProps = _AnimateProps
;
-/**
- * @deprecated Please import `EasingFunction` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type EasingFunction = _EasingFunction;
-/**
- * @deprecated Please import `AnimatedScrollViewProps` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AnimatedScrollViewProps = _AnimatedScrollViewProps;
-/**
- * @deprecated Please import `FlatListPropsWithLayout` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type FlatListPropsWithLayout = _FlatListPropsWithLayout;
+export { createAnimatedComponent } from './createAnimatedComponent';
+//# sourceMappingURL=Animated.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/ConfigHelper.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/ConfigHelper.d.ts
index 2f1b713e..ad411aa8 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/ConfigHelper.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/ConfigHelper.d.ts
@@ -1,11 +1,16 @@
-export declare function addWhitelistedNativeProps(props: Record): void;
-export declare function addWhitelistedUIProps(props: Record): void;
-export interface ViewConfig {
- uiViewClassName: string;
- validAttributes: Record;
-}
+import type { LoggerConfig } from './common';
+/** @deprecated This function is a no-op in Reanimated 4. */
+export declare function addWhitelistedNativeProps(_props: Record): void;
+/** @deprecated This function is a no-op in Reanimated 4. */
+export declare function addWhitelistedUIProps(_props: Record): void;
/**
- * updates UI props whitelist for given view host instance
- * this will work just once for every view name
+ * Updates Reanimated logger config with the user-provided configuration. Will
+ * affect Reanimated code executed after call to this function so it should be
+ * called before any Reanimated code is executed to take effect. Each call to
+ * this function will override the previous configuration (it's recommended to
+ * call it only once).
+ *
+ * @param config - The new logger configuration to apply.
*/
-export declare function adaptViewConfig(viewConfig: ViewConfig): void;
+export declare function configureReanimatedLogger(config: LoggerConfig): void;
+//# sourceMappingURL=ConfigHelper.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/animationBuilder.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/animationBuilder.d.ts
index 5a934ca7..7bc5b3fb 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/animationBuilder.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/animationBuilder.d.ts
@@ -1,3 +1,4 @@
-import type { ILayoutAnimationBuilder, LayoutAnimationFunction } from './reanimated2/layoutReanimation';
-import type { StyleProps } from './reanimated2/commonTypes';
-export declare function maybeBuild(layoutAnimationOrBuilder: ILayoutAnimationBuilder | LayoutAnimationFunction | Keyframe, style: StyleProps | undefined, displayName: string): LayoutAnimationFunction | Keyframe;
+import type { ILayoutAnimationBuilder, LayoutAnimationFunction, StyleProps } from './commonTypes';
+import type { NestedArray } from './createAnimatedComponent/commonTypes';
+export declare function maybeBuild(layoutAnimationOrBuilder: ILayoutAnimationBuilder | LayoutAnimationFunction | Keyframe, style: NestedArray | undefined, displayName: string): LayoutAnimationFunction | Keyframe;
+//# sourceMappingURL=animationBuilder.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/InlinePropManager.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/InlinePropManager.d.ts
index 0d38260e..14305a6b 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/InlinePropManager.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/InlinePropManager.d.ts
@@ -1,13 +1,13 @@
-///
-import type { StyleProps } from '../reanimated2';
-import type { IAnimatedComponentInternal, IInlinePropManager, ViewInfo } from './commonTypes';
-import type { ViewDescriptorsSet } from '../reanimated2/ViewDescriptorsSet';
+import type { StyleProps } from '../commonTypes';
+import type { ViewDescriptorsSet } from '../ViewDescriptorsSet';
+import type { AnimatedComponentType, IInlinePropManager, ViewInfo } from './commonTypes';
export declare function hasInlineStyles(style: StyleProps): boolean;
-export declare function getInlineStyle(style: Record, isFirstRender: boolean): Record;
+export declare function getInlineStyle(style: Record, isFirstRender: boolean): StyleProps | Record;
export declare class InlinePropManager implements IInlinePropManager {
_inlinePropsViewDescriptors: ViewDescriptorsSet | null;
_inlinePropsMapperId: number | null;
_inlineProps: StyleProps;
- attachInlineProps(animatedComponent: React.Component & IAnimatedComponentInternal, viewInfo: ViewInfo): void;
+ attachInlineProps(animatedComponent: AnimatedComponentType, viewInfo: ViewInfo): void;
detachInlineProps(): void;
}
+//# sourceMappingURL=InlinePropManager.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/JSPropsUpdater.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/JSPropsUpdater.d.ts
index 9a7ef98b..abf7a947 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/JSPropsUpdater.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/JSPropsUpdater.d.ts
@@ -1,23 +1,15 @@
-///
-import type { AnimatedComponentProps, IAnimatedComponentInternal, IJSPropsUpdater, InitialComponentProps } from './commonTypes';
-declare class JSPropsUpdaterPaper implements IJSPropsUpdater {
+import type { AnimatedComponentProps, AnimatedComponentType, IAnimatedComponentInternal, IJSPropsUpdater, InitialComponentProps, JSPropsOperation } from './commonTypes';
+declare class JSPropsUpdaterNative implements IJSPropsUpdater {
private static _tagToComponentMapping;
- private _reanimatedEventEmitter;
- constructor();
- addOnJSPropsChangeListener(animatedComponent: React.Component> & IAnimatedComponentInternal): void;
- removeOnJSPropsChangeListener(animatedComponent: React.Component> & IAnimatedComponentInternal): void;
-}
-declare class JSPropsUpdaterFabric implements IJSPropsUpdater {
- private static _tagToComponentMapping;
- private static isInitialized;
- constructor();
- addOnJSPropsChangeListener(animatedComponent: React.Component> & IAnimatedComponentInternal): void;
- removeOnJSPropsChangeListener(animatedComponent: React.Component> & IAnimatedComponentInternal): void;
+ registerComponent(animatedComponent: AnimatedComponentType, jsProps: string[]): void;
+ unregisterComponent(animatedComponent: AnimatedComponentType): void;
+ updateProps(operations: JSPropsOperation[]): void;
}
declare class JSPropsUpdaterWeb implements IJSPropsUpdater {
- addOnJSPropsChangeListener(_animatedComponent: React.Component> & IAnimatedComponentInternal): void;
- removeOnJSPropsChangeListener(_animatedComponent: React.Component> & IAnimatedComponentInternal): void;
+ registerComponent(_animatedComponent: React.Component> & IAnimatedComponentInternal): void;
+ unregisterComponent(_animatedComponent: React.Component> & IAnimatedComponentInternal): void;
+ updateProps(_operations: JSPropsOperation[]): void;
}
-type JSPropsUpdaterOptions = typeof JSPropsUpdaterWeb | typeof JSPropsUpdaterFabric | typeof JSPropsUpdaterPaper;
-declare let JSPropsUpdater: JSPropsUpdaterOptions;
-export default JSPropsUpdater;
+declare const jsPropsUpdater: JSPropsUpdaterNative | JSPropsUpdaterWeb;
+export default jsPropsUpdater;
+//# sourceMappingURL=JSPropsUpdater.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/PropsFilter.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/PropsFilter.d.ts
index 71259d2e..8db26d57 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/PropsFilter.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/PropsFilter.d.ts
@@ -1,6 +1,6 @@
-///
-import type { IAnimatedComponentInternal, IPropsFilter } from './commonTypes';
+import type { AnimatedComponentType, IPropsFilter } from './commonTypes';
export declare class PropsFilter implements IPropsFilter {
- private _initialStyle;
- filterNonAnimatedProps(component: React.Component & IAnimatedComponentInternal): Record;
+ private _initialPropsMap;
+ filterNonAnimatedProps(component: AnimatedComponentType): Record;
}
+//# sourceMappingURL=PropsFilter.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/commonTypes.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/commonTypes.d.ts
index 1fa0e079..f93b8668 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/commonTypes.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/commonTypes.d.ts
@@ -1,68 +1,98 @@
-import type { Ref, Component } from 'react';
-import type { StyleProps, BaseAnimationBuilder, ILayoutAnimationBuilder, EntryExitAnimationFunction, SharedTransition, SharedValue } from '../reanimated2';
-import type { ViewDescriptorsSet, ViewRefSet } from '../reanimated2/ViewDescriptorsSet';
-import type { SkipEnteringContext } from '../reanimated2/component/LayoutAnimationConfig';
-import type { ShadowNodeWrapper } from '../reanimated2/commonTypes';
-import type { ViewConfig } from '../ConfigHelper';
+import type { Component, Ref, RefObject } from 'react';
+import type { AnimatedStyle, EntryExitAnimationFunction, ILayoutAnimationBuilder, ShadowNodeWrapper, SharedValue, StyleProps, StyleUpdaterContainer } from '../commonTypes';
+import type { SkipEnteringContext } from '../component/LayoutAnimationConfig';
+import type { BaseAnimationBuilder } from '../layoutReanimation';
+import type { ViewDescriptorsSet } from '../ViewDescriptorsSet';
export interface AnimatedProps extends Record {
viewDescriptors?: ViewDescriptorsSet;
- viewsRef?: ViewRefSet;
initial?: SharedValue;
+ styleUpdaterContainer?: StyleUpdaterContainer;
}
export interface ViewInfo {
- viewTag: number | HTMLElement | null;
- viewName: string | null;
+ viewTag: number | AnimatedComponentRef | HTMLElement | null;
shadowNodeWrapper: ShadowNodeWrapper | null;
- viewConfig: ViewConfig;
+ viewName?: string;
+ DOMElement?: HTMLElement | null;
}
export interface IInlinePropManager {
attachInlineProps(animatedComponent: React.Component, viewInfo: ViewInfo): void;
detachInlineProps(): void;
}
+export type AnimatedComponentType = React.Component & IAnimatedComponentInternal;
+export type PropUpdates = StyleProps | AnimatedStyle;
export interface IPropsFilter {
- filterNonAnimatedProps: (component: React.Component & IAnimatedComponentInternal) => Record;
+ filterNonAnimatedProps: (component: AnimatedComponentType) => Record;
}
+export type JSPropsOperation = {
+ tag: number;
+ updates: StyleProps;
+};
export interface IJSPropsUpdater {
- addOnJSPropsChangeListener(animatedComponent: React.Component & IAnimatedComponentInternal): void;
- removeOnJSPropsChangeListener(animatedComponent: React.Component & IAnimatedComponentInternal): void;
+ registerComponent(animatedComponent: AnimatedComponentType, jsProps: string[]): void;
+ unregisterComponent(animatedComponent: AnimatedComponentType): void;
+ updateProps(operations: JSPropsOperation[]): void;
+}
+export interface INativeEventsManager {
+ attachEvents(): void;
+ detachEvents(): void;
+ updateEvents(prevProps: AnimatedComponentProps): void;
}
export type LayoutAnimationStaticContext = {
presetName: string;
};
-export type AnimatedComponentProps> = P & {
- forwardedRef?: Ref;
+export type AnimatedComponentProps = Record> = P & {
+ ref?: Ref;
style?: NestedArray;
animatedProps?: Partial>;
+ jestAnimatedValues?: RefObject;
animatedStyle?: StyleProps;
layout?: (BaseAnimationBuilder | ILayoutAnimationBuilder | typeof BaseAnimationBuilder) & LayoutAnimationStaticContext;
entering?: (BaseAnimationBuilder | typeof BaseAnimationBuilder | EntryExitAnimationFunction | Keyframe) & LayoutAnimationStaticContext;
exiting?: (BaseAnimationBuilder | typeof BaseAnimationBuilder | EntryExitAnimationFunction | Keyframe) & LayoutAnimationStaticContext;
- sharedTransitionTag?: string;
- sharedTransitionStyle?: SharedTransition;
};
+export type LayoutAnimationOrBuilder = (BaseAnimationBuilder | typeof BaseAnimationBuilder | EntryExitAnimationFunction | Keyframe | ILayoutAnimationBuilder) & LayoutAnimationStaticContext;
export interface AnimatedComponentRef extends Component {
setNativeProps?: (props: Record) => void;
getScrollableNode?: () => AnimatedComponentRef;
getAnimatableRef?: () => AnimatedComponentRef;
+ elementRef?: React.RefObject;
}
-export interface IAnimatedComponentInternal {
- _styles: StyleProps[] | null;
- _animatedProps?: Partial>;
- _viewTag: number;
+export interface IAnimatedComponentInternalBase {
+ ChildComponent: AnyComponent;
+ _componentRef: AnimatedComponentRef | HTMLElement | null;
+ _hasAnimatedRef: boolean;
+ _viewInfo?: ViewInfo;
+ /**
+ * Used for Layout Animations and Animated Styles. It is not related to event
+ * handling.
+ */
+ getComponentViewTag: () => number;
+}
+export interface IAnimatedComponentInternal extends IAnimatedComponentInternalBase {
+ _animatedStyles: StyleProps[];
+ _prevAnimatedStyles: StyleProps[];
+ _animatedProps: Partial>[];
+ _prevAnimatedProps: Partial>[];
_isFirstRender: boolean;
- animatedStyle: {
+ jestInlineStyle: NestedArray | undefined;
+ jestAnimatedStyle: {
value: StyleProps;
};
- _component: AnimatedComponentRef | HTMLElement | null;
- _sharedElementTransition: SharedTransition | null;
- _jsPropsUpdater: IJSPropsUpdater;
+ jestAnimatedProps: {
+ value: AnimatedProps;
+ };
_InlinePropManager: IInlinePropManager;
_PropsFilter: IPropsFilter;
- _viewInfo?: ViewInfo;
+ /** Doesn't exist on web. */
+ _NativeEventsManager?: INativeEventsManager;
context: React.ContextType;
+ setNativeProps: (props: StyleProps) => void;
}
export type NestedArray = T | NestedArray[];
+export type AnyComponent = React.ComponentType;
export interface InitialComponentProps extends Record {
ref?: Ref;
collapsable?: boolean;
}
+export type ManagedAnimatedComponent = React.Component> & IAnimatedComponentInternal;
+//# sourceMappingURL=commonTypes.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/createAnimatedComponent.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/createAnimatedComponent.d.ts
index c48ca105..c602d7af 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/createAnimatedComponent.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/createAnimatedComponent.d.ts
@@ -1,10 +1,9 @@
-import type { ComponentClass, FunctionComponent } from 'react';
-import '../reanimated2/layoutReanimation/animationsManager';
-import type { AnimateProps } from '../reanimated2';
-import type { AnimatedComponentRef } from './commonTypes';
+import type { ComponentClass, ComponentType, FunctionComponent } from 'react';
import type { FlatList, FlatListProps } from 'react-native';
-type Options = {
- setNativeProps: (ref: AnimatedComponentRef, props: P) => void;
+import type { AnimatedProps } from '../helperTypes';
+import type { Options } from './AnimatedComponent';
+type AnimatableComponent> = C & {
+ jsProps?: string[];
};
/**
* Lets you create an Animated version of any React Native component.
@@ -13,10 +12,13 @@ type Options = {
* @returns A component that Reanimated is capable of animating.
* @see https://docs.swmansion.com/react-native-reanimated/docs/core/createAnimatedComponent
*/
+export declare function createAnimatedComponent
(component: AnimatableComponent>, options?: Options): FunctionComponent>;
+export declare function createAnimatedComponent(component: AnimatableComponent>, options?: Options): ComponentClass>;
+export declare function createAnimatedComponent(component: AnimatableComponent>, options?: Options): FunctionComponent> | ComponentClass>;
/**
- * @deprecated Please use `Animated.FlatList` component instead of calling `Animated.createAnimatedComponent(FlatList)` manually.
+ * @deprecated Please use `Animated.FlatList` component instead of calling
+ * `Animated.createAnimatedComponent(FlatList)` manually.
*/
-export declare function createAnimatedComponent(component: typeof FlatList, options?: Options): ComponentClass>>;
-export declare function createAnimatedComponent(component: FunctionComponent
, options?: Options
): FunctionComponent>;
-export declare function createAnimatedComponent(component: ComponentClass
, options?: Options
): ComponentClass>;
+export declare function createAnimatedComponent(component: AnimatableComponent>, options?: Options>): ComponentClass>>;
export {};
+//# sourceMappingURL=createAnimatedComponent.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/index.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/index.d.ts
index 5975b715..791699ae 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/index.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/index.d.ts
@@ -1 +1,2 @@
export { createAnimatedComponent } from './createAnimatedComponent';
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/utils.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/utils.d.ts
index 68baf035..39d415da 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/utils.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/createAnimatedComponent/utils.d.ts
@@ -1,3 +1,12 @@
+import type { StyleProps } from '../commonTypes';
+import type { CSSStyle } from '../css';
import type { NestedArray } from './commonTypes';
export declare function flattenArray(array: NestedArray): T[];
export declare const has: (key: K, x: unknown) => x is { [key in K]: unknown; };
+type FilteredStyles = {
+ cssStyle: CSSStyle | null;
+ animatedStyles: StyleProps[];
+};
+export declare function filterStyles(styles: StyleProps[] | undefined): FilteredStyles;
+export {};
+//# sourceMappingURL=utils.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/index.d.ts b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/index.d.ts
index 33bbf1b5..1124c42a 100644
--- a/frontend-admin/node_modules/react-native-reanimated/lib/typescript/index.d.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/lib/typescript/index.d.ts
@@ -1,3 +1,50 @@
+import './publicGlobals';
import * as Animated from './Animated';
-export * from './reanimated2';
export default Animated;
+export { createAnimatedComponent } from './Animated';
+export type { DecayAnimation, DelayAnimation, RepeatAnimation, SequenceAnimation, SpringAnimation, StyleLayoutAnimation, TimingAnimation, WithDecayConfig, WithSpringConfig, WithTimingConfig, } from './animation';
+export { cancelAnimation, defineAnimation, GentleSpringConfig, GentleSpringConfigWithDuration, Reanimated3DefaultSpringConfig, Reanimated3DefaultSpringConfigWithDuration, SnappySpringConfig, SnappySpringConfigWithDuration, WigglySpringConfig, WigglySpringConfigWithDuration, withClamp, withDecay, withDelay, withRepeat, withSequence, withSpring, withTiming, } from './animation';
+export type { ParsedColorArray } from './Colors';
+export { convertToRGBA, isColor } from './Colors';
+export { processColor, ReanimatedLogLevel } from './common';
+export type { AnimatableValue, AnimatableValueObject, AnimatedKeyboardInfo, AnimatedKeyboardOptions, AnimatedSensor, AnimatedStyle, AnimatedTransform, Animation, AnimationCallback, AnimationObject, BaseLayoutAnimationConfig, EasingFunction, EntryAnimationsValues, EntryExitAnimationFunction, ExitAnimationsValues, IEntryExitAnimationBuilder, ILayoutAnimationBuilder, KeyframeProps, LayoutAnimation, LayoutAnimationFunction, LayoutAnimationStartFunction, LayoutAnimationValues as LayoutAnimationsValues, LayoutAnimationType, MeasuredDimensions, SensorConfig, SharedValue, StyleProps, TransformArrayItem, Value3D, ValueRotation, } from './commonTypes';
+export { InterfaceOrientation, IOSReferenceFrame, KeyboardState, ReduceMotion, SensorType, } from './commonTypes';
+export type { FlatListPropsWithLayout } from './component/FlatList';
+export { LayoutAnimationConfig } from './component/LayoutAnimationConfig';
+export type { PerformanceMonitorProps } from './component/PerformanceMonitor';
+export { PerformanceMonitor } from './component/PerformanceMonitor';
+export { ReducedMotionConfig } from './component/ReducedMotionConfig';
+export type { AnimatedScrollViewProps } from './component/ScrollView';
+export { configureReanimatedLogger } from './ConfigHelper';
+export { enableLayoutAnimations, getViewProp, isConfigured, isReanimated3, makeMutable, } from './core';
+export * from './css';
+export type { EasingFunctionFactory } from './Easing';
+export { Easing } from './Easing';
+export { getStaticFeatureFlag, setDynamicFeatureFlag } from './featureFlags';
+export type { FrameInfo } from './frameCallback';
+export type { AnimatedProps, EntryOrExitLayoutType } from './helperTypes';
+export type { AnimatedRef, DerivedValue, EventHandler, EventHandlerProcessed, FrameCallback, ReanimatedEvent, ScrollEvent, ScrollHandler, ScrollHandlerProcessed, ScrollHandlers, UseHandlerContext, } from './hook';
+export { useAnimatedKeyboard, useAnimatedProps, useAnimatedReaction, useAnimatedRef, useAnimatedScrollHandler, useAnimatedSensor, useAnimatedStyle, useComposedEventHandler, useDerivedValue, useEvent, useFrameCallback, useHandler, useReducedMotion, useScrollOffset,
+/** @deprecated Please use {@link useScrollOffset} instead. */
+useScrollOffset as useScrollViewOffset, useSharedValue, } from './hook';
+export type { InterpolateConfig, InterpolateHSV, InterpolateRGB, InterpolationOptions, } from './interpolateColor';
+export { ColorSpace,
+/** @deprecated Please use {@link Extrapolation} instead. */
+Extrapolate, interpolateColor, useInterpolateConfig, } from './interpolateColor';
+export type { ExtrapolationConfig, ExtrapolationType } from './interpolation';
+export { clamp, Extrapolation, interpolate } from './interpolation';
+export { isSharedValue } from './isSharedValue';
+export { advanceAnimationByFrame, advanceAnimationByTime, getAnimatedStyle, setUpTests, withReanimatedTimer, } from './jestUtils';
+export type { ReanimatedKeyframe } from './layoutReanimation';
+export { BaseAnimationBuilder, BounceIn, BounceInDown, BounceInLeft, BounceInRight, BounceInUp, BounceOut, BounceOutDown, BounceOutLeft, BounceOutRight, BounceOutUp, ComplexAnimationBuilder, CurvedTransition, EntryExitTransition, FadeIn, FadeInDown, FadeInLeft, FadeInRight, FadeInUp, FadeOut, FadeOutDown, FadeOutLeft, FadeOutRight, FadeOutUp, FadingTransition, FlipInEasyX, FlipInEasyY, FlipInXDown, FlipInXUp, FlipInYLeft, FlipInYRight, FlipOutEasyX, FlipOutEasyY, FlipOutXDown, FlipOutXUp, FlipOutYLeft, FlipOutYRight, JumpingTransition, Keyframe, Layout, LightSpeedInLeft, LightSpeedInRight, LightSpeedOutLeft, LightSpeedOutRight, LinearTransition, PinwheelIn, PinwheelOut, RollInLeft, RollInRight, RollOutLeft, RollOutRight, RotateInDownLeft, RotateInDownRight, RotateInUpLeft, RotateInUpRight, RotateOutDownLeft, RotateOutDownRight, RotateOutUpLeft, RotateOutUpRight, SequencedTransition, SlideInDown, SlideInLeft, SlideInRight, SlideInUp, SlideOutDown, SlideOutLeft, SlideOutRight, SlideOutUp, StretchInX, StretchInY, StretchOutX, StretchOutY, ZoomIn, ZoomInDown, ZoomInEasyDown, ZoomInEasyUp, ZoomInLeft, ZoomInRight, ZoomInRotate, ZoomInUp, ZoomOut, ZoomOutDown, ZoomOutEasyDown, ZoomOutEasyUp, ZoomOutLeft, ZoomOutRight, ZoomOutRotate, ZoomOutUp, } from './layoutReanimation';
+export { startMapper, stopMapper } from './mappers';
+export { jsVersion as reanimatedVersion } from './platform-specific/jsVersion';
+export type { ComponentCoords } from './platformFunctions';
+export { dispatchCommand, getRelativeCoords, measure, scrollTo, setGestureState, setNativeProps, } from './platformFunctions';
+export { getUseOfValueInStyleWarning } from './pluginUtils';
+export { createAnimatedPropAdapter } from './PropAdapters';
+export type { AnimatedScreenTransition, GoBackGesture, ScreenTransitionConfig, } from './screenTransition';
+export { finishScreenTransition, ScreenTransition, startScreenTransition, } from './screenTransition';
+export type { WorkletRuntime } from './workletFunctions';
+export { createWorkletRuntime, executeOnUIRuntimeSync, isWorkletFunction, makeShareableCloneRecursive, runOnJS, runOnRuntime, runOnUI, } from './workletFunctions';
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/frontend-admin/node_modules/react-native-reanimated/mock.js b/frontend-admin/node_modules/react-native-reanimated/mock.js
index e4bb4b64..179dc916 100644
--- a/frontend-admin/node_modules/react-native-reanimated/mock.js
+++ b/frontend-admin/node_modules/react-native-reanimated/mock.js
@@ -1,56 +1,11 @@
-/**
- * Mock implementation for test runners.
- *
- * Example:
- *
- * ```js
- * jest.mock('react-native-reanimated', () => require('react-native-reanimated/mock'));
- * ```
- */
-
-const { View, Text, Image, Animated, processColor } = require('react-native');
-const ReanimatedV2 = require('./src/reanimated2/mock');
-
-function NOOP() {
- // noop
-}
-
-const Reanimated = {
- SpringUtils: {
- makeDefaultConfig: NOOP,
- makeConfigFromBouncinessAndSpeed: NOOP,
- makeConfigFromOrigamiTensionAndFriction: NOOP,
- },
-
- View,
- Text,
- Image,
- ScrollView: Animated.ScrollView,
- FlatList: Animated.FlatList,
-
- Extrapolate: {
- EXTEND: 'extend',
- CLAMP: 'clamp',
- IDENTITY: 'identity',
- },
-
- processColor,
-
- interpolate: NOOP,
- interpolateColor: NOOP,
- clamp: NOOP,
- createAnimatedComponent: (Component) => Component,
- addWhitelistedUIProps: NOOP,
- addWhitelistedNativeProps: NOOP,
-};
+const Reanimated = require('./src/mock');
+// @ts-expect-error
+const Animated = Reanimated.default;
module.exports = {
- __esModule: true,
-
...Reanimated,
- ...ReanimatedV2,
default: {
- ...Reanimated,
+ ...Animated,
},
};
diff --git a/frontend-admin/node_modules/react-native-reanimated/package.json b/frontend-admin/node_modules/react-native-reanimated/package.json
index b262238a..6378459e 100644
--- a/frontend-admin/node_modules/react-native-reanimated/package.json
+++ b/frontend-admin/node_modules/react-native-reanimated/package.json
@@ -1,54 +1,46 @@
{
"name": "react-native-reanimated",
- "version": "3.6.3",
+ "version": "4.1.6",
"description": "More powerful alternative to Animated library for React Native.",
+ "keywords": [
+ "react-native",
+ "react",
+ "native",
+ "reanimated"
+ ],
"scripts": {
- "test": "yarn run format:js && yarn run lint:js && yarn run test:unit",
- "test:unit": "jest",
- "test:update-snapshot": "jest --updateSnapshot",
- "lint": "yarn lint:js && yarn lint:plugin && yarn lint:cpp && yarn lint:java && yarn lint:ios",
- "lint:js": "eslint --ext '.js,.ts,.tsx' src __tests__ __typetests__ && yarn prettier --check src __tests__ __typetests__",
- "lint:plugin": "cd plugin && yarn lint && cd ..",
- "lint:docs": "cd docs && yarn lint && cd ..",
- "lint:java": "./android/gradlew -p android spotlessCheck -q",
- "lint:cpp": "./scripts/cpplint.sh",
- "lint:ios": "./scripts/validate-ios.sh && yarn format:ios --dry-run",
- "format": "yarn format:js && yarn format:plugin && yarn format:java && yarn format:ios && yarn format:android && yarn format:common",
+ "test": "jest",
+ "lint": "yarn lint:js && yarn lint:common && yarn lint:android && yarn lint:apple",
+ "lint:js": "eslint src __tests__ __typetests__ && yarn prettier --check src __tests__ __typetests__",
+ "lint:android": "../../scripts/validate-android.sh && ./android/gradlew -p android spotlessCheck -q && ../../scripts/cpplint.sh android/src && yarn format:android:cpp --dry-run -Werror && yarn lint:cmake",
+ "lint:common": "../../scripts/validate-common.sh && ../../scripts/cpplint.sh Common && yarn format:common --dry-run -Werror",
+ "lint:clang-tidy": "find Common -iname \"*.h\" -o -iname \"*.cpp\" | xargs ../../scripts/clang-tidy-lint.sh",
+ "lint:apple": "../../scripts/validate-apple.sh && yarn format:apple --dry-run -Werror",
+ "lint:cmake": "find ./android -type d \\( -name build -o -name .cxx \\) -prune -o -type f -name 'CMakeLists.txt' -print | xargs ../../scripts/lint-cmake.sh",
+ "format": "yarn format:js && yarn format:apple && yarn format:android && yarn format:common",
"format:js": "prettier --write --list-different src __tests__ __typetests__",
- "format:plugin": "cd plugin && yarn format && cd ..",
- "format:java": "node ./scripts/format-java.js",
- "format:ios": "find apple/ -iname *.h -o -iname *.m -o -iname *.mm -o -iname *.cpp | xargs clang-format -i --Werror",
- "format:android": "find android/src/ -iname *.h -o -iname *.cpp | xargs clang-format -i",
- "format:common": "find Common/ -iname *.h -o -iname *.cpp | xargs clang-format -i",
- "format:docs": "cd docs && yarn format && cd ..",
- "find-unused-code:js": "yarn ts-prune --ignore \"index|.web.\" --error ",
+ "format:apple": "find apple -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.mm\" -o -iname \"*.cpp\" | xargs clang-format -i",
+ "format:android": "yarn format:android:java && yarn format:android:cpp && yarn format:android:cmake",
+ "format:android:java": "node ../../scripts/format-java.js",
+ "format:android:cpp": "find android/src -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i",
+ "format:android:cmake": "find ./android -type d \\( -name build -o -name .cxx \\) -prune -o -type f -name 'CMakeLists.txt' -print | xargs ../../scripts/format-cmake.sh",
+ "format:common": "find Common -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i",
+ "find-unused-code:js": "knip",
+ "type:check": "yarn type:check:src && yarn type:check:app && yarn type:check:tests:common",
"type:check:src": "yarn tsc --noEmit",
- "type:check:plugin": "cd plugin && yarn type:check:src && cd ..",
- "type:check:app": "./scripts/test-ts.sh app/src/App.tsx",
- "type:check:tests:common": "./scripts/test-ts.sh __typetests__/common.tsx",
- "type:check:tests:0.72+": "./scripts/test-ts.sh __typetests__/0.72+.tsx",
- "type:check:tests:legacy": "./scripts/test-ts.sh __typetests__/legacy.tsx",
- "type:check:all": "yarn type:check:src && yarn type:check:plugin && ./scripts/test-ts.sh app/src/App.tsx __typetests__/common.tsx __typetests__/0.72+.tsx __typetests__/legacy.tsx",
- "prepare": "yarn plugin && bob build && husky install && yarn app",
- "circular_dependency_check": "yarn madge --extensions js,ts,tsx --circular src lib",
- "use_strict_check": "node ./scripts/validate-use-strict.js",
- "setup": "yarn && cd Example && yarn && cd ios && pod install --verbose && cd ../..",
- "clean": "rm -rf node_modules && cd Example && rm -rf node_modules && cd ios && pod deintegrate && cd ../..",
- "reset": "yarn clean && yarn setup",
- "clean:deep": "cd android && rm -rf .cxx .gradle build && cd ../Example/android && rm -rf .gradle build app/build && cd ../.. && yarn clean",
- "reset:deep": "yarn clean:deep && yarn setup",
- "plugin": "cd plugin && yarn && cd ..",
- "app": "cd app && yarn && cd ..",
- "run-example:ios": "cd Example && yarn && cd ios && pod install && open ReanimatedExample.xcworkspace && cd .. && yarn start --reset-cache",
- "run-example:ios:cold-start": "cd Example && yarn && cd ios && git clean -xdf && pod install && open ReanimatedExample.xcworkspace && cd .. && yarn start --reset-cache",
- "run-fabric-example:ios": "cd FabricExample && yarn && cd ios && pod install && open FabricExample.xcworkspace && cd .. && yarn start --reset-cache",
- "run-fabric-example:ios:cold-start": "cd FabricExample && yarn && cd ios && git clean -xdf && pod install && open FabricExample.xcworkspace && cd .. && yarn start --reset-cache"
+ "type:check:app": "yarn workspace common-app type:check",
+ "type:check:tests:common": "../../scripts/test-ts.sh __typetests__/common",
+ "build": "yarn workspace react-native-worklets build && bob build",
+ "circular-dependency-check": "yarn madge --extensions js,jsx --circular lib",
+ "use-strict-check": "node ../../scripts/validate-use-strict.js",
+ "prepack": "cp ../../README.md ./README.md",
+ "postpack": "rm ./README.md"
},
"main": "lib/module/index",
"module": "lib/module/index",
"react-native": "src/index",
"source": "src/index",
- "types": "lib/typescript/index",
+ "types": "lib/typescript/index.d.ts",
"files": [
"Common/",
"src/",
@@ -60,9 +52,14 @@
"apple/",
"RNReanimated.podspec",
"scripts/reanimated_utils.rb",
+ "scripts/validate-worklets-build.js",
+ "scripts/validate-worklets-version.js",
+ "scripts/worklets-version.json",
+ "scripts/validate-react-native-version.js",
+ "compatibility.json",
"mock.js",
"plugin/index.js",
- "plugin/build/plugin.js",
+ "metro-config",
"!**/__tests__",
"!**/__fixtures__",
"!**/__mocks__",
@@ -77,7 +74,8 @@
],
"repository": {
"type": "git",
- "url": "git+https://github.com/software-mansion/react-native-reanimated.git"
+ "url": "git+https://github.com/software-mansion/react-native-reanimated.git",
+ "directory": "packages/react-native-reanimated"
},
"author": {
"email": "krzys.magiera@gmail.com",
@@ -88,106 +86,103 @@
"bugs": {
"url": "https://github.com/software-mansion/react-native-reanimated/issues"
},
- "homepage": "https://github.com/software-mansion/react-native-reanimated#readme",
+ "homepage": "https://docs.swmansion.com/react-native-reanimated",
"dependencies": {
- "@babel/plugin-transform-object-assign": "^7.16.7",
- "@babel/preset-typescript": "^7.16.7",
- "convert-source-map": "^2.0.0",
- "invariant": "^2.2.4"
+ "react-native-is-edge-to-edge": "^1.2.1",
+ "semver": "7.7.2"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0-0",
- "@babel/plugin-proposal-optional-chaining": "^7.0.0-0",
- "@babel/plugin-transform-arrow-functions": "^7.0.0-0",
- "@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
- "@babel/plugin-transform-template-literals": "^7.0.0-0",
"react": "*",
- "react-native": "*"
+ "react-native": "*",
+ "react-native-worklets": ">=0.5.0"
},
"devDependencies": {
"@babel/cli": "^7.20.0",
- "@babel/core": "^7.20.0",
- "@babel/plugin-proposal-class-properties": "^7.16.7",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
- "@babel/plugin-proposal-optional-chaining": "^7.0.0",
- "@babel/plugin-proposal-private-methods": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.0.0",
- "@babel/plugin-transform-shorthand-properties": "^7.0.0",
- "@babel/plugin-transform-template-literals": "^7.0.0",
- "@babel/preset-env": "^7.20.0",
+ "@babel/core": "^7.25.2",
+ "@babel/preset-env": "^7.25.3",
"@babel/types": "^7.20.0",
- "@react-native/eslint-config": "^0.72.2",
+ "@react-native/babel-preset": "0.81.0",
+ "@react-native/eslint-config": "0.81.0",
+ "@react-native/metro-config": "0.81.0",
+ "@react-native/typescript-config": "0.81.0",
+ "@shopify/flash-list": "2.0.2",
"@testing-library/jest-native": "^4.0.4",
- "@testing-library/react-hooks": "^8.0.0",
- "@testing-library/react-native": "^7.1.0",
+ "@testing-library/react-hooks": "^8.0.1",
+ "@testing-library/react-native": "^13.0.1",
"@types/babel__core": "^7.20.0",
"@types/babel__generator": "^7.6.4",
"@types/babel__traverse": "^7.14.2",
"@types/convert-source-map": "^2.0.0",
- "@types/invariant": "^2.2.35",
- "@types/jest": "^29.0.0",
+ "@types/jest": "^29.5.13",
"@types/node": "^18.0.0",
- "@types/react": "^18.0.26",
- "@types/react-test-renderer": "17.0.2",
- "@typescript-eslint/eslint-plugin": "^5.11.0",
- "@typescript-eslint/parser": "^5.11.0",
- "axios": "^1.4.0",
+ "@types/react": "^19.1.0",
+ "@types/react-test-renderer": "^19.1.0",
+ "@types/semver": "^7",
+ "@typescript-eslint/parser": "^6.19.0",
+ "@typescript-eslint/rule-tester": "^6.21.0",
+ "axios": "^1.8.2",
"babel-eslint": "^10.1.0",
- "babel-jest": "^27.5.1",
"babel-plugin-module-resolver": "^5.0.0",
- "clang-format": "^1.6.0",
+ "clang-format-node": "^1.3.1",
"code-tag": "^1.1.0",
- "eslint": "^8.44.0",
- "eslint-config-prettier": "^8.3.0",
- "eslint-config-standard": "^16.0.3",
- "eslint-import-resolver-babel-module": "^5.3.1",
- "eslint-plugin-import": "^2.25.4",
- "eslint-plugin-jest": "^27.2.1",
+ "cspell": "^8.8.0",
+ "eslint": "^9.29.0",
+ "eslint-config-standard": "^17.1.0",
+ "eslint-import-resolver-babel-module": "^5.3.2",
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jest": "^28.13.0",
+ "eslint-plugin-n": "^17.19.0",
"eslint-plugin-no-inline-styles": "^1.0.5",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^6.0.0",
- "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-promise": "^7.2.1",
+ "eslint-plugin-react-hooks": "^5.2.0",
+ "eslint-plugin-reanimated": "workspace:*",
"eslint-plugin-standard": "^5.0.0",
- "eslint-plugin-tsdoc": "^0.2.17",
- "husky": "^7.0.4",
+ "eslint-plugin-tsdoc": "^0.4.0",
"jest": "^29.0.0",
- "lint-staged": "^11.2.0",
+ "knip": "^5.61.3",
"madge": "^5.0.1",
- "prettier": "^2.5.1",
- "react": "17.0.2",
- "react-native": "0.72.6",
- "react-native-builder-bob": "^0.18.3",
- "react-native-gesture-handler": "^2.13.2",
- "react-native-web": "~0.18.12",
- "react-test-renderer": "17.0.2",
+ "prettier": "^3.3.3",
+ "react": "19.1.0",
+ "react-native": "patch:react-native@npm%3A0.81.0#~/.yarn/patches/react-native-npm-0.81.0-96e336150b.patch",
+ "react-native-builder-bob": "0.40.13",
+ "react-native-gesture-handler": "2.28.0",
+ "react-native-svg": "15.12.1",
+ "react-native-worklets": "workspace:*",
+ "react-test-renderer": "19.1.0",
"shelljs": "^0.8.5",
- "ts-prune": "^0.10.3",
- "typescript": "^4.1.3"
- },
- "lint-staged": {
- "*.(js|ts|tsx)": [
- "eslint",
- "eslint --quiet --ext '.js,.ts,.tsx' src/",
- "prettier --write"
- ],
- "plugin/**/*.ts": "yarn lint:plugin",
- "**/*.{h,cpp}": "yarn lint:cpp",
- "android/src/**/*.java": "yarn format:java",
- "android/src/**/*.{h,cpp}": "yarn format:android",
- "apple/**/*.{h,m,mm,cpp}": "yarn format:ios",
- "Common/**/*.{h,cpp}": "yarn format:common"
+ "typescript": "5.8.3"
},
"react-native-builder-bob": {
"source": "src",
"output": "lib",
"targets": [
- "module",
+ [
+ "module",
+ {
+ "esm": false,
+ "jsxRuntime": "automatic"
+ }
+ ],
"typescript"
]
},
+ "codegenConfig": {
+ "name": "rnreanimated",
+ "type": "modules",
+ "jsSrcsDir": "./src/specs",
+ "android": {
+ "javaPackageName": "com.swmansion.reanimated"
+ }
+ },
"sideEffects": [
- "./lib/reanimated2/core",
- "./lib/index"
+ "./src/layoutReanimation/animationsManager.ts",
+ "./lib/module/layoutReanimation/animationsManager.js",
+ "./src/core.ts",
+ "./lib/module/core.js",
+ "./src/initializers.ts",
+ "./lib/module/initializers.js",
+ "./src/index.ts",
+ "./lib/module/index.js"
]
}
diff --git a/frontend-admin/node_modules/react-native-reanimated/plugin/index.js b/frontend-admin/node_modules/react-native-reanimated/plugin/index.js
index 90d803a9..0f5fd058 100644
--- a/frontend-admin/node_modules/react-native-reanimated/plugin/index.js
+++ b/frontend-admin/node_modules/react-native-reanimated/plugin/index.js
@@ -1 +1,4 @@
-module.exports = require('./build/plugin.js');
+// @ts-ignore plugin type isn't exposed
+const plugin = require('react-native-worklets/plugin');
+
+module.exports = plugin;
diff --git a/frontend-admin/node_modules/react-native-reanimated/scripts/reanimated_utils.rb b/frontend-admin/node_modules/react-native-reanimated/scripts/reanimated_utils.rb
index ae4da556..72bdfce6 100644
--- a/frontend-admin/node_modules/react-native-reanimated/scripts/reanimated_utils.rb
+++ b/frontend-admin/node_modules/react-native-reanimated/scripts/reanimated_utils.rb
@@ -13,8 +13,9 @@ def find_config()
:react_native_minor_version => nil,
:is_tvos_target => nil,
:react_native_node_modules_dir => nil,
- :reanimated_node_modules_dir => nil,
:react_native_common_dir => nil,
+ :dynamic_frameworks_reanimated_dir => nil,
+ :dynamic_frameworks_worklets_dir => nil,
}
react_native_node_modules_dir = File.join(File.dirname(`cd "#{Pod::Config.instance.installation_root.to_s}" && node --print "require.resolve('react-native/package.json')"`), '..')
@@ -30,7 +31,13 @@ def find_config()
raise '[Reanimated] Unable to recognize your `react-native` version. Please set environmental variable with `react-native` location: `export REACT_NATIVE_NODE_MODULES_DIR="" && pod install`.'
end
- result[:is_reanimated_example_app] = ENV["REANIMATED_EXAMPLE_APP_NAME"] != nil
+ validate_worklets_script = File.expand_path(File.join(__dir__, 'validate-worklets-build.js'))
+ unless system("node \"#{validate_worklets_script}\"")
+ abort("[Reanimated] Failed to validate worklets version")
+ end
+
+
+ result[:is_reanimated_example_app] = ENV["IS_REANIMATED_EXAMPLE_APP"] != nil
result[:is_tvos_target] = react_native_json['name'] == 'react-native-tvos'
result[:react_native_version] = react_native_json['version']
result[:react_native_minor_version] = react_native_json['version'].split('.')[1].to_i
@@ -38,30 +45,59 @@ def find_config()
result[:react_native_minor_version] = 1000
end
result[:react_native_node_modules_dir] = File.expand_path(react_native_node_modules_dir)
- result[:reanimated_node_modules_dir] = File.expand_path(File.join(__dir__, '..', '..'))
pods_root = Pod::Config.instance.project_pods_root
react_native_common_dir_absolute = File.join(react_native_node_modules_dir, 'react-native', 'ReactCommon')
react_native_common_dir_relative = Pathname.new(react_native_common_dir_absolute).relative_path_from(pods_root).to_s
result[:react_native_common_dir] = react_native_common_dir_relative
+ react_native_reanimated_dir_absolute = File.join(__dir__, '..')
+ react_native_reanimated_dir_relative = Pathname.new(react_native_reanimated_dir_absolute).relative_path_from(pods_root).to_s
+ result[:dynamic_frameworks_reanimated_dir] = react_native_reanimated_dir_relative
+
+ react_native_worklets_node_modules_dir = File.join(File.dirname(`cd "#{Pod::Config.instance.installation_root.to_s}" && node --print "require.resolve('react-native-worklets/package.json')"`), '..')
+ react_native_worklets_dir_absolute = File.join(react_native_worklets_node_modules_dir, 'react-native-worklets')
+ react_native_worklets_dir_relative = Pathname.new(react_native_worklets_dir_absolute).relative_path_from(pods_root).to_s
+ result[:dynamic_frameworks_worklets_dir] = react_native_worklets_dir_relative
+
return result
end
-def assert_latest_react_native_with_new_architecture(config, reanimated_package_json)
- reanimated_version = reanimated_package_json['version']
- reanimated_major_version = reanimated_version.split('.')[0].to_i
- react_native_minor_version = config[:react_native_minor_version]
- fabric_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1'
- if fabric_enabled && reanimated_major_version == 3 && react_native_minor_version < 72
- # If you change the minimal React Native version remember to update Compatibility Table in docs
- raise "[Reanimated] Outdated version of React Native for New Architecture. Reanimated " + reanimated_version + " supports the New Architecture on React Native 0.72.0+. See https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#outdated-version-of-react-native-for-new-architecture for more information."
+def assert_minimal_react_native_version(config)
+ validate_react_native_version_script = File.expand_path(File.join(__dir__, 'validate-react-native-version.js'))
+ unless system("node \"#{validate_react_native_version_script}\" #{config[:react_native_version]}")
+ raise "[Reanimated] React Native version is not compatible with Reanimated"
end
end
-def assert_minimal_react_native_version(config)
- if config[:react_native_minor_version] < 66
- # If you change the minimal React Native version remember to update Compatibility Table in docs
- raise "[Reanimated] Unsupported React Native version. Please use 0.66 or newer."
+def assert_new_architecture_enabled(new_arch_enabled)
+ if !new_arch_enabled
+ raise "[Reanimated] Reanimated requires the New Architecture to be enabled. If you have `RCT_NEW_ARCH_ENABLED=0` set in your environment you should remove it."
end
end
+
+def get_static_feature_flags()
+ feature_flags = {}
+
+ static_feature_flags_path = File.path('./src/featureFlags/staticFlags.json')
+ if !File.exist?(static_feature_flags_path)
+ raise "[Reanimated] Feature flags file not found at #{static_feature_flags_path}."
+ end
+ static_feature_flags_json = JSON.parse(File.read(static_feature_flags_path))
+ static_feature_flags_json.each do |key, value|
+ feature_flags[key] = value.to_s
+ end
+
+ package_json_path = File.join(Pod::Config.instance.installation_root.to_s, '..', 'package.json')
+ if File.exist?(package_json_path)
+ package_json = JSON.parse(File.read(package_json_path))
+ if package_json['reanimated'] && package_json['reanimated']['staticFeatureFlags']
+ feature_flags_json = package_json['reanimated']['staticFeatureFlags']
+ feature_flags_json.each do |key, value|
+ feature_flags[key] = value.to_s
+ end
+ end
+ end
+
+ return feature_flags.map { |key, value| "[#{key}:#{value}]" }.join('')
+end
diff --git a/frontend-admin/node_modules/react-native-reanimated/src/Animated.ts b/frontend-admin/node_modules/react-native-reanimated/src/Animated.ts
index de00efd6..1ffc8bc2 100644
--- a/frontend-admin/node_modules/react-native-reanimated/src/Animated.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/src/Animated.ts
@@ -1,81 +1,11 @@
'use strict';
-import type { Extrapolate as _Extrapolate } from './reanimated2/interpolateColor';
-import type { SharedValue as _SharedValue } from './reanimated2/commonTypes';
-import type { DerivedValue as _DerivedValue } from './reanimated2/hook/useDerivedValue';
-import type {
- TransformStyleTypes as _TransformStyleTypes,
- Adaptable as _Adaptable,
- AdaptTransforms as _AdaptTransforms,
- AnimatedTransform as _AnimatedTransform,
- AnimateStyle as _AnimateStyle,
- StylesOrDefault as _StylesOrDefault,
- AnimateProps as _AnimateProps,
-} from './reanimated2/helperTypes';
-import type { EasingFunction as _EasingFunction } from './reanimated2/Easing';
-
-import type { AnimatedScrollViewProps as _AnimatedScrollViewProps } from './reanimated2/component/ScrollView';
-import type { FlatListPropsWithLayout as _FlatListPropsWithLayout } from './reanimated2/component/FlatList';
-
-export { createAnimatedComponent } from './createAnimatedComponent';
-export { AnimatedText as Text } from './reanimated2/component/Text';
-export { AnimatedView as View } from './reanimated2/component/View';
-export { AnimatedScrollView as ScrollView } from './reanimated2/component/ScrollView';
-export { AnimatedImage as Image } from './reanimated2/component/Image';
-export { ReanimatedFlatList as FlatList } from './reanimated2/component/FlatList';
+export { ReanimatedFlatList as FlatList } from './component/FlatList';
+export { AnimatedImage as Image } from './component/Image';
+export { AnimatedScrollView as ScrollView } from './component/ScrollView';
+export { AnimatedText as Text } from './component/Text';
+export { AnimatedView as View } from './component/View';
export {
addWhitelistedNativeProps,
addWhitelistedUIProps,
} from './ConfigHelper';
-/**
- * @deprecated Please import `Extrapolate` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type Extrapolate = typeof _Extrapolate;
-/**
- * @deprecated Please import `SharedValue` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-
-export type SharedValue = _SharedValue;
-/**
- * @deprecated Please import `DerivedValue` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type DerivedValue = _DerivedValue;
-/**
- * @deprecated Please import `Adaptable` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type Adaptable = _Adaptable;
-/**
- * @deprecated Please import `TransformStyleTypes` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type TransformStyleTypes = _TransformStyleTypes;
-/**
- * @deprecated Please import `AdaptTransforms` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AdaptTransforms = _AdaptTransforms;
-/**
- * @deprecated Please import `AnimatedTransform` directly from `react-native-reanimated` instead of `Animated` namespace.
- */
-export type AnimatedTransform = _AnimatedTransform;
-/**
- * @deprecated Please import `AnimateStyle` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AnimateStyle = _AnimateStyle;
-/**
- * @deprecated Please import `StylesOrDefault` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type StylesOrDefault = _StylesOrDefault;
-/**
- * @deprecated Please import `AnimateProps` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AnimateProps = _AnimateProps
;
-/**
- * @deprecated Please import `EasingFunction` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type EasingFunction = _EasingFunction;
-/**
- * @deprecated Please import `AnimatedScrollViewProps` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type AnimatedScrollViewProps = _AnimatedScrollViewProps;
-/**
- * @deprecated Please import `FlatListPropsWithLayout` directly from `react-native-reanimated` instead of `Animated` namespace.
- * */
-export type FlatListPropsWithLayout = _FlatListPropsWithLayout;
+export { createAnimatedComponent } from './createAnimatedComponent';
diff --git a/frontend-admin/node_modules/react-native-reanimated/src/ConfigHelper.ts b/frontend-admin/node_modules/react-native-reanimated/src/ConfigHelper.ts
index c0f9691b..d0cc2f22 100644
--- a/frontend-admin/node_modules/react-native-reanimated/src/ConfigHelper.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/src/ConfigHelper.ts
@@ -1,87 +1,41 @@
'use strict';
-import { PropsAllowlists } from './propsAllowlists';
-import { jsiConfigureProps } from './reanimated2/core';
-function assertNoOverlapInLists() {
- for (const key in PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST) {
- if (key in PropsAllowlists.UI_THREAD_PROPS_WHITELIST) {
- throw new Error(
- `[Reanimated] Property \`${key}\` was whitelisted both as UI and native prop. Please remove it from one of the lists.`
- );
- }
- }
-}
+import { executeOnUIRuntimeSync } from 'react-native-worklets';
-function configureProps(): void {
- assertNoOverlapInLists();
- jsiConfigureProps(
- Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST),
- Object.keys(PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST)
- );
-}
+import type { LoggerConfig } from './common';
+import {
+ getLoggerConfig,
+ SHOULD_BE_USE_WEB,
+ updateLoggerConfig,
+} from './common';
+/** @deprecated This function is a no-op in Reanimated 4. */
export function addWhitelistedNativeProps(
- props: Record
+ _props: Record
): void {
- const oldSize = Object.keys(
- PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST
- ).length;
- PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST = {
- ...PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST,
- ...props,
- };
- if (
- oldSize !==
- Object.keys(PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST).length
- ) {
- configureProps();
- }
+ // Do nothing. This is just for backward compatibility.
}
-export function addWhitelistedUIProps(props: Record): void {
- const oldSize = Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST).length;
- PropsAllowlists.UI_THREAD_PROPS_WHITELIST = {
- ...PropsAllowlists.UI_THREAD_PROPS_WHITELIST,
- ...props,
- };
- if (
- oldSize !== Object.keys(PropsAllowlists.UI_THREAD_PROPS_WHITELIST).length
- ) {
- configureProps();
- }
+/** @deprecated This function is a no-op in Reanimated 4. */
+export function addWhitelistedUIProps(_props: Record): void {
+ // Do nothing. This is just for backward compatibility.
}
-const PROCESSED_VIEW_NAMES = new Set();
-
-export interface ViewConfig {
- uiViewClassName: string;
- validAttributes: Record;
-}
/**
- * updates UI props whitelist for given view host instance
- * this will work just once for every view name
+ * Updates Reanimated logger config with the user-provided configuration. Will
+ * affect Reanimated code executed after call to this function so it should be
+ * called before any Reanimated code is executed to take effect. Each call to
+ * this function will override the previous configuration (it's recommended to
+ * call it only once).
+ *
+ * @param config - The new logger configuration to apply.
*/
-
-export function adaptViewConfig(viewConfig: ViewConfig): void {
- const viewName = viewConfig.uiViewClassName;
- const props = viewConfig.validAttributes;
-
- // update whitelist of UI props for this view name only once
- if (!PROCESSED_VIEW_NAMES.has(viewName)) {
- const propsToAdd: Record = {};
- Object.keys(props).forEach((key) => {
- // we don't want to add native props as they affect layout
- // we also skip props which repeat here
- if (
- !(key in PropsAllowlists.NATIVE_THREAD_PROPS_WHITELIST) &&
- !(key in PropsAllowlists.UI_THREAD_PROPS_WHITELIST)
- ) {
- propsToAdd[key] = true;
- }
- });
- addWhitelistedUIProps(propsToAdd);
-
- PROCESSED_VIEW_NAMES.add(viewName);
+export function configureReanimatedLogger(config: LoggerConfig) {
+ // Get the current config from the React runtime (to have a single source of truth)
+ const currentConfig = getLoggerConfig();
+ // Update the configuration object in the React runtime
+ updateLoggerConfig(currentConfig, config);
+ // Register the updated configuration in the UI runtime
+ if (!SHOULD_BE_USE_WEB) {
+ executeOnUIRuntimeSync(updateLoggerConfig)(currentConfig, config);
}
}
-
-configureProps();
diff --git a/frontend-admin/node_modules/react-native-reanimated/src/animationBuilder.tsx b/frontend-admin/node_modules/react-native-reanimated/src/animationBuilder.tsx
index 0f1c5ba8..bef6fc44 100644
--- a/frontend-admin/node_modules/react-native-reanimated/src/animationBuilder.tsx
+++ b/frontend-admin/node_modules/react-native-reanimated/src/animationBuilder.tsx
@@ -1,12 +1,14 @@
'use strict';
+import { logger } from './common';
import type {
ILayoutAnimationBuilder,
LayoutAnimationFunction,
- LayoutAnimationsValues,
-} from './reanimated2/layoutReanimation';
-import type { StyleProps } from './reanimated2/commonTypes';
+ LayoutAnimationValues,
+ StyleProps,
+} from './commonTypes';
+import type { NestedArray } from './createAnimatedComponent/commonTypes';
-const mockTargetValues: LayoutAnimationsValues = {
+const mockTargetValues: LayoutAnimationValues = {
targetOriginX: 0,
targetOriginY: 0,
targetWidth: 0,
@@ -25,12 +27,57 @@ const mockTargetValues: LayoutAnimationsValues = {
currentBorderRadius: 0,
};
+function getCommonProperties(
+ layoutStyle: StyleProps,
+ componentStyle: NestedArray
+) {
+ let componentStyleFlat = Array.isArray(componentStyle)
+ ? componentStyle.flat()
+ : [componentStyle];
+
+ componentStyleFlat = componentStyleFlat.filter(Boolean);
+
+ componentStyleFlat = componentStyleFlat.map((style) =>
+ 'initial' in style
+ ? style.initial.value // Include properties of animated style
+ : style
+ );
+
+ const componentStylesKeys = componentStyleFlat.flatMap((style) =>
+ Object.keys(style)
+ );
+
+ const commonKeys = Object.keys(layoutStyle).filter((key) =>
+ componentStylesKeys.includes(key)
+ );
+
+ return commonKeys;
+}
+
+function maybeReportOverwrittenProperties(
+ layoutAnimationStyle: StyleProps,
+ style: NestedArray,
+ displayName: string
+) {
+ const commonProperties = getCommonProperties(layoutAnimationStyle, style);
+
+ if (commonProperties.length > 0) {
+ logger.warn(
+ `${
+ commonProperties.length === 1 ? 'Property' : 'Properties'
+ } "${commonProperties.join(
+ ', '
+ )}" of ${displayName} may be overwritten by a layout animation. Please wrap your component with an animated view and apply the layout animation on the wrapper.`
+ );
+ }
+}
+
export function maybeBuild(
layoutAnimationOrBuilder:
| ILayoutAnimationBuilder
| LayoutAnimationFunction
| Keyframe,
- style: StyleProps | undefined,
+ style: NestedArray | undefined,
displayName: string
): LayoutAnimationFunction | Keyframe {
const isAnimationBuilder = (
@@ -41,24 +88,17 @@ export function maybeBuild(
if (isAnimationBuilder(layoutAnimationOrBuilder)) {
const animationFactory = layoutAnimationOrBuilder.build();
- const layoutAnimation = animationFactory(mockTargetValues);
- const animatedStyle = layoutAnimation.animations;
- const getCommonProperties = (obj1: object, obj2: object) =>
- Object.keys(obj1).filter((key) =>
- Object.prototype.hasOwnProperty.call(obj2, key)
- );
-
- const commonProperties = getCommonProperties(animatedStyle, style || {});
- if (commonProperties.length > 0) {
- console.warn(
- `[Reanimated] ${
- commonProperties.length === 1 ? 'Property' : 'Properties: '
- } "${commonProperties}" of ${displayName} may be overwritten with layout animation. Please create a wrapper with the layout animation you want to apply.`
+ if (__DEV__ && style) {
+ const layoutAnimation = animationFactory(mockTargetValues);
+ maybeReportOverwrittenProperties(
+ layoutAnimation.animations,
+ style,
+ displayName
);
}
- return layoutAnimationOrBuilder.build();
+ return animationFactory;
} else {
return layoutAnimationOrBuilder;
}
diff --git a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/InlinePropManager.ts b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/InlinePropManager.ts
index 993c9d17..3f37da94 100644
--- a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/InlinePropManager.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/InlinePropManager.ts
@@ -1,24 +1,17 @@
'use strict';
-import type { StyleProps } from '../reanimated2';
+import type { StyleProps } from '../commonTypes';
+import { isSharedValue } from '../isSharedValue';
+import { startMapper, stopMapper } from '../mappers';
+import { updateProps } from '../updateProps';
+import type { ViewDescriptorsSet } from '../ViewDescriptorsSet';
+import { makeViewDescriptorsSet } from '../ViewDescriptorsSet';
import type {
- IAnimatedComponentInternal,
AnimatedComponentProps,
+ AnimatedComponentType,
IInlinePropManager,
ViewInfo,
} from './commonTypes';
import { flattenArray } from './utils';
-import { makeViewDescriptorsSet } from '../reanimated2/ViewDescriptorsSet';
-import type {
- ViewDescriptorsSet,
- ViewRefSet,
-} from '../reanimated2/ViewDescriptorsSet';
-import { adaptViewConfig } from '../ConfigHelper';
-import updateProps from '../reanimated2/UpdateProps';
-import { stopMapper, startMapper } from '../reanimated2/mappers';
-import { isSharedValue } from '../reanimated2/isSharedValue';
-import { shouldBeUseWeb } from '../reanimated2/PlatformChecker';
-
-const SHOULD_BE_USE_WEB = shouldBeUseWeb();
function isInlineStyleTransform(transform: unknown): boolean {
if (!Array.isArray(transform)) {
@@ -37,29 +30,30 @@ function inlinePropsHasChanged(
}
for (const key of Object.keys(styles1)) {
- if (styles1[key] !== styles2[key]) return true;
+ if (styles1[key] !== styles2[key]) {
+ return true;
+ }
}
return false;
}
-function getInlinePropsUpdate(inlineProps: Record) {
+function getInlinePropsUpdate(styleValue: StyleProps): unknown {
'worklet';
- const update: Record = {};
- for (const [key, styleValue] of Object.entries(inlineProps)) {
- if (isSharedValue(styleValue)) {
- update[key] = styleValue.value;
- } else if (Array.isArray(styleValue)) {
- update[key] = styleValue.map((item) => {
- return getInlinePropsUpdate(item);
- });
- } else if (typeof styleValue === 'object') {
- update[key] = getInlinePropsUpdate(styleValue as Record);
- } else {
- update[key] = styleValue;
- }
+ if (isSharedValue(styleValue)) {
+ return styleValue.value;
}
- return update;
+ if (Array.isArray(styleValue)) {
+ return styleValue.map(getInlinePropsUpdate);
+ }
+ if (styleValue && typeof styleValue === 'object') {
+ const update: Record = {};
+ for (const [key, value] of Object.entries(styleValue)) {
+ update[key] = getInlinePropsUpdate(value);
+ }
+ return update;
+ }
+ return styleValue;
}
function extractSharedValuesMapFromProps(
@@ -77,14 +71,14 @@ function extractSharedValuesMapFromProps(
if (!style) {
return;
}
- for (const [key, styleValue] of Object.entries(style)) {
+ for (const [styleKey, styleValue] of Object.entries(style)) {
if (isSharedValue(styleValue)) {
- inlineProps[key] = styleValue;
+ inlineProps[styleKey] = styleValue;
} else if (
- key === 'transform' &&
+ styleKey === 'transform' &&
isInlineStyleTransform(styleValue)
) {
- inlineProps[key] = styleValue;
+ inlineProps[styleKey] = styleValue;
}
}
});
@@ -114,7 +108,7 @@ export function getInlineStyle(
isFirstRender: boolean
) {
if (isFirstRender) {
- return getInlinePropsUpdate(style);
+ return getInlinePropsUpdate(style) as Record;
}
const newStyle: StyleProps = {};
for (const [key, styleValue] of Object.entries(style)) {
@@ -134,8 +128,7 @@ export class InlinePropManager implements IInlinePropManager {
_inlineProps: StyleProps = {};
public attachInlineProps(
- animatedComponent: React.Component &
- IAnimatedComponentInternal,
+ animatedComponent: AnimatedComponentType,
viewInfo: ViewInfo
) {
const newInlineProps: Record =
@@ -146,31 +139,20 @@ export class InlinePropManager implements IInlinePropManager {
if (!this._inlinePropsViewDescriptors) {
this._inlinePropsViewDescriptors = makeViewDescriptorsSet();
- const { viewTag, viewName, shadowNodeWrapper, viewConfig } = viewInfo;
-
- if (Object.keys(newInlineProps).length && viewConfig) {
- adaptViewConfig(viewConfig);
- }
+ const { viewTag, shadowNodeWrapper } = viewInfo;
this._inlinePropsViewDescriptors.add({
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
tag: viewTag as number,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- name: viewName!,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
shadowNodeWrapper: shadowNodeWrapper!,
});
}
const shareableViewDescriptors =
this._inlinePropsViewDescriptors.shareableViewDescriptors;
- const maybeViewRef = SHOULD_BE_USE_WEB
- ? ({ items: new Set([animatedComponent]) } as ViewRefSet) // see makeViewsRefSet
- : undefined;
const updaterFunction = () => {
'worklet';
const update = getInlinePropsUpdate(newInlineProps);
- updateProps(shareableViewDescriptors, update, maybeViewRef);
+ updateProps(shareableViewDescriptors, update);
};
this._inlineProps = newInlineProps;
if (this._inlinePropsMapperId) {
diff --git a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/JSPropsUpdater.ts b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/JSPropsUpdater.ts
index 84015b00..d53f3790 100644
--- a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/JSPropsUpdater.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/JSPropsUpdater.ts
@@ -1,124 +1,55 @@
'use strict';
-import {
- NativeEventEmitter,
- NativeModules,
- findNodeHandle,
-} from 'react-native';
-import { shouldBeUseWeb } from '../reanimated2/PlatformChecker';
-import type { StyleProps } from '../reanimated2';
-import { runOnJS, runOnUIImmediately } from '../reanimated2/threads';
+import { runOnUI } from 'react-native-worklets';
+
+import { SHOULD_BE_USE_WEB } from '../common';
import type {
AnimatedComponentProps,
+ AnimatedComponentType,
IAnimatedComponentInternal,
IJSPropsUpdater,
InitialComponentProps,
+ JSPropsOperation,
} from './commonTypes';
-interface ListenerData {
- viewTag: number;
- props: StyleProps;
-}
+class JSPropsUpdaterNative implements IJSPropsUpdater {
+ private static _tagToComponentMapping = new Map<
+ number,
+ AnimatedComponentType
+ >();
-const SHOULD_BE_USE_WEB = shouldBeUseWeb();
-
-class JSPropsUpdaterPaper implements IJSPropsUpdater {
- private static _tagToComponentMapping = new Map();
- private _reanimatedEventEmitter: NativeEventEmitter;
-
- constructor() {
- this._reanimatedEventEmitter = new NativeEventEmitter(
- NativeModules.ReanimatedModule
- );
- }
-
- public addOnJSPropsChangeListener(
- animatedComponent: React.Component<
- AnimatedComponentProps
- > &
- IAnimatedComponentInternal
+ public registerComponent(
+ animatedComponent: AnimatedComponentType,
+ jsProps: string[]
) {
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterPaper._tagToComponentMapping.set(viewTag, animatedComponent);
- if (JSPropsUpdaterPaper._tagToComponentMapping.size === 1) {
- const listener = (data: ListenerData) => {
- const component = JSPropsUpdaterPaper._tagToComponentMapping.get(
- data.viewTag
- );
- component?._updateFromNative(data.props);
- };
- this._reanimatedEventEmitter.addListener(
- 'onReanimatedPropsChange',
- listener
+ const viewTag = animatedComponent.getComponentViewTag();
+ JSPropsUpdaterNative._tagToComponentMapping.set(viewTag, animatedComponent);
+
+ runOnUI(() => {
+ global._tagToJSPropNamesMapping[viewTag] = Object.fromEntries(
+ jsProps.map((propName) => [propName, true])
);
- }
+ })();
}
- public removeOnJSPropsChangeListener(
- animatedComponent: React.Component<
- AnimatedComponentProps
- > &
- IAnimatedComponentInternal
- ) {
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterPaper._tagToComponentMapping.delete(viewTag);
- if (JSPropsUpdaterPaper._tagToComponentMapping.size === 0) {
- this._reanimatedEventEmitter.removeAllListeners(
- 'onReanimatedPropsChange'
- );
- }
- }
-}
+ public unregisterComponent(animatedComponent: AnimatedComponentType) {
+ const viewTag = animatedComponent.getComponentViewTag();
+ JSPropsUpdaterNative._tagToComponentMapping.delete(viewTag);
-class JSPropsUpdaterFabric implements IJSPropsUpdater {
- private static _tagToComponentMapping = new Map();
- private static isInitialized = false;
-
- constructor() {
- if (!JSPropsUpdaterFabric.isInitialized) {
- const updater = (viewTag: number, props: unknown) => {
- const component =
- JSPropsUpdaterFabric._tagToComponentMapping.get(viewTag);
- component?._updateFromNative(props);
- };
- runOnUIImmediately(() => {
- 'worklet';
- global.updateJSProps = (viewTag: number, props: unknown) => {
- runOnJS(updater)(viewTag, props);
- };
- })();
- JSPropsUpdaterFabric.isInitialized = true;
- }
+ runOnUI(() => {
+ delete global._tagToJSPropNamesMapping[viewTag];
+ })();
}
- public addOnJSPropsChangeListener(
- animatedComponent: React.Component<
- AnimatedComponentProps
- > &
- IAnimatedComponentInternal
- ) {
- if (!JSPropsUpdaterFabric.isInitialized) {
- return;
- }
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterFabric._tagToComponentMapping.set(viewTag, animatedComponent);
- }
-
- public removeOnJSPropsChangeListener(
- animatedComponent: React.Component<
- AnimatedComponentProps
- > &
- IAnimatedComponentInternal
- ) {
- if (!JSPropsUpdaterFabric.isInitialized) {
- return;
- }
- const viewTag = findNodeHandle(animatedComponent);
- JSPropsUpdaterFabric._tagToComponentMapping.delete(viewTag);
+ public updateProps(operations: JSPropsOperation[]) {
+ operations.forEach(({ tag, updates }) => {
+ const component = JSPropsUpdaterNative._tagToComponentMapping.get(tag);
+ component?.setNativeProps(updates);
+ });
}
}
class JSPropsUpdaterWeb implements IJSPropsUpdater {
- public addOnJSPropsChangeListener(
+ public registerComponent(
_animatedComponent: React.Component<
AnimatedComponentProps
> &
@@ -127,7 +58,7 @@ class JSPropsUpdaterWeb implements IJSPropsUpdater {
// noop
}
- public removeOnJSPropsChangeListener(
+ public unregisterComponent(
_animatedComponent: React.Component<
AnimatedComponentProps
> &
@@ -135,20 +66,23 @@ class JSPropsUpdaterWeb implements IJSPropsUpdater {
) {
// noop
}
+
+ public updateProps(_operations: JSPropsOperation[]) {
+ // noop
+ }
}
type JSPropsUpdaterOptions =
| typeof JSPropsUpdaterWeb
- | typeof JSPropsUpdaterFabric
- | typeof JSPropsUpdaterPaper;
+ | typeof JSPropsUpdaterNative;
let JSPropsUpdater: JSPropsUpdaterOptions;
if (SHOULD_BE_USE_WEB) {
JSPropsUpdater = JSPropsUpdaterWeb;
-} else if (global._IS_FABRIC) {
- JSPropsUpdater = JSPropsUpdaterFabric;
} else {
- JSPropsUpdater = JSPropsUpdaterPaper;
+ JSPropsUpdater = JSPropsUpdaterNative;
}
-export default JSPropsUpdater;
+const jsPropsUpdater = new JSPropsUpdater();
+
+export default jsPropsUpdater;
diff --git a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/PropsFilter.tsx b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/PropsFilter.tsx
index 2ac80492..2002e4f0 100644
--- a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/PropsFilter.tsx
+++ b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/PropsFilter.tsx
@@ -1,19 +1,19 @@
'use strict';
-import type { StyleProps, SharedValue } from '../reanimated2';
-import { isSharedValue } from '../reanimated2';
-import { isChromeDebugger } from '../reanimated2/PlatformChecker';
-import WorkletEventHandler from '../reanimated2/WorkletEventHandler';
-import { initialUpdaterRun } from '../reanimated2/animation';
-import { hasInlineStyles, getInlineStyle } from './InlinePropManager';
+
+import { initialUpdaterRun } from '../animation';
+import type { StyleProps } from '../commonTypes';
+import type { AnimatedStyleHandle } from '../hook/commonTypes';
+import { isSharedValue } from '../isSharedValue';
+import { WorkletEventHandler } from '../WorkletEventHandler';
import type {
AnimatedComponentProps,
+ AnimatedComponentType,
AnimatedProps,
InitialComponentProps,
- IAnimatedComponentInternal,
IPropsFilter,
} from './commonTypes';
+import { getInlineStyle, hasInlineStyles } from './InlinePropManager';
import { flattenArray, has } from './utils';
-import { StyleSheet } from 'react-native';
function dummyListener() {
// empty listener we use to assign to listener properties for which animated
@@ -21,56 +21,68 @@ function dummyListener() {
}
export class PropsFilter implements IPropsFilter {
- private _initialStyle = {};
+ private _initialPropsMap = new Map();
public filterNonAnimatedProps(
- component: React.Component & IAnimatedComponentInternal
+ component: AnimatedComponentType
): Record {
const inputProps =
component.props as AnimatedComponentProps;
const props: Record = {};
+
for (const key in inputProps) {
const value = inputProps[key];
if (key === 'style') {
const styleProp = inputProps.style;
const styles = flattenArray(styleProp ?? []);
- const processedStyle: StyleProps = styles.map((style) => {
- if (style && style.viewDescriptors) {
- // this is how we recognize styles returned by useAnimatedStyle
- style.viewsRef.add(component);
+
+ const processedStyle: StyleProps[] = styles.map((style) => {
+ if (style?.viewDescriptors) {
+ const handle = style as AnimatedStyleHandle;
+
if (component._isFirstRender) {
- this._initialStyle = {
- ...style.initial.value,
- ...this._initialStyle,
- ...initialUpdaterRun(style.initial.updater),
- };
+ this._initialPropsMap.set(handle, {
+ ...handle.initial.value,
+ ...initialUpdaterRun(handle.initial.updater),
+ } as StyleProps);
}
- return this._initialStyle;
+
+ return this._initialPropsMap.get(handle) ?? {};
} else if (hasInlineStyles(style)) {
return getInlineStyle(style, component._isFirstRender);
} else {
return style;
}
});
- props[key] = StyleSheet.flatten(processedStyle);
+ // keep styles as they were passed by the user
+ // it will help other libs to interpret styles correctly
+ props[key] = processedStyle;
} else if (key === 'animatedProps') {
- const animatedProp = inputProps.animatedProps as Partial<
- AnimatedComponentProps
- >;
- if (animatedProp.initial !== undefined) {
- Object.keys(animatedProp.initial.value).forEach((key) => {
- props[key] = animatedProp.initial?.value[key];
- animatedProp.viewsRef?.add(component);
- });
- }
+ const animatedPropsProp = inputProps.animatedProps;
+ const animatedPropsArray = flattenArray<
+ Partial>
+ >(animatedPropsProp ?? []);
+
+ animatedPropsArray.forEach((animatedProps) => {
+ if (animatedProps?.viewDescriptors && animatedProps.initial) {
+ Object.keys(animatedProps.initial.value).forEach(
+ (initialValueKey) => {
+ props[initialValueKey] =
+ animatedProps.initial?.value[initialValueKey];
+ }
+ );
+ }
+ });
} else if (
- has('current', value) &&
- value.current instanceof WorkletEventHandler
+ has('workletEventHandler', value) &&
+ value.workletEventHandler instanceof WorkletEventHandler
) {
- if (value.current.eventNames.length > 0) {
- value.current.eventNames.forEach((eventName) => {
- props[eventName] = has('listeners', value.current)
- ? (value.current.listeners as Record)[eventName]
+ if (value.workletEventHandler.eventNames.length > 0) {
+ value.workletEventHandler.eventNames.forEach((eventName) => {
+ props[eventName] = has('listeners', value.workletEventHandler)
+ ? (
+ value.workletEventHandler.listeners as Record
+ )[eventName]
: dummyListener;
});
} else {
@@ -78,9 +90,9 @@ export class PropsFilter implements IPropsFilter {
}
} else if (isSharedValue(value)) {
if (component._isFirstRender) {
- props[key] = (value as SharedValue).value;
+ props[key] = value.value;
}
- } else if (key !== 'onGestureHandlerStateChange' || !isChromeDebugger()) {
+ } else {
props[key] = value;
}
}
diff --git a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/commonTypes.ts b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/commonTypes.ts
index 01a9736f..d9d4bb11 100644
--- a/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/commonTypes.ts
+++ b/frontend-admin/node_modules/react-native-reanimated/src/createAnimatedComponent/commonTypes.ts
@@ -1,32 +1,35 @@
'use strict';
-import type { Ref, Component } from 'react';
+import type { Component, Ref, RefObject } from 'react';
+
import type {
- StyleProps,
- BaseAnimationBuilder,
- ILayoutAnimationBuilder,
+ AnimatedStyle,
EntryExitAnimationFunction,
- SharedTransition,
+ ILayoutAnimationBuilder,
+ ShadowNodeWrapper,
SharedValue,
-} from '../reanimated2';
-import type {
- ViewDescriptorsSet,
- ViewRefSet,
-} from '../reanimated2/ViewDescriptorsSet';
-import type { SkipEnteringContext } from '../reanimated2/component/LayoutAnimationConfig';
-import type { ShadowNodeWrapper } from '../reanimated2/commonTypes';
-import type { ViewConfig } from '../ConfigHelper';
+ StyleProps,
+ StyleUpdaterContainer,
+} from '../commonTypes';
+import type { SkipEnteringContext } from '../component/LayoutAnimationConfig';
+import type { BaseAnimationBuilder } from '../layoutReanimation';
+import type { ViewDescriptorsSet } from '../ViewDescriptorsSet';
export interface AnimatedProps extends Record {
viewDescriptors?: ViewDescriptorsSet;
- viewsRef?: ViewRefSet;
initial?: SharedValue;
+ styleUpdaterContainer?: StyleUpdaterContainer;
}
export interface ViewInfo {
- viewTag: number | HTMLElement | null;
- viewName: string | null;
+ viewTag: number | AnimatedComponentRef | HTMLElement | null;
shadowNodeWrapper: ShadowNodeWrapper | null;
- viewConfig: ViewConfig;
+ // This is a React host instance view name which might differ from the
+ // Fabric component name. For clarity, we use the viewName property
+ // here and componentName in C++ after converting react viewName to
+ // Fabric component name.
+ // (see react/renderer/componentregistry/componentNameByReactViewName.cpp)
+ viewName?: string;
+ DOMElement?: HTMLElement | null;
}
export interface IInlinePropManager {
@@ -37,31 +40,49 @@ export interface IInlinePropManager {
detachInlineProps(): void;
}
+export type AnimatedComponentType = React.Component