@cagovweb/state-template 6.6.0-beta3 → 6.6.0-beta5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/cagov.core.css +101 -132
- package/dist/css/cagov.core.flat.css +106 -128
- package/dist/css/cagov.core.min.css +1 -1
- package/dist/js/cagov.core.js +2 -121
- package/dist/js/cagov.core.min.js +2 -2
- package/dist/readme.md +2 -2
- package/package.json +2 -2
package/dist/js/cagov.core.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var StateTemplateNpmPackageVersion="6.6.0-
|
|
1
|
+
var StateTemplateNpmPackageVersion="6.6.0-beta5";
|
|
2
2
|
/*!
|
|
3
3
|
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
|
4
4
|
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
@@ -8081,113 +8081,12 @@ window.addEventListener("load", () => {
|
|
|
8081
8081
|
document.querySelector(".side-navigation")
|
|
8082
8082
|
);
|
|
8083
8083
|
if (!sidenavigation || !siteHeader) return;
|
|
8084
|
-
const allSidenavLinks = /** @type {NodeListOf<HTMLElement>} */ (
|
|
8085
|
-
sidenavigation.querySelectorAll(".side-navigation a")
|
|
8086
|
-
);
|
|
8087
|
-
const mainContentSideNavCont = sidenavigation.closest("div");
|
|
8088
8084
|
sidenavigation.id = "side-navigation";
|
|
8089
8085
|
const topposition = localStorage.getItem("sidebar-scroll");
|
|
8090
8086
|
const mobileCntls = document.querySelector(".global-header .mobile-controls");
|
|
8091
|
-
if (!mobileCntls) return;
|
|
8092
|
-
let mobileControlsDisplay = window.getComputedStyle(mobileCntls).display; // Side nav height vs viewport
|
|
8093
8087
|
const siteHeaderHeight = siteHeader ? siteHeader.clientHeight : 0;
|
|
8094
8088
|
const mobileView$3 = () =>
|
|
8095
8089
|
getComputedStyle(mobileCntls)["display"] !== "none";
|
|
8096
|
-
let timeout = 0;
|
|
8097
|
-
const delay = 250; // delay between calls
|
|
8098
|
-
/** @type {HTMLElement} */
|
|
8099
|
-
let mobileSideNavDiv,
|
|
8100
|
-
/** @type {HTMLDivElement} */ mobileSideNavCont,
|
|
8101
|
-
/** @type {HTMLButtonElement} */ sidenavToggleBtn;
|
|
8102
|
-
|
|
8103
|
-
const createMobileSideNavButton = () => {
|
|
8104
|
-
// get first side nav element
|
|
8105
|
-
/** @type {HTMLAnchorElement | null} */
|
|
8106
|
-
const sidenavTItle = document.querySelector(".side-navigation a, .sidenav");
|
|
8107
|
-
|
|
8108
|
-
if (sidenavTItle) {
|
|
8109
|
-
// get text for the button for first side nav element
|
|
8110
|
-
let btnText = sidenavTItle.innerText;
|
|
8111
|
-
const btnTextSpan = sidenavTItle.querySelector("span")?.innerText || ""; // removing the sr-only span and it's content
|
|
8112
|
-
btnText = btnText.replace(btnTextSpan, "").trim();
|
|
8113
|
-
// create button container
|
|
8114
|
-
const sidenavMobile = document.createElement("aside");
|
|
8115
|
-
sidenavMobile.className = "sidenav-mobile-btn";
|
|
8116
|
-
const sidenavMobileCont = document.createElement("div");
|
|
8117
|
-
sidenavMobileCont.className = "container";
|
|
8118
|
-
sidenavMobile.append(sidenavMobileCont);
|
|
8119
|
-
// create button
|
|
8120
|
-
sidenavToggleBtn = document.createElement("button");
|
|
8121
|
-
sidenavToggleBtn.type = "button";
|
|
8122
|
-
sidenavToggleBtn.className = "sidenav-toggle";
|
|
8123
|
-
sidenavToggleBtn.ariaExpanded = "false";
|
|
8124
|
-
sidenavToggleBtn.setAttribute("aria-controls", "side-navigation");
|
|
8125
|
-
sidenavToggleBtn.innerText = btnText;
|
|
8126
|
-
// create icon
|
|
8127
|
-
const arrowIcon = document.createElement("span");
|
|
8128
|
-
arrowIcon.ariaHidden = "true";
|
|
8129
|
-
arrowIcon.className = "ca-gov-icon-caret-down";
|
|
8130
|
-
sidenavToggleBtn.append(arrowIcon);
|
|
8131
|
-
// append button into the header
|
|
8132
|
-
sidenavMobileCont.append(sidenavToggleBtn);
|
|
8133
|
-
siteHeader.after(sidenavMobile);
|
|
8134
|
-
// add click event
|
|
8135
|
-
sidenavToggleBtn.addEventListener("click", toggleSideNav);
|
|
8136
|
-
}
|
|
8137
|
-
};
|
|
8138
|
-
|
|
8139
|
-
const createmobileSideNavDiv = () => {
|
|
8140
|
-
mobileSideNavDiv = document.createElement("aside");
|
|
8141
|
-
mobileSideNavDiv.className = "mobile-sidenav";
|
|
8142
|
-
mobileSideNavCont = document.createElement("div");
|
|
8143
|
-
mobileSideNavCont.className = "container";
|
|
8144
|
-
mobileSideNavDiv.append(mobileSideNavCont);
|
|
8145
|
-
siteHeader.after(mobileSideNavDiv);
|
|
8146
|
-
};
|
|
8147
|
-
|
|
8148
|
-
// MOBILE Side nav
|
|
8149
|
-
const moveSideNavToHeader = () => {
|
|
8150
|
-
if (mobileSideNavCont) {
|
|
8151
|
-
mobileSideNavCont.append(sidenavigation);
|
|
8152
|
-
}
|
|
8153
|
-
|
|
8154
|
-
sidenavigation.ariaHidden = "true";
|
|
8155
|
-
allSidenavLinks?.forEach(el => {
|
|
8156
|
-
el.tabIndex = -1;
|
|
8157
|
-
});
|
|
8158
|
-
};
|
|
8159
|
-
|
|
8160
|
-
// DESKTOP Side nav
|
|
8161
|
-
const moveSideNavToMainContent = () => {
|
|
8162
|
-
if (sidenavigation === mainContentSideNavCont) return; //Prevents an error if sidenav is not set up correctly
|
|
8163
|
-
|
|
8164
|
-
mainContentSideNavCont?.append(sidenavigation);
|
|
8165
|
-
sidenavigation.removeAttribute("aria-hidden");
|
|
8166
|
-
allSidenavLinks?.forEach(el => {
|
|
8167
|
-
el.removeAttribute("tabindex");
|
|
8168
|
-
});
|
|
8169
|
-
};
|
|
8170
|
-
|
|
8171
|
-
// Mobile Side Nav Button click function
|
|
8172
|
-
const toggleSideNav = () => {
|
|
8173
|
-
mobileSideNavDiv.classList.toggle("visible");
|
|
8174
|
-
// Open
|
|
8175
|
-
if (mobileSideNavDiv.classList.contains("visible")) {
|
|
8176
|
-
sidenavigation.removeAttribute("aria-hidden");
|
|
8177
|
-
sidenavToggleBtn.ariaExpanded = "true";
|
|
8178
|
-
allSidenavLinks?.forEach(el => {
|
|
8179
|
-
el.removeAttribute("tabindex");
|
|
8180
|
-
});
|
|
8181
|
-
|
|
8182
|
-
// Closed
|
|
8183
|
-
} else {
|
|
8184
|
-
sidenavToggleBtn.ariaExpanded = "false";
|
|
8185
|
-
sidenavigation.ariaHidden = "true";
|
|
8186
|
-
allSidenavLinks?.forEach(el => {
|
|
8187
|
-
el.tabIndex = -1;
|
|
8188
|
-
});
|
|
8189
|
-
}
|
|
8190
|
-
};
|
|
8191
8090
|
|
|
8192
8091
|
/**
|
|
8193
8092
|
* Set active class on nav-heading links
|
|
@@ -8239,26 +8138,8 @@ window.addEventListener("load", () => {
|
|
|
8239
8138
|
};
|
|
8240
8139
|
|
|
8241
8140
|
// ONLOAD
|
|
8242
|
-
addActiveClass();
|
|
8243
|
-
createmobileSideNavDiv();
|
|
8244
|
-
createMobileSideNavButton();
|
|
8245
|
-
|
|
8246
|
-
if (mobileControlsDisplay == "block") {
|
|
8247
|
-
moveSideNavToHeader();
|
|
8248
|
-
}
|
|
8249
|
-
// on resize
|
|
8250
|
-
window.addEventListener("resize", () => {
|
|
8251
|
-
mobileControlsDisplay = getComputedStyle(mobileCntls).display; // clear the timeout
|
|
8252
|
-
|
|
8253
|
-
window.clearTimeout(timeout); // start timing for event "completion"
|
|
8254
|
-
timeout = window.setTimeout(sidenavOverflow, delay); // if mobile
|
|
8255
|
-
if (mobileControlsDisplay == "block") {
|
|
8256
|
-
moveSideNavToHeader(); // if desctop
|
|
8257
|
-
} else {
|
|
8258
|
-
moveSideNavToMainContent();
|
|
8259
|
-
}
|
|
8260
|
-
});
|
|
8261
8141
|
sidenavOverflow();
|
|
8142
|
+
addActiveClass();
|
|
8262
8143
|
});
|
|
8263
8144
|
|
|
8264
8145
|
//@ts-check
|