{"version":3,"file":"limit-actions.cjs","sources":["../src/limit-actions.ts"],"sourcesContent":["import { isActionsGroup } from './is-actions-group';\nimport type { SpotlightActionData, SpotlightActions } from './Spotlight';\n\nexport function limitActions(actions: SpotlightActions[], limit: number) {\n  if (!Array.isArray(actions)) {\n    return [];\n  }\n\n  let count = 0;\n  return actions.reduce<SpotlightActions[]>((acc, item) => {\n    if (count >= limit) {\n      return acc;\n    }\n\n    if (isActionsGroup(item)) {\n      const groupActions = limitActions(item.actions, limit - count);\n      acc.push({\n        group: item.group,\n        actions: groupActions as SpotlightActionData[],\n      });\n      count += groupActions.length;\n    } else {\n      acc.push(item);\n      count += 1;\n    }\n\n    return acc;\n  }, []);\n}\n"],"names":["limitActions","actions","limit","Array","isArray","count","reduce","acc","item","isActionsGroup","groupActions","push","group","length"],"mappings":";;;;AAGO,SAASA,YAAAA,CAAaC,SAA6BC,KAAA,EAAe;AACvE,EAAA,IAAI,CAACC,KAAA,CAAMC,OAAA,CAAQH,OAAO,CAAA,EAAG;AAC3B,IAAA,OAAO,EAAC;AACV,EAAA;EAEA,IAAII,KAAA,GAAQ,CAAA;EACZ,OAAOJ,OAAA,CAAQK,MAAA,CAA2B,CAACC,GAAA,EAAKC,IAAA,KAAS;IACvD,IAAIH,SAASH,KAAA,EAAO;AAClB,MAAA,OAAOK,GAAA;AACT,IAAA;AAEA,IAAA,IAAIE,6BAAA,CAAeD,IAAI,CAAA,EAAG;MACxB,MAAME,YAAA,GAAeV,YAAA,CAAaQ,IAAA,CAAKP,OAAA,EAASC,QAAQG,KAAK,CAAA;MAC7DE,GAAA,CAAII,IAAA,CAAK;QACPC,OAAOJ,IAAA,CAAKI,KAAA;AACZX,QAAAA,OAAA,EAASS;AACX,OAAC,CAAA;MACDL,KAAA,IAASK,YAAA,CAAaG,MAAA;AACxB,IAAA,CAAA,MAAO;AACLN,MAAAA,GAAA,CAAII,KAAKH,IAAI,CAAA;AACbH,MAAAA,KAAA,IAAS,CAAA;AACX,IAAA;AAEA,IAAA,OAAOE,GAAA;EACT,CAAA,EAAG,EAAE,CAAA;AACP;;;;"}