UNPKG

@ownclouders/design-system

Version:

ownCloud Design System is based on VueDesign Systems and is used to design ownCloud UI components

92 lines (91 loc) 3.31 kB
/** * @component OcTableRow * @description A table row component (`<tr>`). It supports lazy loading, visibility detection, and emits various events for interaction. * * @props * @prop {Object} [lazy] - Optional lazy loading configuration. * @prop {number} lazy.colspan - The number of columns the row should span when lazy loading is active. * * @emits * @event click - Emitted when the row is clicked. * @param {MouseEvent} event - The click event object. * * @event contextmenu - Emitted when the context menu is triggered on the row. * @param {MouseEvent} event - The context menu event object. * * @event dragstart - Emitted when a drag operation starts on the row. * @param {DragEvent} event - The dragstart event object. * * @event drop - Emitted when an item is dropped on the row. * @param {DragEvent} event - The drop event object. * * @event dragenter - Emitted when a dragged item enters the row. * @param {DragEvent} event - The dragenter event object. * * @event dragleave - Emitted when a dragged item leaves the row. * @param {DragEvent} event - The dragleave event object. * * @event dragover - Emitted when a dragged item is over the row. * @param {DragEvent} event - The dragover event object. * * @event mouseleave - Emitted when the mouse leaves the row. * @param {MouseEvent} event - The mouseleave event object. * * @event itemVisible - Emitted when the row becomes visible in the viewport. * * @example * <oc-table-row * :lazy="{ colspan: 3 }" * @click="handleClick" * @itemVisible="handleVisibility" * > * <td>Row Content</td> * </oc-table-row> * */ interface Props { lazy?: { colspan: number; }; } declare function __VLS_template(): { attrs: Partial<{}>; slots: { default?(_: {}): any; }; refs: { observerTarget: HTMLTableRowElement; }; rootEl: HTMLTableRowElement; }; type __VLS_TemplateResult = ReturnType<typeof __VLS_template>; declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { click: (event: MouseEvent) => any; contextmenu: (event: MouseEvent) => any; dragenter: (event: DragEvent) => any; dragleave: (event: DragEvent) => any; dragover: (event: DragEvent) => any; dragstart: (event: DragEvent) => any; drop: (event: DragEvent) => any; mouseleave: (event: MouseEvent) => any; itemVisible: () => any; }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{ onClick?: (event: MouseEvent) => any; onContextmenu?: (event: MouseEvent) => any; onDragenter?: (event: DragEvent) => any; onDragleave?: (event: DragEvent) => any; onDragover?: (event: DragEvent) => any; onDragstart?: (event: DragEvent) => any; onDrop?: (event: DragEvent) => any; onMouseleave?: (event: MouseEvent) => any; onItemVisible?: () => any; }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, { observerTarget: HTMLTableRowElement; }, HTMLTableRowElement>; declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };