react-native-sortables
Version:
Powerful Sortable Components for Flexible Content Reordering in React Native
51 lines (50 loc) • 1.45 kB
JavaScript
;
import React from "react";
import { memo, useCallback, useState } from 'react';
import { StyleSheet, View } from 'react-native';
import { DebugComponentType } from '../../types/debug';
import { DebugCross, DebugLine, DebugRect } from '../components';
import { useDebugContext } from './DebugProvider';
import { jsx as _jsx } from "react/jsx-runtime";
function DebugOutlet() {
const [debugViews, setDebugViews] = useState({});
const {
debugOutletRef,
useObserver
} = useDebugContext() ?? {};
const observer = useCallback(views => {
setDebugViews(views);
}, []);
useObserver?.(observer);
return /*#__PURE__*/_jsx(View, {
ref: debugOutletRef,
style: styles.container,
children: Object.entries(debugViews).map(([key, {
props,
type
}]) => {
switch (type) {
case DebugComponentType.CROSS:
return /*#__PURE__*/_jsx(DebugCross, {
props: props
}, key);
case DebugComponentType.LINE:
return /*#__PURE__*/_jsx(DebugLine, {
props: props
}, key);
case DebugComponentType.RECT:
return /*#__PURE__*/_jsx(DebugRect, {
props: props
}, key);
}
})
});
}
const styles = StyleSheet.create({
container: {
...StyleSheet.absoluteFillObject,
pointerEvents: 'none'
}
});
export default /*#__PURE__*/memo(DebugOutlet);
//# sourceMappingURL=DebugOutlet.js.map