one
Version:
One is a React framework for web, iOS, and Android apps.
260 lines (257 loc) • 16.5 kB
JavaScript
"use strict";
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 ArrangementView_native_exports = {};
__export(ArrangementView_native_exports, {
ArrangementPrimary: () => ArrangementPrimary,
ArrangementSecondary: () => ArrangementSecondary,
ArrangementView: () => ArrangementView,
ArrangementViewComponent: () => ArrangementViewComponent
});
module.exports = __toCommonJS(ArrangementView_native_exports);
var import_jsx_runtime = require("react/jsx-runtime");
var import_react = require("react");
var import_react_native = require("react-native");
var import_swiftStyleNative = require("./generated/swiftStyleNative.native.js");
var import_OneNativeArrangementViewNativeComponent = __toESM(require("./specs/OneNativeArrangementViewNativeComponent.native.js"), 1);
var import_OneNativeArrangementSlotNativeComponent = __toESM(require("./specs/OneNativeArrangementSlotNativeComponent.native.js"), 1);
var import_adaptive = require("./adaptive/index.native.js");
var PANE_STYLE = {
position: "absolute",
left: 0,
top: 0,
width: 0,
height: 0
};
function ArrangementPrimary(_props) {
throw new Error("Swift.ArrangementView.Primary must be a direct child of Swift.ArrangementView");
}
function ArrangementSecondary(_props) {
throw new Error("Swift.ArrangementView.Secondary must be a direct child of Swift.ArrangementView");
}
function parseStyle(styleProp) {
if (!styleProp) return {
style: "automatic",
splitAxes: "both",
overlayAxes: "both"
};
if (typeof styleProp === "string") {
return {
style: styleProp,
splitAxes: "both",
overlayAxes: "both"
};
}
var kind = styleProp.kind;
var axesVal = function axesVal2(axes) {
if (!axes) return "both";
if (Array.isArray(axes)) {
if (axes.includes("horizontal") && axes.includes("vertical")) return "both";
if (axes.includes("horizontal")) return "horizontal";
if (axes.includes("vertical")) return "vertical";
return "both";
}
return axes;
};
if (kind === "split") {
return {
style: "split",
splitAxes: axesVal(styleProp.axes),
overlayAxes: "both"
};
}
if (kind === "overlay") {
return {
style: "overlay",
splitAxes: "both",
overlayAxes: axesVal(styleProp.axes)
};
}
return {
style: "automatic",
splitAxes: "both",
overlayAxes: "both"
};
}
function parseRatio(ratio) {
var _ratio_minHorizontal, _ratio_idealHorizontal, _ratio_maxHorizontal, _ratio_minVertical, _ratio_idealVertical, _ratio_maxVertical;
if (ratio === void 0) return { ratio: -1 };
if (typeof ratio === "number") return { ratio };
return {
ratio: -1,
minHorizontal: (_ratio_minHorizontal = ratio.minHorizontal) !== null && _ratio_minHorizontal !== void 0 ? _ratio_minHorizontal : -1,
idealHorizontal: (_ratio_idealHorizontal = ratio.idealHorizontal) !== null && _ratio_idealHorizontal !== void 0 ? _ratio_idealHorizontal : -1,
maxHorizontal: (_ratio_maxHorizontal = ratio.maxHorizontal) !== null && _ratio_maxHorizontal !== void 0 ? _ratio_maxHorizontal : -1,
minVertical: (_ratio_minVertical = ratio.minVertical) !== null && _ratio_minVertical !== void 0 ? _ratio_minVertical : -1,
idealVertical: (_ratio_idealVertical = ratio.idealVertical) !== null && _ratio_idealVertical !== void 0 ? _ratio_idealVertical : -1,
maxVertical: (_ratio_maxVertical = ratio.maxVertical) !== null && _ratio_maxVertical !== void 0 ? _ratio_maxVertical : -1
};
}
function parseSize(size) {
var _size_minWidth, _size_idealWidth, _size_maxWidth, _size_minHeight, _size_idealHeight, _size_maxHeight;
if (!size) return {};
return {
minWidth: (_size_minWidth = size.minWidth) !== null && _size_minWidth !== void 0 ? _size_minWidth : -1,
idealWidth: (_size_idealWidth = size.idealWidth) !== null && _size_idealWidth !== void 0 ? _size_idealWidth : -1,
maxWidth: (_size_maxWidth = size.maxWidth) !== null && _size_maxWidth !== void 0 ? _size_maxWidth : -1,
minHeight: (_size_minHeight = size.minHeight) !== null && _size_minHeight !== void 0 ? _size_minHeight : -1,
idealHeight: (_size_idealHeight = size.idealHeight) !== null && _size_idealHeight !== void 0 ? _size_idealHeight : -1,
maxHeight: (_size_maxHeight = size.maxHeight) !== null && _size_maxHeight !== void 0 ? _size_maxHeight : -1
};
}
function parseFixed(fixed) {
if (fixed === void 0) return {
horizontal: false,
vertical: false
};
if (typeof fixed === "boolean") return {
horizontal: fixed,
vertical: fixed
};
return {
horizontal: Boolean(fixed.horizontal),
vertical: Boolean(fixed.vertical)
};
}
function ArrangementViewComponent(param) {
var { children, primary, secondary, leading, detail, arrangementViewStyle = "automatic", splitArrangementLayoutRatio, splitArrangementLayoutSize, splitArrangementFixedLayoutSize, overlayArrangementEdge, swiftStyle, style, testID, onHingeChange: onHingeChangeProp, ...props } = param;
var _ratioConfig_minHorizontal, _ratioConfig_idealHorizontal, _ratioConfig_maxHorizontal, _ratioConfig_minVertical, _ratioConfig_idealVertical, _ratioConfig_maxVertical, _sizeConfig_minWidth, _sizeConfig_idealWidth, _sizeConfig_maxWidth, _sizeConfig_minHeight, _sizeConfig_idealHeight, _sizeConfig_maxHeight, _primaryRatio_minHorizontal, _primaryRatio_idealHorizontal, _primaryRatio_maxHorizontal, _primaryRatio_minVertical, _primaryRatio_idealVertical, _primaryRatio_maxVertical, _primarySize_minWidth, _primarySize_idealWidth, _primarySize_maxWidth, _primarySize_minHeight, _primarySize_idealHeight, _primarySize_maxHeight, _primaryProps_overlayArrangementEdge, _secondaryRatio_minHorizontal, _secondaryRatio_idealHorizontal, _secondaryRatio_maxHorizontal, _secondaryRatio_minVertical, _secondaryRatio_idealVertical, _secondaryRatio_maxVertical, _secondarySize_minWidth, _secondarySize_idealWidth, _secondarySize_maxWidth, _secondarySize_minHeight, _secondarySize_idealHeight, _secondarySize_maxHeight, _secondaryProps_overlayArrangementEdge;
var iosVersion = Number.parseFloat(String(import_react_native.Platform.Version));
if (import_react_native.Platform.OS === "ios" && iosVersion < 27.1) {
throw new Error("Swift.ArrangementView requires iOS 27.1 or later");
}
(0, import_react.useEffect)(function() {
if (onHingeChangeProp) {
return (0, import_adaptive.onHingeChange)(onHingeChangeProp);
}
}, [onHingeChangeProp]);
var primaryNode = primary !== null && primary !== void 0 ? primary : leading;
var secondaryNode = secondary !== null && secondary !== void 0 ? secondary : detail;
var primaryProps = {};
var secondaryProps = {};
import_react.Children.forEach(children, function(child) {
if (!/* @__PURE__ */ (0, import_react.isValidElement)(child)) return;
if (child.type === ArrangementPrimary) {
primaryNode = child.props.children;
primaryProps = child.props;
} else if (child.type === ArrangementSecondary) {
secondaryNode = child.props.children;
secondaryProps = child.props;
}
});
var styleConfig = parseStyle(arrangementViewStyle);
var ratioConfig = parseRatio(splitArrangementLayoutRatio);
var sizeConfig = parseSize(splitArrangementLayoutSize);
var fixedConfig = parseFixed(splitArrangementFixedLayoutSize);
var primaryRatio = parseRatio(primaryProps.splitArrangementLayoutRatio);
var primarySize = parseSize(primaryProps.splitArrangementLayoutSize);
var primaryFixed = parseFixed(primaryProps.splitArrangementFixedLayoutSize);
var secondaryRatio = parseRatio(secondaryProps.splitArrangementLayoutRatio);
var secondarySize = parseSize(secondaryProps.splitArrangementLayoutSize);
var secondaryFixed = parseFixed(secondaryProps.splitArrangementFixedLayoutSize);
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_OneNativeArrangementViewNativeComponent.default, {
...props,
testID,
style: [{ flex: 1 }, style],
swiftStyle: (0, import_swiftStyleNative.swiftStyleNative)(swiftStyle),
onNativeSDKEvent: function onNativeSDKEvent(param2) {
var { nativeEvent } = param2;
return (0, import_swiftStyleNative.dispatchSDKEvent)(swiftStyle, nativeEvent.name, nativeEvent.value);
},
arrangementViewStyle: styleConfig.style,
splitAxes: styleConfig.splitAxes,
overlayAxes: styleConfig.overlayAxes,
splitRatio: ratioConfig.ratio,
splitMinHorizontal: (_ratioConfig_minHorizontal = ratioConfig.minHorizontal) !== null && _ratioConfig_minHorizontal !== void 0 ? _ratioConfig_minHorizontal : -1,
splitIdealHorizontal: (_ratioConfig_idealHorizontal = ratioConfig.idealHorizontal) !== null && _ratioConfig_idealHorizontal !== void 0 ? _ratioConfig_idealHorizontal : -1,
splitMaxHorizontal: (_ratioConfig_maxHorizontal = ratioConfig.maxHorizontal) !== null && _ratioConfig_maxHorizontal !== void 0 ? _ratioConfig_maxHorizontal : -1,
splitMinVertical: (_ratioConfig_minVertical = ratioConfig.minVertical) !== null && _ratioConfig_minVertical !== void 0 ? _ratioConfig_minVertical : -1,
splitIdealVertical: (_ratioConfig_idealVertical = ratioConfig.idealVertical) !== null && _ratioConfig_idealVertical !== void 0 ? _ratioConfig_idealVertical : -1,
splitMaxVertical: (_ratioConfig_maxVertical = ratioConfig.maxVertical) !== null && _ratioConfig_maxVertical !== void 0 ? _ratioConfig_maxVertical : -1,
splitMinWidth: (_sizeConfig_minWidth = sizeConfig.minWidth) !== null && _sizeConfig_minWidth !== void 0 ? _sizeConfig_minWidth : -1,
splitIdealWidth: (_sizeConfig_idealWidth = sizeConfig.idealWidth) !== null && _sizeConfig_idealWidth !== void 0 ? _sizeConfig_idealWidth : -1,
splitMaxWidth: (_sizeConfig_maxWidth = sizeConfig.maxWidth) !== null && _sizeConfig_maxWidth !== void 0 ? _sizeConfig_maxWidth : -1,
splitMinHeight: (_sizeConfig_minHeight = sizeConfig.minHeight) !== null && _sizeConfig_minHeight !== void 0 ? _sizeConfig_minHeight : -1,
splitIdealHeight: (_sizeConfig_idealHeight = sizeConfig.idealHeight) !== null && _sizeConfig_idealHeight !== void 0 ? _sizeConfig_idealHeight : -1,
splitMaxHeight: (_sizeConfig_maxHeight = sizeConfig.maxHeight) !== null && _sizeConfig_maxHeight !== void 0 ? _sizeConfig_maxHeight : -1,
splitFixedHorizontal: fixedConfig.horizontal,
splitFixedVertical: fixedConfig.vertical,
overlayEdge: overlayArrangementEdge !== null && overlayArrangementEdge !== void 0 ? overlayArrangementEdge : "",
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_OneNativeArrangementSlotNativeComponent.default, {
placement: "primary",
style: PANE_STYLE,
collapsable: false,
testID: primaryProps.testID,
splitRatio: primaryRatio.ratio,
splitMinHorizontal: (_primaryRatio_minHorizontal = primaryRatio.minHorizontal) !== null && _primaryRatio_minHorizontal !== void 0 ? _primaryRatio_minHorizontal : -1,
splitIdealHorizontal: (_primaryRatio_idealHorizontal = primaryRatio.idealHorizontal) !== null && _primaryRatio_idealHorizontal !== void 0 ? _primaryRatio_idealHorizontal : -1,
splitMaxHorizontal: (_primaryRatio_maxHorizontal = primaryRatio.maxHorizontal) !== null && _primaryRatio_maxHorizontal !== void 0 ? _primaryRatio_maxHorizontal : -1,
splitMinVertical: (_primaryRatio_minVertical = primaryRatio.minVertical) !== null && _primaryRatio_minVertical !== void 0 ? _primaryRatio_minVertical : -1,
splitIdealVertical: (_primaryRatio_idealVertical = primaryRatio.idealVertical) !== null && _primaryRatio_idealVertical !== void 0 ? _primaryRatio_idealVertical : -1,
splitMaxVertical: (_primaryRatio_maxVertical = primaryRatio.maxVertical) !== null && _primaryRatio_maxVertical !== void 0 ? _primaryRatio_maxVertical : -1,
splitMinWidth: (_primarySize_minWidth = primarySize.minWidth) !== null && _primarySize_minWidth !== void 0 ? _primarySize_minWidth : -1,
splitIdealWidth: (_primarySize_idealWidth = primarySize.idealWidth) !== null && _primarySize_idealWidth !== void 0 ? _primarySize_idealWidth : -1,
splitMaxWidth: (_primarySize_maxWidth = primarySize.maxWidth) !== null && _primarySize_maxWidth !== void 0 ? _primarySize_maxWidth : -1,
splitMinHeight: (_primarySize_minHeight = primarySize.minHeight) !== null && _primarySize_minHeight !== void 0 ? _primarySize_minHeight : -1,
splitIdealHeight: (_primarySize_idealHeight = primarySize.idealHeight) !== null && _primarySize_idealHeight !== void 0 ? _primarySize_idealHeight : -1,
splitMaxHeight: (_primarySize_maxHeight = primarySize.maxHeight) !== null && _primarySize_maxHeight !== void 0 ? _primarySize_maxHeight : -1,
splitFixedHorizontal: primaryFixed.horizontal,
splitFixedVertical: primaryFixed.vertical,
overlayEdge: (_primaryProps_overlayArrangementEdge = primaryProps.overlayArrangementEdge) !== null && _primaryProps_overlayArrangementEdge !== void 0 ? _primaryProps_overlayArrangementEdge : "",
children: primaryNode
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_OneNativeArrangementSlotNativeComponent.default, {
placement: "secondary",
style: PANE_STYLE,
collapsable: false,
testID: secondaryProps.testID,
splitRatio: secondaryRatio.ratio,
splitMinHorizontal: (_secondaryRatio_minHorizontal = secondaryRatio.minHorizontal) !== null && _secondaryRatio_minHorizontal !== void 0 ? _secondaryRatio_minHorizontal : -1,
splitIdealHorizontal: (_secondaryRatio_idealHorizontal = secondaryRatio.idealHorizontal) !== null && _secondaryRatio_idealHorizontal !== void 0 ? _secondaryRatio_idealHorizontal : -1,
splitMaxHorizontal: (_secondaryRatio_maxHorizontal = secondaryRatio.maxHorizontal) !== null && _secondaryRatio_maxHorizontal !== void 0 ? _secondaryRatio_maxHorizontal : -1,
splitMinVertical: (_secondaryRatio_minVertical = secondaryRatio.minVertical) !== null && _secondaryRatio_minVertical !== void 0 ? _secondaryRatio_minVertical : -1,
splitIdealVertical: (_secondaryRatio_idealVertical = secondaryRatio.idealVertical) !== null && _secondaryRatio_idealVertical !== void 0 ? _secondaryRatio_idealVertical : -1,
splitMaxVertical: (_secondaryRatio_maxVertical = secondaryRatio.maxVertical) !== null && _secondaryRatio_maxVertical !== void 0 ? _secondaryRatio_maxVertical : -1,
splitMinWidth: (_secondarySize_minWidth = secondarySize.minWidth) !== null && _secondarySize_minWidth !== void 0 ? _secondarySize_minWidth : -1,
splitIdealWidth: (_secondarySize_idealWidth = secondarySize.idealWidth) !== null && _secondarySize_idealWidth !== void 0 ? _secondarySize_idealWidth : -1,
splitMaxWidth: (_secondarySize_maxWidth = secondarySize.maxWidth) !== null && _secondarySize_maxWidth !== void 0 ? _secondarySize_maxWidth : -1,
splitMinHeight: (_secondarySize_minHeight = secondarySize.minHeight) !== null && _secondarySize_minHeight !== void 0 ? _secondarySize_minHeight : -1,
splitIdealHeight: (_secondarySize_idealHeight = secondarySize.idealHeight) !== null && _secondarySize_idealHeight !== void 0 ? _secondarySize_idealHeight : -1,
splitMaxHeight: (_secondarySize_maxHeight = secondarySize.maxHeight) !== null && _secondarySize_maxHeight !== void 0 ? _secondarySize_maxHeight : -1,
splitFixedHorizontal: secondaryFixed.horizontal,
splitFixedVertical: secondaryFixed.vertical,
overlayEdge: (_secondaryProps_overlayArrangementEdge = secondaryProps.overlayArrangementEdge) !== null && _secondaryProps_overlayArrangementEdge !== void 0 ? _secondaryProps_overlayArrangementEdge : "",
children: secondaryNode
})]
});
}
var ArrangementView = Object.assign(ArrangementViewComponent, {
Primary: ArrangementPrimary,
Secondary: ArrangementSecondary,
Leading: ArrangementPrimary,
Detail: ArrangementSecondary
});
//# sourceMappingURL=ArrangementView.native.js.map