From a44120df487ccde77565a85af82bab5378c6c253 Mon Sep 17 00:00:00 2001 From: kangwei Date: Mon, 16 Mar 2020 03:05:21 +0800 Subject: [PATCH] add some assets --- .../simulator/host/create-simulator.ts | 28 +- .../src/builtins/simulator/host/host.ts | 37 +- .../simulator/renderer/renderer-view.tsx | 4 +- .../builtins/simulator/renderer/renderer.ts | 26 +- .../src/builtins/simulator/utils/asset.ts | 14 +- .../src/builtins/simulator/utils/loader.ts | 30 +- packages/designer/src/designer/designer.ts | 2 +- .../src/designer/document/node/node.ts | 7 +- packages/editor/src/config/assets.js | 129 +- .../editor/src/plugins/designer/index.tsx | 26 +- packages/editor/statics/assets.json | 1082 +++++++++++++++++ 11 files changed, 1290 insertions(+), 95 deletions(-) create mode 100644 packages/editor/statics/assets.json diff --git a/packages/designer/src/builtins/simulator/host/create-simulator.ts b/packages/designer/src/builtins/simulator/host/create-simulator.ts index e3412afd4..3a2bdf06a 100644 --- a/packages/designer/src/builtins/simulator/host/create-simulator.ts +++ b/packages/designer/src/builtins/simulator/host/create-simulator.ts @@ -4,7 +4,11 @@ import { SimulatorHost } from './host'; import { AssetLevel, AssetLevels, AssetList, isAssetBundle, isAssetItem, AssetType, assetItem } from '../utils/asset'; import { isCSSUrl } from '../../../utils/is-css-url'; -export function createSimulator(host: SimulatorHost, iframe: HTMLIFrameElement, vendors: AssetList = []): Promise { +export function createSimulator( + host: SimulatorHost, + iframe: HTMLIFrameElement, + vendors: AssetList = [], +): Promise { const win: any = iframe.contentWindow; const doc = iframe.contentDocument!; @@ -12,7 +16,7 @@ export function createSimulator(host: SimulatorHost, iframe: HTMLIFrameElement, const styles: any = {}; const scripts: any = {}; - AssetLevels.forEach((lv) => { + AssetLevels.forEach(lv => { styles[lv] = []; scripts[lv] = []; }); @@ -36,9 +40,9 @@ export function createSimulator(host: SimulatorHost, iframe: HTMLIFrameElement, asset = assetItem(isCSSUrl(asset) ? AssetType.CSSUrl : AssetType.JSUrl, asset, level)!; } const id = asset.id ? ` data-id="${asset.id}"` : ''; - const lv = asset.level || level || AssetLevel.BaseDepends; + const lv = asset.level || level || AssetLevel.Environment; if (asset.type === AssetType.JSUrl) { - (scripts[lv] || scripts[AssetLevel.App]).push(``) + (scripts[lv] || scripts[AssetLevel.App]).push(``); } else if (asset.type === AssetType.JSText) { (scripts[lv] || scripts[AssetLevel.App]).push(`${asset.content}`); } else if (asset.type === AssetType.CSSUrl) { @@ -51,12 +55,16 @@ export function createSimulator(host: SimulatorHost, iframe: HTMLIFrameElement, parseAssetList(vendors); - const styleFrags = Object.keys(styles).map(key => { - return styles[key].join('\n') + ``; - }).join(''); - const scriptFrags = Object.keys(scripts).map(key => { - return scripts[key].join('\n'); - }).join(''); + const styleFrags = Object.keys(styles) + .map(key => { + return styles[key].join('\n') + ``; + }) + .join(''); + const scriptFrags = Object.keys(scripts) + .map(key => { + return scripts[key].join('\n'); + }) + .join(''); doc.open(); doc.write(` diff --git a/packages/designer/src/builtins/simulator/host/host.ts b/packages/designer/src/builtins/simulator/host/host.ts index 6e8176928..ab64b23c9 100644 --- a/packages/designer/src/builtins/simulator/host/host.ts +++ b/packages/designer/src/builtins/simulator/host/host.ts @@ -6,7 +6,7 @@ import { SimulatorRenderer } from '../renderer/renderer'; import Node, { NodeParent, isNodeParent, isNode, contains } from '../../../designer/document/node/node'; import DocumentModel from '../../../designer/document/document-model'; import ResourceConsumer from './resource-consumer'; -import { AssetLevel, Asset, assetBundle, assetItem, AssetType } from '../utils/asset'; +import { AssetLevel, Asset, AssetList, assetBundle, assetItem, AssetType } from '../utils/asset'; import { DragObjectType, isShaken, @@ -34,6 +34,12 @@ import { ReactInstance } from 'react'; import { isRootNode } from '../../../designer/document/node/root-node'; import { parseProps } from '../utils/parse-props'; +export interface LibraryItem { + package: string; + library: string; + urls: Asset; +} + export interface SimulatorProps { // 从 documentModel 上获取 // suspended?: boolean; @@ -41,8 +47,9 @@ export interface SimulatorProps { device?: 'mobile' | 'iphone' | string; deviceClassName?: string; simulatorUrl?: Asset; - dependsAsset?: Asset; - themesAsset?: Asset; + environment?: Asset; + library?: LibraryItem[]; + theme?: Asset; componentsAsset?: Asset; [key: string]: any; } @@ -59,14 +66,13 @@ const defaultSimulatorUrl = (() => { return urls; })(); -const defaultDepends = [ +const defaultEnvironment = [ // https://g.alicdn.com/mylib/??react/16.11.0/umd/react.production.min.js,react-dom/16.8.6/umd/react-dom.production.min.js,prop-types/15.7.2/prop-types.min.js assetItem(AssetType.JSText, 'window.React=parent.React;window.ReactDOM=parent.ReactDOM;', undefined, 'react'), assetItem( AssetType.JSText, 'window.PropTypes=parent.PropTypes;React.PropTypes=parent.PropTypes; window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__;', ), - // assetItem(AssetType.JSUrl, 'https://g.alicdn.com/mylib/@ali/recore/1.5.7/umd/recore.min.js'), assetItem(AssetType.JSUrl, '/statics/lowcode-renderer.js'), ]; @@ -97,8 +103,8 @@ export class SimulatorHost implements ISimulator { return this.get('componentsAsset'); } - @computed get themesAsset(): Asset | undefined { - return this.get('themesAsset'); + @computed get theme(): Asset | undefined { + return this.get('theme'); } @computed get componentsMap() { @@ -166,6 +172,8 @@ export class SimulatorHost implements ISimulator { return {}; }); + readonly libraryMap: { [key: string]: string } = {}; + async mountContentFrame(iframe: HTMLIFrameElement | null) { if (!iframe) { return; @@ -173,11 +181,22 @@ export class SimulatorHost implements ISimulator { this._contentWindow = iframe.contentWindow!; + const library = this.get('library') as LibraryItem[]; + const libraryAsset: AssetList = []; + if (library) { + library.forEach(item => { + this.libraryMap[item.package] = item.library; + libraryAsset.push(item.urls); + }); + } + const vendors = [ // required & use once - assetBundle(this.get('dependsAsset') || defaultDepends, AssetLevel.BaseDepends), + assetBundle(this.get('environment') || defaultEnvironment, AssetLevel.Environment), + // required & use once + assetBundle(libraryAsset, AssetLevel.Library), // required & TODO: think of update - assetBundle(this.themesAsset, AssetLevel.Theme), + assetBundle(this.theme, AssetLevel.Theme), // required & use once assetBundle(this.get('simulatorUrl') || defaultSimulatorUrl, AssetLevel.Runtime), ]; diff --git a/packages/designer/src/builtins/simulator/renderer/renderer-view.tsx b/packages/designer/src/builtins/simulator/renderer/renderer-view.tsx index 42feb3486..5ea36db45 100644 --- a/packages/designer/src/builtins/simulator/renderer/renderer-view.tsx +++ b/packages/designer/src/builtins/simulator/renderer/renderer-view.tsx @@ -40,11 +40,11 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> { } render() { const { renderer } = this.props; - const { components, schemas } = LowCodeRenderer.others; + // const { components, schemas } = LowCodeRenderer.others; return ( { - components[componentName] = findComponent(componentName, componentsMap[componentName]); + components[componentName] = findComponent(libraryMap, componentName, componentsMap[componentName]); }); return components; } diff --git a/packages/designer/src/builtins/simulator/utils/asset.ts b/packages/designer/src/builtins/simulator/utils/asset.ts index 36082de9e..d09abe623 100644 --- a/packages/designer/src/builtins/simulator/utils/asset.ts +++ b/packages/designer/src/builtins/simulator/utils/asset.ts @@ -6,11 +6,11 @@ export interface AssetItem { } export enum AssetLevel { - // 基础依赖库 - BaseDepends = 1, - // 基础组件库 - BaseComponents = 2, - // 主题包 + // 环境依赖库 比如 react, react-dom + Environment = 1, + // 基础类库,比如 lodash deep fusion antd + Library = 2, + // 主题 Theme = 3, // 运行时 Runtime = 4, @@ -21,8 +21,8 @@ export enum AssetLevel { } export const AssetLevels = [ - AssetLevel.BaseDepends, - AssetLevel.BaseComponents, + AssetLevel.Environment, + AssetLevel.Library, AssetLevel.Theme, AssetLevel.Runtime, AssetLevel.Components, diff --git a/packages/designer/src/builtins/simulator/utils/loader.ts b/packages/designer/src/builtins/simulator/utils/loader.ts index 58fd31d82..cfd6f726f 100644 --- a/packages/designer/src/builtins/simulator/utils/loader.ts +++ b/packages/designer/src/builtins/simulator/utils/loader.ts @@ -1,10 +1,20 @@ import { load, evaluate } from './script'; import StylePoint from './style'; -import { Asset, AssetLevel, AssetLevels, AssetType, AssetList, isAssetBundle, isAssetItem, assetItem, AssetItem } from './asset'; +import { + Asset, + AssetLevel, + AssetLevels, + AssetType, + AssetList, + isAssetBundle, + isAssetItem, + assetItem, + AssetItem, +} from './asset'; import { isCSSUrl } from '../../../utils/is-css-url'; function parseAssetList(scripts: any, styles: any, assets: AssetList, level?: AssetLevel) { - for (let asset of assets) { + for (const asset of assets) { parseAsset(scripts, styles, asset, level); } } @@ -36,7 +46,7 @@ function parseAsset(scripts: any, styles: any, asset: Asset | undefined | null, let lv = asset.level || level; if (!lv || AssetLevel[lv] == null) { - lv = AssetLevel.App + lv = AssetLevel.App; } asset.level = lv; @@ -51,19 +61,19 @@ export class AssetLoader { async load(asset: Asset) { const styles: any = {}; const scripts: any = {}; - AssetLevels.forEach((lv) => { + AssetLevels.forEach(lv => { styles[lv] = []; scripts[lv] = []; }); parseAsset(scripts, styles, asset); - const styleQueue: AssetItem[] = styles[AssetLevel.BaseDepends].concat( - styles[AssetLevel.BaseComponents], + const styleQueue: AssetItem[] = styles[AssetLevel.Environment].concat( + styles[AssetLevel.Library], styles[AssetLevel.Theme], styles[AssetLevel.Runtime], styles[AssetLevel.App], ); - const scriptQueue: AssetItem[] = scripts[AssetLevel.BaseDepends].concat( - scripts[AssetLevel.BaseComponents], + const scriptQueue: AssetItem[] = scripts[AssetLevel.Environment].concat( + scripts[AssetLevel.Library], scripts[AssetLevel.Theme], scripts[AssetLevel.Runtime], scripts[AssetLevel.App], @@ -71,9 +81,7 @@ export class AssetLoader { await Promise.all( styleQueue.map(({ content, level, type, id }) => this.loadStyle(content, level!, type === AssetType.CSSUrl, id)), ); - await Promise.all( - scriptQueue.map(({ content, type }) => this.loadScript(content, type === AssetType.JSUrl)), - ); + await Promise.all(scriptQueue.map(({ content, type }) => this.loadScript(content, type === AssetType.JSUrl))); } private stylePoints = new Map(); diff --git a/packages/designer/src/designer/designer.ts b/packages/designer/src/designer/designer.ts index da7945afb..10b802d98 100644 --- a/packages/designer/src/designer/designer.ts +++ b/packages/designer/src/designer/designer.ts @@ -330,7 +330,7 @@ export default class Designer { return meta; } - get componentsMap(): { [key: string]: NpmInfo } { + @computed get componentsMap(): { [key: string]: NpmInfo } { const maps: any = {}; this._componentMetasMap.forEach((config, key) => { maps[key] = config.metadata.npm; diff --git a/packages/designer/src/designer/document/node/node.ts b/packages/designer/src/designer/document/node/node.ts index c94101e16..2bdc4106e 100644 --- a/packages/designer/src/designer/document/node/node.ts +++ b/packages/designer/src/designer/document/node/node.ts @@ -325,7 +325,7 @@ export default class Node { */ export(serialize = false): NodeSchema { const baseSchema: any = { - componentName: this.componentName, + componentName: this.componentName === 'Leaf' ? 'Fragment' : this.componentName, }; if (serialize) { @@ -334,10 +334,11 @@ export default class Node { if (!isNodeParent(this)) { baseSchema.children = this.props.get('children')?.export(serialize); - return baseSchema; + // FIXME! + return baseSchema.children; } - const { props, extras } = this.props.export(serialize) || {}; + const { props = {}, extras } = this.props.export(serialize) || {}; const schema: any = { ...baseSchema, props, diff --git a/packages/editor/src/config/assets.js b/packages/editor/src/config/assets.js index 5724f4742..b4fa7e612 100644 --- a/packages/editor/src/config/assets.js +++ b/packages/editor/src/config/assets.js @@ -33,22 +33,24 @@ export default { propType: 'string' } ], - configure: { - props: [ - { - name: 'type', - setter: { - componentName: 'Input' - } - }, - { - name: 'children', - setter: { - componentName: 'Input' - } - } - ] - } + }, + 'Button.Group': { + componentName: 'Button.Group', + title: '按钮组', + devMode: 'proCode', + npm: { + package: '@alifd/next', + version: '1.19.18', + destructuring: true, + exportName: 'Button', + subName: 'Group' + }, + props: [ + { + name: 'size', + propType: 'string' + } + ], }, Input: { componentName: 'Input', @@ -66,16 +68,91 @@ export default { propType: 'string' } ], - configure: { - props: [ - { - name: 'placeholder', - setter: { - componentName: 'Input' - } - } - ] - } + }, + Form: { + componentName: 'Form', + title: '表单容器', + devMode: 'proCode', + npm: { + package: '@alifd/next', + version: '1.19.18', + destructuring: true, + exportName: 'Form' + }, + props: [ + { + name: 'device', + propType: 'string' + } + ], + }, + 'Form.Item': { + componentName: 'Form.Item', + title: '表单项', + devMode: 'proCode', + npm: { + package: '@alifd/next', + version: '1.19.18', + destructuring: true, + exportName: 'Form', + subName: 'Item' + }, + props: [ + { + name: 'label', + propType: 'string', + }, + { + name: 'device', + propType: 'string' + } + ], + }, + NumberPicker: { + componentName: 'NumberPicker', + title: '数字输入', + devMode: 'proCode', + npm: { + package: '@alifd/next', + version: '1.19.18', + destructuring: true, + exportName: 'NumberPicker', + }, + props: [ + { + name: 'size', + propType: 'string', + }, + { + name: 'defaultValue', + propType: 'number' + } + ], + }, + Select: { + componentName: 'Select', + title: '下拉', + devMode: 'proCode', + npm: { + package: '@alifd/next', + version: '1.19.18', + destructuring: true, + exportName: 'Select', + }, + props: [ + { + name: 'size', + propType: 'string', + }, + { + name: 'defaultValue', + propType: 'number' + }, + { + name: 'placeholder', + propType: 'string' + } + ], } }, componentList: [ diff --git a/packages/editor/src/plugins/designer/index.tsx b/packages/editor/src/plugins/designer/index.tsx index a857d09aa..3658f07fb 100644 --- a/packages/editor/src/plugins/designer/index.tsx +++ b/packages/editor/src/plugins/designer/index.tsx @@ -6,6 +6,8 @@ import { PluginConfig } from '../../framework/definitions'; // @ts-ignore import Designer from '../../../../designer'; +import assets from '../../config/assets'; + import './index.scss'; export interface PluginProps { @@ -53,7 +55,7 @@ const SCHEMA = { }, children: [ { - componentName: 'FormItem', + componentName: 'Form.Item', props: { label: '姓名:', name: 'name', @@ -73,7 +75,7 @@ const SCHEMA = { ] }, { - componentName: 'FormItem', + componentName: 'Form.Item', props: { label: '年龄:', name: 'age', @@ -90,7 +92,7 @@ const SCHEMA = { ] }, { - componentName: 'FormItem', + componentName: 'Form.Item', props: { label: '职业:', name: 'profession' @@ -126,7 +128,7 @@ const SCHEMA = { }, children: [ { - componentName: 'ButtonGroup', + componentName: 'Button.Group', props: {}, children: [ { @@ -179,21 +181,9 @@ export default class DesignerPlugin extends PureComponent { className="lowcode-plugin-designer" defaultSchema={SCHEMA as any} eventPipe={editor as any} + componentsDescription={Object.values(assets.components) as any} simulatorProps={{ - componentsAsset: [ - { - type: 'jsUrl', - content: 'https://unpkg.alibaba-inc.com/@alifd/next@1.18.17/dist/next.min.js', - id: 'next', - level: 2 - }, - { - type: 'cssUrl', - content: 'https://unpkg.alibaba-inc.com/@alifd/next@1.18.17/dist/next.min.css', - id: 'next', - level: 2 - } - ] + library: Object.values(assets.packages), }} /> ); diff --git a/packages/editor/statics/assets.json b/packages/editor/statics/assets.json new file mode 100644 index 000000000..97d2ded1a --- /dev/null +++ b/packages/editor/statics/assets.json @@ -0,0 +1,1082 @@ +{ + "errorLevel": "", + "errorMsg": "", + "content": { + "externals": [ + { + "urls": ["https://unpkg.alibaba-inc.com/jquery@3.4.1"], + "library": "jQuery", + "packageName": "jquery", + "version": "3.4.1" + }, + { + "urls": ["https://g.alicdn.com/code/lib/moment.js/2.24.0/moment.js"], + "library": "moment", + "packageName": "moment", + "version": "2.24.0" + }, + { + "urls": ["https://unpkg.alibaba-inc.com/classnames@2.2.6"], + "library": "classNames", + "packageName": "classnames", + "version": "2.2.6" + }, + { + "urls": ["https://unpkg.alibaba-inc.com/lodash@4.17.15"], + "library": "_", + "packageName": "lodash", + "version": "4.17.15" + }, + { + "urls": [ + "https://unpkg.alibaba-inc.com/@alifd/next@1.18.17/dist/next.min.js", + "https://unpkg.alibaba-inc.com/@alifd/next@1.18.17/dist/next.min.css" + ], + "library": "Next", + "packageName": "@alifd/next", + "version": "1.18.17" + } + ], + "systemType": "", + "componentDependencies": [ + { + "prototypeViewsUrl": ["https://dev.g.alicdn.com/limitless/vision-specs-uxcore/0.1.2/views.js"], + "alias": "", + "prototypeConfigsUrl": ["https://dev.g.alicdn.com/limitless/vision-specs-uxcore/0.1.2/configs.js"], + "urls": [ + "https://g.alicdn.com/mylib/@ali/deep-umd/1.1.0/deep.js", + "https://g.alicdn.com/mylib/@ali/deep-umd/1.1.0/deep.css", + "https://g.alicdn.com/mylib/uxcore/0.22.16/build/uxcore.min.js", + "https://g.alicdn.com/mylib/uxcore/0.22.16/assets/orange.min.css", + "https://g.alicdn.com/platform/c/??lodash/4.6.1/lodash.min.js,highcharts/5.0.12/highcharts.js,highcharts/5.0.12/highcharts-more.js,highcharts/5.0.12/modules/map.js,highcharts/5.0.12/modules/funnel.js,natty-storage/2.0.2/dist/natty-storage.min.js,natty-fetch/2.6.0/dist/natty-fetch.pc.min.js,tinymce/4.2.5/tinymce-full.js" + ], + "library": "Deep", + "components": [ + { + "snippets": [ + { + "code": "\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/6017e204fa1e-48fd-955d-8f5062c5c878.png", + "label": "贴顶容器" + } + ], + "description": "Affix", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Affix", "version": "1.17.2" }, + "componentName": "Affix", + "title": "Affix", + "category": "Util" + }, + { + "snippets": [ + { + "code": "\n \n", + "screenshot": "https://img.alicdn.com/tfs/TB1pD3ajYH1gK0jSZFwXXc7aXXa-282-122.png", + "label": "自定义徽记" + }, + { + "code": "\n \n", + "screenshot": "https://img.alicdn.com/tfs/TB1I6Y_j.T1gK0jSZFhXXaAtVXa-298-122.png", + "label": "红点徽记" + } + ], + "description": "Badge", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Badge", "version": "1.17.2" }, + "componentName": "Badge", + "title": "Badge", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "click} triggerType=\"click\">\n
\n 内容\n
\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/925370d9e36e-4d1a-89c0-0f89e8386a68.png", + "label": "气泡" + } + ], + "description": "Balloon", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Balloon", "version": "1.17.2" }, + "componentName": "Balloon", + "title": "Balloon", + "category": "Feedback" + }, + { + "snippets": [ + { + "code": "\n \n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/fb0e6543eadd-4f99-b99a-4c4a869c777b.png", + "label": "Banner容器" + } + ], + "description": "BannerContainer", + "npm": { + "package": "@ali/deep", + "destructuring": true, + "exportName": "BannerContainer", + "version": "1.17.2" + }, + "componentName": "BannerContainer", + "title": "BannerContainer", + "category": "Util" + }, + { + "snippets": [ + { + "code": "\n Home\n All Categories\n Women’s Clothing\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/96a92d99cec3-4a1f-8b49-dc091bd993d3.png", + "label": "面包屑" + } + ], + "description": "Breadcrumb", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Breadcrumb", "version": "1.17.2" }, + "componentName": "Breadcrumb", + "title": "Breadcrumb", + "category": "Navigation" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/8034dcfc92dd-44f2-9782-88baeda2bdc8.png", + "label": "主按钮" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/0164f9e7dd4d-4a95-a484-8bfef42a92d7.png", + "label": "次要按钮" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/b35f3a77c251-4347-8f49-790b7c4c46c1.png", + "label": "普通按钮" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/d15e5e25632d-42de-b2d8-6ec2769c0b42.png", + "label": "警告按钮" + }, + { + "code": "\n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/fd02c6a2acf2-496c-aa8f-b98e83e6e89b.png", + "label": "按钮组" + } + ], + "description": "Button", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Button", "version": "1.17.2" }, + "componentName": "Button", + "title": "Button", + "category": "General" + }, + { + "snippets": [ + { + "code": " {return 'date'}} monthCellRender={(date) => {return 'month'}} />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/1ef89042a1c8-4f83-82fd-f4de24e8d9e4.png", + "label": "自定义月日历" + }, + { + "code": " {}} />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/b864c57e4fb9-48fd-9ef6-de643cc09c1b.png", + "label": "普通月日历" + }, + { + "code": " {}} shape=\"card\" />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/b1fac4eb51ad-46f9-b07d-8f5e031a9915.png", + "label": "卡片月日历" + } + ], + "description": "Calendar", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Calendar", "version": "1.17.2" }, + "componentName": "Calendar", + "title": "Calendar", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "\n
卡片内容
\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/272ad28ee183-4808-bfbc-14157289468c.png", + "label": "卡片" + }, + { + "code": "\n \"father\n
\n

Father's Day

\n

Thank you, papa

\n
\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/80df2b0b5fff-4585-ac7c-b961967a3e25.png", + "label": "自定义样式" + } + ], + "description": "Card", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Card", "version": "1.17.2" }, + "componentName": "Card", + "title": "Card", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": " {}}\n/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/646456c40079-4037-8572-be15d0631d37.png", + "label": "级联面板" + } + ], + "description": "Cascader", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Cascader", "version": "1.17.2" }, + "componentName": "Cascader", + "title": "Cascader", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": " {}}\n/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/5e68c27d5a4e-47d6-8cf1-643c8caae23e.png", + "label": "级联选择" + } + ], + "description": "CascaderSelect", + "npm": { + "package": "@ali/deep", + "destructuring": true, + "exportName": "CascaderSelect", + "version": "1.17.2" + }, + "componentName": "CascaderSelect", + "title": "CascaderSelect", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "\n React\n Vue\n Angular\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/347e2f1ba65e-4051-817b-b539a81114f4.png", + "label": "竖直复选框" + }, + { + "code": "\n React\n Vue\n Angular\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/d2c8abeb3c13-4684-950e-d5b1094a872c.png", + "label": "水平复选框" + } + ], + "description": "Checkbox", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Checkbox", "version": "1.17.2" }, + "componentName": "Checkbox", + "title": "Checkbox", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "\n \n
    \n
  • Promotions are marketing campaigns ran by Marketplace
  • \n
  • Participate to sale your products during that promotion and make a profit
  • \n
\n
\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/c2055b9ba1f3-4e29-8d5a-b41cb99ef5f0.png", + "label": "折叠面板" + } + ], + "description": "Collapse", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Collapse", "version": "1.17.2" }, + "componentName": "Collapse", + "title": "Collapse", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/59287b350f80-424d-882c-869c2e93c36a.png", + "label": "块级容器( div )" + }, + { + "code": "

", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/7b7a5d895232-4a2d-b418-689422b45851.png", + "label": "块级容器( p )" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/3accf919aaf6-4d8c-9100-a479cfa065d7.png", + "label": "行内容器(span)" + } + ], + "description": "Container", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Container", "version": "1.17.2" }, + "componentName": "Container", + "title": "Container", + "category": "General" + }, + { + "snippets": [ + { + "code": " console.log(val)} />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/96979bf43937-4cc2-9afc-6573d416b1e4.png", + "label": "日期选择" + } + ], + "description": "DatePicker", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "DatePicker", "version": "1.17.2" }, + "componentName": "DatePicker", + "title": "DatePicker", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "Customize footer}\n visible={true}\n>\n Start your business here by searching a popular product\n", + "screenshot": "https://img.alicdn.com/tfs/TB1Lg7wjbY1gK0jSZTEXXXDQVXa-356-167.png", + "label": "定制底部" + }, + { + "code": " {}}\n onCancel={() => {}}\n onClose={() => {}}>\n Start your business here by searching a popular product\n", + "screenshot": "https://img.alicdn.com/tfs/TB1rRMwjkT2gK0jSZFkXXcIQFXa-359-175.png", + "label": "普通对话框" + } + ], + "description": "Dialog", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Dialog", "version": "1.17.2" }, + "componentName": "Dialog", + "title": "Dialog", + "category": "Feedback" + }, + { + "snippets": [ + { + "code": "\n Start your business here by searching a popular product\n", + "screenshot": "https://img.alicdn.com/tfs/TB1QIExjbj1gK0jSZFOXXc7GpXa-401-228.png", + "label": "抽屉组件" + } + ], + "description": "Drawer", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Drawer", "version": "1.17.2" }, + "componentName": "Drawer", + "title": "Drawer", + "category": "Feedback" + }, + { + "snippets": [ + { + "code": "Hello dropdown} triggerType={[\"click\", \"hover\"]} afterOpen={() => console.log('after open')}>\n

\n Option 1\n Option 2\n Option 3\n Option 4\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/fd8fc78a550e-4aa1-912f-063f6cab9221.png", + "label": "下拉浮层" + } + ], + "description": "Dropdown", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Dropdown", "version": "1.17.2" }, + "componentName": "Dropdown", + "title": "Dropdown", + "category": "Util" + }, + { + "snippets": [ + { + "code": " {\n console.info('onChange', value);\n }}\n/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/e659e7994e51-409a-ac83-d22e5d49ec79.png", + "label": "人员搜索" + } + ], + "description": "EmployeeSearch", + "npm": { + "package": "@ali/deep", + "destructuring": true, + "exportName": "EmployeeSearch", + "version": "1.17.2" + }, + "componentName": "EmployeeSearch", + "title": "EmployeeSearch", + "category": "Util" + }, + { + "snippets": [ + { + "code": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/a3d963c917ae-4842-9cb7-9479f92e37e3.png", + "label": "过滤表单" + } + ], + "description": "Filter", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Filter", "version": "1.17.2" }, + "componentName": "Filter", + "title": "Filter", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "
\n \n \n \n \n \n \n \n Agree\n \n \n {}} type='primary'>登 录\n \n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/c4794e01e320-41ed-a6ca-1ec1807cd870.png", + "label": "垂直布局" + }, + { + "code": "
\n \n \n \n \n \n \n \n Agree\n \n \n {}} type='primary'>登 录\n \n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/bf1be4fb0ee1-4701-bd2a-953c0b269ea8.png", + "label": "水平布局" + }, + { + "code": "\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/f0aca8768c4c-488c-a9ea-83fca2d76d7f.png", + "label": "InputField" + }, + { + "code": "\n \n", + "screenshot": "https://img.alicdn.com/tfs/TB1MV60jWL7gK0jSZFBXXXZZpXa-420-168.png", + "label": "SelectField" + }, + { + "code": "\n {}} size=\"small\" />\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/1b691b020b9b-4c0d-a20c-6ed989a95bc8.png", + "label": "SwitchField" + }, + { + "code": "\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/57864796dc82-40d6-8bdb-e4a972d046a6.png", + "label": "TextAreaField" + }, + { + "code": "\n {}}/>\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/2367ec669891-4cec-af16-3844c0259fff.png", + "label": "NumberPickedField" + }, + { + "code": "\n {}}\n >\n Normal\n Button\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/346e34ada913-4431-b21b-23671e51e4f9.png", + "label": "RadioField" + }, + { + "code": "\n {}}\n >\n Normal\n Button\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/d3a55146b060-4329-90d0-81a55aa59d8a.png", + "label": "CheckboxField" + }, + { + "code": "\n console.log(val)} />\n", + "screenshot": "https://img.alicdn.com/tfs/TB1vHj5j7Y2gK0jSZFgXXc5OFXa-496-172.png", + "label": "TimePickerField" + }, + { + "code": "\n console.log(val)} />\n", + "screenshot": "https://img.alicdn.com/tfs/TB1aD24j1H2gK0jSZFEXXcqMpXa-504-170.png", + "label": "DatePickerField" + }, + { + "code": "\n {}} />\n", + "screenshot": "https://img.alicdn.com/tfs/TB1Otz5j7L0gK0jSZFxXXXWHVXa-654-162.png", + "label": "CascaderSelectField" + }, + { + "code": "\n \n", + "screenshot": "https://img.alicdn.com/tfs/TB10sn5j.T1gK0jSZFhXXaAtVXa-526-182.png", + "label": "RangeField" + }, + { + "code": "\n console.log('change:', val)} onHoverChange={val => console.log('hover:', val)} />\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/ef69d4f104fd-49b9-a075-b5cc03c8b4ec.png", + "label": "RatingField" + }, + { + "code": "\n \n \n \n", + "screenshot": "https://img.alicdn.com/tfs/TB1yij9j.Y1gK0jSZFCXXcwqXXa-490-204.png", + "label": "UploadFileField" + }, + { + "code": "\n \n \n \n", + "screenshot": "https://img.alicdn.com/tfs/TB16Jf.jYj1gK0jSZFuXXcrHpXa-912-334.png", + "label": "UploadImageField" + }, + { + "code": "\n {}} style={{ width: 200 }}>\n \n \n \n \n \n \n \n \n \n \n", + "screenshot": "https://img.alicdn.com/tfs/TB1rDEXjW61gK0jSZFlXXXDKFXa-528-192.png", + "label": "TreeSelectField" + }, + { + "code": "\n {}} titles={['Title', 'Title']} />\n", + "screenshot": "https://img.alicdn.com/tfs/TB1JD7XjYH1gK0jSZFwXXc7aXXa-974-578.png", + "label": "TransferField" + } + ], + "description": "Form", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Form", "version": "1.17.2" }, + "componentName": "Form", + "title": "Form", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "\n col-24\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/5327054a3e17-460f-93e6-d049b988f058.png", + "label": "一列栅格" + }, + { + "code": "\n col-12\n col-12\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/554718b6a306-40d1-9053-6e219236dd64.png", + "label": "两列栅格" + }, + { + "code": "\n col-8\n col-8\n col-8\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/a3f20ad98fe4-4239-891f-81064e23cb4b.png", + "label": "三列栅格" + } + ], + "description": "Grid", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Grid", "version": "1.17.2" }, + "componentName": "Grid", + "title": "Grid", + "category": "General" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/5d9fad2badf5-4201-a13f-51292d2c9e53.png", + "label": "图标" + } + ], + "description": "Icon", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Icon", "version": "1.17.2" }, + "componentName": "Icon", + "title": "Icon", + "category": "General" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/1829cf9de81f-4edc-994c-8dfa6c0a77bd.png", + "label": "模块缺省" + }, + { + "code": "
\n 返回} />\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/fa23fe8d62ee-4f9e-b65c-0b330f1cb503.png", + "label": "整页缺省" + } + ], + "description": "Illustration", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Illustration", "version": "1.17.2" }, + "componentName": "Illustration", + "title": "Illustration", + "category": "Util" + }, + { + "snippets": [ + { + "code": "{ console.log(1) }}\n/>", + "screenshot": "https://img.alicdn.com/tfs/TB17hf6jED1gK0jSZFGXXbd3FXa-526-201.png", + "label": "图片预览" + } + ], + "description": "ImageViewer", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "ImageViewer", "version": "1.17.2" }, + "componentName": "ImageViewer", + "title": "ImageViewer", + "category": "Util" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/1eb8bd84ada7-4749-b05c-2202303c583a.png", + "label": "普通文本框" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/8c2d24fd4aad-4041-8563-a163d1926bd5.png", + "label": "自定义文本框" + } + ], + "description": "Input", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Input", "version": "1.17.2" }, + "componentName": "Input", + "title": "Input", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "\n
test
\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/69177456b4ec-4481-b674-e3816a91be80.png", + "label": "加载中" + } + ], + "description": "Loading", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Loading", "version": "1.17.2" }, + "componentName": "Loading", + "title": "Loading", + "category": "Feedback" + }, + { + "snippets": [ + { + "code": "\n Option 1\n Disabled option 2\n \n Sub option 1\n Sub option 2\n \n \n Group option 1\n Group option 2\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/57b687a9c817-41f6-a8ac-f48c539936b2.png", + "label": "竖直菜单" + }, + { + "code": "\n First\n Second\n \n Sub option 1\n Sub option 2\n \n Sub sub option 1\n Sub sub option 2\n \n \n \n Sub option 1\n Sub option 2\n \n Sub sub option 1\n Sub sub option 2\n \n \n Third\n ", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/4d84204cf205-445b-8281-2ddbf0d5f3e8.png", + "label": "水平菜单" + } + ], + "description": "Menu", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Menu", "version": "1.17.2" }, + "componentName": "Menu", + "title": "Menu", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "
\n下拉按钮 \n下拉按钮 \n下拉按钮 \n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/a943a90f5253-4a91-b40e-1aa01c13212d.png", + "label": "菜单按钮" + }, + { + "code": "{}}>\n Undo\n Redo\n \n \n Cut\n Copy\n Paste\n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/a13bfffaa3a3-4ee0-bf55-cdcd1e601c1e.png", + "label": "菜单按钮组" + } + ], + "description": "MenuButton", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "MenuButton", "version": "1.17.2" }, + "componentName": "MenuButton", + "title": "MenuButton", + "category": "General" + }, + { + "snippets": [ + { + "code": "
\n\n Content Content Content Content\n\n\n Content Content Content Content\n \n \n Content Content Content Content\n \n \n Content Content Content Content\n \n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/8e764eb4ba18-4edf-9e5b-2d7828d3905a.png", + "label": "信息提示" + } + ], + "description": "Message", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Message", "version": "1.17.2" }, + "componentName": "Message", + "title": "Message", + "category": "Feedback" + }, + { + "snippets": [ + { + "code": " {}}>\n 张三\n", + "screenshot": "https://img.alicdn.com/tfs/TB1qLGsjUH1gK0jSZSyXXXtlpXa-796-330.png", + "label": "人员名片" + } + ], + "description": "NameCard", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "NameCard", "version": "1.17.2" }, + "componentName": "NameCard", + "title": "NameCard", + "category": "Util" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/6f85786c724b-4595-9841-1eefbe480b4e.png", + "label": "消息通知" + } + ], + "description": "Notification", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Notification", "version": "1.17.2" }, + "componentName": "Notification", + "title": "Notification", + "category": "Feedback" + }, + { + "snippets": [ + { + "code": " {}}/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/8d57ba6439de-46e4-9de4-a19522d396b8.png", + "label": "数字选择" + } + ], + "description": "NumberPicker", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "NumberPicker", "version": "1.17.2" }, + "componentName": "NumberPicker", + "title": "NumberPicker", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "操作}\nextraContent={
其它内容
}\nsubContent={
ContentComponent
}\n logo={\"\"/}\n device={'pc'}\n prefix={'deep'}\ncrumb={\n Home\n All Categories\n Women’s Clothing\n Blouses & Shirts\n \n T-shirts  78,999 Results\n \n }\n containerWidth=\"800\"\n/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/6257ce18e7b5-4897-8dd9-434d21f6f4d9.png", + "label": "页头" + } + ], + "description": "PageHeader", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "PageHeader", "version": "1.17.2" }, + "componentName": "PageHeader", + "title": "PageHeader", + "category": "Util" + }, + { + "snippets": [ + { + "code": " {console.log(value)}} total={50} />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/54f50b09c869-4c47-933c-f21421b6bb74.png", + "label": "普通分页" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/581cc577608d-4ad2-a8f5-941d26409ea2.png", + "label": "上下翻页" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/4cb5c1c15af9-4506-9b1a-8512269ade42.png", + "label": "迷你分页" + } + ], + "description": "Pagination", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Pagination", "version": "1.17.2" }, + "componentName": "Pagination", + "title": "Pagination", + "category": "Navigation" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/1c4732b8c315-48f4-b5db-c3b5f4e62a92.png", + "label": "水平进度条" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/04781fc69afe-4601-982e-17ad6eba9a1d.png", + "label": "环形进度条" + } + ], + "description": "Progress", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Progress", "version": "1.17.2" }, + "componentName": "Progress", + "title": "Progress", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "\n React\n Vue\n Angular\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/db93145c9c06-43b0-9486-cf091c20b8a8.png", + "label": "按钮型单选" + }, + { + "code": "\n React\n Vue\n Angular\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/0e13d4a87861-4f40-8ad6-39816438f8f6.png", + "label": "普通单选" + } + ], + "description": "Radio", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Radio", "version": "1.17.2" }, + "componentName": "Radio", + "title": "Radio", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/6d84710441c8-4f0f-8994-bef498a98b2f.png", + "label": "普通区间" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/ed4d5d66a773-4d5b-8a52-349ddb176abd.png", + "label": "tip提示区间" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/fb49ea2e52d5-49c9-bd1e-7304d1d31aba.png", + "label": "双控制按钮区间" + } + ], + "description": "Range", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Range", "version": "1.17.2" }, + "componentName": "Range", + "title": "Range", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/72c283de9965-476b-8be0-93447ed2b2bd.png", + "label": "评价" + } + ], + "description": "Rating", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Rating", "version": "1.17.2" }, + "componentName": "Rating", + "title": "Rating", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": " {}} style={{width: '400px'}}/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/fb91105ed65d-4e10-9036-43aee1c7ace1.png", + "label": "搜索框" + } + ], + "description": "Search", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Search", "version": "1.17.2" }, + "componentName": "Search", + "title": "Search", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://img.alicdn.com/tfs/TB1NadEka61gK0jSZFlXXXDKFXa-738-186.png", + "label": "下拉选择器(标签模式)" + }, + { + "code": "", + "screenshot": "https://img.alicdn.com/tfs/TB12tXDkbY1gK0jSZTEXXXDQVXa-706-174.png", + "label": "下拉选择器" + } + ], + "description": "Select", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Select", "version": "1.17.2" }, + "componentName": "Select", + "title": "Select", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "", + "screenshot": "https://img.alicdn.com/tfs/TB1fhqsjUH1gK0jSZSyXXXtlpXa-2878-174.png", + "label": "导航框架" + } + ], + "description": "Shell", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Shell", "version": "1.17.2" }, + "componentName": "Shell", + "title": "Shell", + "category": "Util" + }, + { + "snippets": [ + { + "code": "\n
{''}
\n
{''}
\n
{''}
\n
{''}
\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/22555a656d0d-497a-8394-ef22aa1a2c67.png", + "label": "轮播图" + }, + { + "code": "\n

1

\n

2

\n

3

\n

4

\n

5

\n

6

\n

7

\n
", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/650c1029d06d-4abf-b621-234819a90eed.png", + "label": "轮播组图" + } + ], + "description": "Slider", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Slider", "version": "1.17.2" }, + "componentName": "Slider", + "title": "Slider", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "分隔按钮", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/41541c9a6f3c-435d-beb9-8ab4ac2204dd.png", + "label": "分隔按钮" + }, + { + "code": "分隔按钮", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/612bc8f052f9-49c7-85a9-3066468c39ce.png", + "label": "主分隔按钮" + } + ], + "description": "SplitButton", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "SplitButton", "version": "1.17.2" }, + "componentName": "SplitButton", + "title": "SplitButton", + "category": "General" + }, + { + "snippets": [ + { + "code": " {}} unCheckedChildren=\"off\" />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/abbb333f2a7a-4369-810d-8895fbb31c9d.png", + "label": "默认开启" + }, + { + "code": " {}} unCheckedChildren=\"off please\" />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/67e524d2e137-4779-9e18-b0ee0a26bba5.png", + "label": "默认关闭" + } + ], + "description": "Switch", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Switch", "version": "1.17.2" }, + "componentName": "Switch", + "title": "Switch", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "\n Home content\n Doc content\n Help Content\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/16d632e407d8-4cff-8265-8615e0bcdc38.png", + "label": "普通选项卡" + }, + { + "code": "\n Home content\n Doc content\n Help Content\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/a739af4ccd2a-41d5-a304-34c0f55d9403.png", + "label": "胶囊型选项卡" + }, + { + "code": "\n Home content\n Doc content\n Help Content\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/c8f0953633c7-44b8-ac64-fd6a5ddbd04f.png", + "label": "包裹型选项卡" + }, + { + "code": "\n Home content\n Doc content\n Help Content\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/f9fa5286802d-4163-8b27-0cb5fbe52c3d.png", + "label": "文本型选项卡" + } + ], + "description": "Tab", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Tab", "version": "1.17.2" }, + "componentName": "Tab", + "title": "Tab", + "category": "Navigation" + }, + { + "snippets": [ + { + "code": "\n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/80df8ea4d93a-47c8-a170-e90efe956734.png", + "label": "表格" + } + ], + "description": "Table", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Table", "version": "1.17.2" }, + "componentName": "Table", + "title": "Table", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "\n Selectable1\n Selectable1\n Selectable1\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/07a673e30e04-4132-a01f-4029403f4ea5.png", + "label": "可选择标签组" + }, + { + "code": "\n Normal large Tag\n Primary large Tag\n Tag With Icon\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/08611b80fe3a-4120-b5be-936c6e0204c6.png", + "label": "普通标签组" + } + ], + "description": "Tag", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Tag", "version": "1.17.2" }, + "componentName": "Tag", + "title": "Tag", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": "\n \n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/c7b7c3b588ba-491e-bf57-06b07b4310cc.png", + "label": "垂直步骤条" + }, + { + "code": "\n \n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/cd76b43e93aa-4479-96d5-f67f21ba9cd5.png", + "label": "时间左侧" + } + ], + "description": "Timeline", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Timeline", "version": "1.17.2" }, + "componentName": "Timeline", + "title": "Timeline", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": " console.log(val)} />", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/0d4a46c9ee47-49ac-a4c2-8bc6fde71cf1.png", + "label": "时间选择器" + } + ], + "description": "TimePicker", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "TimePicker", "version": "1.17.2" }, + "componentName": "TimePicker", + "title": "TimePicker", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": " {}}\n titles={['Title', 'Title']}\n/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/521d73dcf044-4c96-b081-b45703a4d6a7.png", + "label": "穿梭框" + } + ], + "description": "Transfer", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Transfer", "version": "1.17.2" }, + "componentName": "Transfer", + "title": "Transfer", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": "\n \n \n \n \n \n \n \n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/2c1619fca799-4e1b-8f51-d3a361281823.png", + "label": "树形选择" + } + ], + "description": "Tree", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Tree", "version": "1.17.2" }, + "componentName": "Tree", + "title": "Tree", + "category": "DataDisplay" + }, + { + "snippets": [ + { + "code": " {}} style={{ width: 200 }}>\n \n \n \n \n \n \n \n \n \n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/7679e63dc8fe-4909-bcfb-274ae68e8a1a.png", + "label": "插槽模式" + }, + { + "code": "", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/45015b973042-4ee5-a01d-07536e96dce0.png", + "label": "数据生成" + } + ], + "description": "TreeSelect", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "TreeSelect", "version": "1.17.2" }, + "componentName": "TreeSelect", + "title": "TreeSelect", + "category": "DataEntry" + }, + { + "snippets": [ + { + "code": " {}}\n onChange={() => {}}\n onSuccess={() => {}}\n multiple\n defaultValue={[{\n name: 'IMG.png',\n state: 'done',\n size: 1024,\n downloadURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n fileURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n imgURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg'\n }]}\n>\n Upload File\n", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/bd23fe0b470d-4b83-94d0-9b8d0c5dfc43.png", + "label": "文件上传" + }, + { + "code": " {}}\n onChange={() => {}}\n onSuccess={() => {}}\n onError={() => {}}\n defaultValue={[{\n uid: '0',\n name: 'IMG.png',\n state: 'done',\n url: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n downloadURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n imgURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg'\n }, {\n uid: '1',\n name: 'IMG.png',\n percent: 50,\n state: 'uploading',\n url: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n downloadURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n imgURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg'\n }, {\n uid: '2',\n name: 'IMG.png',\n state: 'error',\n url: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n downloadURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg',\n imgURL: 'https://img.alicdn.com/tps/TB19O79MVXXXXcZXVXXXXXXXXXX-1024-1024.jpg'\n }]}\n/>", + "screenshot": "https://limitless-static-daily.alibaba-inc.com/limitless/lib/image/0c2e2307f370-4f89-bf4b-288b0f8ecbd6.png", + "label": "图片上传" + } + ], + "description": "Upload", + "npm": { "package": "@ali/deep", "destructuring": true, "exportName": "Upload", "version": "1.17.2" }, + "componentName": "Upload", + "title": "Upload", + "category": "DataEntry" + } + ], + "packageName": "@ali/deep", + "version": "1.17.2" + } + ], + "appKey": "xxxxxxxxx" + }, + "errorCode": "", + "success": true, + "throwable": "" +}