UNPKG

@modern-kit/react

Version:
38 lines (35 loc) 908 B
import { jsx, jsxs, Fragment } from 'react/jsx-runtime'; import { useCallback } from 'react'; import { Iterator } from '../Iterator/index.mjs'; import '@modern-kit/utils'; const SeparatedIterator = ({ itemKey, items, separator, renderItem, separatorInterval = 1, includeLastSeparator = false }) => { const isRenderSeparator = useCallback( (index) => { if (index === items.length - 1) { return includeLastSeparator; } return (index + 1) % separatorInterval === 0; }, [includeLastSeparator, separatorInterval, items.length] ); return /* @__PURE__ */ jsx( Iterator, { items, itemKey, renderItem: (item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [ renderItem(item, index), isRenderSeparator(index) && separator ] }) } ); }; export { SeparatedIterator }; //# sourceMappingURL=index.mjs.map