UNPKG

@payfit/unity-components

Version:

43 lines (42 loc) 1.06 kB
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 };