one
Version:
One is a React framework for web, iOS, and Android apps.
62 lines (60 loc) • 2.87 kB
JavaScript
var gridAlignments = [
"topLeading",
"top",
"topTrailing",
"leading",
"center",
"trailing",
"bottomLeading",
"bottom",
"bottomTrailing"
];
var gridHorizontalAlignments = [
"leading",
"center",
"trailing"
];
var gridVerticalAlignments = [
"top",
"center",
"bottom",
"firstTextBaseline",
"lastTextBaseline"
];
function nonnegative(value, label) {
var required = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
if (value === void 0 && !required) return;
if (typeof value !== "number" || !Number.isFinite(value) || value < 0) throw new Error(`${label} must be a non-negative finite number`);
}
function gridSpacing(value, owner) {
if (value !== void 0 && (typeof value !== "number" || !Number.isFinite(value))) throw new Error(`${owner} spacing must be a finite number`);
return value === void 0 ? "null" : String(value);
}
function gridItems(items, owner) {
if (!Array.isArray(items)) throw new Error(`${owner} items must be an array of GridItem values`);
return JSON.stringify(items.map(function(item, index) {
var _item_minimum, _item_maximum, _item_spacing, _item_alignment;
var label = `${owner} item ${index}`;
if (!item || typeof item !== "object") throw new Error(`${label} must be a GridItem`);
if (item.alignment !== void 0 && !gridAlignments.includes(item.alignment)) throw new Error(`${label} alignment must be a SwiftUI Alignment`);
if (item.spacing !== void 0 && (typeof item.spacing !== "number" || !Number.isFinite(item.spacing))) throw new Error(`${label} spacing must be a finite number`);
if (item.size === "fixed") {
nonnegative(item.value, `${label} value`, true);
} else if (item.size === "flexible" || item.size === "adaptive") {
var _item_minimum1;
nonnegative(item.minimum, `${label} minimum`, item.size === "adaptive");
nonnegative(item.maximum, `${label} maximum`);
if (item.maximum !== void 0 && item.maximum < ((_item_minimum1 = item.minimum) !== null && _item_minimum1 !== void 0 ? _item_minimum1 : 10)) throw new Error(`${label} maximum must be at least minimum`);
} else throw new Error(`${label} size must be fixed, flexible, or adaptive`);
return {
size: item.size,
value: item.size === "fixed" ? item.value : -1,
minimum: item.size === "fixed" ? -1 : (_item_minimum = item.minimum) !== null && _item_minimum !== void 0 ? _item_minimum : -1,
maximum: item.size === "fixed" ? -1 : (_item_maximum = item.maximum) !== null && _item_maximum !== void 0 ? _item_maximum : -1,
spacing: (_item_spacing = item.spacing) !== null && _item_spacing !== void 0 ? _item_spacing : null,
alignment: (_item_alignment = item.alignment) !== null && _item_alignment !== void 0 ? _item_alignment : ""
};
}));
}
export { gridAlignments, gridHorizontalAlignments, gridItems, gridSpacing, gridVerticalAlignments };
//# sourceMappingURL=gridTypes.native.js.map