blue-web 1.16.0 → 1.16.1

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.
@@ -1 +1 @@
1
- (()=>{"use strict";window.blueWeb=window.blueWeb||{},window.blueWeb.actions={init:function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;function n(){for(const e of i.children)e.style.display="none";for(const e of t.children)e.style.display="",e.classList.add("BLUE-actions-collapse-visible");let n=0;for(const s of i.children){if(s.style.display="",t.children[n].style.display="none",t.children[n].classList.remove("BLUE-actions-collapse-visible"),e.scrollWidth>e.clientWidth){s.style.display="none",t.children[n].style.display="",t.children[n].classList.add("BLUE-actions-collapse-visible");break}n++}}i||(i=e.querySelector(".BLUE-actions-menu")),t||(t=e.querySelector(".BLUE-actions-collapse-menu")),n();const s=new ResizeObserver((()=>{requestAnimationFrame(n)}));s.observe(e);const l=i=>{if(!e)return;const t=e.querySelectorAll("details[open]");!t||t.length<=0||t.forEach((e=>{e.contains(i.target)||e.removeAttribute("open")}))};return document.addEventListener("click",l),{updateActions:n,resizeObserver:s,destroy(){s.disconnect(),document.removeEventListener("click",l)}}}}})();
1
+ (()=>{"use strict";window.blueWeb=window.blueWeb||{},window.blueWeb.actions={init:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;function s(){for(const e of t.children)e.style.display="none";for(const e of i.children)e.style.display="",e.classList.add("BLUE-actions-collapse-visible");let s=0;for(const n of t.children){if(n.style.display="",i.children[s].style.display="none",i.children[s].classList.remove("BLUE-actions-collapse-visible"),e.scrollWidth>e.clientWidth){n.style.display="none",i.children[s].style.display="",i.children[s].classList.add("BLUE-actions-collapse-visible");break}s++}}t||(t=e.querySelector(".BLUE-actions-menu")),i||(i=e.querySelector(".BLUE-actions-collapse-menu")),s();const n=()=>{requestAnimationFrame(s)},o=new ResizeObserver(n);o.observe(e);const l=new MutationObserver(n);l.observe(e,{attributes:!1,childList:!0,subtree:!0});const c=t=>{if(!e)return;const i=e.querySelectorAll("details[open]");!i||i.length<=0||i.forEach((e=>{e.contains(t.target)||e.removeAttribute("open")}))};return document.addEventListener("click",c),{updateActions:s,resizeObserver:o,mutationObserver:l,destroy(){o.disconnect(),l.disconnect(),document.removeEventListener("click",c)}}}}})();
@@ -1,5 +1,6 @@
1
1
  export declare function init(actionsElement: HTMLElement, menu?: HTMLElement | undefined, collapseMenu?: HTMLElement | undefined): {
2
2
  updateActions: () => void;
3
3
  resizeObserver: ResizeObserver;
4
+ mutationObserver: MutationObserver;
4
5
  destroy(): void;
5
6
  };
@@ -31,10 +31,17 @@ export function init(actionsElement) {
31
31
  }
32
32
  }
33
33
  updateActions();
34
- const resizeObserver = new ResizeObserver(() => {
34
+ const callback = () => {
35
35
  requestAnimationFrame(updateActions);
36
- });
36
+ };
37
+ const resizeObserver = new ResizeObserver(callback);
37
38
  resizeObserver.observe(actionsElement);
39
+ const mutationObserver = new MutationObserver(callback);
40
+ mutationObserver.observe(actionsElement, {
41
+ attributes: false,
42
+ childList: true,
43
+ subtree: true
44
+ });
38
45
  const outsideClickHandler = event => {
39
46
  if (!actionsElement) return;
40
47
  const openDetails = actionsElement.querySelectorAll("details[open]");
@@ -49,8 +56,10 @@ export function init(actionsElement) {
49
56
  return {
50
57
  updateActions,
51
58
  resizeObserver,
59
+ mutationObserver,
52
60
  destroy() {
53
61
  resizeObserver.disconnect();
62
+ mutationObserver.disconnect();
54
63
  document.removeEventListener("click", outsideClickHandler);
55
64
  }
56
65
  };
package/dist/merged.scss CHANGED
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * Blue Web v1.16.0 (https://bruegmann.github.io/blue-web)
2
+ * Blue Web v1.16.1 (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
 
6
6
  // Main color theme. E.g. used for background for body and sidebar.
7
7
  $theme: hsl(217deg 10% 94%) !default;
8
8
  $theme-dark: hsl(217deg 10% 8%) !default;
9
- $primary: hsl(217deg 91% 50%) !default;
9
+ $primary: hsl(221, 97%, 53%) !default;
10
10
  $white: #fff !default;
11
11
  $gray-100: hsl(217deg 17% 98%) !default;
12
12
  $gray-200: hsl(217deg 16% 93%) !default;
@@ -3376,17 +3376,23 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
3376
3376
  @mixin box-shadow($shadow...) {
3377
3377
  @if $enable-shadows {
3378
3378
  $result: ();
3379
+ $has-single-value: false;
3380
+ $single-value: null;
3379
3381
 
3380
3382
  @each $value in $shadow {
3381
3383
  @if $value != null {
3382
- $result: append($result, $value, "comma");
3383
- }
3384
- @if $value == none and length($shadow) > 1 {
3385
- @warn "The keyword 'none' must be used as a single argument.";
3384
+ @if $value == none or $value == initial or $value == inherit or $value == unset {
3385
+ $has-single-value: true;
3386
+ $single-value: $value;
3387
+ } @else {
3388
+ $result: append($result, $value, "comma");
3389
+ }
3386
3390
  }
3387
3391
  }
3388
3392
 
3389
- @if (length($result) > 0) {
3393
+ @if $has-single-value {
3394
+ box-shadow: $single-value;
3395
+ } @else if (length($result) > 0) {
3390
3396
  box-shadow: $result;
3391
3397
  }
3392
3398
  }
@@ -4167,7 +4173,7 @@ $sidebar-expanded-breakpoint: 1400px !default;
4167
4173
 
4168
4174
  @mixin bsBanner($file) {
4169
4175
  /*!
4170
- * Bootstrap #{$file} v5.3.6 (https://getbootstrap.com/)
4176
+ * Bootstrap #{$file} v5.3.7 (https://getbootstrap.com/)
4171
4177
  * Copyright 2011-2025 The Bootstrap Authors
4172
4178
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4173
4179
  */
@@ -12234,6 +12240,10 @@ dialog.blue-modal:has(.offcanvas-start) {
12234
12240
  position: absolute;
12235
12241
  }
12236
12242
 
12243
+ .BLUE-actions-collapse-menu:popover-open {
12244
+ display: var(--display);
12245
+ }
12246
+
12237
12247
  .blue-anchor {
12238
12248
  anchor-name: var(--blue-anchor-name, --anchor-1);
12239
12249
  }