@nexusui/components
Version:
These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.
2 lines (1 loc) • 640 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("lodash/groupBy"),t=require("react");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(e);exports.useParentFileSort=(e,r)=>{const o=t.useMemo((()=>n.default(e,(e=>{const t=e.name.split(".");return t.pop(),t.join("")}))),[e]);return{sortedFiles:t.useMemo((()=>{let e=[];const t=new RegExp(`\\.${r}$`,"i");return Object.keys(o).sort().forEach((n=>{const s=o[n],a=null!==r;a&&s.sort(((e,r)=>t.test(e.name)?-1:t.test(r.name)?1:r.name>e.name?-1:e.name>r.name?1:0)),e=e.concat(s.map(((e,t)=>(e.isSubFile=t>0&&a,e))))})),e}),[o,r])}};