{"version":3,"sources":["../../../src/components/layout/DividerInserter.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\nimport clsx from 'clsx'\n\nexport type DividerInserterProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> & {\n  children: ReactNode[],\n  divider: (index: number) => ReactNode,\n}\n\n/**\n * A Component for inserting a divider in the middle of each child element\n *\n *  undefined elements are removed\n */\nexport const DividerInserter = ({\n  children,\n  divider,\n  className,\n  ...restProps\n}: DividerInserterProps) => {\n  const nodes: ReactNode[] = []\n\n  for (let index = 0; index < children.length; index++) {\n    const element = children[index]\n    if (element !== undefined) {\n      nodes.push(element)\n      if (index < children.length - 1) {\n        nodes.push(divider(index))\n      }\n    }\n  }\n\n  return (\n    <div className={clsx(className)} {...restProps}>\n      {nodes}\n    </div>\n  )\n}\n"],"mappings":";AACA,OAAO,UAAU;AA+Bb;AAnBG,IAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA4B;AAC1B,QAAM,QAAqB,CAAC;AAE5B,WAAS,QAAQ,GAAG,QAAQ,SAAS,QAAQ,SAAS;AACpD,UAAM,UAAU,SAAS,KAAK;AAC9B,QAAI,YAAY,QAAW;AACzB,YAAM,KAAK,OAAO;AAClB,UAAI,QAAQ,SAAS,SAAS,GAAG;AAC/B,cAAM,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAEA,SACE,oBAAC,SAAI,WAAW,KAAK,SAAS,GAAI,GAAG,WAClC,iBACH;AAEJ;","names":[]}