one
Version:
One is a React framework for web, iOS, and Android apps.
75 lines (72 loc) • 3.17 kB
JavaScript
;
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
value: mod,
enumerable: true
}) : target, mod));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var view_native_exports = {};
__export(view_native_exports, { KotlinSourceView: () => KotlinSourceView });
module.exports = __toCommonJS(view_native_exports);
var import_jsx_runtime = require("react/jsx-runtime");
var import_react = require("react");
var import_react_native = require("react-native");
var import_OneKotlinHostNativeComponent = __toESM(require("../specs/OneKotlinHostNativeComponent.native.js"), 1);
var import_wire = require("./wire.native.js");
function KotlinSourceView(param) {
var { source, view, contractHash, props, wires } = param;
var [contentSize, setContentSize] = (0, import_react.useState)();
var encoded = wires ? (0, import_wire.encodeNativeSourceProps)(props, wires.props, wires.structs) : props;
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_native.View, {
style: props.style,
collapsable: false,
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
pointerEvents: "none",
style: contentSize
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_OneKotlinHostNativeComponent.default, {
source,
view,
contractHash,
props: JSON.stringify(encoded, function(_key, value) {
return typeof value === "function" ? true : value;
}),
onHostEvent: function onHostEvent(event) {
var callback = props[event.nativeEvent.name];
if (typeof callback === "function") {
var _ref;
var args = JSON.parse(event.nativeEvent.args);
var argWires = wires === null || wires === void 0 ? void 0 : wires.callbacks[event.nativeEvent.name];
callback(...argWires ? (0, import_wire.decodeNativeSourceCallback)(args, argWires, (_ref = wires === null || wires === void 0 ? void 0 : wires.structs) !== null && _ref !== void 0 ? _ref : {}, event.nativeEvent.name) : args);
}
},
onHostSizeChange: function onHostSizeChange(event) {
setContentSize({
width: event.nativeEvent.width,
height: event.nativeEvent.height
});
},
style: import_react_native.StyleSheet.absoluteFill
})]
});
}
//# sourceMappingURL=view.native.js.map