@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
TypeScript
/**
* @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;
};
};