diff --git a/.eslintrc.js b/.eslintrc.js index b885a86dd..a491cd868 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -7,10 +7,13 @@ module.exports = { 'eslint-comments/disable-enable-pair': 0, 'react/require-default-props': 0, 'react/no-unused-prop-types': 1, + 'react-hooks/exhaustive-deps': 0, 'jsx-a11y/label-has-for': 0, 'jsx-a11y/label-has-associated-control': 0, 'no-loop-func': 0, '@typescript-eslint/no-loop-func': 0, + '@typescript-eslint/consistent-type-imports': 0, + '@typescript-eslint/consistent-type-definitions': 0, 'max-classes-per-file': 0, }, }; diff --git a/.fatherrc.js b/.fatherrc.js index 912aa0aae..96268ae1e 100644 --- a/.fatherrc.js +++ b/.fatherrc.js @@ -1,9 +1,5 @@ -export default { - cjs: 'babel', - esm: { type: 'babel', importLibToEs: true }, - preCommit: { - eslint: true, - prettier: true, - }, - runtimeHelpers: true, -}; +import { defineConfig } from 'father'; + +export default defineConfig({ + plugins: ['@rc-component/father-plugin'], +}); diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..437d0bd3b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,29 @@ +version: 2 +updates: +- package-ecosystem: npm + directory: "/" + schedule: + interval: daily + time: "21:00" + open-pull-requests-limit: 10 + ignore: + - dependency-name: "@types/react" + versions: + - 17.0.0 + - 17.0.1 + - 17.0.2 + - 17.0.3 + - dependency-name: "@types/react-dom" + versions: + - 17.0.0 + - 17.0.1 + - 17.0.2 + - dependency-name: '@rc-component/np' + versions: + - 1.0.0 + - dependency-name: '@rc-component/tooltip' + versions: + - 1.0.0 + - dependency-name: less + versions: + - 4.1.0 \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..f860ff107 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,6 @@ +name: ✅ test +on: [push, pull_request] +jobs: + test: + uses: react-component/rc-test/.github/workflows/test.yml@main + secrets: inherit diff --git a/.gitignore b/.gitignore index 0e6334955..8aae36ae1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .storybook +.vscode *.iml *.log .doc/ @@ -31,4 +32,11 @@ lib /coverage yarn.lock es/ -!tests/__mocks__/rc-util/lib \ No newline at end of file +!tests/__mocks__/rc-util/lib +# umi +.umi +.umi-production +.umi-test +.env.local + +.dumi/ \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 000000000..af5adff9d --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +lint-staged \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..c2e0187bd --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +node-options="--openssl-legacy-provider" \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..214377229 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,11 @@ +.doc +.storybook +es +lib +**/*.svg +**/*.ejs +**/*.html +package.json +.umi +.umi-production +.umi-test diff --git a/.prettierrc b/.prettierrc index f307fb192..b04278194 100644 --- a/.prettierrc +++ b/.prettierrc @@ -4,5 +4,7 @@ "singleQuote": true, "tabWidth": 2, "trailingComma": "all", - "printWidth": 100 + "proseWrap": "never", + "printWidth": 100, + "arrowParens": "avoid" } diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index a04c90edb..000000000 --- a/.travis.yml +++ /dev/null @@ -1,30 +0,0 @@ -language: node_js - -sudo: false - -notifications: - email: - - hualei5280@gmail.com - -node_js: -- 14 - -before_install: -- | - if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.md$)|(^(docs|examples))/' - then - echo "Only docs were updated, stopping build process." - exit - fi -script: -- | - if [ "$TEST_TYPE" = test ]; then - npm test -- --coverage && \ - bash <(curl -s https://codecov.io/bash) - else - npm run $TEST_TYPE - fi -env: - matrix: - - TEST_TYPE=lint - - TEST_TYPE=test \ No newline at end of file diff --git a/.umirc.ts b/.umirc.ts new file mode 100644 index 000000000..f734dd5c1 --- /dev/null +++ b/.umirc.ts @@ -0,0 +1,8 @@ +// more config: https://d.umijs.org/config +import { defineConfig } from 'dumi'; + +export default defineConfig({ + themeConfig: { + name: 'Tree', + }, +}); diff --git a/HISTORY.md b/CHANGELOG.md similarity index 96% rename from HISTORY.md rename to CHANGELOG.md index 4004aede2..1b34e8905 100644 --- a/HISTORY.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ -# History ---- +# Changelog + +- https://github.com/react-component/tree/releases ## 3.2.0 `2020-05-08` diff --git a/README.md b/README.md index 5da49ae2b..d56dd7509 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,20 @@ # rc-tree ---- - Tree component. [![NPM version][npm-image]][npm-url] -[![build status][travis-image]][travis-url] -[![Test coverage][coveralls-image]][coveralls-url] -[![Dependencies][david-image]][david-url] -[![DevDependencies][david-dev-image]][david-dev-url] [![npm download][download-image]][download-url] +[![build status][github-actions-image]][github-actions-url] +[![Codecov][codecov-image]][codecov-url] [![bundle size][bundlephobia-image]][bundlephobia-url] +[![dumi][dumi-image]][dumi-url] [npm-image]: http://img.shields.io/npm/v/rc-tree.svg?style=flat-square [npm-url]: http://npmjs.org/package/rc-tree -[travis-image]: https://img.shields.io/travis/react-component/tree.svg?style=flat-square -[travis-url]: https://travis-ci.org/react-component/tree -[coveralls-image]: https://img.shields.io/coveralls/react-component/tree.svg?style=flat-square -[coveralls-url]: https://coveralls.io/r/react-component/tree?branch=master +[github-actions-image]: https://github.com/react-component/tree/actions/workflows/main.yml/badge.svg +[github-actions-url]: https://github.com/react-component/tree/actions/workflows/main.yml +[codecov-image]: https://img.shields.io/codecov/c/github/react-component/tree/master.svg?style=flat-square +[codecov-url]: https://codecov.io/gh/react-component/tree/ [david-url]: https://david-dm.org/react-component/tree [david-image]: https://david-dm.org/react-component/tree/status.svg?style=flat-square [david-dev-url]: https://david-dm.org/react-component/tree?type=dev @@ -26,6 +23,8 @@ Tree component. [download-url]: https://npmjs.org/package/rc-tree [bundlephobia-url]: https://bundlephobia.com/result?p=rc-tree [bundlephobia-image]: https://badgen.net/bundlephobia/minzip/rc-tree +[dumi-url]: https://github.com/umijs/dumi +[dumi-image]: https://img.shields.io/badge/docs%20by-dumi-blue?style=flat-square ## Screenshots @@ -39,13 +38,14 @@ Tree component. http://localhost:9001/ -online example: http://react-component.github.io/tree/ +online example: https://tree.react-component.now.sh/ -## install +## Install [![rc-tree](https://nodei.co/npm/rc-tree.png)](https://npmjs.org/package/rc-tree) ## Usage +> Note: `import "rc-tree/assets/index.css"` see examples @@ -61,16 +61,16 @@ see examples | checkStrictly | check node precisely, parent and children nodes are not associated | bool | false | | className | additional css class of root dom node | String | '' | | defaultCheckedKeys | default checked treeNodes | String[] | [] | -| defaultExpandedKeys | expand specific treeNodes | String[] | - | +| defaultExpandedKeys | expand specific treeNodes | String[] | [] | | defaultExpandAll | expand all treeNodes | bool | false | | defaultExpandParent | auto expand parent treeNodes when init | bool | true | | defaultSelectedKeys | default selected treeNodes | String[] | [] | | disabled | whether disabled the tree | bool | false | -| draggable | whether can drag treeNode. (drag events are not supported in Internet Explorer 8 and earlier versions or Safari 5.1 and earlier versions.) | bool | false | +| draggable | whether can drag treeNode. (drag events are not supported in Internet Explorer 8 and earlier versions or Safari 5.1 and earlier versions.) | bool \| ({ node }) => boolean | false | | expandedKeys | Controlled expand specific treeNodes | String[] | - | | filterTreeNode | filter some treeNodes as you need. it should return true | function(node) | - | | icon | customize icon. When you pass component, whose render will receive full TreeNode props as component props | element/Function(props) | - | -| loadedKeys | Mark node is loaded when `loadData` is true | string[] | - | +| loadedKeys | Mark node is loaded when `loadData` is true | String[] | - | | loadData | load data asynchronously and the return value should be a promise | function(node) | - | | multiple | whether multiple select | bool | false | | prefixCls | prefix class | String | 'rc-tree' | @@ -94,6 +94,10 @@ see examples | onSelect | click the treeNode to fire | function(selectedKeys, e:{selected: bool, selectedNodes, node, event, nativeEvent}) | - | | switcherIcon | specific the switcher icon. | ReactNode / (props: TreeNodeAttribute) => ReactNode | - | | virtual | Disable virtual scroll when `false` | boolean | - | +| allowDrop | Whether to allow drop on node | ({ dragNode, dropNode, dropPosition }) => boolean | - | +| dropIndicatorRender | The indicator to render when dragging | ({ dropPosition, dropLevelOffset, indent: number, prefixCls }) => ReactNode| - | +| direction | Display direction of the tree, it may affect dragging behavior | `ltr` \| `rtl` | - | +| expandAction | Tree open logic, optional: false \| `click` \| `doubleClick` | string \| boolean | `click` | ### TreeNode props @@ -104,7 +108,7 @@ see examples | name | description | type | default | | --- | --- | --- | --- | | className | additional class to treeNode | String | '' | -| checkable | control node checkable if Tree is checkable | bool | - | +| checkable | control node checkable if Tree is checkable | bool | false | | style | set style to treeNode | Object | '' | | disabled | whether disabled the treeNode | bool | false | | disableCheckbox | whether disable the treeNode' checkbox | bool | false | @@ -114,7 +118,7 @@ see examples | icon | customize icon. When you pass component, whose render will receive full TreeNode props as component props | element/Function(props) | - | | switcherIcon | specific the switcher icon. | ReactNode / (props: TreeNodeAttribute) => ReactNode | - | -## note +## Note The number of treeNodes can be very large, but when enable `checkable`, it will spend more computing time, so we cached some calculations(e.g. `this.treeNodesStates`), to avoid double computing. But, this bring some restrictions, **when you async load treeNodes, you should render tree like this** `{this.state.treeData.length ? {this.state.treeData.map(t => )} : 'loading tree'}` @@ -137,9 +141,9 @@ http://localhost:8018/node_modules/rc-server/node_modules/node-jscover/lib/front rc-tree is released under the MIT license. -## other tree view +## Other tree views -- [ztree](http://www.ztree.me/) -- [jqTree](http://mbraak.github.io/jqTree/) -- [jquery.treeselect](http://travistidwell.com/jquery.treeselect.js/) -- [angular Select Tree](http://a5hik.github.io/angular-multi-select-tree/) +- [zTree](http://www.treejs.cn/) +- [jqTree](https://mbraak.github.io/jqTree/) +- [jquery.treeselect](https://travistidwell.com/jquery.treeselect.js/) +- [Angular Multi Select Tree](https://a5hik.github.io/angular-multi-select-tree/) diff --git a/assets/index.less b/assets/index.less index 808901d1d..b449d4b95 100644 --- a/assets/index.less +++ b/assets/index.less @@ -13,7 +13,7 @@ .@{treeNodePrefixCls} { margin: 0; padding: 0; - line-height: 20px; + line-height: 24px; white-space: nowrap; list-style: none; outline: 0; @@ -24,25 +24,32 @@ -webkit-user-select: none; user-select: none; /* Required to make elements draggable in old WebKit */ - -khtml-user-drag: element; - -webkit-user-drag: element; + // -khtml-user-drag: element; + // -webkit-user-drag: element; } - &.drag-over { - > .draggable { - color: white; - background-color: #316ac5; - border: 1px #316ac5 solid; - opacity: 0.8; - } + + &.dragging { + background: rgba(100, 100, 255, 0.1); } - &.drag-over-gap-top { - > .draggable { - border-top: 2px blue solid; + + &.drop-container { + > .draggable::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + box-shadow: inset 0 0 0 2px red; + content: ''; + } + & ~ .@{treeNodePrefixCls} { + border-left: 2px solid chocolate; } } - &.drag-over-gap-bottom { - > .draggable { - border-bottom: 2px blue solid; + &.drop-target { + background-color: yellowgreen; + & ~ .@{treeNodePrefixCls} { + border-left: none; } } &.filter-node { @@ -56,10 +63,11 @@ padding: 0 0 0 18px; } .@{treePrefixCls}-node-content-wrapper { + position: relative; display: inline-block; - height: 17px; + height: 24px; margin: 0; - padding: 1px 3px 0 0; + padding: 0; text-decoration: none; vertical-align: top; cursor: pointer; @@ -73,7 +81,7 @@ height: 16px; margin-right: 2px; line-height: 16px; - vertical-align: middle; + vertical-align: -0.125em; background-color: transparent; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAABhCAYAAABRe6o8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAK0dJREFUeNrsfQl8VNX1/5l9ksm+ELJB2ANECGtYVEAQaZBSFdAW0dpaKbi0WhX9Va1/S/+K2k+1iCztT4sFW6lKkUV2RLZAQHaSQBJCMllJJtvsM2/e75775k3evHkzTCZEAubweczMu/d7ZzLznXPvOff7zsjS7nudhXZaxZd/kKXf//9Cwgkf1xha2QOnS2DzofNw5FwZjM/KgFkTh8Idw/tBz7hImb9xQsV1W9czJf73zTsPek7I5XL3oQCFQkkOBSiV3C2eG/rz9z19Q8Wh7T5+kX3i7c9g6ojekDs6A1796Vg4XVoPe/ILYMnKzbDmxQfZaaMH+pApVFy3Sdupp8cKH6rJ8QQ55pBjvPvcEXJ8To415LDzHbOXH/OAZLK2t/vBbbcFHOOz3LOeMViW5QgYLImwTcrai0MSrdm4H/708ztgwtA0D+6OYb1hysh+kDtuEPxjWx59jUIyhYq7lc2k38HaGk5KtmniR4Au7Z5g34cnZHLF6vTRkyCuzyCAuATurKF+kuFy0aSK4/uXsy5moZuIkkbI94RCplidlZYDvZP7QUx8LD3f1NA46Up1yaRz+qPLSZ+FhIRrvDxgsCTC22DIp1Kp6OORX42GM/ef8sLh9IkeTEwi4fNNyu5Lb7Hf4VW/ZXFaDRV3qxPQcjUfEoaNkWxrLi0CW1MvVhMzOOD74GJci8Nj4lZkzn6UfKAMgLkZdv7+JU/79P95B+IG3gaFm9auNjcZlHKF/EPxGPO2ZC2O0EStmD6aOL4oBixghGpo5EgWr4F+8QOgX69M2Hn889Wkr3LDvefoGPL2kE/syXgcYpRKlQ/5uD7eOFy74fTpj0R8/8kj+sOsCUNofykcThYHLQfhVwW/gi1VW8HG2iVxt7q5GCewLukjLCERmos/g7rjr7PCo/XKVuH6Xa1QqTjyWQwAVytg53tLYfrGWs+x8/+/QNuwD/Z1T9Ve065SoVxx94g5YNY1Q6O9Giz2Vjhy7AA98D6ewzbsg33dUzXnAYMlnzQBFXDn3rsgb8YhihOST0hS3jBwwLVbMM83c/xgWLfrJMydku2DO2g8CJ/b/gNmpQmWXXgL7HY7zB/8sA+us2zTgXNs3oVyv+3jhvSC2XdkyTp7HMZpB5axSy/ww7SQkDXc53ztqUMQ2XsmvW93Mov6jL2TEKwFoPEqrl4o6ahtfBXgvj9yjze+RumSkj0RLh/bt4g88CzqnXbXotv65IBN2wqt5gYyAsfvv489QG//2vo091zkn1wrhyEpo+Hk5SN0DCXvpYIhny8BORx9o7ZPhO9+fNyLfBfmnffBYdSKgUMwz4fR7ZN/2SiJW1exDkyEfGazGaw2B7x77B1YMPQRH1xnGZLmzYW5wBAPxDid4CREcNht4HTYyJfBBn/dWoTE6fRxGKcNXE5ru147YgQBxEOxaX0AWuoAHBbvjg7BuNhG+mDfsvxvHhISUE7G6BmXDk3WBrC5rFBUUsA1uOObMwWn6O2gfoOBdTYA9pWX5T3kIWCw5BMTkMfx5o98QhySA6NWDByu9XzHCrgUixTugfg58PaFZWAlH1JLcxP8aeybkrjONCFpdBHRUF9bQUnjsFlDHkdIvmDGwb7tJSBiPF5SIR+lJMsmV10Tmc+d4FmX4fSOz//PpwUkdIIyNoVihOPJlLJRKo0SjOYWcAHj8Xy88Y+XVj4KDnBCTFgSxXieK1jyyWRiAnI49HxCE5NPiMN83Z6TZUE935bDBbS/FG5G2gz4bf9nQW5Uwp9y3oR5Q+dJ4jqVgALS0CnGTRr+cSjjCMkXzDg8AdtzCAlIUwYOO9isZrBZuIM3vL/7yw30wPsO0sdlsZIp3+UQvw4H+RtsNguZjSx+Xyu22YgntVvtmINxeAgYLPmE+R5vnJxGu/7IJ8RhsnjH8WI4fF4f8Pn2nSyBTQfP0v5SOJ1KR9d8Zx87A49lPwaR2khJ3LXsxIkTbDC3kh++2/PFxPWgj1PS+0Pv/lmUQP7Gv9Y4CUnp7RoHp1PWaWnXIZyCzXbnebPJRDwXruUs9Ghb21k8gQhtw6ibLHksjOuiF/ksDDcGGcRKyP180Wx68MY/ttIvCxmDkpkbQ8l7svaSTwp3LfKhYWoEk8WYr0M8Rq1S5Fu34wQmlT07G6HirmWjRo2SBXMrZeih+GkXSVN84QS9L/Qw7R2H93zBjtPRKbimyby5qUafHR0RAbbmBuKZXBDJr9f37IHpT7m9IQnytDER0FyjpxivXGSdeXN9Y022JloHLfYmEoK4vJ7Pbuden4z4uxhNItQ311CMIA3TfvJ1BIdJ4p/njoOn3v8KXl6zHb49fZm4Zgb2nyqF332wGX617DOYP30UiJPJoeKC8YChmHitxpOmvVOweNptzzh8ENKeQ+gBF28oWllfkA9MeAKARgcOhwOq3+QiZD4arn5rFm3DPtgXMcLXsPP3ZSsvNpyCSCYW1BBGXreDEnbhiSn0wPt4DtuwD/ZFjMcDirfJgrVQcTyZMFmM+TpMmWDUyu/pLnl4ql8PFiruWh4wFBOS5sKpwx7S4JRK5oeQxhGSL5hxAqVhAmF4I7Fvw5kKwxvKo7teSx07BViVHhxNdaBfeg/nZNThoIojgUd8GuiP7gLsixivARuhofZC0xunlAdfy0qZAA2qKmiy14PdxX0x1XItxKgTIF6RAqcqDwL2RQz1irgf90M29IChkLCr5AHL85ezVy9tbtdrTxwwC3qNeVrG7wWP+CA/YtXMjFfG9UtaEjcgGzTRsWR9L6M5QScjA1uTAQyXTkFeSe2yX28tW3ryqTFGib3giIlLU19JHxW/pG/MUNBpogFUMpoTlDtkYLQ1QWnTeag40bDs0CuVS0l/I3JPdqPUMOvX/VM+NfcnDHqyLahqOV8G44dmwL1uVcuebf/VzH94geRXu1sNc33FCISA+J7pyNH3rbtSnxmSHD0pPVbXH9v1jabS89XN+17aW/lX8rAUl3yEgKwEAT1jjHqxxzOJAyInRaeG0zFaqsyldRdb9514u84zBqdFcIsRKj4mEQtDoh+nkYTkLWRVTBaSZDEJDIbcVu7Wie1W6LMsvY1QIeLQkjJzmAm/fg9mj4qCR0Yp4cP7tJB36TJsPnAJlqxUYCBhc/9RPkIG3OtF3KMEt9IXx7Z3DdiRabirjtMeQ0KhRyJELCREexGgkrgvsmBzbzfjtjK2k36B5no6BjkKCdHIGHWSY4BAUdMmRgiSRCwjyvGEiEMSrd+8Hf72eDrcNZDx4Cb3t8HkPlaYOYiBf372Een5Cx81TCi4zloDduVxgjWhJ2OXU3IY3EfQJlrGtWsMjoBuEpU7h4NcoQBFhO/OSNi5J8mHLfoC+MEJBQlF/cd74XhVC08i3AVwhg8CB/HWytbzoGw+CVMyagih5ZJqmPbiuj1gYBu7+pTwYdB6wGMLs6/LGEouE855MEoif3o+JJHLLsqgczgF7auk/cRqGDEO1244ffIkssTdBaxMxeXDokeBMzILNKUrYHLvavjxAC3tj6ICMa46YjocMebBuuLf0W25GelPQmzJmz64W90DXk89oEIuWz0pMx0GpcVBAiflg/pGmFSkN0zaX1ixnHGxAfWAoYzB7ZG5p8+AOkCXRLjvxqEaRkqKxW0oeuMwcLh3mJLinJpUD/k8pJZrwBk1nOJy+1+l/aVwSD6hGuar0q8kcZ2ZB+wK46AeMC5rhOThtKAesOCa47lY1+KYcO3qp340HIYMjAMj+Ug++FpPj3/n6ek5bMM+2DfYMYqauQPv+xuDEpBfSwXaE6YkEm0B8jiaLtg+0Yd8uDMixmHUOq4Xt0Z0cEGSb54qbhzF5SQ30P5SOFTDNBgMYBKoYaRwt7oHvB56QJVCseLROzPBwJDAshVgywE97PhpmudYv1dP27AP9gWRHtDfGLjli0czCQH8jcF5QHfgEFAHiCQS70HzAYfbpNQwYhymTPIuWbjna5X2Uor6AxRzVB/hpYYR4nDaramsgbraq9DS3AjPjXxeEnere0A+ES118HpA8WGsPtSGd9gXTRyQAmQxBVctHGGQdGivFXJ98DG2YR/sixiv1yAaw+bkMHZCODwOHNf7HYPzgO6oNaAOkBLJ6e0B3bhAahgxDvN1m884KQ4DB5nL5kNqxdVvKW5rcaKXGkaIk1LDSOFudQ/Y0a041AP26RELda0oEkDFimB6t3jfxz7YFzHC1yAeg8fh7dGTeg+hpcZQejyZ0xJwb9eFbp11+npAiuPUMMO+zPYRJIhxmCzGfB2mTDBqxYAD1244faIHQxLJLJXwTVkMbC5Ng5cFahghDgOO+QT30Nz/criTT0nibtWdEJvhNGurPwnhkYnQUnIlqNesigwDTVyUlxhBrlCOUqmV0NTgAifrHRpYbS54Ok+Q9CDeMSVeSTHCcf2NgXiefPx44jG4KNidr/OkWvjAgXgTFz3cJHIx3h5QhCvqfRuwh+8PiONVLTRf55DTqFVlugJK/eee6RpJtP5CmqQapr24zvJcN1oRba49CpFpCaAMTw76NTdePAtys9FHD2gnrDET19dGHi5/jOf01dy2b1pyPApRyRStAhewPnpAqTHM1J2Gtb1m8lg8hjsP6E4Wi8jHT58eErGMKA8YGo5LEv+C5vUwZYJRa06yhazdouj0iR4MSSSlhgkF11l5txupiNbE4VruIET16hv086giI8FqqPaagp1W83kSyGWjgspi95ZRWchijvdgP9vRCpFqOSGRE1xWy0VvGkiPgXjEfXpPpOexeAxKQPE2WbAWKo4nk0fVcug8PLnDvad7z1A6fYo92Pp1//QsOXjcFwT3wrdlkNMvA+524/Zs+69sfeFR2nH+wws6de12IxXR2oRsuFq4jkS6MSDzc722DwHDldBQ0uClhjEbajbr65uyI8KiocFI1pPUg3GEaTA0e+7ja4oI14K+vplivLyxaAzOIj2C2jmbbfD5rATJMbrVMG4PeK1bMe7l1dvYVx++nXo+saE065O8RpxaO3Wc2nMfs3IohoiE+KD/XkO5Hpqq9TB09gZOQRCelJzz3s6q2dkZUFjvAIPFQZXNW+e2Te2zvqiGuDAVZCaoYNOpMjj62+kprLm22uMR/IzhtU4k3xGpMZShqlpCxQk8GUzN/Qn1ZLuJJ8srcXuyNjUMCuFcUp7seqphbmZFdFTanVB+dA9oI4LXHmJfhhEs4Sx1DYaSM2/sUitfmzIwFfRyFupMDrjnX3raHE6mzBSdCtKilLDrgh6wL2K852rpMczu6RjH6OFnDDoFv56bLIypgf6TiQ65jEqqX95Y6ukaCKeOwTwj4sgU0+LywqElZeawuc9+AFNHpMKUoT3gsbv7gr7GCPlnC2DZ2m3w1lNzmNrCozLxFIy4F5d/QXG5BLfYF8fyuGCm4I6sAW+0Ijospp+MYXTspbz89kgHIDJxmOfRmFUn7fm/HvGO4+lVGrN93JLstDjIjNeQz1AJODnKwAkGsxW2nqsiHjdvWdnyX7+DGOGIHRnDqzbMtcgn8/cxSZAvPae3uw2g6pjeh3z/+no/vPDj4dAzVkXCczvU110FnUoBM4cnw9j+PeCLvXnwwF3jWCEJQ8V11hqwKyiih+Suvh75RxMhxdIygE/1j731THTGkEm6pHS6TWWq05c2Xz6/r/Ljl4Ravus2hrJd5JNgoCZBS75UMircczQ5vMj36O5HYe3da0mzzGvanfncB/D8rOEQHyGDxsYm8qY7qKQHnw8vNI8k0drdWanw6qovYOPbT+FULxPjHLEuiEiKapsFagjOyvrgOssDYn4OUyTSpqDt3+c4HTHijaiWj3ixQkKSFysBJLV8Ys93PcZQtod8MtHnieTrPTrD4+kqjldA+pheHvJ5uC1YLdIaL9mpkBSrhEZDE9iIFxMGQi6yesUjITERZowaQPoXwdwpo71wzhgWwpLCodqip3vCuC3Xt2d/MLMmiG2ReeE6ywNicjiYPN/3NU6oJpRVwUI2JD1gR8ZQctwJjnw+V7mx3ONH9/4c1k5dK0k+fnze9pDAYfKQHmCxWD2ez2tI8hivzDKZTDAsIx6253FEEuKiMmMp+YRqmGf7PweZyUOgubrJC9eZa8CuMM6Kb1rZ1ro6v+0NBRfg97+5A2JjY2X8+yvaRvPcb29tP946rAcMmnyit8VzJQCSbg+Zbqet9SIfTr+0XYDLLy2DBVMzoIG8aYFSQE5CwrSkCDhbWuWDQ5OqDfP32R/74G71vWAXw8BL8/p5Zg7+YBgXVDZY4W8F5L3aVUGWOo0sT0IpC6W2n4S1Ww/oS8AA5JP5MNCbXVLkqz5WBS5TW1JoTL8MqK4zgVbOXTfsj4TYVtXQCtkDUnxwaFK1YaRwt7oHZJ3cLCKswcPSrTG8pJJ7/C2TCsyWYkpCqXWxuLbfpu3rvNrDlTEwe8KjPrX9vL4IrGtxnC58xaNTMoFRkQWfg3jfZvdSza0HvK1PHKzdV7jaYDIr5TJ5W33AoMknmoJl7j8HPZ/QfMgnDEImZMLpigbQasNAofC9eJ1/LVqtFs5fMcAUsp4T48zVRugb399LDTMkfSgYq4w+uFveAzq8lzE8+Rhyh+G2NaB30SHQl1RDQUGBlOfzqe23fsZJr+Nv0/ZJ1vYTTrsd0gMGSz7xO+NscYKeBB6UhHev9Us+IW5CVj/49lwVNFoZCA/XuasoeC8BwsLCwOiUwb4z5TBh2EAfnKOKrBEJ2XDN99Hsj2BIGkc+W4XFBxeMx7leOyo3YhzGYfd4PtThIflMxPsYyREbEwY/e2AW3Dt5FrBkWm5ubvZd6thdi7BeH1/bz2Zryz1iXT/+oG2kD/ZFjOg1SOoBUQfIawID6gFDIR+PY5oZT57vWuRD+2bHZuWrj98Dh4uugkWmhuiYGEo4lPNrNBqIjo4mLjwMjpc2wgsL7sb+Gikce5WF+rw6qDlYBXWHa4CtZSRxt7wHtNuJp+M+dCQeHrwipcUKEElWIj2HAiWglAlr+1mxhouzLe949NBBepw8eoq2YR9a2y9IPSCSDvWAQn2gWA/IETAE8glxTiOSsJISLxD5+C9MbeFJ5cw7RsCqbefhVIURXJoI6NkzBeThUXCuygJ/21EAU8ZkwdXiUzpB1BQq7tb2gMRjoYdxuPmF5LM6uIO2IzldeCtNQGFtP5uVrKfNjZ42fgr+eNoB2oZ9VGEqT20/D4l5PSD53FHzhwdvSEL+Md5iH7VapAcUb5MFa6HiKJkunVKsX/oErYzwlagywj8emEErI0iQKFTcLesBGeKZcL2HJOTJR3dX3Ao4/OydDHftiN+9aHdtPzKHgEKw8/KH0p+K3CVXZpev7ee1m+NHU4jG6wIl9YDiH48J1kLF8Tb/4QX4tZDhpZNSl0/iPq5QuCDY170m7vuIXrtMjWi7DcxubonJh+f5c5iukSQfV9svG99UK+O992xymL0ehynCweJsq+3nWUcG0BSiHtCzWyWlB/y+1TACcgVVG0ZIQt46Qw3TXusqNaJd7qAhEPnwnMspTcBAtf2qL7d9MRJSe/rU9vN4OD96wDmb6wW9IiX1gJ1WG6YRVPju4CIFoi01XjgkFdaGmbiIqw2zYKQSls8Og2MlZbDtYDG8vEoBq16YZyP9JNUwC9/hasM8QnAf+OK+NzVMV6gR7SJRsMPpSz7P1Mhw60B/UzDW6Yv7NOrVcRHToRkMYMTPT7AG5O2Fs/fT2n55DTu52n6COLjo3cUrY9J2vjo7OwLqyQyOesCZ/6n2eh5eU5igYWBTQT3FwBsPdE5tGCTfhejxnu2SwZX/8YIhiT7dvB1W/yId7uzHgNPWQr6hdsjp7YTx6VaYMdAJ6zd8DPPnPeajhgkF11lrt65QI5rBKJj1Jh8SzsG0BSH2AASUqu23+PjdPrX9eir7+NT2a5tbO6gH5En08fZGdy4u1ic5/WC/7ZK1YertRtiebyZ91ISDsZJqGJngumBUtdxOPN8qQqLbCYlMNgYssj5gDUsBhaUMtLaLMDa1hoZ1i9/dAPtXPONRwwhxlxSJYIhty/XFGKsI7oAPLlgP2F5FNP3z3Z6PtxROfUSlWf7GD2Yc3oIZx2FqhQ/eWndNomKR8fDwcKkm+77flb8zcSmjsY7aTWv7pWnI36EV1PYzN8Hxpt18bb93xEFeh/WAvAcLuCcsURsGyVcA8dB7THxANYy4NsyPyfR5ByGRmZCvUT0STGYH2IzkGyfrCVpCxNjmrwmZ9DBrQAMcPIM1XkZ44YqRfJpYbzVMfH/yLR8PYx07vXDBesCbtUb0b56aAiUlJVS8Ech0ul7Qr5/fS1VNXNHIyk9HvVgTTG0/yTFC1wO6p08pz+fRAUrVhmGMAIr4a6phQCABx4AD13wMmT7R8yH5mpqN5A20YIKTvFFhoFT2B5WtEu7ua4B/H75AiSTEoefzp4ax62VeuM60rlAjOjU1VUaOjv4pIdX2E3nB0PWA/Not0J6wVG0YcBg9ktaAahhhbRgS7WLAgWs3nHbR85lNVjAaLfT58LnDY3uDkyxsRiY1wbO7rvjg0PyqYUS4zrSuoIjuMPM6UNuPtw7rAfmAI+CesFRtGDq1BlbDDLn0IURaUBqVSc9jqgWjVgwccM2H067MrXPgvwBy02V6XfF31ToYN7S3Dw7NnxpGjOss6yqK6GXLlmE8mivVRqbce+fMmRNwHdw16gO6o92AOkCJ2jAyTFy61TD+pFg52iovHOb5MGWCUSsGHGHEC+K0yz03mYJJqB5mLCQvzAK7SlMgd+oQHxwGHLwa5u1j73JqmLShENZQ5oPrLOtCiujcJUuW3CvV8Pnnn+PBXouEbruB9QHdqZaAe8IStWFi7FdhcP3OwGoYidowm88r4FCxEzTOGoghAUecvIK82HBIVNdAgnEnRDDlcKJSA9suJ8PtgtowPC697gBENZd7qWHCGy5DSvkWH9wP3Qj5KAkD5hJDrO13Pcbwqg3jSbUEKrMhXD8QXIyzkeb5ClLnek271POpfXFYuWDl8/NYzNexDhfkkGgXAw5HK0vTNUqwwokqDXxe2AP++uwc2Pv1JjkmlH1wJNrFgMPBBMZ1WxsJ/XhCLy0fKmj4ZSHKqe4YnUbPRak4Ld8HO0+vIF7s76KAJOQx5O7NvA7Vhom2VMOQK/+AIaV/a1vzBcBhknj+vJ/D01tS4I974+A7PQtKVxOcqSZrmkMp8Ny+LHjoocVQV3RM4Y7QOoT7IZt7Gubv+7wnUvUBSUxHD17Th+faWx9QWBcQ7+M5qTE6qTZM5jWxtYXHZJgsxnwdpkwwas0hgcNMsnZ7nkyfxIN5KiOIcd9++Bu6F7zx0HlYwteGmTYUXhBVVOj2fHPEAcsWcR8vLR8h3ZlCwTXcQ7gKqVglYVhmGtQ5OS3fN7Iyr98LFo+BhuMI6wLyJh7je1fDDByQDGNypnleO+bqpPJ1/PSZf3Q3SOzrXjc1zK1ieCESf3kDf421MNVyZdNKmGTYf2/ekv3oBVeOW7aNrsPEtf2E9fx4w3NP57naVR9QXBfQM2mK6wOSD7jdUxUhkCxUnJBUST0zWLO5FaxWE819KVUa0Gp1EB4eCbU1ZV4E5zHtwQmI/oMgoERejz4u/2oV1Odvh3ELngWXTAHHPnkXpz9PIOCt5QuTHF9Ky+eVQLymHtAddEjVB4xLaGNrW3VT6Z9sKCpoK8cbKi6t1+AjrS0N45qb60Gni4aIyDhXz56p8pqaSpfdZpbj+eiYHmxkVHyevrxgfEdxPyQC8rf8FYdIPsOJnTDup08CU1cGNWabaBnvreUT6vf4un78ufbUBxTXBeRNsj5gsCSS+6lDJ4XjZgDWc8mg0JBEKEGKjU12pqX3VvLpoLS03vRWX1HubG2tV2K/64H7oRAQ32uGYTzk029ZA00nd3PkM1RBpcEAVfn7odFsX+/xTpL1AT10gfu/4jR9cvJ5tq8+oHddQN4k9YDBko/+XkgQ5JOTV4uPS4vPwMDMkV44nD7RUwlI5GNp6b2Uej04Gw1VSuyPX+hQcZ31gXcVRTQ/zSLxuAvSuduaHR9By6m9PuSrbDJ/OWfN/oXscg4rpeXjLx/hNX18bT+xlo+3joyhbA/5xJ6M/n4I66KOCL91YvJxfbxxuHbD6dMfiTxkSuultNtMtL8UDn+awWhsBZOphawDLZCQmAKJPVJ9cJ1lXUURzXs/JB6WNMHLKivOvwEG6wbodddMYFobPOQrtmlrFqz5+hEQKlo6oOW7HmMICHht8kkTUAZ1NWVkfTbIh3xCcnsiIhI44NrNswsTwNSacFdLS4NcCmc0tpB2Hfmg7GCzGqG6uowSUIzrTOsKimg0/Kzw0la1Wk01f6f1G+BHD34KX3/2M7BEtYIzn4SefUZDSa3iJMBGLzlVl6gPGCz5fAnYNrXqy4ugb/9hXuQbkpXjg8M3FwOHYN5YGmBUFUvizKZW8o13ksNKK34K1xlCXKcSsAsooo1G4zfLli3zOjesB9C94WG3vwJnDi6FBtvkGiSf0+nc42eYG1sfMFjyiQmIOOGGgxT5VCq1Fw5TJhi18oFDIMN+pL9cCofEsxDPh+TDD0qjDZPEdaZ1BUX00qVLscwFBhVa/tyHr2udxPv9BO9fLrdtfvL9jS8Rz4fyqCbJ9NiNrg8YLPlkMrmP68do15/n48knxGG+DlMmwXzA2A/7S+ESEpPptMuTLzk5QxLXmXajFNEFTw6HwStO8wEIztM1oiHvEz5Y/Afp5z2/Vw7rhqqAcdkBLxmxbwU7+TyRqK3k7RtLlz4muIQvEadStXYEoM9RyNUE64Chd3FrvA7rAYMln7iQEI/DKAyj3YuF30mST4jDZDFGs5gywajV3wur1Jc7TaZmZXR0giQO13v8mi8QrlM94A1URCMJ3Qk/uvMvV2t/YW+8mnbbP0rfEPa7+MLtH9gbagsUYeErhOd5AnMsBvJ5AUdCGyaLFSN1UWn/pgQ06uc4GeaoWsP1kSqw0GE9YCjkE+OQhNciH93LrSmTYbIY83WYMsGoVYpELS31So0mnPbv1bt/yLjOtBuliHZzjouA7fZ0xmb+feyI4Y9oe6SEnX2sX8/bPi6huxyXXph4OPXBpwdXf7k6xlJdEaEM1y0L+EJYemjkSuXc2KQH6be7se79ueBkTpHzwXyrQqsPGAr5OoLDnQpMFmO+DlMmGLUKdzTQgyGJsF9zU12HcZ1hN1IRjcliBXlvXYSFrItZGNM/a2Hi8DGgTeoFFV+tXXRyflqkKkx3T8qMuYm6qHDIePAJKP/io7dMZRcjlZExr0jnEnFGkxHis1qNWjU9PDqHfnh432Gz/ZG02QIVFA21PiAloHCbrD0WKo7fJuP3dDFlglErBg64dsPpEz2YmESh4jrDbqQimpbZUCh0MmCfiUzNeDx13F2gwKXglTOQPu0nwNrMD0cNGgYxWSPJlEPen6gEyJj3K6jY8eXvLZeLFCzretntSbWEwoPJbSznT1gzmbz6RsUPSpYrjPS58L7NdmIWacPoNZzyHthGcovFBvk8kaQekNcCYid/esAf/C8l3Yz2wOA42Su3J8+K0Cg39X7gCVBXFQJgVSvCHohPRdZw921mEj6Ygf5YS+YYEpemwvkX5trlSnU6WQPWnd8jGx4eHb9RE5auZom3ZZytjFyh08T0mJyg1XG/fmM1GZmmum/qXYzJplBGKmTAgM1SYTc3N9w3dCpLF5KjPjj2mylZfd7r1ycRqgXSqzcygUq5cka0aQaSSVxccvkq7Dt3+bcnnhr7vrL747z57MvCRjA5mJo19/YFFaafYhKANRroJRXQWEtIZ+MWdCzNygPoIsBRrYeGvV8DYzbukkfFUXLlnwDn+Amy2KSMB2M0ukHEtVUC66zFbAkwjhLOtWl7KHr0mpkkUyaBXJYKNlMRVBT+uQmxQ6fya1JfPSBvQj0hmlgPKO/+OG9KY3eUtJx5YsvlJaUbPoRWQyPIIuOAddi5MNWMhQYc3E44kjAsBhrPnYKGA9s+VIZHPk/O0A3al96G4l07DM8e27M8z1C9lZWzRmCZCkK+88Qb1nEHuY/nsA37YF/EINYTC0jUB5SqEei3PmC33XxGok3rjpLmtxd/flb2bmvrW7fNnAtMSyOZSO14Fbe7Lje5lWPiTg21B7aBXKVaK1NpCoHlyFHbAPZn33T9KzG2quS3j3yy5LHHh98TlTxM6cLC5wy3ly5TRIJcowBD+RfOj/9+esd7nziWXW2EY07G+yJ1Xz0ggJQmUKwH7PaAN6E9MTIRsnvqIE6riOyXGJGYkZWNmjwy81ro3jhrxws7rJz8GNeBhJg9J9xDSMVsIeQTRjwsIZKtzgAHNu93vH7hfGmpSmEFp9PEJafJgffxHLZhH+yLGBBsgbn1gNT7ovaPP3hDbaDnnNNJyGiR1gN2281hU3pHwsS0yORkjfPtuyeOfJiJiQVTTSklm8tBQk2tjn6wMpZEBFgvtr4cEsdMhLDBoxIr/vXXveTMIEzx4Vg5I8iDPgC/ewI00Yk6tdFE/KcslkyTHL/sWJyInMvoq1Ov+JNB8+c1AEWXAY62VW7zqwf0rRHoqwfs9oA3oT2+pQylvrGT+8U9DGNng8liAauhhu6L4+/yyXQxQEILLlmNsjRTE0BFAYQlpQKZXhPJWbp39uv5AB+9A/Dko6B2srrJkfFjeqq1yYQkPaCp+rITD7yP57AN+2BfxCDWk457d/HK/LJ6qvXTkfDGZneAxcrVCMRbPPActmEf7Ev1gN0EvDnN5HDBL7eU1fzv2eZv2ILDINfFgiw8FhjycWrTB4PVwQJTdRlkvQbT9R/EJ4NLGwtV/1lpIfTED/4cjvPWyyRAJsu0pARI6ZEYkasN76O1m2ohf//emvf/XLIWD7yP57AN+2BfxLz1suAF8XrAC3roH6MkHZSglrNktmXogffxHLZJ1wfstg7ZjVBHMy62edHWy4vMrV+uXJw7drI2dSCZL00gNzZB6cmjrrPl9ed+Fh45TJZ1OzhbGqDuzHFoLS9ZJVMqn+PHK6twLwQB1Ep1i9pS/N+WndsNez78pPGTcAUcxLYt31ZtWfzIlkemz4ibarO0qMmyUo0voIkE2sOHcvjr93vB3RaS3SB1NF7tf+l33zb80gbfLX8uF3Ihawprzd9y4Zktxa8eqbaesjI7P1sgU4ypb7VC/ZkjW+UqzUrcv+ft/oWeu2VapeWxIRklg04WwemSSii+8zau4fhZ+O9f/rfx3DcHG4dfKIMiqxPKeFCJdwGyDv5ecLd1yG6QOhpJeOV/vq193Ow4/qdfGh2x4S31G/brLRvpWnFH9cNNlk1v3De6f6E6Ivpt4pLMwp2v0jZni97oXEEpFJJWGr7mFbY9CRKytBLK+DYp69jvBXdbxwl4g9TRhFCMO7H8C885T80CwFTHQ/6ea/HixfQXqpzkOd3XlTjdAhKVUqmkekDSdgyoHpB1cuonOZXh4fUnvHW8PmC3ddiCUUeHMg5vwnE6Y/+e13XixU3k/sjExESqB6ypqZlDzh3Fdr7P9bRuAl4nC0Yd3d5x/KmjPUHJx4X+hkGpE1Y/wIjXq5xa3mPXrNujIUSbO3r0aKoH/Prrr+cSAqLi1NYZ71t3GuZ6ecAuUC9aYIs+4Yi2yE3Ga5qggIBWrVZPz8jIkOGB9/EcLzruJmAXtcDq6NDG8VVHS3o6VuKAQjPAH+cHJiFZ72kJqbAy1F3kmEYeTyDeb1ZqamoyrvHwwPt4DtuwD/ZFDGK7p+AuYjdQHb3ovQWZoBddKGkm8UGJOwR4dV4m/HFDIV/Pb7HI6w0KDw//Ii4uTo3Bh9VqZTTEBg4cGNvQwF17jvdJgPKujZhWq1WgFzQYDPaWlha88Ol0NwG7gN1IdXQx4cmFAPGmiawIXpydCW9v8iVhZWWlMyIiIpas92KSkpLoD1objUbiee3AE1Cn0ymys7OTSD/6W861tbWwffv2JsR2e8BuAzMhWKvZfzsVVRGP+JcHM+HZzwq9yrLt3r27mEyzz5rN5oUTJkzIwd8cQRIS7+ZZ7yEho6Ki6I+Jnz59mj18+PDR0tLS1fv37y/uJmC3gYXEJiYz47ddp1ZAShgg+cBhbvmHl3c0mezEm/2LTMMlly5dWjJjxox7evXqpcRUjM39K5xIPAxAvvvuOyfpu+PQoUPLCGGPkWnZ3k3AboM0HSFhtPelm612BqpbuURxZqIC1uwrhNbK0i8vvDrzKXjSK5JlCZFshIgHCgoKLH379h2QlpY2kKwFaXKaj44xSX3x4sVS0ud10vf49YyGuwl4E5u16er6d3bCfKm2H93WDyI0cvjnEQ/5Hsn5qMCnrgv+zFdCQgKMHz9ek5iYqMbIlwQbwO8Z81W3sC03N1dz5MgRqK+vx/VjNwF/6Hb6uTtRTvAazrTC84RoZ7J7quDNXYHJR4IPGDt2LAYdaqVSOblPnz49MdDA7bmioiLqAgcNGqTEilvYRqLfyWPGjMlXq9X2Y8eOdRPwh25uUpVKecY3d8H8QORDmzZtGqZesKxbSmRkZC7xcloMQI4ePVqTn5+/FfsQbzczJyenJ7bFxsbmtra2YiGkMsR2E7DbAnlG1P2Z/JEPrampiV/nqck6T028Wsu5c+f2HDhw4BPiBakekKz9tpSXlz+SlZU1lUTIahKc8DnD6/Jauy9M/wFbXFwcfxen4IHEyw2qrq4+3djYWNy7N/djj1euXAHi+fonJycPv3r1ahEJTlBhQyNgMiV3E7DbOvDh+9buwRmRrv2EQYi4zRNCXwfudBOw226o/Z8AAwBphnYirXZBiwAAAABJRU5ErkJggg=='); background-repeat: no-repeat; @@ -187,7 +195,7 @@ } &-node-selected { background-color: #ffe6b0; - border: 1px #ffb951 solid; + box-shadow: 0 0 0 1px #ffb951; opacity: 0.8; } &-icon__open { @@ -209,9 +217,22 @@ margin-right: 2px; vertical-align: top; } + &-title { + display: inline-block; + } + &-indent { + display: inline-block; + height: 0; + vertical-align: bottom; + } &-indent-unit { - width: 16px; display: inline-block; - padding-left: 18px; + width: 16px; + } + + &-draggable-icon { + display: inline-flex; + justify-content: center; + width: 16px; } } diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 000000000..beb2eddcc --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1 @@ + diff --git a/docs/demo/animation-draggable.md b/docs/demo/animation-draggable.md new file mode 100644 index 000000000..cd51870e3 --- /dev/null +++ b/docs/demo/animation-draggable.md @@ -0,0 +1,8 @@ +--- +title: Animation Draggable +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/animation.md b/docs/demo/animation.md new file mode 100644 index 000000000..431fe072f --- /dev/null +++ b/docs/demo/animation.md @@ -0,0 +1,8 @@ +--- +title: Animation +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/basic-controlled.md b/docs/demo/basic-controlled.md new file mode 100644 index 000000000..9ef9a3a05 --- /dev/null +++ b/docs/demo/basic-controlled.md @@ -0,0 +1,8 @@ +--- +title: Basic Controlled +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/basic.md b/docs/demo/basic.md new file mode 100644 index 000000000..2bfed0cc5 --- /dev/null +++ b/docs/demo/basic.md @@ -0,0 +1,8 @@ +--- +title: Basic +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/big-data.md b/docs/demo/big-data.md new file mode 100644 index 000000000..695474e64 --- /dev/null +++ b/docs/demo/big-data.md @@ -0,0 +1,8 @@ +--- +title: Big Data +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/contextmenu.md b/docs/demo/contextmenu.md new file mode 100644 index 000000000..b088fcebf --- /dev/null +++ b/docs/demo/contextmenu.md @@ -0,0 +1,8 @@ +--- +title: Context Menu +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/custom-switch-icon.md b/docs/demo/custom-switch-icon.md new file mode 100644 index 000000000..81644e7ea --- /dev/null +++ b/docs/demo/custom-switch-icon.md @@ -0,0 +1,8 @@ +--- +title: Custom Switch Icon +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/draggable-allow-drop.md b/docs/demo/draggable-allow-drop.md new file mode 100644 index 000000000..2cbe21e44 --- /dev/null +++ b/docs/demo/draggable-allow-drop.md @@ -0,0 +1,8 @@ +--- +title: Draggable Allow Drop +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/draggable.md b/docs/demo/draggable.md new file mode 100644 index 000000000..5f167c755 --- /dev/null +++ b/docs/demo/draggable.md @@ -0,0 +1,8 @@ +--- +title: Draggable +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/dropdown.md b/docs/demo/dropdown.md new file mode 100644 index 000000000..1ee32c191 --- /dev/null +++ b/docs/demo/dropdown.md @@ -0,0 +1,8 @@ +--- +title: Dropdown +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/dynamic.md b/docs/demo/dynamic.md new file mode 100644 index 000000000..8470bbfe6 --- /dev/null +++ b/docs/demo/dynamic.md @@ -0,0 +1,8 @@ +--- +title: Dynamic +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/expandAction.md b/docs/demo/expandAction.md new file mode 100644 index 000000000..902c8714a --- /dev/null +++ b/docs/demo/expandAction.md @@ -0,0 +1,8 @@ +--- +title: Expand Action +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/fieldNames.md b/docs/demo/fieldNames.md new file mode 100644 index 000000000..05f5f59c9 --- /dev/null +++ b/docs/demo/fieldNames.md @@ -0,0 +1,8 @@ +--- +title: Field Names +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/funtionTitle.md b/docs/demo/funtionTitle.md new file mode 100644 index 000000000..385d6b7c7 --- /dev/null +++ b/docs/demo/funtionTitle.md @@ -0,0 +1,8 @@ +--- +title: Function Title +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/icon.md b/docs/demo/icon.md new file mode 100644 index 000000000..176aad6a9 --- /dev/null +++ b/docs/demo/icon.md @@ -0,0 +1,8 @@ +--- +title: Icon +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/demo/selectable.md b/docs/demo/selectable.md new file mode 100644 index 000000000..ad30c00e6 --- /dev/null +++ b/docs/demo/selectable.md @@ -0,0 +1,8 @@ +--- +title: Selectable +nav: + title: Demo + path: /demo +--- + + diff --git a/examples/animation-draggable.jsx b/docs/examples/animation-draggable.jsx similarity index 98% rename from examples/animation-draggable.jsx rename to docs/examples/animation-draggable.jsx index ae5dcc75d..cb2985548 100644 --- a/examples/animation-draggable.jsx +++ b/docs/examples/animation-draggable.jsx @@ -2,8 +2,8 @@ react/no-danger, no-param-reassign */ import React from 'react'; import { gData } from './utils/dataUtil'; -import '../assets/index.less'; -import Tree from '../src'; +import '../../assets/index.less'; +import Tree from '@rc-component/tree'; const STYLE = ` .rc-tree-child-tree { diff --git a/examples/animation.jsx b/docs/examples/animation.jsx similarity index 67% rename from examples/animation.jsx rename to docs/examples/animation.jsx index d46cea011..7dcb5c3f1 100644 --- a/examples/animation.jsx +++ b/docs/examples/animation.jsx @@ -1,8 +1,9 @@ /* eslint no-console:0, react/no-danger: 0 */ -import '../assets/index.less'; -import './animation.less'; +import { Provider } from '@rc-component/motion'; +import Tree from '@rc-component/tree'; import React from 'react'; -import Tree from '../src'; +import '../../assets/index.less'; +import './animation.less'; const STYLE = ` .rc-tree-child-tree { @@ -108,43 +109,56 @@ function getTreeData() { const Demo = () => { const treeRef = React.useRef(); + const [enableMotion, setEnableMotion] = React.useState(true); setTimeout(() => { treeRef.current.scrollTo({ key: '0-9-2' }); }, 100); return ( -
-

expanded

-