UNPKG

@modern-kit/react

Version:
40 lines (36 loc) 992 B
'use strict'; var jsxRuntime = require('react/jsx-runtime'); var React = require('react'); var componentsIterator = require('../Iterator/index.cjs'); require('@modern-kit/utils'); const SeparatedIterator = ({ itemKey, items, separator, renderItem, separatorInterval = 1, includeLastSeparator = false }) => { const isRenderSeparator = React.useCallback( (index) => { if (index === items.length - 1) { return includeLastSeparator; } return (index + 1) % separatorInterval === 0; }, [includeLastSeparator, separatorInterval, items.length] ); return /* @__PURE__ */ jsxRuntime.jsx( componentsIterator.Iterator, { items, itemKey, renderItem: (item, index) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [ renderItem(item, index), isRenderSeparator(index) && separator ] }) } ); }; exports.SeparatedIterator = SeparatedIterator; //# sourceMappingURL=index.cjs.map