123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685 |
- /* ==========================================================================
- box-sizing
- ========================================================================== */
- @mixin widget {
- .esri-widget {
- box-sizing: border-box;
- color: $font-color;
- font-size: $font-size;
- font-family: $font-family;
- line-height: $line-height;
- background-color: $background-color;
- *,
- *:before,
- *:after {
- box-sizing: inherit;
- }
- &#{&}--disabled {
- & > * {
- pointer-events: none;
- opacity: $opacity--disabled;
- }
- }
- /*
- * Padding/spacing - should be respected by each widget
- */
- --esri-widget-padding-v: #{$cap-spacing};
- --esri-widget-padding-h: #{$side-spacing};
- --esri-widget-padding: var(--esri-widget-padding-v) var(--esri-widget-padding-h);
- &.esri-widget--compact {
- --esri-widget-padding-v: 0;
- --esri-widget-padding-h: 0;
- }
- }
- .esri-widget__anchor {
- color: $button-color;
- &:hover {
- color: $button-color--hover;
- }
- &--disabled {
- pointer-events: none;
- opacity: $opacity--disabled;
- }
- &:hover,
- &:focus {
- text-decoration: underline;
- }
- }
- .esri-widget__header {
- align-items: center;
- background-color: $background-color;
- display: flex;
- flex: 1 0 100%;
- padding: $cap-spacing 0 $cap-spacing $side-spacing;
- justify-content: space-between;
- min-height: $header-height--min;
- width: 100%;
- .esri-widget__heading {
- align-items: center;
- color: $interactive-font-color;
- display: flex;
- margin: 0;
- padding: 0;
- text-align: initial;
- width: calc(100% - #{$header-button-width});
- }
- &-button {
- -webkit-appearance: none;
- align-items: center;
- align-self: stretch;
- background-color: transparent;
- border: none;
- color: $interactive-font-color;
- cursor: pointer;
- display: flex;
- flex: 0 0 $header-button-width;
- justify-content: center;
- padding: 0;
- width: $header-button-width;
- }
- }
- .esri-widget__heading {
- color: $heading-color;
- font-weight: $font-weight__heading;
- margin: 0 0 0.5rem 0;
- }
- h1.esri-widget__heading {
- font-size: $font-size__h1;
- }
- h2.esri-widget__heading {
- font-size: $font-size__h2;
- }
- h3.esri-widget__heading,
- h4.esri-widget__heading,
- h5.esri-widget__heading,
- h6.esri-widget__heading {
- font-size: $font-size__lt-h2;
- }
- .esri-widget__footer {
- align-items: center;
- background-color: $background-color;
- display: flex;
- justify-content: center;
- min-height: $footer-height--min;
- width: 100%;
- }
- .esri-widget__footer-pagination {
- align-items: center;
- color: $interactive-font-color;
- display: flex;
- justify-content: space-between;
- &-previous-button,
- &-next-button {
- background-color: transparent;
- border: 0;
- margin: 0 $side-spacing--half;
- padding: $cap-spacing $side-spacing;
- cursor: pointer;
- transition: background-color 125ms ease-in-out;
- &:hover,
- &:focus {
- background-color: $background-color--hover;
- color: $interactive-font-color--hover;
- }
- }
- }
- .esri-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1;
- background-color: $background-color;
- @include defaultBoxShadow();
- padding: 0;
- margin: $cap-spacing--eighth 0 0 0;
- font-size: 14px;
- line-height: 16px;
- -moz-background-clip: padding;
- background-clip: padding-box;
- overflow: hidden;
- width: 100%;
- visibility: hidden;
- max-height: 0;
- .esri-menu__header {
- padding: 6px 12px;
- background-color: $background-color--inverse;
- color: $interactive-font-color--inverse;
- }
- &__list {
- margin: 0;
- padding: 0;
- list-style: none;
- }
- &__list-item {
- padding: 0.8em 1em;
- cursor: pointer;
- border-top: solid 1px $border-color;
- border-left: $border-size--active solid transparent;
- }
- &__list-item:first-child {
- border-top: none;
- }
- &__list-item--focus,
- &__list-item:hover,
- &__list-item:focus {
- background-color: $background-color--hover;
- }
- &__list-item:active {
- background-color: $background-color--active;
- }
- &__list-item--active,
- &__list-item--active:hover,
- &__list-item--active:focus {
- background-color: $background-color--active;
- border-left-color: $border-color--active;
- }
- &__list-item {
- @include icomoonIconSelector() {
- padding-right: $font-size * 0.2;
- }
- }
- }
- .esri-widget__table {
- color: $font-color;
- border: none;
- border-collapse: collapse;
- line-height: 1.3em;
- width: 100%;
- tr:nth-child(odd) {
- background-color: rgba($background-color--inverse, 0.1);
- }
- tr:nth-child(even) {
- background-color: rgba($background-color--inverse, 0.02);
- }
- tr {
- a {
- color: $interactive-font-color;
- &:hover,
- &:focus {
- color: $interactive-font-color--hover;
- }
- }
- td,
- th {
- padding: 0.5em 0.7em;
- word-break: break-word;
- vertical-align: top;
- font-size: $font-size__body;
- font-weight: $font-weight;
- }
- th {
- width: 50%;
- text-align: left;
- border-right: 3px solid rgba(0, 0, 0, 0.05);
- }
- td {
- width: 50%;
- }
- }
- }
- .esri-input {
- background-color: $background-color;
- border: 1px solid $border-color;
- color: $font-color;
- font-family: $font-family;
- font-size: $font-size;
- &[type="text"],
- &[type="password"],
- &[type="number"] {
- height: $button-height;
- padding: 0 0.5em;
- }
- &::-ms-clear {
- display: none;
- }
- &::-moz-placeholder {
- color: $font-color--placeholder;
- opacity: 1;
- }
- &:-ms-input-placeholder {
- color: $font-color--placeholder;
- }
- &::-webkit-input-placeholder {
- color: $font-color--placeholder;
- }
- }
- .esri-button {
- align-items: center;
- background-color: $button-color;
- border: 1px solid $button-color;
- color: $button-color--inverse;
- cursor: pointer;
- display: flex;
- font-family: inherit;
- font-size: $font-size;
- min-height: $button-height;
- justify-content: center;
- word-break: normal;
- white-space: normal;
- overflow: hidden;
- padding: $cap-spacing--half $side-spacing--half;
- width: 100%;
- transition: background-color 125ms ease-in-out, border 125ms ease-in-out;
- &:hover {
- background-color: $button-color--hover;
- border: 1px solid $button-color--hover;
- color: $button-color--inverse;
- }
- &.esri-button--small {
- font-size: $font-size--small;
- min-height: $button-height--half;
- }
- &.esri-button--half {
- display: inline-block;
- width: 50%;
- }
- &.esri-button--third {
- display: inline-block;
- width: 33%;
- }
- }
- .esri-button--secondary {
- background-color: transparent;
- color: $button-color;
- }
- .esri-button--tertiary {
- background-color: transparent;
- border-color: transparent;
- color: $button-color;
- &:hover {
- background-color: $background-color--hover;
- border-color: transparent;
- color: $button-color--hover;
- }
- }
- .esri-button--disabled {
- opacity: $opacity--disabled;
- pointer-events: none;
- }
- .esri-button--drill-in {
- display: flex;
- align-items: center;
- justify-content: space-between;
- background-color: $background-color;
- cursor: pointer;
- border: none;
- border-radius: $border-radius;
- text-align: unset;
- text-decoration: none;
- padding: $cap-spacing $side-spacing--half;
- margin: $cap-spacing $side-spacing--half;
- outline-offset: -4px;
- transition: background-color 125ms ease-in-out;
- @include borderBoxShadow();
- &:hover,
- &:focus {
- background-color: $background-color--hover;
- }
- &__title {
- font-size: $font-size;
- font-family: $font-family;
- }
- @include icomoonIconSelector() {
- padding: 0 $side-spacing--half;
- }
- }
- @include icomoonIconSelector() {
- font-size: $icon-size;
- display: inline-block;
- }
- .esri-widget__content--empty {
- align-items: center;
- color: $interactive-font-color;
- display: flex;
- flex-flow: column wrap;
- padding: $cap-spacing--plus-half $side-spacing--plus-half;
- text-align: center;
- h1.esri-widget__heading,
- h2.esri-widget__heading,
- h3.esri-widget__heading,
- h4.esri-widget__heading,
- h5.esri-widget__heading {
- font-weight: $font-weight;
- }
- }
- .esri-widget__content-illustration--empty {
- padding: 1rem 0;
- width: 128px;
- }
- .esri-widget__content-icon--empty {
- padding: 0.5rem 0;
- width: 32px;
- }
- // Select
- // From https://esri.github.io/calcite-ui-icons/#chevron-down
- $select_caret: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 32 32' width='32' height='32'%3E%3Cpath d='M8 11.207l-4-4V5.793l4 4 4-4v1.414z' fill='%23" +
- str-slice(#{$interactive-font-color}, 2) + "' fillrule='nonzero'/%3E%3C/svg%3E";
- .esri-select {
- cursor: pointer;
- display: block;
- font-family: inherit;
- font-size: 0.85em;
- width: 100%;
- height: $button-height;
- color: $font-color;
- border: 1px solid $border-color;
- margin: 0;
- -webkit-appearance: none;
- -moz-appearance: none;
- border-radius: 0;
- padding: 0 0.5em;
- background: url($select_caret) no-repeat right center $background-color;
- &[disabled] {
- cursor: auto;
- }
- }
- .esri-select::-ms-expand {
- display: none;
- }
- // Disabled
- .esri-disabled a,
- .esri-disabled [role="menu"],
- .esri-disabled [role="checkbox"] {
- color: $interactive-font-color--disabled;
- }
- .esri-disabled {
- @include icomoonIconSelector() {
- color: $interactive-font-color--disabled;
- }
- }
- .keynav-mode {
- .esri-widget {
- // Saving this for when we can toggle a key-nav class
- &:focus {
- @include outlineStyle();
- }
- * {
- &:focus {
- @include outlineStyle();
- }
- }
- }
- }
- /* ==========================================================================
- Loader
- ========================================================================== */
- .esri-widget__loader-animation {
- animation: esri-rotate 1250ms infinite linear;
- transform: translateZ(0);
- border: 0.15em solid transparent;
- border-color: rgba($font-color, 0.8) $border-color $border-color $border-color;
- border-radius: 100%;
- display: block;
- font-size: $spinning-loader-size;
- height: 1em;
- width: 1em;
- }
- /* ==========================================================================
- Widget Button
- ========================================================================== */
- .esri-widget--button {
- font-size: $font-size;
- background-color: $background-color;
- color: $interactive-font-color;
- width: $button-width;
- height: $button-height;
- padding: 0;
- margin: 0;
- overflow: hidden;
- cursor: pointer;
- text-align: center;
- display: flex;
- flex-flow: row nowrap;
- justify-content: center;
- align-items: center;
- transition: background-color 125ms ease-in-out;
- &:hover {
- background-color: $background-color--hover;
- color: $interactive-font-color--hover;
- }
- &:active {
- background-color: $background-color--active;
- }
- }
- /* ==========================================================================
- Components (top Widget node in esri-ui-corner)
- ========================================================================== */
- .esri-ui-corner {
- .esri-component {
- @include defaultBoxShadow();
- }
- .esri-expand .esri-widget--panel,
- .esri-expand .esri-widget--panel-height-only,
- .esri-component.esri-widget--panel,
- .esri-component.esri-widget--panel-height-only {
- min-height: $panel-min-height--xsmall;
- transition: max-height 250ms ease-in-out;
- overflow-y: auto;
- }
- .esri-expand .esri-widget--panel,
- .esri-expand .esri-widget--panel-height-only,
- .esri-component > .esri-widget--panel,
- .esri-component.esri-widget--panel {
- width: $panel-width;
- .esri-widget--panel {
- // widget--panel inside another widget--panel
- width: auto;
- }
- }
- }
- // Max heights
- .esri-view-height-greater-than-medium {
- .esri-expand .esri-widget--panel,
- .esri-expand .esri-widget--panel-height-only,
- .esri-ui-corner .esri-component.esri-widget--panel,
- .esri-ui-corner .esri-component.esri-widget--panel-height-only {
- max-height: $view-height--gt-medium__component-max-height;
- }
- }
- .esri-view-height-medium {
- .esri-expand .esri-widget--panel,
- .esri-expand .esri-widget--panel-height-only,
- .esri-ui-corner .esri-component.esri-widget--panel,
- .esri-ui-corner .esri-component.esri-widget--panel-height-only {
- max-height: $view-height--medium__component-max-height;
- }
- }
- .esri-view-height-small {
- .esri-expand .esri-widget--panel,
- .esri-expand .esri-widget--panel-height-only,
- .esri-ui-corner .esri-component.esri-widget--panel,
- .esri-ui-corner .esri-component.esri-widget--panel-height-only {
- max-height: $view-height--small__component-max-height;
- }
- }
- .esri-view-height-xsmall {
- .esri-expand .esri-widget--panel,
- .esri-expand .esri-widget--panel-height-only,
- .esri-ui-corner .esri-component.esri-widget--panel,
- .esri-ui-corner .esri-component.esri-widget--panel-height-only {
- max-height: $view-height--xsmall__component-max-height;
- }
- }
- .esri-ui-bottom-right,
- .esri-ui-bottom-left {
- .esri-menu {
- top: auto;
- bottom: 100%;
- margin-top: 0;
- margin-bottom: $cap-spacing--eighth;
- }
- }
- /* ==========================================================================
- RTL
- ========================================================================== */
- [dir="rtl"] {
- .esri-widget__table {
- th {
- text-align: right;
- border-right: none;
- border-left: 3px solid rgba(0, 0, 0, 0.05);
- }
- }
- .esri-select {
- background-position: left 50%;
- }
- .esri-menu__list-item {
- @include icomoonIconSelector() {
- padding-right: 0;
- padding-left: floor($font-size * 0.2);
- }
- }
- .esri-menu__list-item {
- border-left: none;
- border-right: $border-size--active solid transparent;
- }
- .esri-menu__list-item--active {
- border-right-color: $border-color--active;
- }
- }
- /* ==========================================================================
- accessibility
- ========================================================================== */
- .esri-icon-font-fallback-text {
- clip: rect(0 0 0 0);
- overflow: hidden;
- position: absolute;
- height: 1px;
- width: 1px;
- }
- @include icomoonIconSelector() {
- // fixes IE11 bug where animation will continue after animation class is removed
- // https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/4784
- animation: none;
- }
- @keyframes esri-fade-in {
- 0% {
- opacity: 0;
- }
- 25% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
- .esri-rotating {
- animation: esri-rotate 1250ms infinite linear;
- transform: translateZ(0);
- }
- /* ==========================================================================
- clearfixing
- ========================================================================== */
- /**
- * taken from http://nicolasgallagher.com/micro-clearfix-hack/
- *
- * For modern browsers
- * 1. The space content is one way to avoid an Opera bug when the
- * contenteditable attribute is included anywhere else in the document.
- * Otherwise it causes space to appear at the top and bottom of elements
- * that are clearfixed.
- * 2. The use of `table` rather than `block` is only necessary if using
- * `:before` to contain the top-margins of child elements.
- */
- .esri-clearfix {
- &:before,
- &:after {
- content: " ";
- /* 1 */
- display: table;
- /* 2 */
- }
- &:after {
- clear: both;
- }
- }
- /* ==========================================================================
- interaction
- ========================================================================== */
- .esri-interactive {
- cursor: pointer;
- }
- /* ==========================================================================
- visibility
- ========================================================================== */
- .esri-hidden {
- display: none !important;
- }
- .esri-invisible {
- visibility: hidden !important;
- }
- .esri-offscreen {
- position: absolute;
- top: -999em;
- left: -999em;
- }
- /* ==========================================================================
- component shims
- ========================================================================== */
- .esri-match-height {
- display: flex;
- flex-direction: column;
- flex: 1 1 auto;
- overflow: hidden;
- }
- }
- @if $include_Widget == true {
- @include widget();
- }
|