@appartmint/mint 0.13.4 → 0.14.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/css/mint.css +52 -8
- package/dist/css/mint.css.map +1 -1
- package/dist/css/mint.min.css +1 -1
- package/dist/css/mint.min.css.map +1 -1
- package/dist/js/imports/components/header.d.ts +6 -4
- package/dist/js/imports/components/header.d.ts.map +1 -1
- package/dist/js/imports/util/selectors.d.ts +0 -24
- package/dist/js/imports/util/selectors.d.ts.map +1 -1
- package/dist/js/imports/util/settings.d.ts +4 -18
- package/dist/js/imports/util/settings.d.ts.map +1 -1
- package/dist/js/index.js +69 -110
- package/dist/js/index.js.map +1 -1
- package/dist/js/index.min.js +1 -1
- package/dist/js/index.min.js.map +1 -1
- package/dist/js/util.js +16 -260
- package/dist/js/util.js.map +1 -1
- package/dist/js/util.min.js +1 -1
- package/dist/js/util.min.js.map +1 -1
- package/package.json +1 -1
- package/src/scss/imports/components/_cards.scss +12 -1
- package/src/scss/imports/components/_embed.scss +12 -0
- package/src/scss/imports/components/_header.scss +59 -13
- package/src/scss/imports/global/_aspect.scss +1 -1
- package/src/scss/imports/global/_texture.scss +27 -2
- package/src/scss/imports/util/_vars.scss +8 -0
- package/src/ts/imports/components/header.ts +60 -35
- package/src/ts/imports/util/selectors.ts +0 -45
- package/src/ts/imports/util/settings.ts +13 -47
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare class mintHeader {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Navbar settings
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
settings: {
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
};
|
|
10
12
|
/**
|
|
11
13
|
* Frequently-referenced elements
|
|
12
14
|
*/
|
|
@@ -28,7 +30,7 @@ export declare class mintHeader {
|
|
|
28
30
|
*/
|
|
29
31
|
attachEvents(): void;
|
|
30
32
|
/**
|
|
31
|
-
* Adds classes that inform the styles
|
|
33
|
+
* Adds classes that inform the styles based on settings
|
|
32
34
|
*/
|
|
33
35
|
addClasses(): void;
|
|
34
36
|
/**
|
|
@@ -80,7 +82,7 @@ export declare class mintHeader {
|
|
|
80
82
|
/**
|
|
81
83
|
* Closes the mobile menu when the window resizes
|
|
82
84
|
*/
|
|
83
|
-
eHandleResize(
|
|
85
|
+
eHandleResize(): void;
|
|
84
86
|
/**
|
|
85
87
|
* Closes all submenus when the page is scrolled
|
|
86
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/components/header.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,qBAAa,UAAU;IACnB;;OAEG;
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/components/header.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,qBAAa,UAAU;IACnB;;OAEG;IACF,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAG7B;IAEF;;OAEG;IACH,EAAE,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAA;KAAC,CAAM;IAE7C;;OAEG;gBACU,QAAQ,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC;IAQ5C;;OAEG;IACH,cAAc,IAAM,IAAI;IAQxB;;OAEG;IACH,YAAY,IAAM,IAAI;IAoBtB;;OAEG;IACH,UAAU,IAAM,IAAI;IAYpB;;;OAGG;IACH,aAAa,CAAE,IAAI,GAAE,OAAe,GAAI,IAAI;IAsD5C;;OAEG;IACH,gBAAgB,IAAM,IAAI;IAI1B;;;;OAIG;IACH,OAAO,CAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,EAC3B,IAAI,GAAE,OAAe,GAAI,IAAI;IActC;;;OAGG;IACH,UAAU,CAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAI,IAAI;IAI/C;;;OAGG;IACH,aAAa,CAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAI,IAAI;IAWlD;;;OAGG;IACH,iBAAiB,CAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAI,IAAI;IAUtD;;OAEG;IACH,aAAa,IAAM,IAAI;IAOvB;;OAEG;IACH,eAAe,IAAM,IAAI;IAezB;;OAEG;IACH,gBAAgB,IAAM,IAAI;IAc1B;;OAEG;IACH,iBAAiB,IAAM,IAAI;IAQ3B;;OAEG;IACH,aAAa,IAAM,IAAI;IAoBvB;;OAEG;IACH,aAAa,IAAM,IAAI;IAIvB;;;OAGG;IACH,QAAQ,CAAE,CAAC,EAAE,aAAa,GAAI,IAAI;IASlC;;;OAGG;IACH,qBAAqB,CAAE,CAAC,EAAE,aAAa,GAAI,IAAI;IAyB/C;;;OAGG;IACH,mBAAmB,CAAE,CAAC,EAAE,aAAa,GAAI,IAAI;IAiB7C;;;OAGG;IACH,eAAe,CAAE,CAAC,EAAE,aAAa,GAAI,IAAI;IAezC;;OAEG;IACH,iBAAiB,IAAM,IAAI;IAI3B;;;OAGG;IACH,WAAW,CAAE,CAAC,EAAE,UAAU,GAAI,IAAI;IAMlC;;OAEG;IACH,cAAc,IAAM,IAAI;CAK3B;AACD,eAAe,UAAU,CAAC"}
|
|
@@ -55,22 +55,6 @@ export declare abstract class mintSelectors {
|
|
|
55
55
|
* CSS-selector for submenus
|
|
56
56
|
*/
|
|
57
57
|
static subMenu: string;
|
|
58
|
-
/**
|
|
59
|
-
* Frequently-used ids
|
|
60
|
-
*/
|
|
61
|
-
static ids: {
|
|
62
|
-
[key: string]: string | {
|
|
63
|
-
[key: string]: string;
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Classes
|
|
68
|
-
*/
|
|
69
|
-
static classes: {
|
|
70
|
-
[key: string]: string | {
|
|
71
|
-
[key: string]: string;
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
58
|
/**
|
|
75
59
|
* Adds the library prefix to the beginning of the provided string
|
|
76
60
|
* @param base - the string to be prefixed
|
|
@@ -119,14 +103,6 @@ export declare abstract class mintSelectors {
|
|
|
119
103
|
* @returns - the generated CSS selector
|
|
120
104
|
*/
|
|
121
105
|
static expanded(bool?: boolean | null): string;
|
|
122
|
-
/**
|
|
123
|
-
* Returns the id of the requested element
|
|
124
|
-
*/
|
|
125
|
-
static getId(id?: string): string;
|
|
126
|
-
/**
|
|
127
|
-
* Returns the class of the requested element
|
|
128
|
-
*/
|
|
129
|
-
static getClass(className?: string, classGroup?: string): string;
|
|
130
106
|
/**
|
|
131
107
|
* Returns a NodeList of HTMLElements within the given element that are focusable
|
|
132
108
|
* @param el - the element whose focusable children will be returned
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/util/selectors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,8BAAsB,aAAa;IAC/B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAU;IAE5B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAkB;IAEpC;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAgB;IAEvC;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAqB;IAE/C;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAqB;IAE/C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,CAAY;IAElC;;OAEG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,CAAkB;IAE9C;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,CAAU;IAE9B;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAqB;IAE/C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAA6C;IAEpE;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,CAOyC;IAEjE;;OAEG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,CAA+B;IAE5D;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,CAA8C;IAEpE
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/util/selectors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,8BAAsB,aAAa;IAC/B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAU;IAE5B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAkB;IAEpC;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAgB;IAEvC;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAqB;IAE/C;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAqB;IAE/C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,CAAY;IAElC;;OAEG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,CAAkB;IAE9C;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,CAAU;IAE9B;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAqB;IAE/C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAA6C;IAEpE;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,CAOyC;IAEjE;;OAEG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,CAA+B;IAE5D;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,CAA8C;IAEpE;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,IAAI,EAAE,MAAM,GAAI,MAAM;IAKrC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAE,IAAI,EAAE,MAAM,GAAI,MAAM;IAIxC;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,IAAI,EAAE,MAAM,GAAI,MAAM;IAIrC;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAE,IAAI,EAAE,MAAM,GAAI,MAAM;IAIlC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAE,IAAI,EAAE,MAAM,GAAI,MAAM;IAIpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAE,IAAI,EAAE,MAAM,GAAI,MAAM;IAIjC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,GAAI,MAAM;IAI7C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,GAAI,MAAM;IAIhD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAE,EAAE,CAAC,EAAE,WAAW,GAAI,WAAW,EAAE;IAUvD;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAE,EAAE,EAAE,WAAW,GAAI,OAAO;CAWjD;AACD,eAAe,aAAa,CAAC"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Imports
|
|
3
|
-
*/
|
|
4
|
-
import { mintSide } from '../enum';
|
|
5
1
|
/**
|
|
6
2
|
* Settings management
|
|
7
3
|
* @public
|
|
@@ -22,13 +18,11 @@ export declare abstract class mintSettings {
|
|
|
22
18
|
[key: string]: number;
|
|
23
19
|
};
|
|
24
20
|
/**
|
|
25
|
-
*
|
|
21
|
+
* Breakpoint variables
|
|
26
22
|
*/
|
|
27
|
-
static
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*/
|
|
31
|
-
static fixed?: boolean;
|
|
23
|
+
static break: {
|
|
24
|
+
[key: string]: number;
|
|
25
|
+
};
|
|
32
26
|
/**
|
|
33
27
|
* Update the provided settings variables
|
|
34
28
|
* @param settings - Object of settings variables to update
|
|
@@ -40,14 +34,6 @@ export declare abstract class mintSettings {
|
|
|
40
34
|
* Updates the delay variables based on `this.delayBase` and `this.delayStep`
|
|
41
35
|
*/
|
|
42
36
|
protected static setDelay(): void;
|
|
43
|
-
/**
|
|
44
|
-
* Updates the direction the navbar enters from
|
|
45
|
-
*/
|
|
46
|
-
protected static setFrom(from: mintSide): void;
|
|
47
|
-
/**
|
|
48
|
-
* Updates whether or not the navbar is fixed
|
|
49
|
-
*/
|
|
50
|
-
protected static setFixed(fixed: boolean): void;
|
|
51
37
|
}
|
|
52
38
|
export default mintSettings;
|
|
53
39
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/util/settings.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/util/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,8BAAsB,YAAY;IAC9B;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,CAAK;IAE7B;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,CAAO;IAE/B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAOnC;IAEF;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAOnC;IAEF;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAE,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAAI,IAAI;IA2BlD;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAM,IAAI;CAUtC;AAED,eAAe,YAAY,CAAC"}
|
package/dist/js/index.js
CHANGED
|
@@ -46,22 +46,20 @@ class mintHeader {
|
|
|
46
46
|
*/
|
|
47
47
|
constructor(settings) {
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* Navbar settings
|
|
50
50
|
*/
|
|
51
|
-
this.
|
|
51
|
+
this.settings = {
|
|
52
|
+
from: enum_1.mintSide.Top,
|
|
53
|
+
fixed: true
|
|
54
|
+
};
|
|
52
55
|
/**
|
|
53
56
|
* Frequently-referenced elements
|
|
54
57
|
*/
|
|
55
58
|
this.el = {};
|
|
56
|
-
|
|
57
|
-
from: enum_1.mintSide.Top,
|
|
58
|
-
fixed: true
|
|
59
|
-
};
|
|
60
|
-
settings_1.default.set(Object.assign(Object.assign({}, defaultSettings), settings));
|
|
59
|
+
this.settings = Object.assign(Object.assign({}, this.settings), settings);
|
|
61
60
|
this.attachElements();
|
|
62
61
|
this.attachEvents();
|
|
63
62
|
this.addClasses();
|
|
64
|
-
this.setMobileMenu();
|
|
65
63
|
}
|
|
66
64
|
/**
|
|
67
65
|
* Adds elements to {@link el | `this.el`}
|
|
@@ -70,16 +68,16 @@ class mintHeader {
|
|
|
70
68
|
var _a;
|
|
71
69
|
this.el.html = document.querySelector('html');
|
|
72
70
|
this.el.body = document.querySelector('body');
|
|
73
|
-
this.el.header = document.getElementById(
|
|
74
|
-
this.el.mobileButton = ((_a = this.el.header) === null || _a === void 0 ? void 0 : _a.querySelector(selectors_1.default.controls(
|
|
75
|
-
this.el.wrapper = document.getElementById(
|
|
71
|
+
this.el.header = document.getElementById('mint-header');
|
|
72
|
+
this.el.mobileButton = ((_a = this.el.header) === null || _a === void 0 ? void 0 : _a.querySelector(selectors_1.default.controls('mint-wrapper'))) || null;
|
|
73
|
+
this.el.wrapper = document.getElementById('mint-wrapper');
|
|
76
74
|
}
|
|
77
75
|
/**
|
|
78
76
|
* Adds events to the dom
|
|
79
77
|
*/
|
|
80
78
|
attachEvents() {
|
|
81
79
|
var _a, _b, _c, _d;
|
|
82
|
-
|
|
80
|
+
window.addEventListener('resize', util_1.default.throttleEvent(this.eHandleResize.bind(this), settings_1.default.delay.default));
|
|
83
81
|
window.addEventListener('scroll', util_1.default.throttleEvent(this.eHandleScroll.bind(this), settings_1.default.delay.default, {
|
|
84
82
|
trailing: false
|
|
85
83
|
}));
|
|
@@ -89,7 +87,7 @@ class mintHeader {
|
|
|
89
87
|
focusables === null || focusables === void 0 ? void 0 : focusables.forEach(focusable => {
|
|
90
88
|
focusable.addEventListener('keydown', util_1.default.throttleEvent(this.eHandleKeypress.bind(this)));
|
|
91
89
|
});
|
|
92
|
-
let menuButtons = (_b = this.el.
|
|
90
|
+
let menuButtons = (_b = this.el.wrapper) === null || _b === void 0 ? void 0 : _b.querySelectorAll(selectors_1.default.controls());
|
|
93
91
|
menuButtons === null || menuButtons === void 0 ? void 0 : menuButtons.forEach(menuButton => {
|
|
94
92
|
menuButton.addEventListener('click', util_1.default.throttleEvent(this.eToggleMenu.bind(this), settings_1.default.delay.slow, {
|
|
95
93
|
trailing: false
|
|
@@ -101,12 +99,17 @@ class mintHeader {
|
|
|
101
99
|
(_d = this.el.wrapper) === null || _d === void 0 ? void 0 : _d.addEventListener('transitionend', this.eTransitionEnd.bind(this));
|
|
102
100
|
}
|
|
103
101
|
/**
|
|
104
|
-
* Adds classes that inform the styles
|
|
102
|
+
* Adds classes that inform the styles based on settings
|
|
105
103
|
*/
|
|
106
104
|
addClasses() {
|
|
107
|
-
var _a;
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
var _a, _b, _c, _d, _e;
|
|
106
|
+
(_a = this.el.header) === null || _a === void 0 ? void 0 : _a.classList.remove('mint-top', 'mint-right', 'mint-bottom', 'mint-left');
|
|
107
|
+
(_b = this.el.header) === null || _b === void 0 ? void 0 : _b.classList.add(`mint-${enum_1.mintSide[(_c = this.settings.from) !== null && _c !== void 0 ? _c : 0].toLowerCase()}`);
|
|
108
|
+
if (this.settings.fixed) {
|
|
109
|
+
(_d = this.el.body) === null || _d === void 0 ? void 0 : _d.classList.add('mint-fixed');
|
|
110
|
+
}
|
|
111
|
+
if (this.settings.tray) {
|
|
112
|
+
(_e = this.el.header) === null || _e === void 0 ? void 0 : _e.classList.add('mint-tray');
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
115
|
/**
|
|
@@ -124,7 +127,7 @@ class mintHeader {
|
|
|
124
127
|
(_a = this.el.mobileButton) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-label', ariaLabel);
|
|
125
128
|
}, settings_1.default.delay.fast);
|
|
126
129
|
if (open) {
|
|
127
|
-
if (
|
|
130
|
+
if (this.settings.fixed !== true) {
|
|
128
131
|
window.scroll({
|
|
129
132
|
top: 0,
|
|
130
133
|
left: 0,
|
|
@@ -133,15 +136,24 @@ class mintHeader {
|
|
|
133
136
|
}
|
|
134
137
|
setTimeout(() => {
|
|
135
138
|
if (this.el.html) {
|
|
136
|
-
|
|
139
|
+
let isMobile = util_1.default.windowWidth() <= settings_1.default.break.sm,
|
|
140
|
+
overflow = 'auto';
|
|
141
|
+
if (this.settings.tray) {
|
|
142
|
+
if (isMobile) {
|
|
143
|
+
overflow = 'hidden';
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
overflow = 'hidden';
|
|
147
|
+
}
|
|
148
|
+
this.el.html.style.overflow = overflow;
|
|
137
149
|
}
|
|
138
|
-
},
|
|
150
|
+
}, this.settings.from === enum_1.mintSide.Left ? settings_1.default.delay.default : settings_1.default.delay.instant);
|
|
139
151
|
if (this.el.wrapper) {
|
|
140
152
|
this.el.wrapper.style.display = 'flex';
|
|
141
153
|
}
|
|
142
154
|
requestAnimationFrame(() => {
|
|
143
155
|
var _a;
|
|
144
|
-
(_a = this.el.wrapper) === null || _a === void 0 ? void 0 : _a.classList.add(
|
|
156
|
+
(_a = this.el.wrapper) === null || _a === void 0 ? void 0 : _a.classList.add('mint-open');
|
|
145
157
|
});
|
|
146
158
|
} else {
|
|
147
159
|
if (this.el.html) {
|
|
@@ -149,7 +161,7 @@ class mintHeader {
|
|
|
149
161
|
}
|
|
150
162
|
requestAnimationFrame(() => {
|
|
151
163
|
var _a;
|
|
152
|
-
(_a = this.el.wrapper) === null || _a === void 0 ? void 0 : _a.classList.remove(
|
|
164
|
+
(_a = this.el.wrapper) === null || _a === void 0 ? void 0 : _a.classList.remove('mint-open');
|
|
153
165
|
});
|
|
154
166
|
this.closeAllMenus();
|
|
155
167
|
}
|
|
@@ -235,7 +247,7 @@ class mintHeader {
|
|
|
235
247
|
let activeButton = document.activeElement,
|
|
236
248
|
activeMenu = activeButton === null || activeButton === void 0 ? void 0 : activeButton.nextElementSibling,
|
|
237
249
|
showing = ((_a = activeButton === null || activeButton === void 0 ? void 0 : activeButton.getAttribute('aria-expanded')) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'true';
|
|
238
|
-
if ((activeButton === null || activeButton === void 0 ? void 0 : activeButton.getAttribute('aria-controls')) ===
|
|
250
|
+
if ((activeButton === null || activeButton === void 0 ? void 0 : activeButton.getAttribute('aria-controls')) === 'mint-wrapper') {
|
|
239
251
|
activeMenu = this.el.wrapper;
|
|
240
252
|
}
|
|
241
253
|
if ((activeButton === null || activeButton === void 0 ? void 0 : activeButton.getAttribute('aria-controls')) && activeMenu && !showing) {
|
|
@@ -274,12 +286,23 @@ class mintHeader {
|
|
|
274
286
|
/**
|
|
275
287
|
* Closes the mobile menu when the window resizes
|
|
276
288
|
*/
|
|
277
|
-
eHandleResize(
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
289
|
+
eHandleResize() {
|
|
290
|
+
var _a, _b;
|
|
291
|
+
let isOpen = ((_b = (_a = this.el.mobileButton) === null || _a === void 0 ? void 0 : _a.getAttribute('aria-expanded')) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'true',
|
|
292
|
+
isMobile = util_1.default.windowWidth() <= settings_1.default.break.sm,
|
|
293
|
+
overflow = 'auto';
|
|
294
|
+
if (isOpen) {
|
|
295
|
+
if (this.settings.tray) {
|
|
296
|
+
if (isMobile) {
|
|
297
|
+
overflow = 'hidden';
|
|
298
|
+
}
|
|
299
|
+
} else {
|
|
300
|
+
overflow = 'hidden';
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
if (this.el.html) {
|
|
304
|
+
this.el.html.style.overflow = overflow;
|
|
281
305
|
}
|
|
282
|
-
this.lastWidth = util_1.default.windowWidth();
|
|
283
306
|
}
|
|
284
307
|
/**
|
|
285
308
|
* Closes all submenus when the page is scrolled
|
|
@@ -310,7 +333,7 @@ class mintHeader {
|
|
|
310
333
|
subMenu = target === null || target === void 0 ? void 0 : target.closest('li');
|
|
311
334
|
switch (e.key.toLowerCase()) {
|
|
312
335
|
case 'escape':
|
|
313
|
-
if (subMenu === null || subMenu === void 0 ? void 0 : subMenu.classList.contains(
|
|
336
|
+
if (subMenu === null || subMenu === void 0 ? void 0 : subMenu.classList.contains('mint-open')) {
|
|
314
337
|
this.setMenu(subMenu);
|
|
315
338
|
} else {
|
|
316
339
|
this.setMobileMenu();
|
|
@@ -387,7 +410,7 @@ class mintHeader {
|
|
|
387
410
|
*/
|
|
388
411
|
eTransitionEnd() {
|
|
389
412
|
var _a;
|
|
390
|
-
if (((_a = this.el.wrapper) === null || _a === void 0 ? void 0 : _a.classList.contains(
|
|
413
|
+
if (((_a = this.el.wrapper) === null || _a === void 0 ? void 0 : _a.classList.contains('mint-open')) === false) {
|
|
391
414
|
this.el.wrapper.style.display = 'none';
|
|
392
415
|
}
|
|
393
416
|
}
|
|
@@ -1007,24 +1030,6 @@ class mintSelectors {
|
|
|
1007
1030
|
static expanded(bool) {
|
|
1008
1031
|
return typeof bool === 'boolean' ? `[aria-expanded="${bool}"]` : this.hasExpanded;
|
|
1009
1032
|
}
|
|
1010
|
-
/**
|
|
1011
|
-
* Returns the id of the requested element
|
|
1012
|
-
*/
|
|
1013
|
-
static getId(id) {
|
|
1014
|
-
var _b;
|
|
1015
|
-
return (_b = this.ids[id !== null && id !== void 0 ? id : -1]) !== null && _b !== void 0 ? _b : '';
|
|
1016
|
-
}
|
|
1017
|
-
/**
|
|
1018
|
-
* Returns the class of the requested element
|
|
1019
|
-
*/
|
|
1020
|
-
static getClass(className, classGroup) {
|
|
1021
|
-
var _b, _c;
|
|
1022
|
-
if (classGroup) {
|
|
1023
|
-
let group = this.classes[classGroup];
|
|
1024
|
-
return (_b = group[className !== null && className !== void 0 ? className : -1]) !== null && _b !== void 0 ? _b : '';
|
|
1025
|
-
}
|
|
1026
|
-
return (_c = this.classes[className !== null && className !== void 0 ? className : -1]) !== null && _c !== void 0 ? _c : '';
|
|
1027
|
-
}
|
|
1028
1033
|
/**
|
|
1029
1034
|
* Returns a NodeList of HTMLElements within the given element that are focusable
|
|
1030
1035
|
* @param el - the element whose focusable children will be returned
|
|
@@ -1118,31 +1123,6 @@ mintSelectors.subMenuButtons = `button${_a.hasControls}`;
|
|
|
1118
1123
|
* CSS-selector for submenus
|
|
1119
1124
|
*/
|
|
1120
1125
|
mintSelectors.subMenu = `${_a.subMenuButtons} + ul${_a.hasId}`;
|
|
1121
|
-
/**
|
|
1122
|
-
* Frequently-used ids
|
|
1123
|
-
*/
|
|
1124
|
-
mintSelectors.ids = {
|
|
1125
|
-
header: _a.prefix('header'),
|
|
1126
|
-
logo: _a.prefix('logo'),
|
|
1127
|
-
wrapper: _a.prefix('wrapper'),
|
|
1128
|
-
mainContent: _a.prefix('main-content')
|
|
1129
|
-
};
|
|
1130
|
-
/**
|
|
1131
|
-
* Classes
|
|
1132
|
-
*/
|
|
1133
|
-
mintSelectors.classes = {
|
|
1134
|
-
sides: {
|
|
1135
|
-
top: _a.prefix('top'),
|
|
1136
|
-
right: _a.prefix('right'),
|
|
1137
|
-
bottom: _a.prefix('bottom'),
|
|
1138
|
-
left: _a.prefix('left')
|
|
1139
|
-
},
|
|
1140
|
-
srOnly: _a.prefix('sr-only'),
|
|
1141
|
-
js: _a.prefix('js'),
|
|
1142
|
-
ready: _a.prefix('ready'),
|
|
1143
|
-
fixed: _a.prefix('fixed'),
|
|
1144
|
-
open: _a.prefix('open')
|
|
1145
|
-
};
|
|
1146
1126
|
exports["default"] = mintSelectors;
|
|
1147
1127
|
|
|
1148
1128
|
/***/ }),
|
|
@@ -1151,7 +1131,7 @@ exports["default"] = mintSelectors;
|
|
|
1151
1131
|
/*!*****************************************!*\
|
|
1152
1132
|
!*** ./src/ts/imports/util/settings.ts ***!
|
|
1153
1133
|
\*****************************************/
|
|
1154
|
-
/***/ ((__unused_webpack_module, exports
|
|
1134
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
1155
1135
|
|
|
1156
1136
|
|
|
1157
1137
|
|
|
@@ -1160,11 +1140,6 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
1160
1140
|
value: true
|
|
1161
1141
|
}));
|
|
1162
1142
|
exports.mintSettings = void 0;
|
|
1163
|
-
/**
|
|
1164
|
-
* Imports
|
|
1165
|
-
*/
|
|
1166
|
-
const enum_1 = __webpack_require__(/*! ../enum */ "./src/ts/imports/enum.ts");
|
|
1167
|
-
const selectors_1 = __webpack_require__(/*! ./selectors */ "./src/ts/imports/util/selectors.ts");
|
|
1168
1143
|
/**
|
|
1169
1144
|
* Settings management
|
|
1170
1145
|
* @public
|
|
@@ -1192,11 +1167,10 @@ class mintSettings {
|
|
|
1192
1167
|
this.delay = Object.assign(Object.assign({}, this.delay), settings.delay);
|
|
1193
1168
|
}
|
|
1194
1169
|
}
|
|
1195
|
-
if (
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
this.setFixed(settings.fixed);
|
|
1170
|
+
if (settings.break && Object.keys(settings.break).length) {
|
|
1171
|
+
if (Object.values(settings.break).reduce((prev, next) => prev && typeof next === 'number', true)) {
|
|
1172
|
+
this.break = Object.assign(Object.assign({}, this.break), settings.break);
|
|
1173
|
+
}
|
|
1200
1174
|
}
|
|
1201
1175
|
}
|
|
1202
1176
|
/**
|
|
@@ -1212,32 +1186,6 @@ class mintSettings {
|
|
|
1212
1186
|
slow: this.delayBase + this.delayStep * 5
|
|
1213
1187
|
};
|
|
1214
1188
|
}
|
|
1215
|
-
/**
|
|
1216
|
-
* Updates the direction the navbar enters from
|
|
1217
|
-
*/
|
|
1218
|
-
static setFrom(from) {
|
|
1219
|
-
if (this.from !== from) {
|
|
1220
|
-
this.from = from;
|
|
1221
|
-
let header = document.getElementById(selectors_1.mintSelectors.getId('header'));
|
|
1222
|
-
header === null || header === void 0 ? void 0 : header.classList.remove(...Object.values(selectors_1.mintSelectors.classes.sides));
|
|
1223
|
-
header === null || header === void 0 ? void 0 : header.classList.add(selectors_1.mintSelectors.getClass(enum_1.mintSide[this.from].toLowerCase(), 'sides'));
|
|
1224
|
-
}
|
|
1225
|
-
}
|
|
1226
|
-
/**
|
|
1227
|
-
* Updates whether or not the navbar is fixed
|
|
1228
|
-
*/
|
|
1229
|
-
static setFixed(fixed) {
|
|
1230
|
-
if (this.fixed !== fixed) {
|
|
1231
|
-
this.fixed = fixed;
|
|
1232
|
-
let header = document.getElementById(selectors_1.mintSelectors.getId('header')),
|
|
1233
|
-
fixedClass = selectors_1.mintSelectors.getClass('fixed');
|
|
1234
|
-
if (this.fixed) {
|
|
1235
|
-
header === null || header === void 0 ? void 0 : header.classList.add(fixedClass);
|
|
1236
|
-
} else {
|
|
1237
|
-
header === null || header === void 0 ? void 0 : header.classList.remove(fixedClass);
|
|
1238
|
-
}
|
|
1239
|
-
}
|
|
1240
|
-
}
|
|
1241
1189
|
}
|
|
1242
1190
|
exports.mintSettings = mintSettings;
|
|
1243
1191
|
_a = mintSettings;
|
|
@@ -1260,6 +1208,17 @@ mintSettings.delay = {
|
|
|
1260
1208
|
medSlow: _a.delayBase + _a.delayStep * 4,
|
|
1261
1209
|
slow: _a.delayBase + _a.delayStep * 5
|
|
1262
1210
|
};
|
|
1211
|
+
/**
|
|
1212
|
+
* Breakpoint variables
|
|
1213
|
+
*/
|
|
1214
|
+
mintSettings.break = {
|
|
1215
|
+
z: 0,
|
|
1216
|
+
xs: 480,
|
|
1217
|
+
sm: 768,
|
|
1218
|
+
md: 1024,
|
|
1219
|
+
lg: 1200,
|
|
1220
|
+
xl: 1440
|
|
1221
|
+
};
|
|
1263
1222
|
;
|
|
1264
1223
|
exports["default"] = mintSettings;
|
|
1265
1224
|
|