@eleventheye/asui 2.12.7 → 2.12.8
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/README.md +3 -0
- package/dist/asnavbar/ASNavBar.d.ts.map +1 -1
- package/dist/asnavbar/ASNavBar.js +15 -20
- package/dist/asutils/screenSizeHelpers.d.ts +1 -1
- package/dist/asutils/screenSizeHelpers.d.ts.map +1 -1
- package/dist/asutils/screenSizeHelpers.js +1 -0
- package/package.json +1 -1
- package/public/icons.png +0 -0
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ASNavBar.d.ts","sourceRoot":"","sources":["../../src/asnavbar/ASNavBar.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ASNavBar.d.ts","sourceRoot":"","sources":["../../src/asnavbar/ASNavBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,eAAO,MAAM,yBAAyB,EAAE,oBAYvC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,oBAYzC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,oBAUzC,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAmFrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -7,7 +7,6 @@ const react_1 = require("react");
|
|
|
7
7
|
const uuid_1 = require("uuid");
|
|
8
8
|
const ASUI_types_1 = require("../apptypes/ASUI.types");
|
|
9
9
|
const astheme_1 = tslib_1.__importDefault(require("../astheme"));
|
|
10
|
-
const screenSizeHelpers_1 = require("../asutils/screenSizeHelpers");
|
|
11
10
|
const desktop_1 = tslib_1.__importDefault(require("./desktop"));
|
|
12
11
|
const mobile_1 = tslib_1.__importDefault(require("./mobile"));
|
|
13
12
|
const styles_1 = require("./styles");
|
|
@@ -49,16 +48,12 @@ exports.defaultNavBarMWStyleOptions = {
|
|
|
49
48
|
$padding: '0',
|
|
50
49
|
};
|
|
51
50
|
const ASNavBar = ({ className = '', navItems = [], selectedItemId = '', onItemSelected = () => undefined, theme = astheme_1.default, size = ASUI_types_1.ComponentSize.Medium, styleOptions = { ...exports.defaultNavBarStyleOptions }, dwStyleOptions = { ...exports.defaultNavBarDWStyleOptions }, mwStyleOptions = { ...exports.defaultNavBarMWStyleOptions }, }) => {
|
|
52
|
-
const
|
|
53
|
-
const [
|
|
51
|
+
const navBarRef = (0, react_1.useRef)(null);
|
|
52
|
+
const [uniqueID] = (0, react_1.useState)(() => (0, uuid_1.v4)());
|
|
53
|
+
const [navBarComponentId] = (0, react_1.useState)(`asnavbar-${uniqueID}`);
|
|
54
54
|
const [isMobile, setIsMobile] = (0, react_1.useState)(false);
|
|
55
55
|
const [selectedId, setSelectedId] = (0, react_1.useState)(selectedItemId);
|
|
56
56
|
const { $mobileBreakpoint = 768, $disableTransitionsBetweenDisplayModes, $displayModeOverride } = styleOptions;
|
|
57
|
-
(0, react_1.useEffect)(() => {
|
|
58
|
-
const screenSize = (0, screenSizeHelpers_1.getScreenSize)();
|
|
59
|
-
if (!screenSize)
|
|
60
|
-
console.info(`Screen size detected: ${screenSize}`);
|
|
61
|
-
}, []);
|
|
62
57
|
(0, react_1.useEffect)(() => {
|
|
63
58
|
setSelectedId(selectedItemId);
|
|
64
59
|
}, [selectedItemId]);
|
|
@@ -71,23 +66,23 @@ const ASNavBar = ({ className = '', navItems = [], selectedItemId = '', onItemSe
|
|
|
71
66
|
setIsMobile(window.innerWidth < $mobileBreakpoint);
|
|
72
67
|
return;
|
|
73
68
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
69
|
+
const observer = new ResizeObserver((entries) => {
|
|
70
|
+
for (const entry of entries) {
|
|
71
|
+
const width = entry.contentRect.width;
|
|
72
|
+
setIsMobile(width < $mobileBreakpoint);
|
|
73
|
+
}
|
|
78
74
|
});
|
|
79
|
-
|
|
75
|
+
if (navBarRef.current) {
|
|
76
|
+
observer.observe(navBarRef.current);
|
|
77
|
+
}
|
|
80
78
|
return () => {
|
|
81
|
-
|
|
82
|
-
const width = window.innerWidth;
|
|
83
|
-
setIsMobile(width < $mobileBreakpoint);
|
|
84
|
-
});
|
|
79
|
+
observer.disconnect();
|
|
85
80
|
};
|
|
86
81
|
}, [$disableTransitionsBetweenDisplayModes, $mobileBreakpoint, $displayModeOverride]);
|
|
87
|
-
const onItemSelectedHandler = (itemId) => {
|
|
82
|
+
const onItemSelectedHandler = (0, react_1.useCallback)((itemId) => {
|
|
88
83
|
setSelectedId(itemId);
|
|
89
84
|
onItemSelected(itemId);
|
|
90
|
-
};
|
|
91
|
-
return ((0, jsx_runtime_1.jsx)(styles_1.ASNavBarStyled, { id: navBarComponentId, theme: theme, ...styleOptions, children: isMobile ? ((0, jsx_runtime_1.jsx)(mobile_1.default, { id: `asnavbar-mw-${
|
|
85
|
+
}, [onItemSelected]);
|
|
86
|
+
return ((0, jsx_runtime_1.jsx)(styles_1.ASNavBarStyled, { ref: navBarRef, id: navBarComponentId, theme: theme, ...exports.defaultNavBarStyleOptions, ...styleOptions, children: isMobile ? ((0, jsx_runtime_1.jsx)(mobile_1.default, { id: `asnavbar-mw-${uniqueID}`, className: className, navItems: navItems, selectedItemId: selectedId, onItemSelected: onItemSelectedHandler, theme: theme, size: size, styleOptions: { ...exports.defaultNavBarMWStyleOptions, ...mwStyleOptions } })) : ((0, jsx_runtime_1.jsx)(desktop_1.default, { id: `asnavbar-dw-${uniqueID}`, className: className, navItems: navItems, selectedItemId: selectedId, onItemSelected: onItemSelectedHandler, theme: theme, size: size, styleOptions: { ...exports.defaultNavBarDWStyleOptions, ...dwStyleOptions } })) }));
|
|
92
87
|
};
|
|
93
88
|
exports.default = ASNavBar;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const getScreenSize: () => "sml" | "med" | "lrg" | "xl" | "xxl" |
|
|
1
|
+
export declare const getScreenSize: () => "sml" | "med" | "lrg" | "xl" | "xxl" | "xxxl";
|
|
2
2
|
//# sourceMappingURL=screenSizeHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenSizeHelpers.d.ts","sourceRoot":"","sources":["../../src/asutils/screenSizeHelpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"screenSizeHelpers.d.ts","sourceRoot":"","sources":["../../src/asutils/screenSizeHelpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,qDAUzB,CAAC"}
|
package/package.json
CHANGED
package/public/icons.png
ADDED
|
Binary file
|