UNPKG

@kieler/klighd-core

Version:

Core KLighD diagram visualization with Sprotty

188 lines (157 loc) 4.68 kB
/* * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient * * http://rtsys.informatik.uni-kiel.de/kieler * * Copyright 2021 by * + Kiel University * + Department of Computer Science * + Real-Time and Embedded Systems Group * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * SPDX-License-Identifier: EPL-2.0 */ .options__section { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; } .options__section:last-of-type { margin-bottom: 0; } .options__heading { margin: 0; font-size: 1rem; font-weight: 600; line-height: 1.5; } /*********************************** BUTTON ***********************************/ .options__button-group { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 4px; } .options__icon-button { --background: transparent; box-sizing: border-box; appearance: none; border: none; border-radius: var(--kdc-border-radius-default); padding: 4px; color: var(--kdc-color-sidebar-icon-primary); background: var(--background); transition: background var(--kdc-transition); cursor: pointer; } .options__icon-button:hover { --background: var(--kdc-color-sidebar-hover-background); } .options__button { box-sizing: border-box; appearance: none; border: none; border-radius: var(--kdc-border-radius-default); padding: 4px 8px; font-size: 0.8rem; font-weight: 400; box-shadow: none; color: var(--kdc-color-sidebar-font-primary); background: var(--kdc-color-sidebar-trigger-background-active); transition: box-shadow var(--kdc-transition); cursor: pointer; } .options__button:hover { box-shadow: var(--kdc-sidebar-button-shadow); } /*********************************** INPUTS ***********************************/ /* Group that renders children in a column */ .options__column { display: flex; flex-direction: column; } /* Group that renders children in a column and indents the children */ .options__input-container { display: flex; flex-direction: column; } /* Indent content except the legend inside an input group */ .options__input-container > :not(legend) { margin-left: 12px; } .options__separator { display: block; font-weight: 700; } .options__category { display: flex; flex-direction: column; /* This should also have a gap just like .options__section. However, it appears like the gap is not applied for details. Therefore, we use margin on the children. */ } .options__category > summary { font-weight: 700; margin-bottom: 4px; } .options__category > :not(summary) { margin: 0 0 4px 12px; } .options__input { margin: 0 4px 0 0; vertical-align: baseline; } .options__text-field { padding: 2px 4px; font-size: 1rem; border: 2px solid var(--kdc-color-sidebar-trigger-background-hover); border-radius: var(--kdc-border-radius-default); background: var(--kdc-color-sidebar-trigger-background-active); color: var(--kdc-color-sidebar-font-primary); } .options__text-field:focus, .options__text-field:focus-visible { /* Text Field should use their border as their focus indicator. Without "!important" the rule for all inputs ".options__input:focus-visible" takes precedence when the styles are applied. */ outline: none !important; border-color: var(--kdc-color-primary); } /* Don't show outlines when a user interacts with different options... */ .options__input, .options__category > summary, .options__button, .options__icon-button { outline: none; } /* ...only show an outline if the user interacts with the options using a keyboard */ .options__input:focus-visible, .options__category > summary:focus-visible, .options__button:focus-visible, .options__icon-button:focus-visible { /* Chromium has this thing where an outline is colored and white. This just colors it. */ --outline-size: 2px; outline: var(--outline-size) solid var(--kdc-color-primary); outline-offset: calc(-1 * var(--outline-size)); } .options__selection { padding: 2px 4px; border: 2px solid var(--kdc-color-sidebar-trigger-background-hover); border-radius: var(--kdc-border-radius-default); background: var(--kdc-color-sidebar-trigger-background-active); color: var(--kdc-color-sidebar-font-primary); cursor: pointer; font-size: 0.8rem; } .options__selection:focus { outline: none; border-color: var(--kdc-color-primary); } .options__hidden { display: none; }