Add Current Navigation Application Customizer
- Created a new SPFx Application Customizer for current navigation. - Implemented core functionality to fetch and render navigation items from a SharePoint term set. - Added styles for the navigation component using SCSS. - Included localization support for English and German languages. - Developed unit tests for core navigation functionalities. - Configured TypeScript and TSLint settings for the project. - Added validation scripts for static assets and package configuration.
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
@import '~@microsoft/sp-office-ui-fabric-core/dist/sass/SPFabricCore.scss';
|
||||
|
||||
:global {
|
||||
.current-navigation {
|
||||
position: relative;
|
||||
z-index: 299;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid $ms-color-neutralLight;
|
||||
background: $ms-color-white;
|
||||
color: $ms-color-neutralPrimary;
|
||||
font-family: $ms-font-family-fallbacks;
|
||||
font-size: $ms-font-size-s;
|
||||
}
|
||||
|
||||
.current-navigation ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.current-navigation-root {
|
||||
display: flex;
|
||||
min-height: 40px;
|
||||
padding: 0 16px !important;
|
||||
}
|
||||
|
||||
.current-navigation li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.current-navigation a,
|
||||
.current-navigation span {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 40px;
|
||||
padding: 0 12px;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.current-navigation a:hover,
|
||||
.current-navigation a:focus,
|
||||
.current-navigation a.is-current {
|
||||
color: $ms-color-themePrimary;
|
||||
background: $ms-color-neutralLighter;
|
||||
}
|
||||
|
||||
.current-navigation a:focus {
|
||||
outline: 2px solid $ms-color-themePrimary;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
.current-navigation-children {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
display: none;
|
||||
min-width: 220px;
|
||||
border: 1px solid $ms-color-neutralLight;
|
||||
background: $ms-color-white;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, .16);
|
||||
}
|
||||
|
||||
.current-navigation-children .current-navigation-children {
|
||||
top: 0;
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
.current-navigation li:hover > .current-navigation-children,
|
||||
.current-navigation li:focus-within > .current-navigation-children {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.current-navigation-root {
|
||||
flex-wrap: wrap;
|
||||
padding: 0 8px !important;
|
||||
}
|
||||
|
||||
.current-navigation-children,
|
||||
.current-navigation-children .current-navigation-children {
|
||||
position: static;
|
||||
display: block;
|
||||
min-width: 0;
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
padding-left: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user