Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 22x 4x 4x 4x 22x 22x 119x 119x 119x 119x 119x 117x 1x 22x | import { type TagType } from '../store/Types'; import { type SectionElement, useSectionStore } from '../store/Section'; import { useSectionRender } from '../utils/useRender'; export const Ellipsis = <K extends TagType>(props: SectionElement<K>) => { const { Ellipsis: Comp = {} } = useSectionStore(); useSectionRender(Comp, props, 'Ellipsis'); return null; }; Ellipsis.displayName = 'JVR.Ellipsis'; export interface EllipsisCompProps<T extends object> { value?: T; keyName: string | number; isExpanded: boolean; } export const EllipsisComp = <T extends object>({ isExpanded, value, keyName }: EllipsisCompProps<T>) => { const { Ellipsis: Comp = {} } = useSectionStore(); const { as, render, ...reset } = Comp; const Elm = as || 'span'; const child = render && typeof render === 'function' && render({ ...reset, 'data-expanded': isExpanded }, { value, keyName }); if (child) return child; if (!isExpanded || (typeof value === 'object' && Object.keys(value).length == 0)) return null; return <Elm {...reset} />; }; EllipsisComp.displayName = 'JVR.EllipsisComp'; |