blue-web 1.17.3 → 1.17.4
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/actions.bundle.js +1 -1
- package/dist/js/actions.js +4 -15
- package/dist/merged.scss +59 -18
- package/dist/style.css +46 -18
- package/dist/style.css.map +1 -1
- package/dist/style.min.css +3 -3
- package/dist/style.scss +1 -1
- package/dist/styles/{_actions.css → _actions.scss} +12 -0
- package/dist/styles/_layout.scss +46 -17
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";window.blueWeb=window.blueWeb||{},window.blueWeb.actions={init:function(e){let
|
|
1
|
+
(()=>{"use strict";window.blueWeb=window.blueWeb||{},window.blueWeb.actions={init:function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const t=e.parentElement||e;function n(){for(const e of s.children)e.style.display="none";for(const e of i.children)e.style.display="",e.classList.add("BLUE-actions-collapse-visible");let e=0;for(const n of s.children){if(n.style.display="",i.children[e].style.display="none",i.children[e].classList.remove("BLUE-actions-collapse-visible"),t.scrollWidth>t.clientWidth){n.style.display="none",i.children[e].style.display="",i.children[e].classList.add("BLUE-actions-collapse-visible");break}e++}}s||(s=e.querySelector(".BLUE-actions-menu")),i||(i=e.querySelector(".BLUE-actions-collapse-menu")),n();const l=()=>{requestAnimationFrame(n)},o=new ResizeObserver(l);o.observe(t);const c=new MutationObserver(l);return c.observe(t,{attributes:!1,childList:!0,subtree:!0}),{updateActions:n,resizeObserver:o,mutationObserver:c,destroy(){o.disconnect(),c.disconnect()}}}}})();
|
package/dist/js/actions.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export function init(actionsElement) {
|
|
2
2
|
let menu = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
3
3
|
let collapseMenu = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
4
|
+
const targetElement = actionsElement.parentElement || actionsElement;
|
|
4
5
|
if (!menu) menu = actionsElement.querySelector(".BLUE-actions-menu");
|
|
5
6
|
if (!collapseMenu) collapseMenu = actionsElement.querySelector(".BLUE-actions-collapse-menu");
|
|
6
7
|
function updateActions() {
|
|
@@ -20,7 +21,7 @@ export function init(actionsElement) {
|
|
|
20
21
|
item.style.display = "";
|
|
21
22
|
collapseMenu.children[i].style.display = "none";
|
|
22
23
|
collapseMenu.children[i].classList.remove("BLUE-actions-collapse-visible");
|
|
23
|
-
if (
|
|
24
|
+
if (targetElement.scrollWidth > targetElement.clientWidth) {
|
|
24
25
|
;
|
|
25
26
|
item.style.display = "none";
|
|
26
27
|
collapseMenu.children[i].style.display = "";
|
|
@@ -35,24 +36,13 @@ export function init(actionsElement) {
|
|
|
35
36
|
requestAnimationFrame(updateActions);
|
|
36
37
|
};
|
|
37
38
|
const resizeObserver = new ResizeObserver(callback);
|
|
38
|
-
resizeObserver.observe(
|
|
39
|
+
resizeObserver.observe(targetElement);
|
|
39
40
|
const mutationObserver = new MutationObserver(callback);
|
|
40
|
-
mutationObserver.observe(
|
|
41
|
+
mutationObserver.observe(targetElement, {
|
|
41
42
|
attributes: false,
|
|
42
43
|
childList: true,
|
|
43
44
|
subtree: true
|
|
44
45
|
});
|
|
45
|
-
const outsideClickHandler = event => {
|
|
46
|
-
if (!actionsElement) return;
|
|
47
|
-
const openDetails = actionsElement.querySelectorAll("details[open]");
|
|
48
|
-
if (!openDetails || openDetails.length <= 0) return;
|
|
49
|
-
openDetails.forEach(details => {
|
|
50
|
-
if (!details.contains(event.target)) {
|
|
51
|
-
details.removeAttribute("open");
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
document.addEventListener("click", outsideClickHandler);
|
|
56
46
|
return {
|
|
57
47
|
updateActions,
|
|
58
48
|
resizeObserver,
|
|
@@ -60,7 +50,6 @@ export function init(actionsElement) {
|
|
|
60
50
|
destroy() {
|
|
61
51
|
resizeObserver.disconnect();
|
|
62
52
|
mutationObserver.disconnect();
|
|
63
|
-
document.removeEventListener("click", outsideClickHandler);
|
|
64
53
|
}
|
|
65
54
|
};
|
|
66
55
|
}
|
package/dist/merged.scss
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Blue Web v1.17.
|
|
2
|
+
* Blue Web v1.17.4 (https://bruegmann.github.io/blue-web)
|
|
3
3
|
* Licensed under GNU General Public License v3.0 (https://github.com/bruegmann/blue-web/blob/master/LICENSE).
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -12063,11 +12063,34 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12063
12063
|
height: 100dvh;
|
|
12064
12064
|
position: relative;
|
|
12065
12065
|
display: grid;
|
|
12066
|
-
|
|
12066
|
+
|
|
12067
12067
|
grid-template-rows: var(--toggler-size) auto;
|
|
12068
|
+
grid-template-areas: "header" "main";
|
|
12069
|
+
|
|
12070
|
+
color: var(--blue-sidebar-color);
|
|
12071
|
+
background-color: var(--blue-sidebar-bg);
|
|
12072
|
+
|
|
12073
|
+
&:has(> .blue-layout-toggle) {
|
|
12074
|
+
grid-template-columns: 0 0 var(--toggler-size) calc(var(--side-width) - var(--toggler-size)) 1fr;
|
|
12075
|
+
grid-template-rows: var(--toggler-size) auto;
|
|
12076
|
+
grid-template-areas:
|
|
12077
|
+
"state . toggle header header"
|
|
12078
|
+
". side main main main";
|
|
12079
|
+
}
|
|
12080
|
+
}
|
|
12081
|
+
|
|
12082
|
+
@media (width >= 64rem) {
|
|
12083
|
+
.blue-layout {
|
|
12084
|
+
&:has(> .blue-layout-state-expand:checked) {
|
|
12085
|
+
grid-template-areas:
|
|
12086
|
+
"state . toggle header header"
|
|
12087
|
+
". side side side main";
|
|
12088
|
+
}
|
|
12089
|
+
}
|
|
12068
12090
|
}
|
|
12069
12091
|
|
|
12070
12092
|
.blue-layout-state {
|
|
12093
|
+
grid-area: state;
|
|
12071
12094
|
position: absolute;
|
|
12072
12095
|
--size: 0;
|
|
12073
12096
|
height: var(--size);
|
|
@@ -12077,7 +12100,7 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12077
12100
|
}
|
|
12078
12101
|
|
|
12079
12102
|
.blue-layout-toggle {
|
|
12080
|
-
grid-
|
|
12103
|
+
grid-area: toggle;
|
|
12081
12104
|
color: var(--blue-sidebar-color);
|
|
12082
12105
|
background-color: var(--blue-sidebar-bg);
|
|
12083
12106
|
}
|
|
@@ -12102,11 +12125,17 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12102
12125
|
}
|
|
12103
12126
|
|
|
12104
12127
|
.blue-layout-header {
|
|
12105
|
-
grid-
|
|
12106
|
-
|
|
12128
|
+
grid-area: header;
|
|
12129
|
+
|
|
12130
|
+
display: flex;
|
|
12131
|
+
justify-content: space-between;
|
|
12132
|
+
position: relative;
|
|
12133
|
+
z-index: var(--blue-layout-header-z-index, 4);
|
|
12134
|
+
--blue-menu-item-dropdown-bg: var(--blue-sidebar-bg);
|
|
12107
12135
|
}
|
|
12108
12136
|
|
|
12109
12137
|
.blue-layout-side {
|
|
12138
|
+
grid-area: side;
|
|
12110
12139
|
overflow: auto;
|
|
12111
12140
|
}
|
|
12112
12141
|
|
|
@@ -12128,23 +12157,23 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12128
12157
|
}
|
|
12129
12158
|
}
|
|
12130
12159
|
|
|
12131
|
-
@media (width >= 64rem) {
|
|
12132
|
-
.blue-layout-state-expand:checked ~ .blue-layout-side {
|
|
12133
|
-
grid-column-start: 2;
|
|
12134
|
-
grid-column-end: 4;
|
|
12135
|
-
}
|
|
12136
|
-
}
|
|
12137
|
-
|
|
12138
12160
|
.blue-layout-main {
|
|
12139
12161
|
overflow: auto;
|
|
12140
|
-
grid-
|
|
12141
|
-
grid-column-
|
|
12162
|
+
grid-area: main;
|
|
12163
|
+
// grid-column-start: 2;
|
|
12142
12164
|
}
|
|
12143
12165
|
|
|
12144
|
-
|
|
12145
|
-
|
|
12146
|
-
|
|
12147
|
-
|
|
12166
|
+
.blue-layout-body {
|
|
12167
|
+
--spacing: 0.25rem;
|
|
12168
|
+
width: calc(100% - var(--spacing) * 2);
|
|
12169
|
+
height: calc(100% - var(--spacing));
|
|
12170
|
+
margin-left: auto;
|
|
12171
|
+
margin-right: auto;
|
|
12172
|
+
overflow: auto;
|
|
12173
|
+
background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity, 1));
|
|
12174
|
+
box-shadow: var(--bs-box-shadow-sm);
|
|
12175
|
+
border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
|
|
12176
|
+
border-radius: var(--bs-border-radius-lg);
|
|
12148
12177
|
}
|
|
12149
12178
|
|
|
12150
12179
|
.blue-layout-overlay {
|
|
@@ -12231,6 +12260,8 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12231
12260
|
.BLUE-actions {
|
|
12232
12261
|
display: flex;
|
|
12233
12262
|
white-space: nowrap;
|
|
12263
|
+
// overflow-x: auto;
|
|
12264
|
+
// overflow-y: visible;
|
|
12234
12265
|
}
|
|
12235
12266
|
|
|
12236
12267
|
.BLUE-actions-menu {
|
|
@@ -12254,6 +12285,16 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12254
12285
|
display: var(--display);
|
|
12255
12286
|
}
|
|
12256
12287
|
|
|
12288
|
+
// Compatibility with MenuItems having dropdowns
|
|
12289
|
+
.BLUE-actions-menu > .blue-menu-item-wrapper:has(> .blue-menu-item-dropdown) {
|
|
12290
|
+
display: block;
|
|
12291
|
+
position: relative;
|
|
12292
|
+
}
|
|
12293
|
+
|
|
12294
|
+
.BLUE-actions-menu > .blue-menu-item-wrapper > .blue-menu-item-dropdown {
|
|
12295
|
+
position: absolute;
|
|
12296
|
+
}
|
|
12297
|
+
|
|
12257
12298
|
.blue-anchor {
|
|
12258
12299
|
anchor-name: var(--blue-anchor-name, --anchor-1);
|
|
12259
12300
|
}
|