UNPKG

ng2-tree

Version:

angular2 component for visualizing data that can be naturally represented as a tree

203 lines (166 loc) 3.86 kB
.node-menu { position: relative; width: 150px; } .node-menu .node-menu-content { width: 100%; padding: 5px; position: absolute; border: 1px solid #bdbdbd; border-radius: 5%; box-shadow: 0 0 5px #bdbdbd; background-color: #eee; color: #212121; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; z-index: 999; } .node-menu .node-menu-content li.node-menu-item { list-style: none; padding: 3px; } .node-menu .node-menu-content .node-menu-item:hover { border-radius: 5%; opacity: unset; cursor: pointer; background-color: #bdbdbd; transition: background-color 0.2s ease-out; } .node-menu .node-menu-content .node-menu-item .node-menu-item-icon { display: inline-block; width: 16px; } .node-menu .node-menu-content .node-menu-item .node-menu-item-icon.new-tag:before { content: '\25CF'; } .node-menu .node-menu-content .node-menu-item .node-menu-item-icon.new-folder:before { content: '\25B6'; } .node-menu .node-menu-content .node-menu-item .node-menu-item-icon.rename:before { content: '\270E'; } .node-menu .node-menu-content .node-menu-item .node-menu-item-icon.remove:before { content: '\2716'; } .node-menu .node-menu-content .node-menu-item .node-menu-item-value { margin-left: 5px; } tree-internal ul { padding: 3px 0 3px 25px; } tree-internal li { padding: 0; margin: 0; list-style: none; } tree-internal .over-drop-target { border: 4px solid #757575; transition: padding 0.2s ease-out; padding: 5px; border-radius: 5%; } tree-internal .tree { box-sizing: border-box; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } tree-internal .tree li { list-style: none; cursor: default; } tree-internal .tree li div { display: inline-block; box-sizing: border-box; } tree-internal .tree .node-value { display: inline-block; color: #212121; } tree-internal .tree .node-value:after { display: block; padding-top: -3px; width: 0; height: 2px; background-color: #212121; content: ''; transition: width 0.3s; } tree-internal .tree .node-value:hover:after { width: 100%; } tree-internal .tree .node-left-menu { display: inline-block; height: 100%; width: auto; } tree-internal .tree .node-left-menu span:before { content: '\2026'; color: #757575; } tree-internal .tree .node-selected:after { width: 100%; } tree-internal .tree .folding { width: 25px; display: inline-block; line-height: 1px; padding: 0 5px; font-weight: bold; } tree-internal .tree .folding.node-collapsed { cursor: pointer; } tree-internal .tree .folding.node-collapsed:before { content: '\25B6'; color: #757575; } tree-internal .tree .folding.node-expanded { cursor: pointer; } tree-internal .tree .folding.node-expanded:before { content: '\25BC'; color: #757575; } tree-internal .tree .folding.node-empty { color: #212121; text-align: center; font-size: 0.89em; } tree-internal .tree .folding.node-empty:before { content: '\25B6'; color: #757575; } tree-internal .tree .folding.node-leaf { color: #212121; text-align: center; font-size: 0.89em; } tree-internal .tree .folding.node-leaf:before { content: '\25CF'; color: #757575; } tree-internal ul.rootless { padding: 0; } tree-internal div.rootless { display: none !important; } tree-internal .loading-children:after { content: ' loading ...'; color: #6a1b9a; font-style: italic; font-size: 0.9em; animation-name: loading-children; animation-duration: 2s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; } @keyframes loading-children { 0% { color: #f3e5f5; } 12.5% { color: #e1bee7; } 25% { color: #ce93d8; } 37.5% { color: #ba68c8; } 50% { color: #ab47bc; } 62.5% { color: #9c27b0; } 75% { color: #8e24aa; } 87.5% { color: #7b1fa2; } 100% { color: #6a1b9a; } }