UNPKG

@conduction/components

Version:

React (Gatsby) components used within the Conduction Skeleton Application (and its implementations)

316 lines (259 loc) 9.91 kB
:root { --conduction-primary-top-nav-color: #4a4a4a; --conduction-primary-top-nav-background-color: #ffffff; --conduction-primary-top-nav-toggle-icon-size: 24px; --conduction-primary-top-nav-mobile-logo-padding: 18px; --conduction-primary-top-nav-item-padding: 18px; --conduction-primary-top-nav-item-icon-margin: var(--skeleton-size-2x); /* --conduction-primary-top-nav-item-border-radius: var(--skeleton-size-2x); */ /* --conduction-primary-top-nav-current-background-color: #ffffff; */ /* --conduction-primary-top-nav-current-color: #4376fc; */ /* --conduction-primary-top-nav-current-box-shadow: inset 0 -4px black; */ /* --conduction-primary-top-nav-current-mobile-box-shadow: inset 4px 0 black; */ /* --conduction-primary-top-nav-hover-color: #4376fc; */ /* --conduction-primary-top-nav-hover-background-color: #ffffff; */ /* --conduction-primary-top-nav-hover-box-shadow: inset 0 -4px black; */ /* --conduction-primary-top-nav-dropdown-color: #4a4a4a; */ /* --conduction-primary-top-nav-dropdown-background-color: var(--skeleton-color-white); */ /* --conduction-primary-top-nav-dropdown-border-width: 1px; */ /* --conduction-primary-top-nav-dropdown-border-style: solid; */ /* --conduction-primary-top-nav-dropdown-border-color: #4376fc; */ /* --conduction-primary-top-nav-dropdown-hover-color: #4376fc; */ /* --conduction-primary-top-nav-dropdown-hover-background-color: #ffffff; */ /* --conduction-primary-top-nav-dropdown-hover-box-shadow: inset 0 -4px black; */ /* --conduction-primary-top-nav-dropdown-item-border-bottom-width: 4px; --conduction-primary-top-nav-dropdown-item-border-bottom-style: solid; --conduction-primary-top-nav-dropdown-item-border-bottom-color: #4376fc; */ /* --conduction-primary-top-nav-container-padding-block-end: 18px; */ /* --conduction-primary-top-nav-container-padding-block-start: 18px; */ /* --conduction-primary-top-nav-container-padding-inline-end: 18px; */ /* --conduction-primary-top-nav-container-padding-inline-start: 18px; */ /* --conduction-primary-top-nav-list-gap: var(--skeleton-size-2x); */ } .container { width: 100%; padding-block-end: var(--conduction-primary-top-nav-container-padding-block-end); padding-block-start: var(--conduction-primary-top-nav-container-padding-block-start); padding-inline-end: var(--conduction-primary-top-nav-container-padding-inline-end); padding-inline-start: var(--conduction-primary-top-nav-container-padding-inline-start); } .menuToggleContainer { width: 100%; display: flex; align-items: center; justify-content: space-between; } .menuToggleContainer > .menuToggle { all: unset; font-size: var(--conduction-primary-top-nav-toggle-icon-size); padding: var(--conduction-primary-top-nav-mobile-logo-padding); color: var(--conduction-primary-top-nav-color); } .menuToggleContainer > .menuToggle:hover { cursor: pointer; } .primary { display: none; } .primary.isOpen { display: block; } .menuToggleContainer { width: 100%; } .primary { font-weight: 500; width: 100%; background-color: var(--conduction-primary-top-nav-background-color); } .primary:hover { cursor: pointer; } .ul { margin: unset; padding-inline-start: unset; align-items: center; max-height: 80vh; overflow-y: scroll; border-color: var(--conduction-primary-top-nav-list-border-color); border-style: var(--conduction-primary-top-nav-list-border-style); border-width: var(--conduction-primary-top-nav-list-border-width); gap: var(--conduction-primary-top-nav-list-gap); } .li { list-style-type: none; display: block; position: relative; transition: var(--conduction-primary-top-nav-item-transition); padding-inline-start: var(--conduction-primary-top-nav-item-padding); padding-inline-end: var(--conduction-primary-top-nav-item-padding); padding-block-start: var(--conduction-primary-top-nav-item-padding); padding-block-end: var(--conduction-primary-top-nav-item-padding); border-radius: var(--conduction-primary-top-nav-item-border-radius); border-color: var(--conduction-primary-top-nav-item-border-color); border-style: var(--conduction-primary-top-nav-item-border-style); border-width: var(--conduction-primary-top-nav-item-border-width); } .li:hover { background-color: var(--conduction-primary-top-nav-hover-background-color); box-shadow: var(--conduction-primary-top-nav-hover-box-shadow, inherit); } .current { background-color: var(--conduction-primary-top-nav-current-background-color); box-shadow: var(--conduction-primary-top-nav-current-box-shadow); } .current:hover { box-shadow: var(--conduction-primary-top-nav-current-hover-box-shadow, var(--conduction-primary-top-nav-current-box-shadow)); } .current:hover > .currentLink { color: var(--conduction-primary-top-nav-hover-color) !important; } .currentLink { color: var(--conduction-primary-top-nav-current-color) !important; font-weight: var(--conduction-primary-top-nav-current-font-weight); } .currentLink svg path { fill: var(--conduction-primary-top-nav-current-color) !important; } .dropdownCurrent { background-color: var(--conduction-primary-top-nav-dropdown-current-background-color, var(--conduction-primary-top-nav-current-background-color)); box-shadow: var(--conduction-primary-top-nav-dropdown-current-box-shadow, var(--conduction-primary-top-nav-current-box-shadow)); } .dropdownCurrent:hover { box-shadow: var(--conduction-primary-top-nav-dropdown-current-box-shadow) !important; } .dropdownCurrent:hover > .dropdownCurrentLink { color: var(--conduction-primary-top-nav-dropdown-hover-color, var(--conduction-primary-top-nav-hover-color)) !important; font-weight: var(--conduction-primary-top-nav-dropdown-current-font-weight) !important; } .dropdownCurrentLink { color: var(--conduction-primary-top-nav-dropdown-current-color, var(--conduction-primary-top-nav-current-color)) !important; font-weight: var(--conduction-primary-top-nav-dropdown-current-font-weight); } .dropdownCurrentLink svg path { fill: var(--conduction-primary-top-nav-dropdown-current-color, var(--conduction-primary-top-nav-current-color)) !important; } .mobileLink { margin-block-end: 18px; } .primary .link { text-decoration: none; text-overflow: ellipsis; display: block; overflow: hidden; max-width: 100%; white-space: nowrap; } .primary .link:not(.currentLink) { display: block; color: var(--conduction-primary-top-nav-color); } .primary .link:not(.currentLink) svg path { fill: var(--conduction-primary-top-nav-color); } .primary .li:hover > .link { color: var(--conduction-primary-top-nav-hover-color); font-weight: var(--conduction-primary-top-nav-hover-font-weight); } .primary .li:hover svg path { fill: var(--conduction-primary-top-nav-hover-color); } .link > * { margin-inline-end: 8px; } .dropdown { left: 0; top: 100%; padding: 0; width: 100%; display: none; list-style-type: none; background-color: var(--conduction-primary-top-nav-dropdown-background-color, var(--conduction-primary-top-nav-background-color)); width: fit-content; max-width: 200px; } .dropdownOverflow { display: none; max-height: 430px; overflow-y: scroll; border: 1px solid rgba(0, 0, 0, 0.2); } .dropdown.isOpen { display: block; } .li.current { box-shadow: var(--conduction-primary-top-nav-current-mobile-box-shadow); } .primary .dropdown .li .link { color: var(--conduction-primary-top-nav-dropdown-color, var(--conduction-primary-top-nav-color)); } .primary .dropdown .li:hover .link { color: var(--conduction-primary-top-nav-dropdown-hover-color, var(--conduction-primary-top-nav-hover-color)); font-weight: var(--conduction-primary-top-nav-dropdown-hover-font-weight); } .dropdown .li:hover { background: var(--conduction-primary-top-nav-dropdown-hover-background-color, var(--conduction-primary-top-nav-hover-background-color)); box-shadow: var(--conduction-primary-top-nav-dropdown-hover-box-shadow, var(--conduction-primary-top-nav-hover-box-shadow)); } .dropdown > li { padding-inline-start: 18px; font-weight: var(--conduction-primary-top-nav-dropdown-font-weight); border-bottom-width: var(--conduction-primary-top-nav-dropdown-item-border-bottom-width); border-bottom-style: var(--conduction-primary-top-nav-dropdown-item-border-bottom-style); border-bottom-color: var(--conduction-primary-top-nav-dropdown-item-border-bottom-color); } .toggleIcon { margin-inline-start: var(--skeleton-size-xs); transition: transform 100ms ease-in-out; } .toggleIcon.isOpen { transform: rotate(90deg); transition: transform 100ms ease-in-out; } .label { overflow: hidden; max-width: 37ch; text-overflow: ellipsis; white-space: nowrap; } .label > :not(:last-child) { margin-inline-end: var(--conduction-primary-top-nav-item-icon-margin); } .li:hover .dropdown { display: block; z-index: 1; } :not(.dropdown) .li.current:hover { box-shadow: var(--conduction-primary-top-nav-current-hover-box-shadow, var(--conduction-primary-top-nav-current-box-shadow)); font-weight: var(--conduction-primary-top-nav-current-hover-font-weight, var(--conduction-primary-top-nav-current-font-weight)); } @media only screen and (min-width: 992px) { .container { width: fit-content; } .primary { display: block; width: fit-content; } .ul { display: flex; overflow-y: unset; } .dropdown { position: absolute; display: none; border-width: var(--conduction-primary-top-nav-dropdown-border-width); border-style: var(--conduction-primary-top-nav-dropdown-border-style); border-color: var(--conduction-primary-top-nav-dropdown-border-color); border-top: none; } .menuToggleContainer { display: none; } .mobileLink { margin-block-end: unset; } .li.current { box-shadow: var(--conduction-primary-top-nav-current-box-shadow); } }