diff --git a/build/webpack.dist.prod.config.js b/build/webpack.dist.prod.config.js index a821976a..94cc5829 100644 --- a/build/webpack.dist.prod.config.js +++ b/build/webpack.dist.prod.config.js @@ -4,6 +4,7 @@ const merge = require('webpack-merge'); const webpackBaseConfig = require('./webpack.base.config.js'); const CompressionPlugin = require('compression-webpack-plugin'); const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); process.env.NODE_ENV = 'production'; @@ -35,7 +36,7 @@ module.exports = merge(webpackBaseConfig, { }), new UglifyJsPlugin({ parallel: true, - sourceMap: true, + sourceMap: true }), new CompressionPlugin({ asset: '[path].gz[query]', @@ -43,6 +44,12 @@ module.exports = merge(webpackBaseConfig, { test: /\.(js|css)$/, threshold: 10240, minRatio: 0.8 - }) + }), + new CopyWebpackPlugin([ + { + from: path.resolve(__dirname, './../types'), + to: path.resolve(__dirname, './../dist/types') + } + ]) ] }); diff --git a/package.json b/package.json index 8f0b1b78..c716a135 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "framework" ], "main": "dist/iview.js", + "typings": "types/index.d.ts", "files": [ "dist", "src" @@ -111,7 +112,8 @@ "vue-template-compiler": "^2.5.16", "webpack": "^3.11.0", "webpack-dev-server": "^2.11.1", - "webpack-merge": "^3.0.0" + "webpack-merge": "^3.0.0", + "copy-webpack-plugin": "^4.5.2" }, "engines": { "node": ">=8.9.1", diff --git a/types/affix.d.ts b/types/affix.d.ts new file mode 100644 index 00000000..d4f7d364 --- /dev/null +++ b/types/affix.d.ts @@ -0,0 +1,22 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Affix extends Vue { + /** + * 距离窗口顶部达到指定偏移量后触发 + * @default 0 + */ + 'offset-top'?: number; + /** + * 距离窗口底部达到指定偏移量后触发 + */ + 'offset-bottom'?: number; + /** + * 在固定状态发生改变时触发 + * @param value true | false + */ + $emit(eventName: 'on-change', value: boolean): this; +} \ No newline at end of file diff --git a/types/alert.d.ts b/types/alert.d.ts new file mode 100644 index 00000000..1135a928 --- /dev/null +++ b/types/alert.d.ts @@ -0,0 +1,48 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Alert extends Vue { + /** + * 警告提示样式,可选值为info、success、warning、error + * @default info + */ + type?: 'info' | 'success' | 'warning' | 'error'; + /** + * 是否可关闭 + * @default false + */ + closable?: boolean; + /** + * 是否显示图标 + * @default false + */ + 'show-icon'?: boolean; + /** + * 关闭时触发 + */ + $emit(eventName: 'on-close', event: HTMLElement): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 警告提示内容 + */ + '': VNode[]; + /** + * 警告提示辅助性文字介绍 + */ + desc: VNode[]; + /** + * 自定义图标内容 + */ + icon: VNode[]; + /** + * 自定义关闭内容 + */ + close: VNode[]; + }; +} \ No newline at end of file diff --git a/types/anchor.d.ts b/types/anchor.d.ts new file mode 100644 index 00000000..9a5c996b --- /dev/null +++ b/types/anchor.d.ts @@ -0,0 +1,67 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Anchor extends Vue { + /** + * 固定模式 + * @default true + */ + affix?: boolean; + /** + * 距离窗口顶部达到指定偏移量后触发 + * @default 0 + */ + 'offset-top'?: number; + /** + * 距离窗口底部达到指定偏移量后触发 + */ + 'offset-bottom'?: number; + /** + * 锚点区域边界,单位:px + * @default 5 + */ + bounds?: number; + /** + * 点击滚动的额外距离 + * @default 0 + */ + 'scroll-offset'?: number; + /** + * 指定滚动的容器 + */ + container?: string | HTMLElement; + /** + * 是否显示小圆点 + * @default false + */ + 'show-ink'?: boolean; + /** + * 点击锚点时触发,返回链接 + */ + $emit(eventName: 'on-select', href: string): this; + /** + * 链接改变时触发,返回新链接和旧链接 + */ + $emit(eventName: 'on-change', []): this; +} + +export declare class AnchorLink extends Vue { + /** + * 锚点链接 + * @default + */ + href?: string; + /** + * 文字内容 + * @default + */ + title?: string; + /** + * 点击滚动的额外距离 + * @default 0 + */ + 'scroll-offset'?: number; +} \ No newline at end of file diff --git a/types/auto-complete.d.ts b/types/auto-complete.d.ts new file mode 100644 index 00000000..33d29753 --- /dev/null +++ b/types/auto-complete.d.ts @@ -0,0 +1,75 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class AutoComplete extends Vue { + /** + * 绑定的值,可使用 v-model 双向绑定 + */ + value?: string | number; + /** + * 自动完成的数据源 + * @default [] + */ + data?: string[] | number[]; + /** + * 是否可以清空选项 + * @default false + */ + clearable?: boolean; + /** + * 是否禁用 + * @default false + */ + disabled?: boolean; + /** + * 占位文本 + */ + placeholder?: string; + /** + * 输入框尺寸,可选值为 large、small、default 或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 输入框尾部图标 + */ + icon?: string; + /** + * 是否根据输入项进行筛选。当其为一个函数时,会接收 value 和 option 两个参数, + * 当 option 符合筛选条件时,应返回 true,反之则返回 false, + * @default false + */ + 'filter-method'?: boolean | (() => boolean); + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时, + * 建议添加此属性,它将不受父级样式影响,从而达到更好的效果, + * @default false + */ + transfer?: boolean; + /** + * 给表单元素设置 id,详见 Form 用法。 + */ + 'element-id'?: string; + /** + * 选中 option,或 input 的 value 变化时,调用此函数 + */ + $emit(eventName: 'on-change', value: string | number): this; + /** + * 被选中时调用,参数为选中项的 value 值 + */ + $emit(eventName: 'on-select', value: string | number): this; + /** + * 搜索补全项的时候调用 + */ + $emit(eventName: 'on-search', query: string): this; + /** + * 搜索补全项的时候调用 + */ + $emit(eventName: 'on-focus', event: KeyboardEvent): this; + /** + * 搜索补全项的时候调用 + */ + $emit(eventName: 'on-blur', event: KeyboardEvent): this; +} diff --git a/types/avatar.d.ts b/types/avatar.d.ts new file mode 100644 index 00000000..81533937 --- /dev/null +++ b/types/avatar.d.ts @@ -0,0 +1,30 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Avatar extends Vue { + /** + * 指定头像的形状,可选值为 circle、square + * @default circle + */ + shape?: 'circle' | 'square'; + /** + * 设置头像的大小,可选值为 large、small、default + * @default default + */ + size?: 'large'|'small'|'default'; + /** + * 图片类头像的资源地址 + */ + src?: string; + /** + * 设置头像的图标类型,参考 Icon 组件 + */ + icon?: string; + /** + * 自定义图标 + */ + 'custom-icon'?: string; +} \ No newline at end of file diff --git a/types/back-top.d.ts b/types/back-top.d.ts new file mode 100644 index 00000000..862d044c --- /dev/null +++ b/types/back-top.d.ts @@ -0,0 +1,32 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class BackTop extends Vue { + /** + * 页面滚动高度达到该值时才显示BackTop组件 + * @default 400 + */ + height?: number; + /** + * 组件距离底部的距离 + * @default 30 + */ + bottom?: number; + /** + * 组件距离右部的距离 + * @default 30 + */ + right?: number; + /** + * 滚动动画持续时间,单位 毫秒 + * @default 1000 + */ + duration?: number; + /** + * 点击按钮时触发 + */ + $emit(eventName: 'on-click'): this; +} diff --git a/types/badge.d.ts b/types/badge.d.ts new file mode 100644 index 00000000..36f253f2 --- /dev/null +++ b/types/badge.d.ts @@ -0,0 +1,47 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Badge extends Vue { + /** + * 显示的数字,大于overflowCount时,显示${overflowCount}+,为 0 时隐藏 + */ + count?: number | string; + /** + * 展示封顶的数字值 + * @default 99 + */ + 'overflow-count'?: number | string; + /** + * 不展示数字,只有一个小红点,如需隐藏 dot ,需要设置count为 0 + * @default false + */ + dot?: boolean + /** + * 自定义的class名称,dot 模式下无效 + */ + 'class-name'?: string; + /** + * 使用预设的颜色,可选值为 success、primary、normal、error、warning、info + */ + type?: 'success' | 'primary' | 'normal' | 'error' | 'warning' | 'info'; + /** + * 当数值为 0 时,是否展示 Badge + * @default false + */ + 'show-zero'?: boolean; + /** + * 设置 Badge 为状态点,可选值为 success、processing、default、error、warning + */ + status?: 'success' | 'processing' | 'default' | 'error' | 'warning'; + /** + * 自定义内容,如果设置了 status,则为状态点的文本 + */ + text?: string; + /** + * 设置状态点的位置偏移,格式为 [x, y] + */ + offset?: number[]; +} \ No newline at end of file diff --git a/types/breadcrumb.d.ts b/types/breadcrumb.d.ts new file mode 100644 index 00000000..b904b496 --- /dev/null +++ b/types/breadcrumb.d.ts @@ -0,0 +1,30 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Breadcrumb extends Vue { + /** + * 自定义分隔符 + * @default / + */ + separator?: string; +} + +export declare class BreadcrumbItem extends Vue { + /** + * 链接,不传则没有链接 + */ + to?: string | object; + /** + * 路由跳转时,开启 replace 将不会向 history 添加新记录 + * @default false + */ + replace?: boolean; + /** + * 相当于 a 链接的 target 属性 + * @default _self + */ + target?: '_blank' | '_self' | '_parent' | '_top'; +} \ No newline at end of file diff --git a/types/button.d.ts b/types/button.d.ts new file mode 100644 index 00000000..282d5978 --- /dev/null +++ b/types/button.d.ts @@ -0,0 +1,86 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Button extends Vue { + /** + * 按钮类型,可选值为 default、primary、dashed、text、info、success、warning、error或者不设置 + * @default default + */ + type?: '' | 'default' | 'primary' | 'dashed' | 'text' | 'info' | 'success' | 'warning' | 'error'; + /** + * 幽灵属性,使按钮背景透明 + * @default false + */ + ghost?: boolean; + /** + * 按钮大小,可选值为large、small、default或者不设置 + * @default default + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 按钮形状,可选值为circle或者不设置 + */ + shape?: '' | 'circle'; + /** + * 开启后,按钮的长度为 100% + * @default false + */ + long?: boolean; + /** + * 设置button原生的type,可选值为button、submit、reset + * @default button + */ + 'html-type'?: 'button' | 'submit' | 'reset'; + /** + * 设置按钮为禁用状态 + * @default false + */ + disabled?: boolean; + /** + * 设置按钮为加载中状态 + * @default false + */ + loading?: boolean; + /** + * 设置按钮的图标类型 + */ + icon?: string; + /** + * 设置按钮的自定义图标 + */ + 'custom-icon'?: string; + /** + * 跳转的链接,支持 vue-router 对象 + */ + to?: string | object; + /** + * 路由跳转时,开启 replace 将不会向 history 添加新记录 + * @default false + */ + replace?: boolean; + /** + * 相当于 a 链接的 target 属性 + * @default _self + */ + target?: '_blank' | '_self' | '_parent' | '_top'; +} + +export declare class ButtonGroup extends Vue { + /** + * 按钮组合大小,可选值为large、small、default或者不设置 + * @default default + */ + size?: 'large' | 'small' | 'default'; + /** + * 按钮组合形状,可选值为circle或者不设置 + */ + shape?: '' | 'circle'; + /** + * 是否纵向排列按钮组 + * @default false + */ + vertical?: boolean; +} \ No newline at end of file diff --git a/types/card.d.ts b/types/card.d.ts new file mode 100644 index 00000000..30f3d80c --- /dev/null +++ b/types/card.d.ts @@ -0,0 +1,53 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Card extends Vue { + /** + * 是否显示边框,建议在灰色背景下使用 + * @default true + */ + 'bordered'?: boolean; + /** + * 禁用鼠标悬停显示阴影 + * @default false + */ + 'dis-hover'?: boolean; + /** + * 卡片阴影,建议在灰色背景下使用 + * @default false + */ + 'shadow'?: boolean; + /** + * 卡片内部间距,单位 px + * @default 16 + */ + 'padding'?: number; + /** + * 标题,2.12.0 新增 + */ + title?: string; + /** + * 标题前的图标,2.12.0 新增 + */ + icon?: string; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义卡片标题,如果是简单文字,可以使用

标签包裹 + */ + title: VNode[]; + /** + * 额外显示的内容,默认位置在右上角 + */ + extra: VNode[]; + /** + * 卡片主体内容 + */ + '': VNode[]; + }; +} \ No newline at end of file diff --git a/types/carousel.d.ts b/types/carousel.d.ts new file mode 100644 index 00000000..a9e0a275 --- /dev/null +++ b/types/carousel.d.ts @@ -0,0 +1,65 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Carousel extends Vue { + /** + * 幻灯片的索引,从 0 开始,可以使用 v-model 双向绑定数据 + * @default 0 + */ + value?: number; + /** + * 走马灯的高度,可填 auto 或具体高度数值,单位 px + * @default auto + */ + height?: string | number; + /** + * 是否开启循环 + * @default false + */ + loop?: boolean; + /** + * 是否自动切换 + */ + autoplay?: boolean; + /** + * 自动切换的时间间隔,单位为毫秒 + * @default 2000 + */ + 'autoplay-speed'?: number; + /** + * 指示器的位置,可选值为 inside (内部),outside(外部),none(不显示) + * @default inside + */ + dots?: 'inside' | 'outside' | 'none'; + /** + * 是否显示圆形指示器 + * @default false + */ + 'radius-dot'?: boolean; + /** + * 指示器的触发方式,可选值为 click(点击),hover(悬停) + * @default click + */ + trigger?: 'click' | 'hover'; + /** + * 切换箭头的显示时机,可选值为 hover(悬停),always(一直显示),never(不显示) + * @default hover + */ + arrow?: 'hover' | 'always' | 'never'; + /** + * 动画效果 + * @default ease + */ + easing?: string; + /** + * 幻灯片切换时触发,目前激活的幻灯片的索引,原幻灯片的索引 + */ + $emit(eventName: 'on-change', oldValue: number, value: number): this; +} + +export declare class CarouselItem extends Vue { + +} \ No newline at end of file diff --git a/types/cascader.d.ts b/types/cascader.d.ts new file mode 100644 index 00000000..f889c222 --- /dev/null +++ b/types/cascader.d.ts @@ -0,0 +1,84 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Cascader extends Vue { + /** + * 可选项的数据源,格式参照示例说明 + * @default [] + */ + data?: object[]; + /** + * 当前已选项的数据,格式参照示例说明 + * @default [] + */ + value?: object[]; + /** + * 选择后展示的函数,用于自定义显示格式 + * @default label => label.join(' / ') + */ + 'render-format'?: (label?: string[]) => string + /** + * 是否禁用选择器 + * @default false + */ + disabled?: boolean; + /** + * 是否支持清除 + * @default true + */ + clearable?: boolean; + /** + * 输入框占位符 + * @default 请选择 + */ + placeholder?: string; + /** + * 次级菜单展开方式,可选值为 click 或 hover + * @default click + */ + trigger?: 'click' | 'hover'; + /** + * 当此项为 true 时,点选每级菜单选项值都会发生变化,具体见上面的示例 + * @default false + */ + 'change-on-select'?: boolean; + /** + * 输入框大小,可选值为large和small或者不填 + */ + size?: '' | 'large' | 'small'; + /** + * 动态获取数据,数据源需标识 loading + */ + 'load-data'?: () => void; + /** + * 是否支持搜索 + * @default false + */ + filterable?: boolean; + /** + * 当搜索列表为空时显示的内容 + * @default 无匹配数据 + */ + 'not-found-text'?: string; + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时, + * 建议添加此属性,它将不受父级样式影响,从而达到更好的效果 + * @default false + */ + transfer?: boolean; + /** + * 给表单元素设置 id,详见 Form 用法。 + */ + 'element-id'?: string; + /** + * 选择完成后的回调,返回值 value 即已选值 value,selectedData 为已选项的具体数据 + */ + $emit(eventName: 'on-change', value: object, selectedData: object[]): this; + /** + * 展开和关闭弹窗时触发 + */ + $emit(eventName: 'on-visible-change', status: boolean): this; +} \ No newline at end of file diff --git a/types/cell.d.ts b/types/cell.d.ts new file mode 100644 index 00000000..6d33a25d --- /dev/null +++ b/types/cell.d.ts @@ -0,0 +1,81 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Cell extends Vue { + /** + * 用来标识这一项 + */ + name?: string | number; + /** + * 左侧标题 + */ + title?: string; + /** + * 标题下方的描述信息 + */ + label?: string; + /** + * 右侧额外内容 + */ + extra?: string; + /** + * 禁用该项 + * @default false + */ + disabled?: boolean; + /** + * 标记该项为选中状态 + * @default false + */ + selected?: boolean; + /** + * 跳转的链接,支持 vue-router 对象 + */ + to?: string | object; + /** + * 路由跳转时,开启 replace 将不会向 history 添加新记录 + * @default false + */ + replace?: boolean; + /** + * 相当于 a 链接的 target 属性 + * @default _self + */ + target?: '_blank' | '_self' | '_parent' | '_top'; + /** + * slot插槽对象 + */ + $slots: { + /** + * 相当于 title + */ + '': VNode[]; + /** + * 标题前的 Icon + */ + icon: VNode[]; + /** + * 相当于 label + */ + label: VNode[]; + /** + * 相当于 extra + */ + extra: VNode[]; + /** + * 有链接时,可自定义右侧箭头 + */ + arrow: VNode[]; + } +} + +export declare class CellGroup extends Vue { + /** + * 点击单元格时触发 + * + */ + $emit(eventName: 'on-click', name: string): this; +} \ No newline at end of file diff --git a/types/checkbox.d.ts b/types/checkbox.d.ts new file mode 100644 index 00000000..3b4cbcd5 --- /dev/null +++ b/types/checkbox.d.ts @@ -0,0 +1,61 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Checkbox extends Vue { + /** + * 只在单独使用时有效。可以使用 v-model 双向绑定数据 + * @default false + */ + value?: boolean; + /** + * 只在组合使用时有效。指定当前选项的 value 值,组合会自动判断是否选中 + */ + label?: string | number | boolean; + /** + * 是否禁用当前项 + * @default false + */ + disabled?: boolean; + /** + * 设置 indeterminate 状态,只负责样式控制 + * @default false + */ + indeterminate?: boolean; + /** + * 多选框的尺寸,可选值为 large、small、default 或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用 + * @default true + */ + 'true-value'?: string | number | boolean; + /** + * 没有选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用 + * @default false + */ + 'false-value'?: string | number | boolean; + /** + * 只在单独使用时有效。在选项状态发生改变时触发,通过修改外部的数据改变时不会触发 + */ + $emit(eventName: 'on-change', value: boolean): this; +} + +export declare class CheckboxGroup extends Vue { + /** + * 指定选中项目的集合,可以使用 v-model 双向绑定数据 + * @default [] + */ + value?: string[] | number[] | boolean[]; + /** + * 多选框组的尺寸,可选值为 large、small、default 或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 在选项状态发生改变时触发,返回已选中的数组。通过修改外部的数据改变时不会触发 + */ + $emit(eventName: 'on-change', values: Array): this; +} \ No newline at end of file diff --git a/types/circle.d.ts b/types/circle.d.ts new file mode 100644 index 00000000..0679240e --- /dev/null +++ b/types/circle.d.ts @@ -0,0 +1,57 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Circle extends Vue { + /** + * 百分比 + * @default 0 + */ + percent?: number; + /** + * 图表的宽度和高度,单位 px + * @default 120 + */ + size?: number; + /** + * 进度环顶端的形状,可选值为square(方)和round(圆) + * @default round + */ + 'stroke-linecap'?: 'square' | 'round'; + /** + * 进度环的线宽,单位 px + * @default 6 + */ + 'stroke-width'?: number; + /** + * 进度环的颜色 + * @default #2db7f5 + */ + 'stroke-color'?: string + /** + * 进度环背景的线宽,单位 px + * @default 5 + */ + 'trail-width'?: number; + /** + * 进度环背景的颜色 + * @default #eaeef2 + */ + 'trail-color'?: string; + /** + * 是否显示为仪表盘 + * @default false + */ + dashboard?: boolean; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义显示中间内容,内容默认垂直居中 + */ + '': VNode[]; + }; +} \ No newline at end of file diff --git a/types/collapse.d.ts b/types/collapse.d.ts new file mode 100644 index 00000000..48aa124e --- /dev/null +++ b/types/collapse.d.ts @@ -0,0 +1,53 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Collapse extends Vue { + /** + * 当前激活的面板的 name,可以使用 v-model 双向绑定 + */ + value?: string[] | string; + /** + * 是否开启手风琴模式,开启后每次至多展开一个面板 + * @default false + */ + accordion?: boolean; + /** + * 是否开启简洁模式 + * @default false + */ + simple?: boolean; + /** + * 切换面板时触发,返回当前已展开的面板的 key,格式为数组 + * @default [] + */ + $emit(eventName: 'on-change', []): this; +} + +export declare class CollapsePanel extends Vue { + /** + * 当前面板的 name,与 Collapse的value对应,不填为索引值 + * @default index的值 + */ + name?: string; + /** + * 隐藏箭头 + * @default false + */ + 'hide-arrow'?: boolean; + /** + * slot插槽对象 + */ + $slots: { + /** + * 面板头内容 + */ + '': VNode[]; + /** + * 描素内容 + */ + content: VNode[]; + }; +} \ No newline at end of file diff --git a/types/color-picker.d.ts b/types/color-picker.d.ts new file mode 100644 index 00000000..ca377bf7 --- /dev/null +++ b/types/color-picker.d.ts @@ -0,0 +1,54 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class ColorPicker extends Vue { + /** + * 绑定的值,可使用 v-model 双向绑定 + */ + value?: string; + /** + * 是否支持透明度选择 + * @default false + */ + alpha?: boolean; + /** + * 是否支持色彩选择 + * @default true + */ + hue?: boolean; + /** + * 是否支持透明度选择 + * @default false + */ + recommend?: boolean; + /** + * 自定义颜色预设 + */ + colors?: string[]; + /** + * 颜色的格式,可选值为 hsl、hsv、hex、rgb + * @default 开启 alpha 时为 rgb,其它为 hex + */ + format?: 'hsl' | 'hsv' | 'hex' | 'rgb'; + /** + * 尺寸,可选值为large、small、default或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 当绑定值变化时触发 + * @default 当前值 + */ + $emit(eventName: 'on-change', value: string): this; + /** + * 面板中当前显示的颜色发生改变时触发 + * @default 当前显示的颜色值 + */ + $emit(eventName: 'on-active-change', value: string): this; + /** + * 下拉框展开或收起时触发 + */ + $emit(eventName: 'on-open-change', value: boolean): this; +} \ No newline at end of file diff --git a/types/content.d.ts b/types/content.d.ts new file mode 100644 index 00000000..7da49f3d --- /dev/null +++ b/types/content.d.ts @@ -0,0 +1,8 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Content extends Vue { +} \ No newline at end of file diff --git a/types/date-picker.d.ts b/types/date-picker.d.ts new file mode 100644 index 00000000..99118920 --- /dev/null +++ b/types/date-picker.d.ts @@ -0,0 +1,153 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class DatePicker extends Vue { + /** + * 显示类型,可选值为 date、daterange、datetime、datetimerange、year、month'|'默认值date + */ + type?: 'date' | 'daterange' | 'datetime' | 'datetimerange' | 'year' | 'month'; + /** + * 日期,可以是 JavaScript 的 Date,例如 new Date(),也可以是标准的日期格式,点击右边查看 + * 注意:value 使用 v-model 时,值是 Date 类型,可以配合 @on-change 使用 + */ + value?: Date; + /** + * 展示的日期格式 + * date | daterange?: yyyy-MM-dd + * datetime | datetimerange:yyyy-MM-dd HH:mm:ss + * year:yyyy + * month:yyyy-MM + */ + format?: string; + /** + * 日期选择器出现的位置, + * 可选值为top,top-start,top-end, + * bottom,bottom-start,bottom-end, + * left,left-start,left-end, + * right,right-start,right-end + * 2.12.0 版本开始支持自动识别 + * @default bottom-start + */ + placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end' + /** + * 占位文本默认值空 + * @default 空 + */ + placeholder?: string; + /** + * 选择器额外配置,比如不可选日期与快捷选项,具体项详见下表 + */ + options?: object; + /** + * 开启后,左右面板不联动,仅在 daterange 和 datetimerange 下可用。 + * @default false + */ + 'split-panels'?: boolean; + /** + * 开启后,可以选择多个日期,仅在 date 下可用。 + * @default false + */ + multiple?: boolean; + /** + * 开启后,可以显示星期数。 + * @default false + */ + 'show-week-numbers': boolean; + /** + * 设置默认显示的起始日期。 + */ + 'start-date'?: Date; + /** + * 是否显示底部控制栏,开启后,选择完日期,选择器不会主动关闭,需用户确认后才可关闭, + * @default false + */ + confirm?: boolean; + /** + * 手动控制日期选择器的显示状态,true 为显示,false 为收起。使用该属性后,选择器不会主动关闭。 + * 建议配合 slot 及 confirm 和相关事件一起使用 + * @default null + */ + open?: boolean; + /** + * 尺寸,可选值为large、small、default或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 是否禁用选择器 + * @default false + */ + disabled?: boolean; + /** + * 是否显示清除按钮 + * @default true + */ + clearable?: boolean; + /** + * 完全只读,开启后不会弹出选择器,只在没有设置 open 属性下生效 + * @default false + */ + readonly?: boolean; + /** + * 文本框是否可以输入,只在没有使用 slot 时有效 + * @default true + */ + editable?: boolean; + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时, + * 建议添加此属性,它将不受父级样式影响,从而达到更好的效果, + * @default false + */ + transfer?: boolean; + /** + * 给表单元素设置 id,详见 Form 用法。 + */ + 'element-id'?: string; + /** + * 可以在 type 为 datetime 和 datetimerange 下,配置 TimePicker 的属性, + * 比如时间间隔 steps::time-picker-options="{steps: [1, 10, 10]}" + * @default {} + */ + 'time-picker-options'?: object; + /** + * 日期发生变化时触发 已经格式化后的日期,比如 2016-01-01 + */ + $emit(eventName: 'on-change', value: string): this; + /** + * 弹出日历和关闭日历时触发 + */ + $emit(eventName: 'on-open-change', value: boolean): this; + /** + * 在 confirm 模式下有效,点击确定按钮时触发 + */ + $emit(eventName: 'on-ok'): this; + /** + * 在 confirm 模式或 clearable = true 时有效,在清空日期时触发 + */ + $emit(eventName: 'on-clear'): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义选择器的显示内容,建议与 open 等参数一起使用,详见示例 + */ + '': VNode[]; + }; +} + +export declare class DatePickerOptions extends Vue { + /** + * 设置快捷选项,每项内容: + * text:显示的文案 + * value?: 返回指定的日期,如需自己控制逻辑,可不设置,并使用 onClick 回调 + * onClick?: 点击时的回调,参数为当前日期选择器的 Vue 实例,当需要自定义复杂操作时,可以使用 + */ + shortcuts?: { text?: string, value?: () => void, onClick?: () => void }[]; + /** + * 设置不可选择的日期,参数为当前的日期,需要返回 Boolean 是否禁用这天 + */ + disabledDate(): boolean; +} \ No newline at end of file diff --git a/types/divider.d.ts b/types/divider.d.ts new file mode 100644 index 00000000..a847e517 --- /dev/null +++ b/types/divider.d.ts @@ -0,0 +1,23 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Divider extends Vue { + /** + * 水平还是垂直类型,可选值为 horizontal 或 vertical + * @default horizontal + */ + type?: 'horizontal' | 'vertical'; + /** + * 分割线标题的位置,可选值为 left、right 或 center + * @default center + */ + orientation?: 'left' | 'right' | 'center'; + /** + * 是否虚线 + * @default false + */ + dashed?: boolean; +} \ No newline at end of file diff --git a/types/drawer.d.ts b/types/drawer.d.ts new file mode 100644 index 00000000..0c4287db --- /dev/null +++ b/types/drawer.d.ts @@ -0,0 +1,8 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Drawer extends Vue { +} \ No newline at end of file diff --git a/types/dropdown.d.ts b/types/dropdown.d.ts new file mode 100644 index 00000000..c795a2f0 --- /dev/null +++ b/types/dropdown.d.ts @@ -0,0 +1,82 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Dropdown extends Vue { + /** + * 触发方式,可选值为 hover(悬停)click(点击)contextMenu(右键)custom(自定义),使用 custom 时,需配合 visible 一起使用 + * @default hover + */ + trigger?: 'hover'|'click'|'custom'|'contextMenu'; + /** + * 手动控制下拉框的显示,在 trigger = 'custom' 时使用 + * @default false + */ + visible?: boolean; + /** + * 下拉菜单出现的位置,可选值为 + * top,top-start,top-end,bottom,bottom-start,bottom-end, + * left,left-start,left-end,right,right-start,right-end + * 2.12.0 版本开始支持自动识别 + * @default bottom + */ + placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'; + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性,它将不受父级样式影响,从而达到更好的效果 + * @default false + */ + transfer?: boolean; + /** + * 点击菜单项时触发 + * + */ + $emit(eventName: 'on-click', value: string): this; + /** + * 菜单显示状态改变时调用 + */ + $emit(eventName: 'on-visible-change', value: boolean): this; + /** + * 点击外部关闭下拉菜单时触发 + */ + $emit(eventName: 'on-clickoutside', event: object): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 主体内容 + */ + '': VNode[]; + /** + * 列表内容,一般由 DropdownMenu 承担 + */ + list: VNode[]; + }; +} + +export declare class DropdownMenu extends Vue { +} + +export declare class DropdownItem extends Vue { + /** + * 用来标识这一项 + */ + name?: string; + /** + * 禁用该项 + * @default false + */ + disabled?: boolean; + /** + * 显示分割线 + * @default false + */ + divided?: boolean; + /** + * 标记该项为选中状态 + * @default false + */ + selected?: boolean; +} \ No newline at end of file diff --git a/types/footer.d.ts b/types/footer.d.ts new file mode 100644 index 00000000..3f00502b --- /dev/null +++ b/types/footer.d.ts @@ -0,0 +1,8 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Footer extends Vue { +} \ No newline at end of file diff --git a/types/form.d.ts b/types/form.d.ts new file mode 100644 index 00000000..8800c055 --- /dev/null +++ b/types/form.d.ts @@ -0,0 +1,100 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Form extends Vue { + /** + * 表单数据对象 + */ + model?: object; + /** + * 表单验证规则,具体配置查看 async-validator + */ + rules?: object; + /** + * 是否开启行内表单模式 + * @default false + */ + inline?: boolean; + /** + * 表单域标签的位置,可选值为 left、right、top + * @default right + */ + 'label-position'?: 'left'|'right'|'top'; + /** + * 表单域标签的宽度,所有的 FormItem 都会继承 Form 组件的 label-width 的值 + */ + 'label-width'?: number; + /** + * 是否显示校验错误信息 + * @default true + */ + 'show-message'?: boolean; + /** + * 对整个表单进行校验,参数为检验完的回调,会返回一个 Boolean 表示成功与失败 + */ + validate(callback?: (valid?: boolean) => void): void; + /** + * 对部分表单字段进行校验的方法,参数1为需校验的 prop,参数2为检验完回调,返回错误信息 + */ + validateField(prop?: string, callback?: (valid?: boolean) => void): void; + /** + * 对整个表单进行重置,将所有字段值重置为空并移除校验结果 + */ + resetFields(): void; +} + +export declare class FormItem extends Vue { + /** + * 对应表单域 model 里的字段 + */ + prop?: string; + /** + * 标签文本 + */ + label?: string; + /** + * 表单域标签的的宽度 + */ + 'label-width'?: number; + /** + * 指定原生的 label 标签的 for 属性,配合控件的 element-id 属性,可以点击 label 时聚焦控件。 + */ + 'label-for'?: string; + /** + * 是否必填,如不设置,则会根据校验规则自动生成 + */ + required?: boolean; + /** + * 表单验证规则 + */ + rules?: object | Array; + /** + * 表单域验证错误信息, 设置该值会使表单验证状态变为error,并显示该错误信息 + */ + error?: string; + /** + * 是否显示校验错误信息 + * @default true + */ + 'show-message'?: boolean; + /** + * slot插槽对象 + */ + $slots: { + /** + * 内容 + */ + '': VNode[]; + /** + * label 内容 + */ + label: VNode[]; + }; +} + + + + diff --git a/types/grid.d.ts b/types/grid.d.ts new file mode 100644 index 00000000..8282459e --- /dev/null +++ b/types/grid.d.ts @@ -0,0 +1,72 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Row extends Vue { + /** + * 栅格间距,单位 px,左右平分 + * @default 0 + */ + gutter?: number; + /** + * 布局模式,可选值为flex或不选,在现代浏览器下有效 + */ + type?: string; + /** + * lex 布局下的垂直对齐方式,可选值为top、middle、bottom + */ + align?: 'top'|'middle'|'bottom'; + /** + * flex 布局下的水平排列方式,可选值为start、end、center、space-around、space-between + */ + justify?: 'start'|'end'|'center'|'space-around'|'space-between'; + /** + * 自定义的class名称 + */ + 'class-name'?: string; +} + +export declare class Col extends Vue { + /** + * 栅格的占位格数,可选值为0~24的整数,为 0 时,相当于display:none + */ + span?: number | string; + /** + * 栅格的顺序,在flex布局模式下有效 + */ + order?: number | string; + /** + * 栅格左侧的间隔格数,间隔内不可以有栅格 + */ + offset?: number | string; + /** + * 栅格向右移动格数 + */ + push?: number | string; + /** + * 栅格向左移动格数 + */ + pull?: number | string; + /** + * 自定义的class名称 + */ + 'class-name'?: string; + /** + * <768px 响应式栅格,可为栅格数或一个包含其他属性的对象 + */ + xs?: number | object; + /** + * ≥768px 响应式栅格,可为栅格数或一个包含其他属性的对象 + */ + sm?: number | object; + /** + * ≥992px 响应式栅格,可为栅格数或一个包含其他属性的对象 + */ + md?: number | object; + /** + * ≥1200px 响应式栅格,可为栅格数或一个包含其他属性的对象 + */ + lg?: number | object; +} \ No newline at end of file diff --git a/types/header.d.ts b/types/header.d.ts new file mode 100644 index 00000000..47095538 --- /dev/null +++ b/types/header.d.ts @@ -0,0 +1,8 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Header extends Vue { +} \ No newline at end of file diff --git a/types/icon.d.ts b/types/icon.d.ts new file mode 100644 index 00000000..08954b4b --- /dev/null +++ b/types/icon.d.ts @@ -0,0 +1,20 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Icon extends Vue { + /** + * 图标的名称 + */ + type?: string; + /** + * 图标的大小,单位是 px + */ + size?: number | string; + /** + * 图标的颜色 + */ + color?: string; +} \ No newline at end of file diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 00000000..779095e9 --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,10 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import iView from './iview'; + +export default iView; +export as namespace iView; + +export * from './iview.components'; \ No newline at end of file diff --git a/types/input-number.d.ts b/types/input-number.d.ts new file mode 100644 index 00000000..9f12f6d4 --- /dev/null +++ b/types/input-number.d.ts @@ -0,0 +1,75 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class InputNumber extends Vue { + /** + * 最大值,默认值Infinity + */ + max?: number; + /** + * 最小值,默认值-Infinity + */ + min?: number; + /** + * 当前值,可以使用 v-model 双向绑定数据,默认值1 + */ + value?: number; + /** + * 每次改变的步伐,可以是小数,默认值1 + */ + step?: number; + /** + * 输入框尺寸,可选值为large、small、default或者不填 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 设置禁用状态,默认值false + */ + disabled?: boolean; + /** + * 输入框占位符 + * @default 请选择 + */ + placeholder?: string; + /** + * 指定输入框展示值的格式 + */ + formatter?: () => void; + /** + * 指定从 formatter 里转换回数字的方式,和 formatter 搭配使用 + */ + parser?: () => void; + /** + * 是否设置为只读 + * @default false + */ + readonly?: boolean; + /** + * 是否可编辑 + * @default true + */ + editable?: boolean; + /** + * 数值精度 + */ + precision?: number; + /** + * 给表单元素设置 id,详见 Form 用法。 + */ + 'element-id'?: string; + /** + * 数值改变时的回调,返回当前值,默认值当前值 + */ + $emit(eventName: 'on-change', value: number): this; + /** + * 聚焦时触发 + */ + $emit(eventName: 'on-focus', event: KeyboardEvent): this; + /** + * 失焦时触发 + */ + $emit(eventName: 'on-blur', event: KeyboardEvent): this; +} \ No newline at end of file diff --git a/types/input.d.ts b/types/input.d.ts new file mode 100644 index 00000000..3cd8c37c --- /dev/null +++ b/types/input.d.ts @@ -0,0 +1,168 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Input extends Vue { + /** + * 输入框类型,可选值为 text、password、textarea、url、email、date + * @default text + */ + type?: 'text' | 'password' | 'textarea' | 'url' | 'email' | 'date'; + /** + * 绑定的值,可使用 v-model 双向绑定 + * @default 空 + */ + value?: string | number; + /** + * 输入框尺寸,可选值为large、small、default或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 占位文本 + */ + placeholder?: string; + /** + * 是否显示清空按钮 + * @default false + */ + clearable?: boolean; + /** + * 设置输入框为禁用状态 + * @default false + */ + disabled?: boolean; + /** + * 设置输入框为只读 + * @default false + */ + readonly?: boolean; + /** + * 最大输入长度 + */ + maxlength?: number; + /** + * 输入框尾部图标,仅在 text 类型下有效 + */ + icon?: string; + /** + * 输入框头部图标 + * @default false + */ + prefix?: string; + /** + * 输入框尾部图标 + * @default false + */ + suffix?: String; + /** + * 是否显示为搜索型输入框 + * @default false + */ + search?: boolean; + /** + * 开启 search 时可用,是否有确认按钮,可设为按钮文字 + * @default false + */ + 'enter-button'?: boolean | string; + /** + * 文本域默认行数,仅在 textarea 类型下有效 + * @default 2 + */ + rows?: number; + /** + * 自适应内容高度,仅在 textarea 类型下有效,可传入对象,如 { minRows: 2, maxRows: 6 } + * @default false + */ + autosize?: boolean | { minRows?: number, maxRows?: number }; + /** + * 将用户的输入转换为 number 类型 + * @default false + */ + number?: boolean; + /** + * 自动获取焦点 + * @default false + */ + autofocus?: boolean; + /** + * 原生的自动完成功能,可选值为 off 和 on,off + */ + autocomplete?: string; + /** + * 给表单元素设置 id,详见 Form 用法。 + */ + 'element-id'?: string; + /** + * 原生的 spellcheck 属性 + * @default false + */ + spellcheck?: boolean; + /** + * 原生的 wrap 属性,可选值为 hard 和 soft,仅在 textarea 下生效 + * @default soft + */ + wrap?: 'hard' | 'soft'; + /** + * 按下回车键时触发 + */ + $emit(eventName: 'on-enter'): this; + /** + * 设置 icon 属性后,点击图标时触发 + */ + $emit(eventName: 'on-click'): this; + /** + * 数据改变时触发 + */ + $emit(eventName: 'on-change', event: string): this; + /** + * 输入框聚焦时触发 + */ + $emit(eventName: 'on-focus'): this; + /** + * 输入框失去焦点时触发 + */ + $emit(eventName: 'on-blur'): this; + /** + * 原生的 keyup 事件 + */ + $emit(eventName: 'on-keyup', event: KeyboardEvent): this; + /** + * 原生的 keydown 事件 + */ + $emit(eventName: 'on-keydown', event: KeyboardEvent): this; + /** + * 原生的 keypress 事件 + */ + $emit(eventName: 'on-keypress', event: KeyboardEvent): this; + /** + * 开启 search 时可用,点击搜索或按下回车键时触发 + */ + $emit(eventName: 'on-search', value: string): this; + /** + * 手动聚焦输入框 + */ + focus(): void; + /** + * slot插槽对象 + */ + $slots: { + /** + * 前置内容,仅在 text 类型下有效 + */ + prepend: VNode[]; + /** + * 后置内容,仅在 text 类型下有效 + */ + append: VNode[]; + /** + * 输入框头部图标 + */ + prefix: VNode[]; + /** + * 输入框尾部图标 + */ + suffix: VNode[]; + }; +} \ No newline at end of file diff --git a/types/iview.components.d.ts b/types/iview.components.d.ts new file mode 100644 index 00000000..390db306 --- /dev/null +++ b/types/iview.components.d.ts @@ -0,0 +1,91 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export { Affix } from './affix'; +export { Alert } from './alert'; +export { Anchor, AnchorLink } from './anchor'; +export { AutoComplete } from './auto-complete'; +export { Avatar } from './avatar'; +export { BackTop } from './back-top'; +export { Badge } from './badge'; +export { Breadcrumb, BreadcrumbItem } from './breadcrumb'; +export { Button, ButtonGroup } from './button'; +export { Card } from './card'; +export { Carousel, CarouselItem } from './carousel'; +export { Cascader } from './cascader'; +export { Cell, CellGroup } from './cell'; +export { Checkbox, CheckboxGroup } from './checkbox'; +export { Circle, Circle as ICircle } from './circle'; +export { Collapse, CollapsePanel } from './collapse'; +export { ColorPicker } from './color-picker'; +export { Content } from './content'; +export { DatePicker } from './date-picker'; +export { Divider } from './divider'; +export { Drawer } from './drawer'; +export { Dropdown, DropdownMenu, DropdownItem } from './dropdown'; +export { Footer } from './footer'; +export { Form, FormItem } from './form'; +export { Header } from './header'; +export { Icon } from './icon'; +export { Input } from './input'; +export { InputNumber } from './input-number'; +export { Scroll } from './scroll'; +export { Split } from './split'; +export { Layout } from './layout'; +export { LoadingBar } from './loading-bar'; +export { Menu, MenuGroup, MenuItem, MenuSub } from './menu'; +export { Message } from './message'; +export { Modal } from './modal'; +export { Notice } from './notice'; +export { Page } from './page'; +export { Poptip } from './poptip'; +export { Progress } from './progress'; +export { Radio, RadioGroup } from './radio'; +export { Rate } from './rate'; +export { Sider } from './sider'; +export { Slider } from './slider'; +export { Spin } from './spin'; +export { Steps, StepsStep } from './steps'; +export { Switch, Switch as ISwitch } from './switch'; +export { Table } from './table'; +export { Tabs, TabsPane } from './tabs'; +export { Tag } from './tag'; +export { Time } from './time'; +export { Timeline, TimelineItem } from './timeline'; +export { TimePicker } from './time-picker'; +export { Tooltip } from './tooltip'; +export { Transfer } from './transfer'; +export { Tree } from './tree'; +export { Upload } from './upload'; +export { Row, Col } from './grid'; +export { Select, Option, OptionGroup } from './select'; + +declare const API: { + version: string; + locale: (l) => void; + i18n: (fn) => void; + install: ( + Vue: Vue, + opts: { + locale?: any; + i18n?: any; + size?: any; + transfer?: any; + } + ) => void; + lang: (code: string) => void; +}; + +export default API; + +declare module 'vue/types/vue' { + interface Vue { + $IVIEW?: { + size?: string; + transfer?: string; + }; + } +} diff --git a/types/iview.d.ts b/types/iview.d.ts new file mode 100644 index 00000000..1f12f3aa --- /dev/null +++ b/types/iview.d.ts @@ -0,0 +1,6 @@ +import { PluginFunction } from 'vue'; + +interface IView extends PluginFunction {} + +declare const iView: IView; +export default iView; diff --git a/types/layout.d.ts b/types/layout.d.ts new file mode 100644 index 00000000..a2baf9be --- /dev/null +++ b/types/layout.d.ts @@ -0,0 +1,72 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Layout extends Vue { + /** + * 触发响应式布局的断点,可选值为xs,sm,md,lg,xl或xxl,若不设此属性则不会触发响应式布局。 + * { + * xs?: '480px', + * sm?: '768px', + * md?: '992px', + * lg?: '1200px', + * xl?: '1600px' + * } + */ + breakpoint?: string; + /** + * 侧边栏是否收起,可使用 v-model 双向绑定数据。 + * @default false + */ + value?: boolean; + /** + * 宽度 + * @default 200 + */ + width?: number; + /** + * 是否可收起,设为false后,默认触发器会隐藏,且响应式布局不会触发 + * @default false + */ + collapsible?: boolean; + /** + * 收缩宽度,设置为 0 会出现特殊 trigger + * @default 64 + */ + 'collapsed-width'?: number; + /** + * 隐藏默认触发器 + * @default false + */ + 'hide-trigger'?: boolean; + /** + * 是否默认收起,设置了collapsible后设置此属性侧边栏仍会收起。 + * @default false + */ + 'default-collapsed'?: boolean; + /** + * 改变侧边栏触发器箭头方向,和改变侧边栏收起方向,当Sider在右边时可以使用。 + * @default false + */ + 'reverse-arrow'?: boolean; + /** + * 展开-收起时的回调true/false + */ + $emit(eventName: 'on-collapse', []): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义触发器 + * @default + */ + trigger: VNode[]; + }; + /** + * methods, 改变Sider展开-收起状态。 + */ + toggleCollapse(): void; +} \ No newline at end of file diff --git a/types/loading-bar.d.ts b/types/loading-bar.d.ts new file mode 100644 index 00000000..f12e9b87 --- /dev/null +++ b/types/loading-bar.d.ts @@ -0,0 +1,61 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class LoadingBar { + /** + * 开始从 0 显示进度条,并自动加载进度 + */ + start(): void; + /** + * 结束进度条,自动补全剩余进度 + */ + finish(): void; + /** + * 以错误的类型结束进度条,自动补全剩余进度 + */ + error(): void; + /** + * 精确加载到指定的进度 + * @param percent 指定的进度百分比 + */ + update(percent?: number): void; + /** + * 全局配置 + * @param options 配置对象 + */ + config(options?: LoadingBarConfig): void; + /** + * 全局销毁 + */ + destroy(): void; +} + +export declare class LoadingBarConfig { + /** + * 进度条的颜色,默认为 iView 主色 + * @default primary + */ + color?: string; + /** + * 失败时的进度条颜色,默认为 iView 主色 + * @default error + */ + failedColor?: string; + /** + * 进度条高度,单位 px + * @default 2 + */ + height?: number; +} + +declare module 'vue/types/vue' { + interface Vue { + /** + * 加载进度条 + */ + $Loading?: LoadingBar; + } +} \ No newline at end of file diff --git a/types/menu.d.ts b/types/menu.d.ts new file mode 100644 index 00000000..f4649644 --- /dev/null +++ b/types/menu.d.ts @@ -0,0 +1,102 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Menu extends Vue { + /** + * 菜单类型,可选值为 horizontal(水平) 和 vertical(垂直) + * @default vertical + */ + mode?: 'horizontal' | 'vertical'; + /** + * 主题,可选值为 light、dark、primary,其中 primary 只适用于 mode="horizontal" + * @default light + */ + theme?: 'light' | 'dark' | 'primary'; + /** + * 激活菜单的 name 值 + */ + 'active-name'?: string | number; + /** + * 展开的 Submenu 的 name 集合 + */ + 'open-names'?: string[] | number[]; + /** + * 是否开启手风琴模式,开启后每次至多展开一个子菜单 + * @default false + */ + accordion?: boolean; + /** + * 导航菜单的宽度,只在 mode="vertical" 时有效,如果使用 Col 等布局,建议设置为 auto + * @default 240px + */ + width?: string; + /** + * 选择菜单(MenuItem)时触发 + */ + $emit(eventName: 'on-select', name?: string | number): this; + /** + * 当 展开/收起 子菜单时触发 + * @default 当前展开的 Submenu 的 name 值数组 + */ + $emit(eventName: 'on-open-change', names: string[] | number[]): this; + /** + * 手动更新展开的子目录,注意要在 $nextTick 里调用 + */ + updateOpened(): void; + /** + * 手动更新当前选择项,注意要在 $nextTick 里调用 + */ + updateActiveName(): void; +} + +export declare class MenuItem extends Vue { + /** + * 菜单项的唯一标识,必填 + */ + name?: string | number; + /** + * 跳转的链接,支持 vue-router 对象 + */ + to?: string | object; + /** + * 路由跳转时,开启 replace 将不会向 history 添加新记录 + * @default false + */ + replace?: boolean; + /** + * 相当于 a 链接的 target 属性 + * @default _self + */ + target?: '_blank' | '_self' | '_parent' | '_top'; +} + +export declare class MenuSub extends Vue { + /** + * 子菜单的唯一标识,必填 + */ + name?: string | number; + /** + * slot插槽对象 + */ + $slots: { + /** + * 菜单项 + */ + '': VNode[]; + /** + * 子菜单标题 + */ + title: VNode[]; + }; +} + +export declare class MenuGroup extends Vue { + /** + * 分组标题 + * @default 空 + */ + title?: string; +} \ No newline at end of file diff --git a/types/message.d.ts b/types/message.d.ts new file mode 100644 index 00000000..4f2e3bda --- /dev/null +++ b/types/message.d.ts @@ -0,0 +1,84 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue, { VNode, CreateElement } from "vue"; + +export declare class Message { + /** + * 消息 + * @param config MessageConfig为相关配置,string为待显示的内容 + */ + info(config?: MessageConfig | string): void; + /** + * 成功 + * @param config MessageConfig为相关配置,string为待显示的内容 + */ + success(config?: MessageConfig | string): void; + /** + * 警告 + * @param config MessageConfig为相关配置,string为待显示的内容 + */ + warning(config?: MessageConfig | string): void; + /** + * 错误 + * @param config MessageConfig为相关配置,string为待显示的内容 + */ + error(config?: MessageConfig | string): void; + /** + * 配置 + * @param config MessageConfig为相关配置,string为待显示的内容 + */ + loading(options?: MessageConfig | string): void; + /** + * 配置 + * @param config MessageConfig为相关配置,string为待显示的内容 + */ + config(options?: MessageConfig): void; + /** + * 销毁 + */ + destroy(): void; +} + +export declare class MessageConfig { + /** + * 提示内容 + */ + content?: string; + /** + * 自定义描述内容,使用 Vue 的 Render 函数 + */ + render?: (h: CreateElement) => VNode; + /** + * 关闭时的回调 + */ + onClose?: () => void; + /** + * 页面是否可以滚动 + * @default false + */ + closable?: boolean; + /** + * 提示组件距离顶端的距离,单位像素 + * @default 24 + */ + top?: number; + /** + * 默认自动关闭的延时,单位秒 + * @default 1.5 + */ + duration?: number; +} + +declare module 'vue/types/vue' { + interface Vue { + /** + * 全局提示 + */ + $Message?: Message; + } +} + + + diff --git a/types/modal.d.ts b/types/modal.d.ts new file mode 100644 index 00000000..80f78a8a --- /dev/null +++ b/types/modal.d.ts @@ -0,0 +1,218 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Modal { + /** + * 对话框是否显示,可使用 v-model 双向绑定数据。 + * @default false + */ + value?: boolean; + /** + * 对话框标题,如果使用 slot 自定义了页头,则 title 无效 + */ + title?: string; + /** + * 是否显示右上角的关闭按钮,关闭后 Esc 按键也将关闭, + * @default true + */ + closable?: boolean; + /** + * 是否允许点击遮罩层关闭 + * @default true + */ + 'mask-closable'?: boolean; + /** + * 点击确定按钮时,确定按钮是否显示 loading 状态,开启则需手动设置visible来关闭对话框, + * @default false + */ + loading?: boolean; + /** + * 页面是否可以滚动 + * @default false + */ + scrollable?: boolean; + /** + * 是否全屏显示 + * @default false + */ + fullscreen?: boolean; + /** + * 是否可以拖拽移动 + * @default false + */ + draggable?: boolean; + /** + * 是否显示遮罩层,开启 draggable 时,强制不显示 + * @default true + */ + mask?: boolean; + /** + * 确定按钮文字 + * @default 确定 + */ + 'ok-text'?: string; + /** + * 取消按钮文字 + * @default 取消 + */ + 'cancel-text'?: string; + /** + * 对话框宽度,单位 px。 + * 对话框的宽度是响应式的,当屏幕尺寸小于 768px 时,宽度会变为自动auto, + * @default 520 + */ + width?: number | string; + /** + * 不显示底部 + * @default false + */ + 'footer-hide'?: boolean; + /** + * 设置浮层样式,调整浮层位置等,该属性设置的是.ivu-modal的样式 + */ + style?: object; + /** + * 设置对话框容器.ivu-modal-wrap的类名,可辅助实现垂直居中等自定义效果 + */ + 'class-name'?: string; + /** + * 自定义显示动画,第一项是模态框,第二项是背景, + * @default ['ease', 'fade'] + */ + 'transition-names'?: Array; + /** + * 是否将弹层放置于 body 内,默认值true + * @default true + */ + transfer?: boolean; + /** + * 点击确定的回调 + */ + $emit(eventName: 'on-ok'): this; + /** + * 开关变化时触发,返回当前的状态 + */ + $emit(eventName: 'on-cancel'): this; + /** + * 开关变化时触发,返回当前的状态 + */ + $emit(eventName: 'on-visible-change', visible: boolean): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 对话框主体内容 + */ + '': VNode[]; + /** + * 自定义页头 + */ + header: VNode[]; + /** + * 自定义页脚内容 + */ + footer: VNode[]; + /** + * 自定义右上角关闭内容 + */ + close: VNode[]; + }; +} + +export declare class ModalInstance { + /** + * 消息 + * @param config ModalConfig为相关配置,string为待显示的内容 + */ + info(config?: ModalConfig | string): void; + /** + * 成功 + * @param config ModalConfig为相关配置,string为待显示的内容 + */ + success(config?: ModalConfig | string): void; + /** + * 警告 + * @param config ModalConfig为相关配置,string为待显示的内容 + */ + warning(config?: ModalConfig | string): void; + /** + * 错误 + * @param config ModalConfig为相关配置,string为待显示的内容 + */ + error(config?: ModalConfig | string): void; + /** + * 对话框 + * @param config ModalConfig为相关配置,string为待显示的内容 + */ + confirm(config?: ModalConfig | string): void; + /** + * 移除 + */ + remove(): void; +} + +export declare class ModalConfig { + /** + * 标题或者Element选择器字符串 + */ + title?: string; + /** + * 内容或者Element选择器字符串 + */ + content?: string; + /** + * 自定义内容,使用后不再限制类型, content 也无效。 + */ + render?: () => void; + /** + * 宽度,单位 px + * @default 416 + */ + width?: number | string; + /** + * 确定按钮的文字 + * @default 确定 + */ + okText?: string; + /** + * 取消按钮的文字,只在Modal.confirm()下有效 + * @default 取消 + */ + cancelText?: string; + /** + * 点击确定按钮时,确定按钮是否显示 loading 状态,开启则需手动调用Modal.remove()来关闭对话框 + * @default false + */ + loading?: boolean; + /** + * 页面是否可以滚动 + * @default false + */ + scrollable?: boolean; + /** + * 页面是否可以滚动 + * @default false + */ + closable?: boolean; + /** + * 点击确定的回调 + */ + onOk?: () => void; + /** + * 点击取消的回调,只在Modal.confirm()下有效 + */ + onCancel?: () => void; +} + +declare module 'vue/types/vue' { + interface Vue { + /** + * 对话框 + */ + $Modal?: ModalInstance; + } +} \ No newline at end of file diff --git a/types/notice.d.ts b/types/notice.d.ts new file mode 100644 index 00000000..0873fe9d --- /dev/null +++ b/types/notice.d.ts @@ -0,0 +1,92 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue, { VNode, CreateElement } from "vue"; + +export declare class Notice { + /** + * 打开 + * @param config NoticeConfig为相关配置,string为待显示的内容 + */ + open(config?: NoticeConfig | string): void; + /** + * 信息 + * @param config NoticeConfig为相关配置,string为待显示的内容 + */ + info(config?: NoticeConfig | string): void; + /** + * 成功 + * @param config NoticeConfig为相关配置,string为待显示的内容 + */ + success(config?: NoticeConfig | string): void; + /** + * 警告 + * @param config NoticeConfig为相关配置,string为待显示的内容 + */ + warning(config?: NoticeConfig | string): void; + /** + * 错误 + * @param config NoticeConfig为相关配置,string为待显示的内容 + */ + error(config?: NoticeConfig): void; + /** + * 全局配置 + */ + config(options?: NoticeGlobalConfig): void; + /** + * 全局关闭某个通知 + */ + close(name?: string): void; + /** + * 全局销毁 + */ + destroy(): void; +} + +export declare class NoticeConfig { + /** + * 通知提醒的标题 + */ + title?: string; + /** + * 通知提醒的内容,为空或不填时,自动应用仅标题模式下的样式 + */ + desc?: string; + /** + * 自定义描述内容,使用 Vue 的 Render 函数 + */ + render?: (h: CreateElement) => VNode; + /** + * 自动关闭的延时,单位秒,不关闭可以写 0 默认4.5 + */ + duration?: number; + /** + * 当前通知的唯一标识 + */ + name?: string; + /** + * 关闭时的回调 + */ + onClose?: Function; +} + +export declare class NoticeGlobalConfig { + /** + * 通知组件距离顶端的距离,单位像素 默认24 + */ + top?: number; + /** + * 默认自动关闭的延时,单位秒 默认4.5 + */ + duration?: number; +} + +declare module 'vue/types/vue' { + interface Vue { + /** + * 通知提醒 + */ + $Notice?: Notice; + } +} \ No newline at end of file diff --git a/types/page.d.ts b/types/page.d.ts new file mode 100644 index 00000000..61fdb47e --- /dev/null +++ b/types/page.d.ts @@ -0,0 +1,99 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Page extends Vue { + /** + * 当前页码,支持 .sync 修饰符 + * @default 1 + */ + current?: number; + /** + * 数据总数 + * @default 0 + */ + total?: number; + /** + * 每页条数 + * @default 10 + */ + 'page-size'?: number; + /** + * 每页条数切换的配置 + * @default [10, 20, 30, 40] + */ + 'page-size-opts'?: number[]; + /** + * 条数切换弹窗的展开方向,可选值为 bottom 和 top + * @default bottom + */ + placement?: string; + /** + * 可选值为small(迷你版)或不填(默认) + */ + size?: string; + /** + * 简洁版 + * @default false + */ + simple?: boolean; + /** + * 显示总数 + * @default false + */ + 'show-total'?: boolean; + /** + * 显示电梯,可以快速切换到某一页 + * @default false + */ + 'show-elevator'?: boolean; + /** + * 显示分页,用来改变page-size + * @default false + */ + 'show-sizer'?: boolean; + /** + * 自定义 class 名称 + */ + 'class-name'?: string; + /** + * 自定义 style 样式 + */ + styles?: object; + /** + * 是否将弹层放置于 body 内, + * 在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性, + * 它将不受父级样式影响,从而达到更好的效果 + * @default false + */ + transfer?: boolean; + /** + * 替代图标显示的上一页文字 + */ + 'prev-text'?: string; + /** + * 替代图标显示的下一页文字 + */ + 'next-text'?: string; + /** + * 页码改变的回调,返回改变后的页码 + * @param pageNum 页码 + */ + $emit(eventName: 'on-change', pageNum: number): this; + /** + * 切换每页条数时的回调,返回切换后的每页条数 + * @param pageSize 每页条数 + */ + $emit(eventName: 'on-page-size-change', pageSize: number): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义显示总数的内容 + */ + '': VNode[]; + }; +} \ No newline at end of file diff --git a/types/poptip.d.ts b/types/poptip.d.ts new file mode 100644 index 00000000..06ebaf08 --- /dev/null +++ b/types/poptip.d.ts @@ -0,0 +1,123 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Poptip extends Vue { + /** + * 触发方式,可选值为hover(悬停)click(点击)focus(聚焦), + * 在 confirm 模式下,只有 click 有效 + * @default click + */ + trigger?: string; + /** + * 显示的标题 + */ + title?: string | number; + /** + * 显示的正文内容,只在非 confirm 模式下有效\ + * @default 空 + */ + content?: string | number; + /** + * 提示框出现的位置,可选值为 + * top,top-start,top-end,bottom,bottom-start,bottom-end, + * left,left-start,left-end,right,right-start,right-end + * 2.12.0 版本开始支持自动识别 + * @default top + */ + placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'; + /** + * 宽度,最小宽度为 150px,在 confirm 模式下,默认最大宽度为 300px + */ + width?: string | number; + /** + * 是否开启对话框模式 + * @default false + */ + confirm?: boolean; + /** + * 确定按钮的文字,只在 confirm 模式下有效 + * @default 确定 + */ + 'ok-text'?: string; + /** + * 取消按钮的文字,只在 confirm 模式下有效 + * @default 取消 + */ + 'cancel-text'?: string; + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时, + * 建议添加此属性,它将不受父级样式影响,从而达到更好的效果 + * @default false + */ + transfer?: boolean; + /** + * 给 Poptip 设置 class-name,在使用 transfer 时会很有用 + * @default false + */ + 'popper-class'?: string; + /** + * 开启后,超出指定宽度文本将自动换行,并两端对齐 + * @default false + */ + 'word-wrap'?: boolean; + /** + * 自定义间距值 + * @default 8px 16px + */ + padding?: string; + /** + * 出现位置的偏移量 + * @default false + */ + offset?: string; + /** + * 自定义 popper.js 的配置项,具体配置见 popper.js 文档 + * @default { + modifiers: { + computeStyle:{ + gpuAcceleration: false, + }, + preventOverflow :{ + boundariesElement: 'window' + } + } + } + */ + options?: object; + /** + * 在提示框显示时触发 + */ + $emit(eventName: 'on-popper-show'): this; + /** + * 在提示框消失时触发 + */ + $emit(eventName: 'on-popper-hide'): this; + /** + * 点击确定的回调,只在 confirm 模式下有效 + */ + $emit(eventName: 'on-ok'): this; + /** + * 点击取消的回调,只在 confirm 模式下有效 + */ + $emit(eventName: 'on-cancel'): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 主体内容 + */ + '': VNode[]; + /** + * 提示框标题,定义此 slot 时,会覆盖 props title + */ + title: VNode[]; + /** + * 提示框内容,定义此 slot 时,会覆盖 props content,只在非 confirm 模式下有效 + */ + content: VNode[]; + } +} \ No newline at end of file diff --git a/types/progress.d.ts b/types/progress.d.ts new file mode 100644 index 00000000..c8e076fb --- /dev/null +++ b/types/progress.d.ts @@ -0,0 +1,47 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Progress extends Vue { + /** + * 百分比 + * @default 0 + */ + percent?: number; + /** + * 状态,可选值为normal、active、wrong、success + * @default normal + */ + status?: 'normal'|'active'|'wrong'|'success'; + /** + * 进度条的线宽,单位 px + * @default 10 + */ + 'stroke-width'?: number; + /** + * 隐藏数值或状态图标 + * @default false + */ + 'hide-info'?: boolean; + /** + * 是否在垂直方向显示 + * @default false + */ + vertical?: boolean; + /** + * 已完成的分段百分比 + * @default 0 + */ + 'success-percent'?: number; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义显示状态内容 + */ + '': VNode[]; + }; +} diff --git a/types/radio.d.ts b/types/radio.d.ts new file mode 100644 index 00000000..3ed5bd59 --- /dev/null +++ b/types/radio.d.ts @@ -0,0 +1,64 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Radio extends Vue { + /** + * 只在单独使用时有效。可以使用 v-model 双向绑定数据 + * @default false + */ + value?: boolean; + /** + * 只在组合使用时有效。指定当前选项的 value 值,组合会自动判断当前选择的项目 + */ + label?: string | number; + /** + * 是否禁用当前项 + * @default false + */ + disabled?: boolean; + /** + * 单选框的尺寸,可选值为 large、small、default 或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用 + * @default true + */ + 'true-value'?: string | number | boolean; + /** + * 没有选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用 + * @default false + */ + 'false-value'?: string | number | boolean; + /** + * 在选项状态发生改变时触发,返回当前状态。通过修改外部的数据改变时不会触发 + */ + $emit(eventName: 'on-change', arg: string | number | boolean): this; +} + +export declare class RadioGroup extends Vue { + /** + * 指定当前选中的项目数据。可以使用 v-model 双向绑定数据 + */ + value?: string | number; + /** + * 可选值为 button 或不填,为 button 时使用按钮样式 + */ + type?: string; + /** + * 尺寸,可选值为large、small、default或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 是否垂直排列,按钮样式下无效 + * @default false + */ + vertical?: boolean; + /** + * 在选项状态发生改变时触发,返回当前选中的项。通过修改外部的数据改变时不会触发 + */ + $emit(eventName: 'on-change', ...args: Array): this; +} diff --git a/types/rate.d.ts b/types/rate.d.ts new file mode 100644 index 00000000..51e17e8a --- /dev/null +++ b/types/rate.d.ts @@ -0,0 +1,54 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Rate extends Vue { + /** + * star总数 + * @default 5 + */ + count?: number; + /** + * 当前 star 数,可以使用 v-model 双向绑定数据 + * @default 0 + */ + value?: number; + /** + * 是否允许半选 + * @default false + */ + 'allow-half'?: boolean; + /** + * 是否只读,无法进行交互 + * @default false + */ + disabled?: boolean; + /** + * 是否显示提示文字 + * @default false + */ + 'show-text'?: boolean; + /** + * 是否可以取消选择 + * @default false + */ + clearable?: boolean; + /** + * 自定义字符 + */ + character?: string; + /** + * 使用图标 + */ + icon?: string; + /** + * 使用自定义图标 + */ + 'custom-icon'?: string; + /** + * 评分改变时触发 + */ + $emit(eventName: 'on-change', value: number): this; +} \ No newline at end of file diff --git a/types/scroll.d.ts b/types/scroll.d.ts new file mode 100644 index 00000000..7a18fd56 --- /dev/null +++ b/types/scroll.d.ts @@ -0,0 +1,35 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Scroll extends Vue { + /** + * 滚动区域的高度,单位像素 + * @default 300 + */ + height?: string | number; + /** + * 加载中的文案 + * @default 加载中 + */ + 'loading-text'?: string; + /** + * 滚动至顶部时触发,需返回Promise + */ + 'on-reach-top'?: () => void; + /** + * 滚动至底部时触发,需返回Promise + */ + 'on-reach-bottom'?: () => void; + /** + * 滚动至顶部或底部时触发,需返回Promise + */ + 'on-reach-edge'?: () => void; + /** + * 从边缘到触发回调的距离。如果是负的,回调将在到达边缘之前触发。值最好在 24 以下。 + * @default [20, 20] + */ + 'distance-to-edge'?: number | number[]; +} \ No newline at end of file diff --git a/types/select.d.ts b/types/select.d.ts new file mode 100644 index 00000000..2376b146 --- /dev/null +++ b/types/select.d.ts @@ -0,0 +1,141 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Select extends Vue { + /** + * 指定选中项目的 value 值,可以使用 v-model 双向绑定数据。 + * 单选时只接受 String 或 Number,多选时只接受 Array + * @default 空 + */ + value?: string | number | string[] | number[]; + /** + * 是否支持多选 + * @default false + */ + multiple?: boolean; + /** + * 是否禁用 + * @default false + */ + disabled?: boolean; + /** + * 是否可以清空选项,只在单选时有效 + * @default false + */ + clearable?: boolean; + /** + * 是否支持搜索 + * @default false + */ + filterable?: boolean; + /** + * 是否使用远程搜索 + * @default false + */ + remote?: boolean; + /** + * 远程搜索的方法 + */ + 'remote-method'?: () => void; + /** + * 当前是否正在远程搜索 + * @default false + */ + loading?: boolean; + /** + * 远程搜索中的文字提示 + * @default 加载中 + */ + 'loading-text'?: string; + /** + * 仅在 remote 模式下,初始化时使用。因为仅通过 value 无法得知选项的 label,需手动设置。默认值空 + */ + label?: string | number | string[] | number[]; + /** + * 选择框大小,可选值为large、small、default或者不填 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 选择框默认文字 + * @default 请选择 + */ + placeholder?: string; + /** + * 当下拉列表为空时显示的内容 + * @default 无匹配数据 + */ + 'not-found-text'?: string; + /** + * 在返回选项时,是否将 label 和 value 一并返回,默认只返回 + * @default false + */ + 'label-in-value'?: boolean; + /** + * 弹窗的展开方向,可选值为 top、bottom、top-start、bottom-start、top-end、bottom-end + * @default bottom-start + */ + placement?: 'bottom' | 'top' | 'top-start' | 'bottom-start' | 'top-end' | 'bottom-end'; + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时, + * 建议添加此属性,它将不受父级样式影响,从而达到更好的效果 + * @default false + */ + transfer?: boolean; + /** + * 给表单元素设置 id,详见 Form 用法。 + */ + 'element-id'?: string; + /** + * 选中的Option变化时触发,默认返回 value,如需返回 label,详见 label-in-value 属性 当前选中项 + */ + $emit(eventName: 'on-change'): this; + /** + * 搜索词改变时触发,query + */ + $emit(eventName: 'on-query-change', query: string): this; + /** + * 搜索词改变时触发,query + */ + $emit(eventName: 'on-clear'): this; + /** + * 搜索词改变时触发,query + */ + $emit(eventName: 'on-open-change', params: boolean): this; + /** + * 设置搜索词,为空时清空,仅在 filterable="true" 时有效 + */ + setQuery(query: string): void; + /** + * 清空单选项,仅在 clearable="true" 时有效 + */ + clearSingleSelect(): void; +} + +export declare class Option extends Vue { + /** + * 选项值,默认根据此属性值进行筛选,必填 + */ + value?: string | number; + /** + * 选项显示的内容,默认会读取 slot,无 slot 时,优先读取该 label 值, + * 无 label 时,读取 value。当选中时,选择器会显示 label 为已选文案。 + * 大部分情况不需要配置此项,直接写入 slot 即可,在自定义选项时,该属性非常有用。 + */ + label?: string; + /** + * 是否禁用当前项 + * @default false + */ + disabled?: boolean; +} + +export declare class OptionGroup extends Vue { + /** + * 分组的组名 + * @default 空 + */ + label?: string; +} \ No newline at end of file diff --git a/types/sider.d.ts b/types/sider.d.ts new file mode 100644 index 00000000..cdb66056 --- /dev/null +++ b/types/sider.d.ts @@ -0,0 +1,8 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Sider extends Vue { +} \ No newline at end of file diff --git a/types/slider.d.ts b/types/slider.d.ts new file mode 100644 index 00000000..03a7dfde --- /dev/null +++ b/types/slider.d.ts @@ -0,0 +1,70 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Slider extends Vue { + /** + * 滑块选定的值,可以使用 v-model 双向绑定数据。普通模式下,数据格式为数字, + * 在双滑块模式下,数据格式为长度是2的数组,且每项都为数字, + * @default 0 + */ + value?: number | number[]; + /** + * 最小值 + * @default 0 + */ + min?: number; + /** + * 最大值 + * @default 100 + */ + max?: number; + /** + * 步长,取值建议能被(max - min)整除 + * @default 1 + */ + step?: number; + /** + * 是否禁用滑块 + * @default false + */ + disabled?: boolean; + /** + * 是否开启双滑块模式 + * @default false + */ + range?: boolean; + /** + * 是否显示数字输入框,仅在单滑块模式下有效 + * @default false + */ + 'show-input'?: boolean; + /** + * 是否显示间断点,建议在 step 不密集时使用 + * @default false + */ + 'show-stops'?: boolean; + /** + * 提示的显示控制,可选值为 hover(悬停,默认)、always(总是可见)、never(不可见) + * @default false + */ + 'show-tip'?: boolean; + /** + * 会把当前值传给 tip-format,并在 Tooltip 中显示 tip-format 的返回值,若为 null,则隐藏 Tooltip + */ + 'tip-format'?: (value?: number | number[]) => void; + /** + * 数字输入框的尺寸,可选值为large、small、default或者不填,仅在开启 show-input 时有效 + */ + 'input-size'?: '' | 'large' | 'small' | 'default'; + /** + * 在松开滑动时触发,返回当前的选值,在滑动过程中不会触发 + */ + $emit(eventName: 'on-change', value: number | number[]): this; + /** + * 滑动条数据变化时触发,返回当前的选值,在滑动过程中实时触发 + */ + $emit(eventName: 'on-input', value: number | number[]): this; +} \ No newline at end of file diff --git a/types/spin.d.ts b/types/spin.d.ts new file mode 100644 index 00000000..5312a611 --- /dev/null +++ b/types/spin.d.ts @@ -0,0 +1,35 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Spin extends Vue { + /** + * Spin尺寸,可选值为large和small或者不设置 + */ + size?: 'large' | 'small'; + /** + * 是否固定,需要父级有relative或absolute + * @default false + */ + fix?: boolean; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义 Spin 的内容,设置slot后,默认的样式不生效 + */ + '': VNode[]; + }; +} + +declare module 'vue/types/vue' { + interface Vue { + /** + * + */ + $Spin?: Spin; + } +} \ No newline at end of file diff --git a/types/split.d.ts b/types/split.d.ts new file mode 100644 index 00000000..48d7becc --- /dev/null +++ b/types/split.d.ts @@ -0,0 +1,68 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Split extends Vue { + /** + * 面板位置,可以是 0~1 代表百分比,或具体数值的像素,可用 v-model 双向绑定 + * @default 0.5 + */ + value?: number | string; + /** + * 类型,可选值为 horizontal 或 vertical + * @default horizontal + */ + mode?: 'horizontal' | 'vertical'; + /** + * 最小阈值 + * @default 40px + */ + min?: number | string; + /** + * 最大阈值 + * @default 40px + */ + max?: number | string; + /** + * 拖拽开始 - + * @default false + */ + $emit(eventName: 'on-move-start', []): this; + /** + * 拖拽中 + */ + $emit(eventName: 'on-moving', []): this; + /** + * 拖拽结束 + * @default false + */ + $emit(eventName: 'on-move-end', []): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * mode 为 horizontal 时可用,左边面板 + * @default false + */ + left: VNode[]; + /** + * mode 为 horizontal 时可用,右边面板 + */ + right: VNode[]; + /** + * mode 为 vertical 时可用,上边面板 + */ + top: VNode[]; + /** + * mode 为 vertical 时可用,下边面板 + */ + bottom: VNode[]; + /** + * 自定义分割拖拽节点 + */ + trigger: VNode[]; + } +} \ No newline at end of file diff --git a/types/steps.d.ts b/types/steps.d.ts new file mode 100644 index 00000000..8815dff2 --- /dev/null +++ b/types/steps.d.ts @@ -0,0 +1,48 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Steps extends Vue { + /** + * 当前步骤,从 0 开始计数 + * @default 0 + */ + current?: number; + /** + * 当前步骤的状态,可选值为wait、process、finish、error + * @default process + */ + status?: 'wait' | 'process' | 'finish' | 'error'; + /** + * 步骤条的尺寸,可选值为small或者不写 + */ + size?: '' | 'small'; + /** + * 步骤条的方向,可选值为horizontal(水平)或vertical(垂直) + * @default horizontal + */ + direction?: 'horizontal' | 'vertical'; +} + +export declare class StepsStep extends Vue { + /** + * 步骤的状态,可选值为wait、process、finish、error,不设置时自动判断 + * @default process + */ + status?: 'wait' | 'process' | 'finish' | 'error'; + /** + * 标题 + * @default 空 + */ + title?: string; + /** + * 步骤的详细描述,可选 + */ + content?: string; + /** + * 步骤的图标,可选 + */ + icon?: string; +} \ No newline at end of file diff --git a/types/switch.d.ts b/types/switch.d.ts new file mode 100644 index 00000000..d67d462c --- /dev/null +++ b/types/switch.d.ts @@ -0,0 +1,54 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Switch extends Vue { + /** + * 指定当前是否选中,可以使用 v-model 双向绑定数据 + * @default false + */ + value?: boolean; + /** + * 开关的尺寸,可选值为large、small、default或者不写。建议开关如果使用了2个汉字的文字,使用 large。 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 禁用开关 + * @default false + */ + disabled?: boolean; + /** + * 选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用 + * @default true + */ + 'true-value'?: string | number | boolean; + /** + * 没有选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用 + * @default false + */ + 'false-value'?: string | number | boolean; + /** + * 加载中的开关 + * @default false + */ + loading?: boolean; + /** + * 开关变化时触发,返回当前的状态 + */ + $emit(eventName: 'on-change', value: boolean): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义显示打开时的内容 + */ + open: VNode[]; + /** + * 自定义显示关闭时的内容 + */ + close: VNode[]; + }; +} \ No newline at end of file diff --git a/types/table.d.ts b/types/table.d.ts new file mode 100644 index 00000000..a70b9f53 --- /dev/null +++ b/types/table.d.ts @@ -0,0 +1,419 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Table extends Vue { + /** + * 显示的结构化数据,其中,字段 cellClassName 用于设置任意单元格的样式名称, + * 因此数据不能使用该字段,详见示例特定样式。 + * @default [] + */ + data?: object[]; + /** + * 表格列的配置描述,具体项见后文 + * @default [] + */ + columns?: object[]; + /** + * 是否显示间隔斑马纹 + * @default false + */ + stripe?: boolean; + /** + * 是否显示纵向边框 + * @default false + */ + border?: boolean; + /** + * 是否显示表头 + * @default true + */ + 'show-header'?: boolean; + /** + * 表格宽度,单位 px + * @default 自动 + */ + width?: number | string; + /** + * 表格高度,单位 px,设置后,如果表格内容大于此值,会固定表头 + */ + height?: number | string; + /** + * 表格是否加载中 + * @default false + */ + loading?: boolean; + /** + * 禁用鼠标悬停时的高亮 + * @default false + */ + 'disabled-hover'?: boolean; + /** + * 是否支持高亮选中的行,即单选 + * @default false + */ + 'highlight-row'?: boolean; + /** + * 行的 className 的回调方法,传入参数: + * row:当前行数据 + * index:当前行的索引 + */ + 'row-class-name'?: (row?: object, index?: number) => void; + /** + * 表格尺寸,可选值为 large、small、default 或者不填 + */ + size?: string; + /** + * 数据为空时显示的提示内容 + * @default 暂无数据 + */ + 'no-data-text'?: string; + /** + * 筛选数据为空时显示的提示内容 + * @default 暂无筛选结果 + */ + 'no-filtered-data-text'?: string; + /** + * 开启 highlight-row 后有效,当表格的当前行发生变化的时候会触发 + * currentRow:当前高亮行的数据 + * oldCurrentRow:上一次高亮的数据 + */ + $emit(eventName: 'on-current-change', currentRow: object, oldCurrentRow: object): this; + /** + * 在多选模式下有效,选中某一项时触发 + * selection:已选项数据 + * row:刚选择的项数据 + */ + $emit(eventName: 'on-select', selection: object[], row: object): this; + /** + * 在多选模式下有效,取消选中某一项时触发 + * selection:已选项数据 + * row:取消选择的项数据 + */ + $emit(eventName: 'on-select-cancel', selection: object[], row: object): this; + /** + * 在多选模式下有效,点击全选时触发 + * selection:已选项数据 + */ + $emit(eventName: 'on-select-all', selection: object[]): this; + /** + * 在多选模式下有效,只要选中项发生变化时就会触发 + * selection:已选项数据 + */ + $emit(eventName: 'on-selection-change', selection: object[]): this; + /** + * 排序时有效,当点击排序时触发 + * column:当前列数据 + * key:排序依据的指标 + * order:排序的顺序,值为 asc 或 desc + */ + $emit(eventName: 'on-sort-change', column?: object, key?: string, order?: 'asc' | 'desc'): this; + /** + * 筛选时有效,筛选条件发生变化时触发 当前列数据 + */ + $emit(eventName: 'on-filter-change', value: any): this; + /** + * 单击某一行时触发 + * currentRow:当前行的数据 + * index?: 当前行的索引 + */ + $emit(eventName: 'on-row-click', currentRow: object, index: number): this; + /** + * 双击某一行时触发 + * currentRow:当前行的数据 + * index?: 当前行的索引 + */ + $emit(eventName: 'on-row-dblclick', currentRow: object, index: number): this; + /** + * 展开或收起某一行时触发 + * row:当前行的数据 + * status:当前的状态 + */ + $emit(eventName: 'on-expand', row: object, status: string): this; + /** + * 导出数据 + */ + exportCsv(params: TableExportCsvParams): void; + /** + * 执行改变大小重绘table + */ + handleResize(): void; + /** + * 清除高亮项,仅在开启 highlight-row 时可用 + */ + clearCurrentRow(): void; + /** + * slot插槽对象 + */ + $slots: { + /** + * 表头 + */ + header: VNode[]; + /** + * 页脚 + */ + footer: VNode[]; + /** + * 加载中 + */ + loading: VNode[]; + }; +} + +export declare class TableColumn { + /** + * 列类型,可选值为 index、selection、expand、html + */ + type?: 'index' | 'selection' | 'expand' | 'html'; + /** + * 列头显示文字 + * @default # + */ + title?: string; + /** + * 对应列内容的字段名 + */ + key?: string; + /** + * 列宽 + */ + width?: number; + /** + * 最小列宽 + */ + minWidth?: number; + /** + * 最大列宽 + */ + maxWidth?: number; + /** + * 对齐方式,可选值为 left 左对齐、right 右对齐和 center 居中对齐,默认 left + * @default left + */ + align?: 'left' | 'right' | 'center'; + /** + * 列的样式名称 + */ + className?: string; + /** + * 列是否固定在左侧或者右侧,可选值为 left 左侧和 right 右侧 + */ + fixed?: 'left' | 'right'; + /** + * 开启后,文本将不换行,超出部分显示为省略号 + * @default false + */ + ellipsis?: boolean; + /** + * 开启后,文本将不换行,超出部分显示为省略号,并用 Tooltip 组件显示完整内容 + * @default false + */ + tooltip?: boolean; + /** + * 自定义渲染列,使用 Vue 的 Render 函数。 + * 传入两个参数,第一个是 h,第二个为对象,包含 row、column 和 index, + * 分别指当前行数据,当前列数据,当前行索引,详见示例。 + * 学习 Render 函数的内容 从 rc.18 版本开始,我们将不再支持旧的用法。旧的 render 函数已被废弃。 + */ + render?: (h?: + ( + el?: string | object | Function, + data?: string | TableRenderCreateElementData | TableRenderCreateElementResult | Array, + vnode?: string | TableRenderCreateElementResult[] + ) => TableRenderCreateElementResult, + params?: TableColumnRenderParams + ) => TableRenderCreateElementResult; + /** + * 自定义列头显示内容,传入参数有两个,column 和 index,分别为当前列数据和当前列索引,不支持渲染自定义组件 + */ + renderHeader?: (h?: + ( + el?: string | object | Function, + data?: string | TableRenderCreateElementData | TableRenderCreateElementResult | Array, + vnode?: string | TableRenderCreateElementResult[] + ) => TableRenderCreateElementResult, + params?: TableColumnRenderHeadParams + ) => TableRenderCreateElementResult; + /** + * 对应列是否可以排序,如果设置为 custom,则代表用户希望远程排序, + * 需要监听 Table 的 on- sort - change 事件,默认false + * @default false + */ + sortable?: boolean; + /** + * 自定义排序使用的方法,接收三个参数 a 、 b 和 type, + * 当设置 sortable?: true 时有效。type 值为 asc 和 desc + */ + sortMethod?: (a: any, b: any, type: 'asc' | 'desc') => void; + /** + * 设置初始化排序。值为 asc 和 desc + */ + sortType?: 'asc' | 'desc'; + /** + * 过滤数据的选项,格式为数组,数组中每项包含 label 和 value 属性,使用过滤,必须同时配置filterMethod + */ + filters?: { label: string, value: string | number | boolean }[]; + /** + * 数据过滤使用的方法,如果是多选的筛选项,对每一条数据会执行多次,任意一次返回 true 就会显示 + */ + filterMethod?: () => void; + /** + * 数据过滤的选项是否多选 + * @default true + */ + filterMultiple?: boolean; + /** + * 在初始化时使用过滤,数组,值为需要过滤的 value 集合 + */ + filteredValue?: (string | number | boolean)[]; + /** + * 使用远程过滤 + */ + filterRemote?: () => void; + /** + * 表头分组 + */ + children?: object[]; +} + +export declare class TableRenderCreateElementData { + /** + * 和`v-bind:class`一样的 API + */ + 'class'?: object; + /** + * 和`v-bind:style`一样的 API + */ + style?: object; + /** + * 正常的 HTML 特性 + */ + attrs?: object, + /** + * 组件 props + */ + props?: object; + /** + * DOM 属性 + */ + domProps?: object; + /** + * 事件监听器基于 "on" + * 所以不再支持如 v-on?:keyup.enter 修饰器 + * 需要手动匹配 keyCode。 + */ + on?: object; + /** + * 仅对于组件,用于监听原生事件,而不是组件使用 vm.$emit 触发的事件。 + */ + nativeOn?: object; + /** + * 自定义指令. 注意事项:不能对绑定的旧值设值 + * Vue 会为您持续追踨 + */ + directives?: object[]; + /** + * 如果子组件有定义 slot 的名称 + */ + slot?: string; + /** + * 其他特殊顶层属性,myKey + */ + key?: string; + /** + * myRef + */ + ref?: string +} + +export declare class TableColumnRenderParams { + /** + * 当前行数据 + */ + row?: object; + /** + * 当前列数据 + */ + column?: object; + /** + * 当前行索引 + */ + index?: number; +} + +export declare class TableRenderCreateElementResult { + child?: object; + children?: Array; + componentInstance?: object; + componentOptions?: object; + context?: object; + data?: object; + elm?: object; + functionalContext?: object; + isCloned?: boolean; + isComment?: boolean; + isOnce?: boolean; + isRootInsert?: boolean; + isStatic?: boolean; + key?: object; + ns?: object; + parent?: object; + raw?: boolean; + tag?: string; + text?: object; +} + +export declare class TableColumnRenderHeadParams { + /** + * 当前列数据 + */ + column?: object; + /** + * 当前行索引 + */ + index?: number; +} + +export declare class TableExportCsvParams { + /** + * 文件名,默认为 table.csv + */ + filename?: string; + /** + * 是否导出为原始数据,默认为 true + */ + original?: boolean; + /** + * 不显示表头,默认为 false + */ + noHeader?: boolean; + /** + * 自定义导出的列数据 + */ + columns?: any[]; + /** + * 自定义导出的行数据 + */ + data?: any[]; + /** + * 添加此函数后,不会下载,而是返回数据 + */ + callback?: () => void; + /** + * 数据分隔符,默认是逗号(,) + * @default , + */ + separator?: string; + /** + * 每项数据是否加引号 + * @default false + */ + quoted?: boolean; +} + + + + diff --git a/types/tabs.d.ts b/types/tabs.d.ts new file mode 100644 index 00000000..c883c5a0 --- /dev/null +++ b/types/tabs.d.ts @@ -0,0 +1,81 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Tabs extends Vue { + /** + * 当前激活 tab 面板的 name,可以使用 v-model 双向绑定数据 + * @default 默认为第一项的 name + */ + value?: string; + /** + * 页签的基本样式,可选值为 line 和 card + * @default line + */ + type?: 'line' | 'card'; + /** + * 尺寸,可选值为 default 和 small,仅在 type="line" 时有效 + * @default default + */ + size?: 'default' | 'small'; + /** + * 是否可以关闭页签,仅在 type="card" 时有效 + * @default false + */ + closable?: boolean; + /** + * 是否使用 CSS3 动画 + * @default true + */ + animated?: boolean; + /** + * Tabs 内的表单类组件是否自动获得焦点 + * @default false + */ + 'capture-focus'?: boolean; + /** + * tab 被点击时触发 + */ + $emit(eventName: 'on-click', name: string): this; + /** + * tab 被关闭时触发 + */ + $emit(eventName: 'on-tab-remove', name: string): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 附加内容 + */ + extra: VNode[]; + }; +} + +export declare class TabsPane extends Vue { + /** + * 用于标识当前面板,对应 value,默认为其索引值 + */ + name?: string | number; + /** + * 选项卡头显示文字,支持 Render 函数。 + * @default 空 + */ + label?: string | (() => void); + /** + * 选项卡图标 + */ + icon?: string; + /** + * 是否禁用该选项卡 + * @default false + */ + disabled?: boolean; + /** + * 是否可以关闭页签,仅在 type="card" 时有效 + * @default null + */ + closable?: boolean; +} \ No newline at end of file diff --git a/types/tag.d.ts b/types/tag.d.ts new file mode 100644 index 00000000..474a18c8 --- /dev/null +++ b/types/tag.d.ts @@ -0,0 +1,48 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Tag extends Vue { + /** + * 标签是否可以关闭 + * @default false + */ + closable?: boolean + /** + * 标签是否可以选择 + * @default false + */ + checkable?: boolean; + /** + * 标签的选中状态 + * @default true + */ + checked?: boolean; + /** + * 标签的样式类型,可选值为border、dot或不填 + */ + type?: '' | 'border' | 'dot'; + /** + * 标签颜色,预设颜色值为 + * default、primary、success、warning、error、blue、green、 + * red、yellow、pink、magenta、volcano、orange、gold、 + * lime、cyan、geekblue、purple + * 你也可以自定义颜色值。 + */ + color?: 'default' | 'primary' | 'success' | 'warning' | 'error' | 'blue' | 'green' | 'red' | 'yellow' | 'pink' | 'magenta' | 'volcano' | 'orange' | 'gold' | 'lime' | 'cyan' | 'geekblue' | 'purple'; + /** + * 当前标签的名称,使用 v-for,并支持关闭时,会比较有用 + */ + name?: string | number; + /** + * 是否在出现和消失时使用渐变的动画,动画时长可能会引起占位的闪烁 + * @default true + */ + fade?: boolean; + /** + * 关闭时触发 + */ + $emit(eventName: 'on-close', event: object, name: string): this; +} \ No newline at end of file diff --git a/types/time-picker.d.ts b/types/time-picker.d.ts new file mode 100644 index 00000000..ca77fe56 --- /dev/null +++ b/types/time-picker.d.ts @@ -0,0 +1,169 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class TimePicker extends Vue { + /** + * 显示类型,可选值为 time、timerange + * @default time + */ + type?: 'time' | 'timerange'; + /** + * 时间,可以是 JavaScript 的 Date,例如 new Date(),也可以是标准的时间格式,点击右边查看 + * 注意:value 使用 v-model 时,值是 Date 类型,可以配合 @on-change 使用 + * 名称 说明 示例 + * yyyy 年份(四位) 2016 + * yy 年份(两位) 16 + * MM 月份(两位) 01 + * M 月份(一位) 1 + * MMMM 月份(英文) January + * MMM 月份(英文简写) Jan + * dd 日期(两位) 01 + * d 日期(一位) 1 + * Do 日期(简写) 1st + * DD 星期(两位) 00 + * D 星期(一位) 0 + * dddd 星期(英文) Monday + * ddd 星期(英文简写) Mon + * HH 小时(24小时制两位) 01 + * H 小时(24小时制一位) 1 + * hh 小时(12小时制两位) 01 + * h 小时(12小时制一位) 1 + * mm 分钟(两位) 01 + * m 分钟(一位) 1 + * ss 秒钟(两位) 01 + * s 秒钟(一位) 1 + * SSS 毫秒(三位) 019 + * SS 毫秒(两位) 01 + * S 毫秒(一位) 1 + * A 上午与下午(大写) AM/PM + * a 上午与下午(小写) am/pm + * ZZ 时区 +0800 + */ + value?: Date; + /** + * 展示的时间格式 + * @default HH:mm:ss + * 名称 说明 示例 + * yyyy 年份(四位) 2016 + * yy 年份(两位) 16 + * MM 月份(两位) 01 + * M 月份(一位) 1 + * MMMM 月份(英文) January + * MMM 月份(英文简写) Jan + * dd 日期(两位) 01 + * d 日期(一位) 1 + * Do 日期(简写) 1st + * DD 星期(两位) 00 + * D 星期(一位) 0 + * dddd 星期(英文) Monday + * ddd 星期(英文简写) Mon + * HH 小时(24小时制两位) 01 + * H 小时(24小时制一位) 1 + * hh 小时(12小时制两位) 01 + * h 小时(12小时制一位) 1 + * mm 分钟(两位) 01 + * m 分钟(一位) 1 + * ss 秒钟(两位) 01 + * s 秒钟(一位) 1 + * SSS 毫秒(三位) 019 + * SS 毫秒(两位) 01 + * S 毫秒(一位) 1 + * A 上午与下午(大写) AM/PM + * a 上午与下午(小写) am/pm + * ZZ 时区 +0800 + */ + format?: string; + /** + * 下拉列表的时间间隔,数组的三项分别对应小时、分钟、秒。 + * 例如设置为 [1, 15] 时,分钟会显示:00、15、30、45。 + * @default [] + */ + steps?: any[]; + /** + * 时间选择器出现的位置,可选值为 + * top,top-start,top-end + * bottom,bottom-start,bottom-end + * left,left-start,left-end + * right,right-start,right-end + * @default bottom-start + */ + placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'; + /** + * 占位文本 + * @default 空 + */ + placeholder?: string; + /** + * 是否显示底部控制栏 + * @default false + */ + confirm?: boolean; + /** + * 手动控制时间选择器的显示状态,true 为显示,false 为收起。 + * 使用该属性后,选择器不会主动关闭。建议配合 slot 及 confirm 和相关事件一起使用, + * @default null + */ + open?: boolean; + /** + * 尺寸,可选值为large、small、default或者不设置 + */ + size?: '' | 'large' | 'small' | 'default'; + /** + * 是否禁用选择器 + * @default false + */ + disabled?: boolean; + /** + * 是否显示清除按钮 + * @default true + */ + clearable?: boolean; + /** + * 完全只读,开启后不会弹出选择器,只在没有设置 open 属性下生效 + * @default false + */ + readonly?: boolean; + /** + * 文本框是否可以输入,只在没有使用 slot 时有效 + * @default true + */ + editable?: boolean; + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时, + 建议添加此属性,它将不受父级样式影响,从而达到更好的效果 + * @default false + */ + transfer?: boolean; + /** + * 给表单元素设置 id,详见 Form 用法。 + */ + 'element-id'?: boolean; + /** + * 时间发生变化时触发 已经格式化后的时间,比如 09:41:00 + */ + $emit(eventName: 'on-change', value: string): this; + /** + * 弹出浮层和关闭浮层时触发 + */ + $emit(eventName: 'on-open-change', value: boolean): this; + /** + * 点击确定按钮时触发 + */ + $emit(eventName: 'on-ok'): this; + /** + * 在清空日期时触发 + */ + $emit(eventName: 'on-clear'): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义选择器的显示内容,建议与 open 等参数一起使用,详见示例 + */ + '': VNode[]; + }; +} \ No newline at end of file diff --git a/types/time.ts b/types/time.ts new file mode 100644 index 00000000..1490a706 --- /dev/null +++ b/types/time.ts @@ -0,0 +1,27 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Time extends Vue { + /** + * 需要对比的时间,可以是时间戳或 Date 类型 + */ + time?: number |Date |string; + /** + * 类型,可选值为 relative、date 或 datetime + * @default relative + */ + type?: 'relative'|'date'|'datetime'; + /** + * 自动更新的间隔,单位:秒 + * @default 60 + */ + interval?: number; + /** + * 填写该值,点击会定位锚点 + * @default false + */ + hash?: string; +} \ No newline at end of file diff --git a/types/timeline.d.ts b/types/timeline.d.ts new file mode 100644 index 00000000..5a0ab235 --- /dev/null +++ b/types/timeline.d.ts @@ -0,0 +1,34 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Timeline extends Vue { + /** + * 指定是否最后一个节点为幽灵节点 + * @default false + */ + pending?: boolean; +} + +export declare class TimelineItem extends Vue { + /** + * 圆圈颜色,可选值为blue、red、green,或自定义色值 + * @default blue + */ + color?: 'blue' | 'red' | 'green' | string; + /** + * slot插槽对象 + */ + $slots: { + /** + * 基本内容 + */ + '': VNode[]; + /** + * 自定义时间轴点内容 + */ + dot: VNode[]; + }; +} \ No newline at end of file diff --git a/types/tooltip.d.ts b/types/tooltip.d.ts new file mode 100644 index 00000000..efefc5dc --- /dev/null +++ b/types/tooltip.d.ts @@ -0,0 +1,91 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Tooltip extends Vue { + /** + * 显示的内容 + * @default 空 + */ + content?: string | number; + /** + * 提示框出现的位置,可选值为 + * top,top-start,top-end,bottom,bottom-start,bottom-end, + * left,left-start,left-end,right,right-start,right-end + * 2.12.0 版本开始支持自动识别 + * @default bottom + */ + placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'; + /** + * 是否禁用提示框 + * @default false + */ + disabled?: boolean; + /** + * 延迟显示,单位毫秒 + * @default 0 + */ + delay?: number; + /** + * 是否总是可见 + * @default false + */ + always?: boolean; + /** + * 主题,可选值为 dark 或 light + * @default dark + */ + theme?: string; + /** + * 最大宽度,超出最大值后,文本将自动换行,并两端对齐 + */ + 'max-width'?: string|number; + /** + * 出现位置的偏移量 + * @default 0 + */ + offset?: number; + /** + * 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时, + * 建议添加此属性,它将不受父级样式影响,从而达到更好的效果 + * @default false + */ + transfer?: boolean; + /** + * 出现位置的偏移量 + * @default { + modifiers: { + computeStyle:{ + gpuAcceleration: false, + }, + preventOverflow :{ + boundariesElement: 'window' + } + } + } + */ + options?: object; + /** + * 在提示框显示时触发 + */ + $emit(eventName: 'on-popper-show'): this; + /** + * 在提示框消失时触发 + */ + $emit(eventName: 'on-popper-hide'): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 主体内容 + */ + '': VNode[]; + /** + * 提示框的内容,定义此 slot 时,会覆盖 props content。 + */ + content: VNode[]; + }; +} \ No newline at end of file diff --git a/types/transfer.d.ts b/types/transfer.d.ts new file mode 100644 index 00000000..10014421 --- /dev/null +++ b/types/transfer.d.ts @@ -0,0 +1,80 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Transfer extends Vue { + /** + * 数据源,其中的数据将会被渲染到左边一栏中,targetKeys 中指定的除外。 + * @default [] + */ + data?: object[]; + /** + * 显示在右侧框数据的key集合 + * @default [] + */ + targetKeys?: string[]; + /** + * 每行数据渲染函数,该函数的入参为 data 中的项 + * value?: 默认显示label,没有时显示key + */ + 'render-format'?: (value?: string) => void; + /** + * 设置哪些项应该被选中 + * @default [] + */ + 'selected-keys'?: string[]; + /** + * 两个穿梭框的自定义样式 + * @default {} + */ + 'list-style'?: object; + /** + * 标题集合,顺序从左至右 Array + * @default ['源列表', '目的列表'] + */ + titles?: string[]; + /** + * 操作文案集合,顺序从上至下 + * @default [] + */ + operations?: object[]; + /** + * 是否显示搜索框 + * @default false + */ + filterable?: object[]; + /** + * 搜索框的占位 + * @default 请输入搜索内容 + */ + 'filter-placeholder'?: string; + /** + * 自定义搜索函数,入参为 data 和 query,data 为项,query 为当前输入的搜索词 + * 默认搜索label + */ + 'filter-method'?: (value?: string) => void; + /** + * 当列表为空时显示的内容 + * @default 列表为空 + */ + 'not-found-text'?: string; + /** + * 选项在两栏之间转移时的回调函数 + */ + $emit(eventName: 'on-change', targetKeys: string[], direction: string, moveKeys: string[]): this; + /** + * 选项在两栏之间转移时的回调函数 + */ + $emit(eventName: 'on-selected-change', sourceSelectedKeys: string[], targetSelectedKeys: string[]): this; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义底部内容 + */ + '': VNode[]; + }; +} \ No newline at end of file diff --git a/types/tree.d.ts b/types/tree.d.ts new file mode 100644 index 00000000..b0ba5976 --- /dev/null +++ b/types/tree.d.ts @@ -0,0 +1,103 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Tree extends Vue { + /** + * 可嵌套的节点属性的数组,生成 tree 的数据 + */ + data?: TreeChild[]; + /** + * 是否支持多选 + * @default false + */ + multiple?: boolean; + /** + * 是否显示多选框 + * @default false + */ + 'show-checkbox'?: boolean; + /** + * 没有数据时的提示 + * @default 暂无数据 + */ + 'empty-text'?: string; + /** + * 异步加载数据的方法 + */ + 'load-data'?: () => void; + /** + * 自定义渲染内容 + */ + render?: () => void; + /** + * 定义子节点键 + * @default children + */ + 'children-key'?:string; + /** + * 点击树节点时触发 + * @default 当前已选中的节点数组 + */ + $emit(eventName: 'on-select-change', value: TreeChild[]): this; + /** + * 点击复选框时触发 + * @default 当前已勾选节点的数组 + */ + $emit(eventName: 'on-check-change', value: TreeChild[]): this; + /** + * 展开和收起子列表时触发 + * @default 当前节点的数据 + */ + $emit(eventName: 'on-toggle-expand', value: TreeChild): this; + /** + * 获取被勾选的节点 + */ + getCheckedNodes(): void; + /** + * 获取被选中的节点 + */ + getSelectedNodes(): void; +} + +export declare class TreeChild extends Vue { + /** + * 标题 + */ + title?: string; + /** + * 是否展开直子节点 + * @default false + */ + expand?: boolean; + /** + * 禁掉响应 + * @default false + */ + disabled?: boolean; + /** + * 禁掉checkbox + * @default false + */ + disableCheckbox?: boolean; + /** + * 是否选中子节点 + * @default false + */ + selected?: boolean; + /** + * 是否勾选(如果勾选,子节点也会全部勾选) + * @default false + */ + checked?: boolean; + /** + * 子节点属性数组 + */ + children?: TreeChild[]; + /** + * 自定义当前节点渲染内容,见示例 + */ + render(): void; +} \ No newline at end of file diff --git a/types/upload.d.ts b/types/upload.d.ts new file mode 100644 index 00000000..6c428641 --- /dev/null +++ b/types/upload.d.ts @@ -0,0 +1,130 @@ +// Type definitions for iview 3.0.1 +// Project: https://github.com/iview/iview +// Definitions by: yangdan +// Definitions: https://github.com/yangdan8/iview.git +import Vue from 'vue'; + +export declare class Upload extends Vue { + /** + * 上传的地址,必填 + */ + action?: string; + /** + * 设置上传的请求头部 + * @default {} + */ + headers?: object; + /** + * 是否支持多选文件 + * @default false + */ + multiple?: boolean; + /** + * 是否支持粘贴上传文件 + * @default false + */ + paste?: boolean; + /** + * 上传时附带的额外参数 + */ + data?: object; + /** + * 上传的文件字段名 + * @default file + */ + name?: string; + /** + * 支持发送 cookie 凭证信息 + * @default false + */ + 'with-credentials'?: boolean; + /** + * 是否显示已上传文件列表 + * @default true + */ + 'show-upload-list'?: boolean; + /** + * 上传控件的类型,可选值为 select(点击选择),drag(支持拖拽) + * @default select + */ + type?: 'select' | 'drag'; + /** + * 接受上传的文件类型 + */ + accept?: string; + /** + * 支持的文件类型,与 accept 不同的是, + * format 是识别文件的后缀名, + * accept 为 input 标签原生的 accept 属性, + * 会在选择文件时过滤,可以两者结合使用, + * @default [] + */ + format?: string[]; + /** + * 文件大小限制,单位 kb + */ + 'max-size'?: number; + /** + * 上传文件之前的钩子,参数为上传的文件,若返回 false 或者 Promise 则停止上传 + */ + 'before-upload'?: Function; + /** + * 文件上传时的钩子,返回字段为 event, file, fileList + */ + 'on-progress'?: Function; + /** + * 文件上传成功时的钩子,返回字段为 response, file, fileList + */ + 'on-success'?: Function; + /** + * 文件上传失败时的钩子,返回字段为 error, file, fileList + */ + 'on-error'?: Function; + /** + * 点击已上传的文件链接时的钩子,返回字段为 file, 可以通过 file.response 拿到服务端返回数据 + */ + 'on-preview'?: Function; + /** + * 文件列表移除文件时的钩子,返回字段为 file, fileList + */ + 'on-remove'?: Function; + /** + * 文件格式验证失败时的钩子,返回字段为 file, fileList + */ + 'on-format-error'?: Function; + /** + * 文件超出指定大小限制时的钩子,返回字段为 file, fileList + */ + 'on-exceeded-size'?: Function; + /** + * 默认已上传的文件列表,例如: + * [ + * { + * name?: 'img1.jpg', + * url?: 'http://www.xxx.com/img1.jpg' + * }, + * { + * name?: 'img2.jpg', + * url?: 'http://www.xxx.com/img2.jpg' + * } + * ] + */ + 'default-file-list'?: string[]; + /** + * 清空已上传的文件列表 + */ + 'clearFiles'(): void; + /** + * slot插槽对象 + */ + $slots: { + /** + * 触发上传组件的控件 + */ + '': VNode[]; + /** + * 辅助提示内容 + */ + tip: VNode[]; + }; +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b0df71bc..d439e34d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -314,7 +314,7 @@ arraybuffer.slice@~0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" -arrify@^1.0.0: +arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -1572,6 +1572,12 @@ clean-css@4.1.11, clean-css@4.1.x: dependencies: source-map "0.5.x" +clean-webpack-plugin@^0.1.19: + version "0.1.19" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz#ceda8bb96b00fe168e9b080272960d20fdcadd6d" + dependencies: + rimraf "^2.6.1" + cli-cursor@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" @@ -1614,6 +1620,10 @@ clone@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" +clone@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -1843,6 +1853,19 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" +copy-webpack-plugin@^4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz#d53444a8fea2912d806e78937390ddd7e632ee5c" + dependencies: + cacache "^10.0.4" + find-cache-dir "^1.0.0" + globby "^7.1.1" + is-glob "^4.0.0" + loader-utils "^1.1.0" + minimatch "^3.0.4" + p-limit "^1.0.0" + serialize-javascript "^1.4.0" + core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -2251,6 +2274,13 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dir-glob@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -3439,6 +3469,17 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + globule@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" @@ -3495,12 +3536,12 @@ gulp-clean-css@^3.9.3: through2 "2.0.3" vinyl-sourcemaps-apply "0.2.1" -gulp-less@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/gulp-less/-/gulp-less-4.0.0.tgz#3c49deb96bdca913e436921ef792fb4c24296fcd" +gulp-less@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/gulp-less/-/gulp-less-4.0.1.tgz#348c33a5dde7a207c5771b1d8261d1ac1021ceed" dependencies: accord "^0.29.0" - less "2.6.x || ^3.0.0" + less "2.6.x || ^3.7.1" object-assign "^4.0.1" plugin-error "^0.1.2" replace-ext "^1.0.0" @@ -3961,6 +4002,10 @@ ignore@^3.2.0: version "3.3.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + image-size@~0.5.0: version "0.5.5" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" @@ -4643,9 +4688,11 @@ less-loader@^4.0.6: loader-utils "^1.1.0" pify "^3.0.0" -"less@2.6.x || ^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/less/-/less-3.0.4.tgz#d27dcedbac96031c9e7b76f1da1e4b7d83760814" +"less@2.6.x || ^3.7.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/less/-/less-3.8.1.tgz#f31758598ef5a1930dd4caefa9e4340641e71e1d" + dependencies: + clone "^2.1.2" optionalDependencies: errno "^0.1.1" graceful-fs "^4.1.2" @@ -5725,6 +5772,12 @@ p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" +p-limit@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + dependencies: + p-try "^1.0.0" + p-limit@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" @@ -5930,6 +5983,12 @@ path-type@^2.0.0: dependencies: pify "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + dependencies: + pify "^3.0.0" + pathval@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"