UNPKG

funda-ui

Version:

React components using pure Bootstrap 5+ which does not contain any external style and script libraries.

238 lines (236 loc) 8.31 kB
/* ====================================================== <!-- Tree --> /* ====================================================== */ .tree-diagram-default { --tree-padding-x: 1rem; --tree-padding-y: 0.5rem; --tree-font-line-height: 1.5; --tree-dis-top: 1rem; --tree-font-size: 0.875rem; --tree-ident: var(--tree-font-size); --tree-dis-start: -var(--tree-ident); --tree-border-color: #ddd; --tree-font-bg: #f6f6f6; --tree-font-active-bg: #f0f8ff; --tree-checkbox-indeterminate-color: #bbbbbb; --tree-link-min-width: 150px; position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0.5rem 0; outline: none; /* When using "tabindex" please set */ word-wrap: break-word; word-break: break-word; /*------ line ------*/ /*------ has checkbox ------*/ /*------ hide arrow ------*/ } .tree-diagram-default ul, .tree-diagram-default li { list-style: none; } .tree-diagram-default .tree-diagram-default-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; /* Default height for sub items */ } .tree-diagram-default .tree-diagram-default-nav .nav-link { position: relative; display: block; cursor: pointer; min-width: var(--tree-link-min-width); padding: var(--tree-padding-y) var(--tree-padding-x); font-size: var(--tree-font-size); font-weight: 400; color: inherit; text-decoration: none; transition: 0.1s ease-in-out; padding-left: calc(var(--tree-padding-x) * 2); z-index: 1; } .tree-diagram-default .tree-diagram-default-nav .nav-link.disabled { opacity: 0.5; pointer-events: none; } .tree-diagram-default .tree-diagram-default-nav .nav-link > span { transition: 0.1s ease-in-out; border-radius: 2px; /* required */ display: inline-flex; align-items: center; } .tree-diagram-default .tree-diagram-default-nav .nav-link > span var.loading-icon { position: absolute; margin-left: 0.2em; } .tree-diagram-default .tree-diagram-default-nav .nav-link:hover span { background-color: var(--tree-font-bg); } .tree-diagram-default .tree-diagram-default-nav .nav-link.selected span { background-color: var(--tree-font-active-bg); } .tree-diagram-default .tree-diagram-default-nav .nav-link.loading > span var.loading-icon { display: inline-block; } .tree-diagram-default .tree-diagram-default-nav var.loading-icon { display: none; } .tree-diagram-default .tree-diagram-default-nav var.loading-icon svg { animation: tree-diagram-ring 1.2s linear infinite; } .tree-diagram-default .tree-diagram-default-nav .checkbox-trigger { display: none; position: absolute; left: calc(var(--tree-padding-x) + 1.5em); top: calc(var(--tree-dis-top) - 8px); z-index: 2; } .tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div { display: inline-block; position: relative; } .tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div .form-check { min-height: auto; margin-bottom: 0; } .tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div .form-check [type=checkbox]:indeterminate, .tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div .form-check [type=checkbox].indeterminate { background-color: var(--tree-checkbox-indeterminate-color); border-color: var(--tree-checkbox-indeterminate-color); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); } .tree-diagram-default .tree-diagram-default-nav .arrow { cursor: pointer; transition: 0.1s ease-in-out; text-align: center; position: absolute; left: calc(var(--tree-padding-x) + 0.2em); top: calc(var(--tree-dis-top) - 5px); z-index: 2; width: 10px; height: 10px; /* required */ display: inline-flex; align-items: center; } .tree-diagram-default .tree-diagram-default-nav .arrow > var > svg { transition: 0.1s ease-in-out; } .tree-diagram-default .tree-diagram-default-nav .arrow var.default-icon > span:last-child { display: none; } .tree-diagram-default .tree-diagram-default-nav .arrow.loading var.default-icon { display: none; } .tree-diagram-default .tree-diagram-default-nav .arrow.loading var.loading-icon { display: inline-block; } .tree-diagram-default .tree-diagram-default-nav .arrow:hover { opacity: 0.5; } .tree-diagram-default .tree-diagram-default-nav .arrow:hover > var > svg { transform: scale(1.4); } .tree-diagram-default .tree-diagram-default-nav li { position: relative; padding-left: 0.2em; } .tree-diagram-default .tree-diagram-default-nav li i { font-style: normal; } .tree-diagram-default .tree-diagram-default-nav li.active > .arrow:not(.custom-icons) { transform: rotate(90deg); } .tree-diagram-default .tree-diagram-default-nav li.active > .arrow.custom-icons var.default-icon > span:first-child { display: none; } .tree-diagram-default .tree-diagram-default-nav li.active > .arrow.custom-icons var.default-icon > span:last-child { display: block; } .tree-diagram-default .tree-diagram-default-nav > li ul { transition: max-height 0.25s ease; overflow: hidden; position: relative; } .tree-diagram-default .tree-diagram-default-nav > li:not(.active) ul { max-height: 0; } .tree-diagram-default .tree-diagram-default-nav > li ul ul { margin-top: auto; } .tree-diagram-default.show-line .tree-diagram-default-nav li::before, .tree-diagram-default.show-line .tree-diagram-default-nav li::after { content: ""; position: absolute; top: calc(0px - var(--tree-dis-top)); left: var(--tree-dis-start); border-left-width: 1px; border-left-style: solid; border-left-color: var(--tree-border-color); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: var(--tree-border-color); width: var(--tree-ident); pointer-events: none; } .tree-diagram-default.show-line .tree-diagram-default-nav li::before { height: calc(var(--tree-font-size) * var(--tree-font-line-height) + var(--tree-padding-y) + var(--tree-padding-y)); } .tree-diagram-default.show-line .tree-diagram-default-nav li::after { height: 100%; border-bottom-width: 0; } .tree-diagram-default.show-line .tree-diagram-default-nav li:last-child::after { display: none; } .tree-diagram-default.show-line .tree-diagram-default-nav > li:first-child::before { border-left-width: 0; } .tree-diagram-default.show-line .tree-diagram-default-nav > li:first-child::after { top: calc(var(--tree-font-size) * var(--tree-font-line-height)); } .tree-diagram-default.show-line.line--dotted .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--dotted .tree-diagram-default-nav li::after { border-left-style: dotted; border-bottom-style: dotted; } .tree-diagram-default.show-line.line--dashed .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--dashed .tree-diagram-default-nav li::after { border-left-style: dashed; border-bottom-style: dashed; } .tree-diagram-default.show-line.line--double .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--double .tree-diagram-default-nav li::after { border-left-style: double; border-bottom-style: double; } .tree-diagram-default.show-line.line--solid .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--solid .tree-diagram-default-nav li::after { border-left-style: solid; border-bottom-style: solid; } .tree-diagram-default.has-checkbox .checkbox-trigger { display: inline-block; } .tree-diagram-default.has-checkbox .tree-diagram-default-nav .nav-link { padding-left: calc(var(--tree-padding-x) + 2.7em); } .tree-diagram-default.hide-arrow .arrow { display: none; } .tree-diagram-default.hide-arrow .tree-diagram-default-nav .nav-link { padding-left: var(--tree-padding-x); } .tree-diagram-default.hide-arrow.has-checkbox .tree-diagram-default-nav .checkbox-trigger { left: calc(var(--tree-padding-x) + 0.5em); } .tree-diagram-default.hide-arrow.has-checkbox .tree-diagram-default-nav .nav-link { padding-left: calc(var(--tree-padding-x) + 1.5em); } @keyframes tree-diagram-ring { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }