@payfit/unity-components
Version:
43 lines (42 loc) • 1.06 kB
JavaScript
import { partition as e } from "./utils/partition.js";
//#region src/components/select-list/helpers.ts
function t(e) {
return typeof e == "object" && !!e && "children" in e && Array.isArray(e.children);
}
function n(e) {
let n = e[Symbol.iterator]().next();
return n.done ? !1 : t(n.value);
}
function r(t, n) {
let [r, i] = e(Array.from(t), (e) => n.has(e.id));
return {
selectedItems: r,
remainingItems: i
};
}
function i(e) {
let n = [];
return Array.from(e).forEach((e) => {
t(e) && e.children.forEach((e) => {
n.push(e);
});
}), { allItems: n };
}
function a(e, n) {
let { allItems: r } = i(e);
return {
selectedItems: r.filter((e) => n.has(e.id)),
remainingSections: Array.from(e).map((e) => {
if (t(e)) {
let t = e.children.filter((e) => !n.has(e.id));
return {
...e,
children: t
};
}
return e;
}).filter((e) => t(e) && e.children.length > 0)
};
}
//#endregion
export { n as isNestedStructure, r as processSelectedItemsForFlatDynamicItems, a as processSelectedItemsForNestedDynamicItems };