@ariakit/react-core
Version:
Ariakit React core
64 lines (46 loc) • 1.95 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _6HKL3JR2cjs = require('./6HKL3JR2.cjs');
var _WULEED4Qcjs = require('./WULEED4Q.cjs');
var _OZM4QA2Vcjs = require('./OZM4QA2V.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 = _WULEED4Qcjs.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 = _6HKL3JR2cjs.useCollectionContext.call(void 0, );
store = store || context;
const id = _OZM4QA2Vcjs.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: _OZM4QA2Vcjs.useMergeRefs.call(void 0, ref, props.ref)
});
return _misc.removeUndefinedValues.call(void 0, props);
}
);
var CollectionItem = _WULEED4Qcjs.forwardRef.call(void 0, function CollectionItem2(props) {
const htmlProps = useCollectionItem(props);
return _WULEED4Qcjs.createElement.call(void 0, TagName, htmlProps);
});
exports.useCollectionItem = useCollectionItem; exports.CollectionItem = CollectionItem;