UNPKG

hongluan-ui

Version:
1 lines 7.64 kB
{"version":3,"file":"props.mjs","sources":["../../../../../../packages/components/virtual-list/src/props.ts"],"sourcesContent":["import { buildProp } from '@hongluan-ui/utils'\nimport { LTR, RTL, VERTICAL } from './defaults'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { Indexable, StyleValue } from '@hongluan-ui/utils'\nimport type { Direction, LayoutDirection, ItemSize, GridItemKeyGetter } from './types'\n\nconst itemSize = {\n type: [Number, Function] as PropType<number | ItemSize>,\n required: true,\n}\n\nconst estimatedItemSize = {\n type: [Number] as PropType<number>,\n}\n\nconst cache = {\n type: Number as PropType<number>,\n default: 2,\n}\n\nconst direction = {\n type: String as PropType<Direction>,\n default: 'ltr',\n validator: (val: Direction) => {\n return val === LTR || val === RTL\n },\n}\n\nconst initScrollOffset = {\n type: Number,\n default: 0,\n}\n\nconst total = buildProp({\n type: Number,\n required: true,\n})\n\nconst layout = {\n type: String as PropType<LayoutDirection>,\n default: VERTICAL,\n}\n\nexport const virtualizedProps = {\n className: {\n type: [String, Object, Array],\n default: '',\n },\n\n containerElement: {\n type: [String, Object],\n default: 'div',\n },\n containerProps: {\n type: Object as PropType<Indexable<any>>,\n default: () => ({}),\n },\n\n data: {\n type: [Array] as PropType<any[]>,\n default: () => [],\n },\n\n /**\n * @description controls the horizontal direction.\n */\n direction,\n\n height: buildProp({\n type: [String, Number],\n required: true,\n }),\n\n innerElement: {\n type: [String, Object],\n default: 'div',\n },\n innerElementProps: {\n type: Object as PropType<Indexable<any>>,\n default: () => ({}),\n },\n\n style: {\n type: [Object, String, Array] as PropType<StyleValue>,\n },\n\n useIsScrolling: {\n type: Boolean,\n default: false,\n },\n\n width: buildProp({\n type: [Number, String],\n required: false,\n }),\n perfMode: {\n type: Boolean,\n default: true,\n },\n scrollbarAlwaysOn: {\n type: Boolean,\n default: false,\n },\n}\n\nexport const virtualizedListProps = {\n /**\n * @description describes how many items should be pre rendered to the head\n * and the tail of the window\n */\n cache,\n\n estimatedItemSize,\n\n /**\n * @description controls the list's orientation\n */\n layout,\n\n initScrollOffset,\n\n /**\n * @description describes the total number of the list.\n */\n total,\n\n itemSize,\n ...virtualizedProps,\n}\n\nconst scrollbarSize = {\n type: Number,\n default: 6,\n} as const\n\nconst startGap = { type: Number, default: 0 } as const\nconst endGap = { type: Number, default: 2 } as const\n\nexport const virtualizedGridProps = {\n columnCache: cache,\n columnWidth: itemSize,\n estimatedColumnWidth: estimatedItemSize,\n estimatedRowHeight: estimatedItemSize,\n initScrollLeft: initScrollOffset,\n initScrollTop: initScrollOffset,\n itemKey: {\n type: Function as PropType<GridItemKeyGetter>,\n default: ({\n columnIndex,\n rowIndex,\n }: {\n columnIndex: number\n rowIndex: number\n }) => `${rowIndex}:${columnIndex}`,\n },\n rowCache: cache,\n rowHeight: itemSize,\n totalColumn: total,\n totalRow: total,\n hScrollbarSize: scrollbarSize,\n vScrollbarSize: scrollbarSize,\n scrollbarStartGap: startGap,\n scrollbarEndGap: endGap,\n role: String,\n ...virtualizedProps,\n}\n\nexport const virtualizedScrollbarProps = {\n alwaysOn: Boolean,\n class: String,\n layout,\n total,\n ratio: {\n type: Number,\n required: true,\n },\n clientSize: {\n type: Number,\n required: true,\n },\n scrollFrom: {\n type: Number,\n required: true,\n },\n scrollbarSize,\n startGap,\n endGap,\n visible: Boolean,\n}\n\nexport type VirtualizedProps = ExtractPropTypes<typeof virtualizedProps>\nexport type VirtualizedListProps = ExtractPropTypes<typeof virtualizedListProps>\nexport type VirtualizedGridProps = ExtractPropTypes<typeof virtualizedGridProps>\n\nexport type VirtualizedScrollbarProps = ExtractPropTypes<\n typeof virtualizedScrollbarProps\n>\n"],"names":[],"mappings":"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"}