one
Version:
One is a React framework for web, iOS, and Android apps.
188 lines (185 loc) • 8.27 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var composeFamilyValidation_exports = {};
__export(composeFamilyValidation_exports, {
composeRangeDay: () => composeRangeDay,
validateComposeFamily: () => validateComposeFamily
});
module.exports = __toCommonJS(composeFamilyValidation_exports);
var import_syncStore = require("./syncStore.native.js");
var import_composeValidation = require("./composeValidation.native.js");
function composeRangeDay(date) {
return Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
}
function localRangeDay(date) {
return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
}
function validateComposeFamily(kind, props) {
var fail = function fail2(key5) {
throw new Error(`Compose ${kind} invalid ${key5}`);
};
var number = function number2(key5) {
var minimum = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, maximum = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Infinity;
var value2 = props[key5];
if (value2 !== void 0 && (typeof value2 !== "number" || !Number.isFinite(value2) || value2 < minimum || value2 > maximum)) fail(key5);
};
var boolean = function boolean2(key5) {
if (props[key5] !== void 0 && typeof props[key5] !== "boolean") fail(key5);
};
var callback = function callback2(key5) {
if (props[key5] !== void 0 && typeof props[key5] !== "function") fail(key5);
};
if (kind.endsWith("carousel")) {
for (var _i = 0, _iter = [
"maxItemWidth",
"preferredItemWidth",
"itemWidth",
"minSmallItemWidth",
"maxSmallItemWidth"
]; _i < _iter.length; _i++) {
var key = _iter[_i];
number(key, Number.MIN_VALUE);
}
number("itemSpacing");
boolean("userScrollEnabled");
if (kind === "multibrowsecarousel" && props.preferredItemWidth === void 0) fail("preferredItemWidth");
if (kind === "uncontainedcarousel" && props.itemWidth === void 0) fail("itemWidth");
if (props.minSmallItemWidth !== void 0 && props.maxSmallItemWidth !== void 0 && props.minSmallItemWidth > props.maxSmallItemWidth) fail("small item widths");
if (props.flingBehavior !== void 0 && !["singleAdvance", "noSnap"].includes(props.flingBehavior)) fail("flingBehavior");
if (typeof props.contentPadding === "number") {
if (!Number.isFinite(props.contentPadding) || props.contentPadding < 0) fail("contentPadding");
} else if (props.contentPadding !== void 0) {
if (!props.contentPadding || typeof props.contentPadding !== "object") fail("contentPadding");
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
try {
for (var _iterator = Object.values(props.contentPadding)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var value = _step.value;
if (typeof value !== "number" || !Number.isFinite(value) || value < 0) fail("contentPadding");
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
} else if (kind === "shape") {
for (var _i1 = 0, _iter1 = [
"smoothing",
"cornerRounding",
"innerRadius",
"radius"
]; _i1 < _iter1.length; _i1++) {
var key1 = _iter1[_i1];
number(key1, 0, 1);
}
number("verticesCount", 3);
if (props.verticesCount !== void 0 && !Number.isInteger(props.verticesCount)) fail("verticesCount");
for (var _i2 = 0, _iter2 = [
"topStart",
"topEnd",
"bottomStart",
"bottomEnd"
]; _i2 < _iter2.length; _i2++) {
var key2 = _iter2[_i2];
number(key2);
}
} else if (kind === "dialog") {
callback("onDismissRequest");
if (props.properties !== void 0) {
if (!props.properties || typeof props.properties !== "object") fail("properties");
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
try {
for (var _iterator1 = Object.entries(props.properties)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
var [key3, value1] = _step1.value;
if (![
"dismissOnBackPress",
"dismissOnClickOutside",
"usePlatformDefaultWidth",
"decorFitsSystemWindows"
].includes(key3) || typeof value1 !== "boolean") fail(key3);
}
} catch (err) {
_didIteratorError1 = true;
_iteratorError1 = err;
} finally {
try {
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
_iterator1.return();
}
} finally {
if (_didIteratorError1) {
throw _iteratorError1;
}
}
}
}
} else if (kind === "toolbar") {
if (props.variant !== void 0 && !["standard", "vibrant"].includes(props.variant)) fail("variant");
} else if (kind === "syncswitch") {
if (!(0, import_syncStore.isSyncState)(props.isOn) || typeof props.isOn.value !== "boolean") fail("isOn (requires NativeState<boolean>)");
boolean("enabled");
} else if (kind === "range") {
var _ref, _ref1;
var _props_selectableDates, _props_selectableDates1, _props_selectableDates2, _props_selectableDates3, _props_selectableDates4, _props_selectableDates5;
var date = function date2(key5) {
var value2 = props[key5];
if (value2 == null) return void 0;
if (typeof value2 !== "string" || !Number.isFinite(new Date(value2).getTime())) fail(key5);
return new Date(value2);
};
var start = date("initialStartDate");
var end = date("initialEndDate");
if (end && (!start || composeRangeDay(end) < composeRangeDay(start))) fail("initialEndDate");
callback("onDateRangeSelected");
for (var _i3 = 0, _iter3 = [
"showTitle",
"showHeadline",
"showVariantToggle"
]; _i3 < _iter3.length; _i3++) {
var key4 = _iter3[_i3];
boolean(key4);
}
(0, import_composeValidation.validateDatePickerProps)({
selection: localRangeDay((_ref = (_ref1 = start !== null && start !== void 0 ? start : (_props_selectableDates = props.selectableDates) === null || _props_selectableDates === void 0 ? void 0 : _props_selectableDates.start) !== null && _ref1 !== void 0 ? _ref1 : (_props_selectableDates1 = props.selectableDates) === null || _props_selectableDates1 === void 0 ? void 0 : _props_selectableDates1.end) !== null && _ref !== void 0 ? _ref : /* @__PURE__ */ new Date()),
minimumDate: ((_props_selectableDates2 = props.selectableDates) === null || _props_selectableDates2 === void 0 ? void 0 : _props_selectableDates2.start) && localRangeDay(props.selectableDates.start),
maximumDate: ((_props_selectableDates3 = props.selectableDates) === null || _props_selectableDates3 === void 0 ? void 0 : _props_selectableDates3.end) && localRangeDay(props.selectableDates.end),
variant: props.variant,
colors: props.elementColors,
color: props.color
});
if (end) (0, import_composeValidation.validateDatePickerProps)({
selection: localRangeDay(end),
minimumDate: ((_props_selectableDates4 = props.selectableDates) === null || _props_selectableDates4 === void 0 ? void 0 : _props_selectableDates4.start) && localRangeDay(props.selectableDates.start),
maximumDate: ((_props_selectableDates5 = props.selectableDates) === null || _props_selectableDates5 === void 0 ? void 0 : _props_selectableDates5.end) && localRangeDay(props.selectableDates.end)
});
}
}
//# sourceMappingURL=composeFamilyValidation.native.js.map