UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

3 lines (2 loc) 806 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@vexip-ui/utils");function s(a){function h(i){let c=a.getNode(i);if(c)for(;!l.isNull(c.parent);){const n=c.parent,e=a.getNode(n);if(!e||c.checked===e.checked&&c.partial===e.partial)break;c.checked?(e.checked=e.children.every(t=>t.checked),e.partial=!e.checked):(e.checked=!1,e.partial=e.children.some(t=>t.checked||t.partial)),c=e}}function o(i){const c=a.getNode(i);if(!c)return;const n=typeof a.disableNode=="function"?a.disableNode:l.toFalse,e=c.checked,t=c.partial,r=[...c.children];let d;for(;r.length;)d=r.shift(),!n(d)&&(d.checked=e,d.partial=t,d.children.length&&r.push(...d.children))}return{updateCheckedUpward:h,updateCheckedDown:o}}exports.useCascadedChecked=s; //# sourceMappingURL=hooks.cjs.map