UNPKG

@vrx-arco/use

Version:

<p align="center"> <img src="https://vrx-arco.github.io/arco-design-pro/favicon.svg" width="200" height="250"> </p>

160 lines (147 loc) 6.76 kB
import { MaybeRef } from "@vueuse/core"; import * as vue0 from "vue"; import * as vue25 from "vue"; import * as vue20 from "vue"; import * as vue22 from "vue"; import * as vue24 from "vue"; import { MaybeRefOrGetter, Ref } from "vue"; import { PaginationProps, TableColumnData, TableData, TreeFieldNames, TreeSelectInstance } from "@arco-design/web-vue"; //#region src/useShareBreakpoints/index.d.ts declare const useShareBreakpoints: () => Record<"sm" | "md" | "lg" | "xl" | "xxl", vue0.ComputedRef<boolean>> & { greaterOrEqual: (k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">) => vue0.ComputedRef<boolean>; smallerOrEqual: (k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">) => vue0.ComputedRef<boolean>; greater(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): vue0.ComputedRef<boolean>; smaller(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): vue0.ComputedRef<boolean>; between(a: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">, b: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): vue0.ComputedRef<boolean>; isGreater(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean; isGreaterOrEqual(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean; isSmaller(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean; isSmallerOrEqual(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean; isInBetween(a: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">, b: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean; current: () => vue0.ComputedRef<("sm" | "md" | "lg" | "xl" | "xxl")[]>; active(): vue0.ComputedRef<"" | "sm" | "md" | "lg" | "xl" | "xxl">; }; //#endregion //#region src/propsSlot/index.d.ts declare const propsSlot: <Prop extends Record<string, any> = Record<string, any>>(slots: any, props: Prop, key: keyof Prop, slotKey?: string) => any; //#endregion //#region src/useProPagination/types.d.ts interface ProPaginationOption { total: number; pageNum: number; pageSize: number; } type PropPaginationProps = Omit<PaginationProps, 'total' | 'current' | 'pageSize'>; //#endregion //#region src/useProPagination/useProPagination.d.ts declare const useProPagination: (data: Ref<any[]>, pagination: Ref<true | ProPaginationOption | undefined>, paginationProps: Ref<PaginationProps | undefined>) => { data: vue25.ComputedRef<any[]>; total: vue25.ComputedRef<number>; current: Ref<number, number>; pageSize: any; pageChange: (value: number) => void; pageSizeChange: (value: number) => void; } | { total: vue25.ComputedRef<number>; current: vue25.WritableComputedRef<number, number>; pageSize: vue25.WritableComputedRef<number, number>; pageChange: (value: number) => void; pageSizeChange: (value: number) => void; data: Ref<any[], any[]>; }; //#endregion //#region src/useGrid/index.d.ts declare const useGrid: (useColumn: boolean, column: Ref<Record<string, any> | number>, gutter?: Ref<number | [number, number]>) => { gridProps: vue20.ComputedRef<{ span: number; gutter: number | [number, number] | undefined; }>; grid: vue20.ComputedRef<string>; }; //#endregion //#region src/controlVModel/index.d.ts declare const controlVModel: <Props extends Record<string, any>, Key extends keyof Props, Data extends Props[Key]>(props: Props, name: Key, emit: any, init: () => Data) => Ref<Data>; //#endregion //#region src/filterEmptyChildren/index.d.ts declare const filterEmptyChildren: (children?: any[]) => any[]; //#endregion //#region src/useEmptyComponent/index.d.ts declare const useEmptyComponentProvide: () => { empty: vue22.Ref<boolean, boolean>; }; declare const useEmptyComponentInject: () => { empty: vue22.Ref<boolean, boolean>; }; //#endregion //#region src/interface.d.ts /** * `<ATableColumn/>` cell 插槽的类型帮助方法 */ interface ATableColumnCell<Record extends TableData = TableData> { record: Record; column: TableColumnData; rowIndex: number; } //#endregion //#region src/createTreeSelectFilterNode.d.ts interface CreateTreeSelectFilterNodeReturn { fieldNames: MaybeRef<TreeFieldNames>; filterTreeNode: TreeSelectInstance['filterTreeNode']; } /** * 解决arco tree-select反人类的默认筛选 key 的帮助方法 * 简洁的封装 tree-select 筛选 title 的逻辑 * * ```vue * <script setup lang="ts"> * import { createTreeSelectFilterNode } from '@vrx-arco/use' * const treeFilter = createTreeSelectFilterNode({title:'name'}) * </script> * <template> * <ATeeSelect v-bind="treeFilter"/> * </template> * ``` * *** 暂时不要将这个方法用到生产,现在还是半成品,可能会更改 *** * @inner */ declare const createTreeSelectFilterNode: (fieldNames: MaybeRef<TreeFieldNames>) => CreateTreeSelectFilterNodeReturn; //#endregion //#region src/useRangePickerValue.d.ts /** * 解决在使用 arco RangePicker 向后端传递数据时常常要将数据处理成,以下形式的问题 * 要将 ['2024-11-20 11:20:00','2024-11-20 21:20:00'] 数据转换为 {startTime:'2024-11-20 11:20:00',endTime:'2024-11-20 21:20:00'} * * ```vue * <script setup lang="ts"> * import { useRangePickerObjectValue } from '@vrx-arco/use' * const model = ref({}) * const rangePickerValue = useRangePickerObjectValue(model,'startTime','endTime') * * const handleSubmit = ()=>{ * // 提交 以下格式数据{startTime:'2024-11-20 11:20:00',endTime:'2024-11-20 21:20:00'} * fetch('/api/submit',{method:'post',body:JSON.stringify(model.value)}) * } * </script> * <template> * <AForm :model="model" @submit="handleSubmit"> * <AFormItem> * <ARangePicker v-model="rangePickerValue" /> * </AFormItem> * </AForm> * </template> * ``` * *** 暂时不要将这个方法用到生产,现在还是半成品,可能会更改 *** * @inner */ declare const useRangePickerObjectValue: <Modal extends Record<string, any>>(model: MaybeRefOrGetter<Modal>, startKey: keyof Modal, endKey: keyof Modal) => vue24.WritableComputedRef<(string | number | Date)[], (string | number | Date)[]>; //#endregion //#region src/useAbortController.d.ts interface IUseAbortController { onabort?: () => void; } declare function useAbortController(options?: IUseAbortController): { abort: () => void; readonly signal: AbortSignal | undefined; }; //#endregion export { ATableColumnCell, CreateTreeSelectFilterNodeReturn, IUseAbortController, ProPaginationOption, PropPaginationProps, ATableColumnCell as TableColumnCell, controlVModel, createTreeSelectFilterNode, filterEmptyChildren, propsSlot, useAbortController, useEmptyComponentInject, useEmptyComponentProvide, useGrid, useProPagination, useRangePickerObjectValue, useShareBreakpoints };