@uqds/header 1.1.0 → 1.1.2-alpha.0

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/js/uqds.js CHANGED
@@ -1,6 +1,4 @@
1
- "use strict";
2
-
3
- var uq = function (exports) {
1
+ var uq = (function (exports) {
4
2
  'use strict';
5
3
 
6
4
  /**
@@ -70,6 +68,9 @@ var uq = function (exports) {
70
68
  }, 250);
71
69
  }
72
70
  }
71
+
73
72
  exports.header = NewHeader;
73
+
74
74
  return exports;
75
- }({});
75
+
76
+ })({});
@@ -1 +1 @@
1
- "use strict";var uq=function(e){return e.header=class{constructor(e){this.init(e)}init(e){this.menuToggle=e.querySelector(".nav-primary__menu-toggle"),this.searchToggle=e.querySelector(".nav-primary__search-toggle"),this.searchLabel=e.querySelector(".search-toggle__label"),this.searchBlock=e.querySelector(".uq-header__search"),this.searchInput=e.querySelector(".uq-header__search-query-input"),this.menuToggle.addEventListener("click",()=>{document.body.classList.toggle("no-scroll"),this.menuToggle.classList.toggle("nav-primary__menu-toggle--is-open"),this.searchToggle.classList.remove("nav-primary__search-toggle--is-open"),this.searchBlock.classList.remove("uq-header__search--is-open"),this.searchLabel.innerHTML="Search"}),this.searchToggle.addEventListener("click",e=>{document.body.classList.remove("no-scroll"),this.searchToggle.classList.toggle("nav-primary__search-toggle--is-open"),this.searchBlock.classList.toggle("uq-header__search--is-open"),this.menuToggle.classList.remove("nav-primary__menu-toggle--is-open"),this.searchBlock.classList.contains("uq-header__search--is-open")?this.searchInput.focus():(this.searchInput.blur(),this.searchToggle.blur()),"Search"===this.searchLabel.innerHTML?this.searchLabel.innerHTML="Close":this.searchLabel.innerHTML="Search",e.preventDefault()}),document.querySelectorAll(".uq-header__nav-primary-item").forEach(e=>{e.addEventListener("mouseenter",this.handleToggle),e.addEventListener("mouseleave",this.handleToggle)})}handleToggle(e){let s=e.target;(s="LI"!==s.tagName?s.parentElement:s).eventType=e.type,window.setTimeout(function(){("mouseenter"===e.type||"mouseleave"===e.type)&&window.matchMedia("(max-width: 1024px)").matches||("mouseenter"===s.eventType?s.classList.add("uq-header__nav-primary-item--is-open"):s.classList.remove("uq-header__nav-primary-item--is-open"))},250)}},e}({});
1
+ var uq=function(e){"use strict";return e.header=class{constructor(e){this.init(e)}init(e){this.menuToggle=e.querySelector(".nav-primary__menu-toggle"),this.searchToggle=e.querySelector(".nav-primary__search-toggle"),this.searchLabel=e.querySelector(".search-toggle__label"),this.searchBlock=e.querySelector(".uq-header__search"),this.searchInput=e.querySelector(".uq-header__search-query-input"),this.menuToggle.addEventListener("click",()=>{document.body.classList.toggle("no-scroll"),this.menuToggle.classList.toggle("nav-primary__menu-toggle--is-open"),this.searchToggle.classList.remove("nav-primary__search-toggle--is-open"),this.searchBlock.classList.remove("uq-header__search--is-open"),this.searchLabel.innerHTML="Search"}),this.searchToggle.addEventListener("click",e=>{document.body.classList.remove("no-scroll"),this.searchToggle.classList.toggle("nav-primary__search-toggle--is-open"),this.searchBlock.classList.toggle("uq-header__search--is-open"),this.menuToggle.classList.remove("nav-primary__menu-toggle--is-open"),this.searchBlock.classList.contains("uq-header__search--is-open")?this.searchInput.focus():(this.searchInput.blur(),this.searchToggle.blur()),"Search"===this.searchLabel.innerHTML?this.searchLabel.innerHTML="Close":this.searchLabel.innerHTML="Search",e.preventDefault()}),document.querySelectorAll(".uq-header__nav-primary-item").forEach(e=>{e.addEventListener("mouseenter",this.handleToggle),e.addEventListener("mouseleave",this.handleToggle)})}handleToggle(e){let s=e.target;(s="LI"!==s.tagName?s.parentElement:s).eventType=e.type,window.setTimeout(function(){("mouseenter"===e.type||"mouseleave"===e.type)&&window.matchMedia("(max-width: 1024px)").matches||("mouseenter"===s.eventType?s.classList.add("uq-header__nav-primary-item--is-open"):s.classList.remove("uq-header__nav-primary-item--is-open"))},250)}},e}({});
@@ -0,0 +1,69 @@
1
+ /**
2
+ * NewHeader module
3
+ * @file Handles interaction behaviour for the Header. Does not output any
4
+ * HTML elements.
5
+ * TODO: make this class configurable
6
+ */
7
+ class NewHeader {
8
+ constructor(el) {
9
+ this.init(el);
10
+ }
11
+ init(el) {
12
+ this.menuToggle = el.querySelector(".nav-primary__menu-toggle");
13
+ this.searchToggle = el.querySelector(".nav-primary__search-toggle");
14
+ this.searchLabel = el.querySelector(".search-toggle__label");
15
+ this.searchBlock = el.querySelector(".uq-header__search");
16
+ this.searchInput = el.querySelector(".uq-header__search-query-input");
17
+ this.menuToggle.addEventListener("click", () => {
18
+ document.body.classList.toggle("no-scroll");
19
+ this.menuToggle.classList.toggle("nav-primary__menu-toggle--is-open");
20
+ this.searchToggle.classList.remove("nav-primary__search-toggle--is-open");
21
+ this.searchBlock.classList.remove("uq-header__search--is-open");
22
+ this.searchLabel.innerHTML = "Search";
23
+ });
24
+ this.searchToggle.addEventListener("click", e => {
25
+ document.body.classList.remove("no-scroll");
26
+ this.searchToggle.classList.toggle("nav-primary__search-toggle--is-open");
27
+ this.searchBlock.classList.toggle("uq-header__search--is-open");
28
+ this.menuToggle.classList.remove("nav-primary__menu-toggle--is-open");
29
+ if (this.searchBlock.classList.contains("uq-header__search--is-open")) {
30
+ this.searchInput.focus();
31
+ } else {
32
+ this.searchInput.blur();
33
+ this.searchToggle.blur();
34
+ }
35
+ if (this.searchLabel.innerHTML === "Search") {
36
+ this.searchLabel.innerHTML = "Close";
37
+ } else {
38
+ this.searchLabel.innerHTML = "Search";
39
+ }
40
+ e.preventDefault();
41
+ });
42
+
43
+ // megamenu
44
+ const megaMenuItem = document.querySelectorAll(".uq-header__nav-primary-item");
45
+ megaMenuItem.forEach(item => {
46
+ item.addEventListener("mouseenter", this.handleToggle);
47
+ item.addEventListener("mouseleave", this.handleToggle);
48
+ });
49
+ }
50
+ handleToggle(event) {
51
+ let menuItem = event.target;
52
+ if (menuItem.tagName !== "LI") {
53
+ menuItem = menuItem.parentElement;
54
+ }
55
+ menuItem.eventType = event.type;
56
+ window.setTimeout(function () {
57
+ if ((event.type === "mouseenter" || event.type === "mouseleave") && window.matchMedia("(max-width: 1024px)").matches) {
58
+ return;
59
+ }
60
+ if (menuItem.eventType === "mouseenter") {
61
+ menuItem.classList.add("uq-header__nav-primary-item--is-open");
62
+ } else {
63
+ menuItem.classList.remove("uq-header__nav-primary-item--is-open");
64
+ }
65
+ }, 250);
66
+ }
67
+ }
68
+
69
+ export { NewHeader as header };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uqds/header",
3
- "version": "1.1.0",
3
+ "version": "1.1.2-alpha.0",
4
4
  "description": "The POC UQ Header component package",
5
5
  "keywords": [
6
6
  "uqds",
@@ -37,13 +37,13 @@
37
37
  "url": "https://github.com/uq-its-ss/design-system/issues"
38
38
  },
39
39
  "dependencies": {
40
- "@uqds/core": "^1.1.0",
41
- "@uqds/form": "^0.0.14-alpha.0",
42
- "@uqds/grid": "^0.0.14-alpha.0",
43
- "@uqds/icon": "^0.0.14-alpha.0"
40
+ "@uqds/core": "^1.1.2-alpha.0",
41
+ "@uqds/form": "^0.0.15-alpha.1",
42
+ "@uqds/grid": "^0.0.15-alpha.1",
43
+ "@uqds/icon": "^0.0.15-alpha.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "gulp": "^4.0.2"
47
47
  },
48
- "gitHead": "3f399bb23a696bdfae45d2b23b6749dfad3aaf2d"
48
+ "gitHead": "7bc2907aa0e1240b884da2cb260591deff3ab811"
49
49
  }