UNPKG

@ariakit/react-core

Version:

Ariakit React core

64 lines (46 loc) 1.95 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _FVVTEJ4Kcjs = require('./FVVTEJ4K.cjs'); var _6TI3NXX6cjs = require('./6TI3NXX6.cjs'); var _L5A2ID7Scjs = require('./L5A2ID7S.cjs'); var _7EQBAZ46cjs = require('./7EQBAZ46.cjs'); // src/collection/collection-item.tsx var _misc = require('@ariakit/core/utils/misc'); var _react = require('react'); var TagName = "div"; var useCollectionItem = _6TI3NXX6cjs.createHook.call(void 0, function useCollectionItem2(_a) { var _b = _a, { store, shouldRegisterItem = true, getItem = _misc.identity, element: element } = _b, props = _7EQBAZ46cjs.__objRest.call(void 0, _b, [ "store", "shouldRegisterItem", "getItem", // @ts-expect-error This prop may come from a collection renderer. "element" ]); const context = _FVVTEJ4Kcjs.useCollectionContext.call(void 0, ); store = store || context; const id = _L5A2ID7Scjs.useId.call(void 0, props.id); const ref = _react.useRef.call(void 0, element); _react.useEffect.call(void 0, () => { const element2 = ref.current; if (!id) return; if (!element2) return; if (!shouldRegisterItem) return; const item = getItem({ id, element: element2 }); return store == null ? void 0 : store.renderItem(item); }, [id, shouldRegisterItem, getItem, store]); props = _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, {}, props), { ref: _L5A2ID7Scjs.useMergeRefs.call(void 0, ref, props.ref) }); return _misc.removeUndefinedValues.call(void 0, props); } ); var CollectionItem = _6TI3NXX6cjs.forwardRef.call(void 0, function CollectionItem2(props) { const htmlProps = useCollectionItem(props); return _6TI3NXX6cjs.createElement.call(void 0, TagName, htmlProps); }); exports.useCollectionItem = useCollectionItem; exports.CollectionItem = CollectionItem;