@vanduo-oss/framework 1.4.0 → 1.4.2

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.
Files changed (89) hide show
  1. package/README.md +11 -9
  2. package/css/components/affix.css +11 -11
  3. package/css/components/alerts.css +55 -55
  4. package/css/components/avatar.css +62 -62
  5. package/css/components/badges.css +25 -25
  6. package/css/components/breadcrumbs.css +31 -31
  7. package/css/components/bubble.css +40 -40
  8. package/css/components/button-group.css +2 -2
  9. package/css/components/buttons.css +33 -33
  10. package/css/components/cards.css +76 -76
  11. package/css/components/chips.css +27 -27
  12. package/css/components/code-snippet.css +132 -132
  13. package/css/components/collapsible.css +60 -60
  14. package/css/components/collections.css +58 -58
  15. package/css/components/datepicker.css +55 -53
  16. package/css/components/doc-search.css +63 -63
  17. package/css/components/doc-tabs.css +1 -1
  18. package/css/components/draggable.css +69 -69
  19. package/css/components/dropdown.css +48 -48
  20. package/css/components/fab.css +60 -60
  21. package/css/components/flow.css +55 -55
  22. package/css/components/footer.css +52 -52
  23. package/css/components/forms.css +373 -373
  24. package/css/components/image-box.css +39 -39
  25. package/css/components/modals.css +53 -49
  26. package/css/components/music-player.css +150 -150
  27. package/css/components/navbar.css +71 -71
  28. package/css/components/pagination.css +50 -50
  29. package/css/components/preloader.css +18 -18
  30. package/css/components/progress.css +16 -16
  31. package/css/components/rating.css +18 -18
  32. package/css/components/ripple.css +10 -10
  33. package/css/components/sidenav.css +67 -67
  34. package/css/components/skeleton.css +13 -13
  35. package/css/components/spinner.css +30 -30
  36. package/css/components/spotlight.css +27 -27
  37. package/css/components/stepper.css +36 -36
  38. package/css/components/suggest.css +35 -35
  39. package/css/components/tabs.css +46 -46
  40. package/css/components/theme-customizer.css +73 -73
  41. package/css/components/timeline.css +43 -43
  42. package/css/components/timepicker.css +32 -30
  43. package/css/components/toast.css +27 -27
  44. package/css/components/tooltips.css +77 -77
  45. package/css/components/transfer.css +35 -35
  46. package/css/components/tree.css +25 -25
  47. package/css/components/waypoint.css +12 -12
  48. package/css/core/colors.css +610 -610
  49. package/css/core/grid.css +127 -127
  50. package/css/core/helpers.css +338 -338
  51. package/css/core/tokens.css +69 -81
  52. package/css/core/typography.css +91 -91
  53. package/css/effects/morph.css +17 -17
  54. package/css/effects/parallax.css +6 -6
  55. package/css/utilities/color-utilities.css +273 -273
  56. package/css/utilities/media.css +2 -2
  57. package/css/utilities/shadow.css +75 -75
  58. package/css/utilities/table.css +40 -40
  59. package/css/utilities/transitions.css +38 -38
  60. package/css/vanduo.css +1 -2
  61. package/dist/build-info.json +3 -3
  62. package/dist/vanduo.cjs.js +104 -29
  63. package/dist/vanduo.cjs.js.map +2 -2
  64. package/dist/vanduo.cjs.min.js +5 -5
  65. package/dist/vanduo.cjs.min.js.map +3 -3
  66. package/dist/vanduo.css +4042 -4133
  67. package/dist/vanduo.css.map +1 -1
  68. package/dist/vanduo.esm.js +104 -29
  69. package/dist/vanduo.esm.js.map +2 -2
  70. package/dist/vanduo.esm.min.js +5 -5
  71. package/dist/vanduo.esm.min.js.map +3 -3
  72. package/dist/vanduo.js +104 -29
  73. package/dist/vanduo.js.map +2 -2
  74. package/dist/vanduo.min.css +2 -2
  75. package/dist/vanduo.min.css.map +1 -1
  76. package/dist/vanduo.min.js +5 -5
  77. package/dist/vanduo.min.js.map +3 -3
  78. package/js/components/affix.js +2 -2
  79. package/js/components/datepicker.js +51 -4
  80. package/js/components/image-box.js +2 -2
  81. package/js/components/morph.js +1 -1
  82. package/js/components/music-player.js +11 -11
  83. package/js/components/navbar.js +1 -1
  84. package/js/components/preloader.js +1 -1
  85. package/js/components/theme-customizer.js +4 -4
  86. package/js/components/timepicker.js +48 -6
  87. package/js/components/vd-hex.js +8 -10
  88. package/package.json +1 -1
  89. package/css/core/vd-aliases.css +0 -108
@@ -1,4 +1,4 @@
1
- /*! Vanduo v1.4.0 | Built: 2026-05-20T14:51:00.085Z | git:46420b0 | development */
1
+ /*! Vanduo v1.4.2 | Built: 2026-05-23T19:59:36.731Z | git:adbe750 | development */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -201,7 +201,7 @@ module.exports = __toCommonJS(index_exports);
201
201
  // js/vanduo.js
202
202
  (function() {
203
203
  "use strict";
204
- const VANDUO_VERSION = true ? "1.4.0" : "0.0.0-dev";
204
+ const VANDUO_VERSION = true ? "1.4.2" : "0.0.0-dev";
205
205
  const hasOwn = Object.prototype.hasOwnProperty;
206
206
  const Vanduo2 = {
207
207
  version: VANDUO_VERSION,
@@ -2119,7 +2119,7 @@ module.exports = __toCommonJS(index_exports);
2119
2119
  this.caption.style.display = "none";
2120
2120
  }
2121
2121
  const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
2122
- document.body.style.setProperty("--scrollbar-width", `${scrollbarWidth}px`);
2122
+ document.body.style.setProperty("--vd-scrollbar-width", `${scrollbarWidth}px`);
2123
2123
  document.body.classList.add("body-image-box-open");
2124
2124
  this.backdrop.classList.add("is-visible");
2125
2125
  this.backdrop.focus();
@@ -2143,7 +2143,7 @@ module.exports = __toCommonJS(index_exports);
2143
2143
  this.isOpen = false;
2144
2144
  this.backdrop.classList.remove("is-visible");
2145
2145
  document.body.classList.remove("body-image-box-open");
2146
- document.body.style.removeProperty("--scrollbar-width");
2146
+ document.body.style.removeProperty("--vd-scrollbar-width");
2147
2147
  if (this.currentTrigger) {
2148
2148
  this.currentTrigger.focus();
2149
2149
  this.currentTrigger.dispatchEvent(new CustomEvent("imageBox:close", { bubbles: true }));
@@ -2578,7 +2578,7 @@ module.exports = __toCommonJS(index_exports);
2578
2578
  */
2579
2579
  getBreakpoint: function() {
2580
2580
  const root = getComputedStyle(document.documentElement);
2581
- const breakpointValue = root.getPropertyValue("--breakpoint-lg").trim();
2581
+ const breakpointValue = root.getPropertyValue("--vd-breakpoint-lg").trim();
2582
2582
  const parsed = parseInt(breakpointValue, 10);
2583
2583
  return isNaN(parsed) ? 992 : parsed;
2584
2584
  },
@@ -3227,7 +3227,7 @@ module.exports = __toCommonJS(index_exports);
3227
3227
  }
3228
3228
  value = Math.max(0, Math.min(100, value));
3229
3229
  if (animate) {
3230
- el.style.transition = "width var(--transition-duration-slow) var(--transition-ease)";
3230
+ el.style.transition = "width var(--vd-transition-duration-slow) var(--vd-transition-ease)";
3231
3231
  } else {
3232
3232
  el.style.transition = "none";
3233
3233
  setTimeout(() => {
@@ -4503,7 +4503,7 @@ module.exports = __toCommonJS(index_exports);
4503
4503
  }
4504
4504
  this.state.radius = radius;
4505
4505
  document.documentElement.setAttribute("data-radius", radius);
4506
- document.documentElement.style.setProperty("--radius-scale", radius);
4506
+ document.documentElement.style.setProperty("--vd-radius-scale", radius);
4507
4507
  this.savePreference(this.STORAGE_KEYS.RADIUS, radius);
4508
4508
  this.dispatchEvent("radius-change", { radius });
4509
4509
  },
@@ -4733,11 +4733,11 @@ module.exports = __toCommonJS(index_exports);
4733
4733
  };
4734
4734
  let primarySwatches = "";
4735
4735
  for (const [key, value] of Object.entries(this.PRIMARY_COLORS)) {
4736
- primarySwatches += `<button class="tc-color-swatch${key === this.state.primary ? " is-active" : ""}" data-color="${esc(key)}" style="--swatch-color: ${safeColor(value.color)}" title="${esc(value.name)}"></button>`;
4736
+ primarySwatches += `<button class="tc-color-swatch${key === this.state.primary ? " is-active" : ""}" data-color="${esc(key)}" style="--vd-swatch-color: ${safeColor(value.color)}" title="${esc(value.name)}"></button>`;
4737
4737
  }
4738
4738
  let neutralSwatches = "";
4739
4739
  for (const [key, value] of Object.entries(this.NEUTRAL_COLORS)) {
4740
- neutralSwatches += `<button class="tc-neutral-swatch${key === this.state.neutral ? " is-active" : ""}" data-neutral="${esc(key)}" style="--swatch-color: ${safeColor(value.color)}" title="${esc(value.name)}"><span>${esc(value.name)}</span></button>`;
4740
+ neutralSwatches += `<button class="tc-neutral-swatch${key === this.state.neutral ? " is-active" : ""}" data-neutral="${esc(key)}" style="--vd-swatch-color: ${safeColor(value.color)}" title="${esc(value.name)}"><span>${esc(value.name)}</span></button>`;
4741
4741
  }
4742
4742
  let radiusButtons = "";
4743
4743
  this.RADIUS_OPTIONS.forEach((r) => {
@@ -7465,7 +7465,7 @@ module.exports = __toCommonJS(index_exports);
7465
7465
  }
7466
7466
  el.classList.add("is-morphing");
7467
7467
  let duration = MORPH_DURATION_MS;
7468
- const custom = getComputedStyle(el).getPropertyValue("--morph-duration");
7468
+ const custom = getComputedStyle(el).getPropertyValue("--vd-morph-duration");
7469
7469
  if (custom) {
7470
7470
  const parsed = parseFloat(custom);
7471
7471
  if (!isNaN(parsed)) duration = parsed * (custom.indexOf("ms") !== -1 ? 1 : 1e3);
@@ -8385,7 +8385,7 @@ module.exports = __toCommonJS(index_exports);
8385
8385
  const sentinel = document.createElement("div");
8386
8386
  sentinel.style.cssText = "display:block;height:1px;margin-bottom:-1px;visibility:hidden;pointer-events:none;";
8387
8387
  el.parentNode.insertBefore(sentinel, el);
8388
- el.style.setProperty("--affix-top-offset", offset + "px");
8388
+ el.style.setProperty("--vd-affix-top-offset", offset + "px");
8389
8389
  function stick() {
8390
8390
  if (isStuck) return;
8391
8391
  isStuck = true;
@@ -8431,7 +8431,7 @@ module.exports = __toCommonJS(index_exports);
8431
8431
  },
8432
8432
  () => {
8433
8433
  el.classList.remove("is-stuck");
8434
- el.style.removeProperty("--affix-top-offset");
8434
+ el.style.removeProperty("--vd-affix-top-offset");
8435
8435
  }
8436
8436
  );
8437
8437
  this.instances.set(el, { cleanup, observer, sentinel, scrollParent });
@@ -8959,6 +8959,27 @@ module.exports = __toCommonJS(index_exports);
8959
8959
  x.setDate(x.getDate() + (6 - day));
8960
8960
  return x;
8961
8961
  }
8962
+ function positionAnchoredPopup(anchor, popup, gap) {
8963
+ const padding = 8;
8964
+ const offset = gap != null ? gap : 4;
8965
+ const rect = anchor.getBoundingClientRect();
8966
+ popup.style.minWidth = Math.max(rect.width, 0) + "px";
8967
+ let top = rect.bottom + offset;
8968
+ let left = rect.left;
8969
+ popup.style.top = top + "px";
8970
+ popup.style.left = left + "px";
8971
+ const popRect = popup.getBoundingClientRect();
8972
+ if (popRect.bottom > window.innerHeight - padding && rect.top - popRect.height > padding) {
8973
+ top = rect.top - popRect.height - offset;
8974
+ popup.style.top = top + "px";
8975
+ }
8976
+ const alignedRect = popup.getBoundingClientRect();
8977
+ left = rect.left;
8978
+ if (left + alignedRect.width > window.innerWidth - padding) {
8979
+ left = window.innerWidth - alignedRect.width - padding;
8980
+ }
8981
+ popup.style.left = Math.max(padding, left) + "px";
8982
+ }
8962
8983
  const Datepicker = {
8963
8984
  instances: /* @__PURE__ */ new Map(),
8964
8985
  init: function(root) {
@@ -9040,7 +9061,7 @@ module.exports = __toCommonJS(index_exports);
9040
9061
  wrapper.style.display = "inline-block";
9041
9062
  input.parentNode.insertBefore(wrapper, input);
9042
9063
  wrapper.appendChild(input);
9043
- wrapper.appendChild(popup);
9064
+ document.body.appendChild(popup);
9044
9065
  const isSameDay = (a, b) => a && b && a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
9045
9066
  const selectDate = (date) => {
9046
9067
  selectedDate = date;
@@ -9270,6 +9291,9 @@ module.exports = __toCommonJS(index_exports);
9270
9291
  }
9271
9292
  popup.appendChild(grid);
9272
9293
  }
9294
+ if (popup.classList.contains("is-open")) {
9295
+ requestAnimationFrame(positionPopup);
9296
+ }
9273
9297
  };
9274
9298
  const handleGridKeydown = (e) => {
9275
9299
  if (!popup.classList.contains("is-open") || viewMode !== "days") return;
@@ -9337,6 +9361,13 @@ module.exports = __toCommonJS(index_exports);
9337
9361
  render();
9338
9362
  requestAnimationFrame(focusFocusedDay);
9339
9363
  };
9364
+ const positionPopup = () => {
9365
+ if (!popup.classList.contains("is-open")) return;
9366
+ positionAnchoredPopup(input, popup);
9367
+ };
9368
+ const repositionHandler = () => {
9369
+ positionPopup();
9370
+ };
9340
9371
  const open = () => {
9341
9372
  viewMode = "days";
9342
9373
  if (selectedDate) {
@@ -9354,7 +9385,10 @@ module.exports = __toCommonJS(index_exports);
9354
9385
  render();
9355
9386
  popup.classList.add("is-open");
9356
9387
  input.setAttribute("aria-expanded", "true");
9357
- requestAnimationFrame(focusFocusedDay);
9388
+ requestAnimationFrame(() => {
9389
+ positionPopup();
9390
+ focusFocusedDay();
9391
+ });
9358
9392
  };
9359
9393
  const close = () => {
9360
9394
  popup.classList.remove("is-open");
@@ -9369,7 +9403,7 @@ module.exports = __toCommonJS(index_exports);
9369
9403
  open();
9370
9404
  };
9371
9405
  const outsideHandler = (e) => {
9372
- if (!wrapper.contains(e.target)) close();
9406
+ if (!input.contains(e.target) && !popup.contains(e.target)) close();
9373
9407
  };
9374
9408
  const escHandler = (e) => {
9375
9409
  if (e.key === "Escape" && popup.classList.contains("is-open")) {
@@ -9382,6 +9416,8 @@ module.exports = __toCommonJS(index_exports);
9382
9416
  document.addEventListener("click", outsideHandler, true);
9383
9417
  document.addEventListener("keydown", escHandler);
9384
9418
  popup.addEventListener("keydown", handleGridKeydown);
9419
+ window.addEventListener("resize", repositionHandler);
9420
+ window.addEventListener("scroll", repositionHandler, true);
9385
9421
  input.setAttribute("aria-haspopup", "dialog");
9386
9422
  input.setAttribute("aria-expanded", "false");
9387
9423
  input.setAttribute("autocomplete", "off");
@@ -9389,7 +9425,10 @@ module.exports = __toCommonJS(index_exports);
9389
9425
  () => input.removeEventListener("focus", focusHandler),
9390
9426
  () => document.removeEventListener("click", outsideHandler, true),
9391
9427
  () => document.removeEventListener("keydown", escHandler),
9392
- () => popup.removeEventListener("keydown", handleGridKeydown)
9428
+ () => popup.removeEventListener("keydown", handleGridKeydown),
9429
+ () => window.removeEventListener("resize", repositionHandler),
9430
+ () => window.removeEventListener("scroll", repositionHandler, true),
9431
+ () => popup.remove()
9393
9432
  );
9394
9433
  this.instances.set(input, { cleanup, open, close, popup });
9395
9434
  },
@@ -9412,6 +9451,27 @@ module.exports = __toCommonJS(index_exports);
9412
9451
  // js/components/timepicker.js
9413
9452
  (function() {
9414
9453
  "use strict";
9454
+ function positionAnchoredPopup(anchor, popup, gap) {
9455
+ const padding = 8;
9456
+ const offset = gap != null ? gap : 4;
9457
+ const rect = anchor.getBoundingClientRect();
9458
+ popup.style.minWidth = Math.max(rect.width, 0) + "px";
9459
+ let top = rect.bottom + offset;
9460
+ let left = rect.left;
9461
+ popup.style.top = top + "px";
9462
+ popup.style.left = left + "px";
9463
+ const popRect = popup.getBoundingClientRect();
9464
+ if (popRect.bottom > window.innerHeight - padding && rect.top - popRect.height > padding) {
9465
+ top = rect.top - popRect.height - offset;
9466
+ popup.style.top = top + "px";
9467
+ }
9468
+ const alignedRect = popup.getBoundingClientRect();
9469
+ left = rect.left;
9470
+ if (left + alignedRect.width > window.innerWidth - padding) {
9471
+ left = window.innerWidth - alignedRect.width - padding;
9472
+ }
9473
+ popup.style.left = Math.max(padding, left) + "px";
9474
+ }
9415
9475
  const Timepicker = {
9416
9476
  instances: /* @__PURE__ */ new Map(),
9417
9477
  init: function(root) {
@@ -9436,7 +9496,7 @@ module.exports = __toCommonJS(index_exports);
9436
9496
  const popup = document.createElement("div");
9437
9497
  popup.className = "vd-timepicker-popup";
9438
9498
  popup.setAttribute("role", "listbox");
9439
- wrapper.appendChild(popup);
9499
+ document.body.appendChild(popup);
9440
9500
  const times = [];
9441
9501
  for (let h = 0; h < 24; h++) {
9442
9502
  for (let m = 0; m < 60; m += step) {
@@ -9476,12 +9536,22 @@ module.exports = __toCommonJS(index_exports);
9476
9536
  popup.appendChild(item);
9477
9537
  });
9478
9538
  };
9539
+ const positionPopup = () => {
9540
+ if (!popup.classList.contains("is-open")) return;
9541
+ positionAnchoredPopup(input, popup);
9542
+ };
9543
+ const repositionHandler = () => {
9544
+ positionPopup();
9545
+ };
9479
9546
  const open = () => {
9480
9547
  render();
9481
9548
  popup.classList.add("is-open");
9482
9549
  input.setAttribute("aria-expanded", "true");
9483
- const selected = popup.querySelector(".is-selected");
9484
- if (selected) selected.scrollIntoView({ block: "center" });
9550
+ requestAnimationFrame(() => {
9551
+ positionPopup();
9552
+ const selected = popup.querySelector(".is-selected");
9553
+ if (selected) selected.scrollIntoView({ block: "center" });
9554
+ });
9485
9555
  };
9486
9556
  const close = () => {
9487
9557
  popup.classList.remove("is-open");
@@ -9489,7 +9559,7 @@ module.exports = __toCommonJS(index_exports);
9489
9559
  };
9490
9560
  const focusHandler = () => open();
9491
9561
  const outsideHandler = (e) => {
9492
- if (!wrapper.contains(e.target)) close();
9562
+ if (!input.contains(e.target) && !popup.contains(e.target)) close();
9493
9563
  };
9494
9564
  const escHandler = (e) => {
9495
9565
  if (e.key === "Escape") close();
@@ -9497,6 +9567,8 @@ module.exports = __toCommonJS(index_exports);
9497
9567
  input.addEventListener("focus", focusHandler);
9498
9568
  document.addEventListener("click", outsideHandler, true);
9499
9569
  document.addEventListener("keydown", escHandler);
9570
+ window.addEventListener("resize", repositionHandler);
9571
+ window.addEventListener("scroll", repositionHandler, true);
9500
9572
  input.setAttribute("aria-haspopup", "listbox");
9501
9573
  input.setAttribute("aria-expanded", "false");
9502
9574
  input.setAttribute("autocomplete", "off");
@@ -9504,7 +9576,10 @@ module.exports = __toCommonJS(index_exports);
9504
9576
  cleanup.push(
9505
9577
  () => input.removeEventListener("focus", focusHandler),
9506
9578
  () => document.removeEventListener("click", outsideHandler, true),
9507
- () => document.removeEventListener("keydown", escHandler)
9579
+ () => document.removeEventListener("keydown", escHandler),
9580
+ () => window.removeEventListener("resize", repositionHandler),
9581
+ () => window.removeEventListener("scroll", repositionHandler, true),
9582
+ () => popup.remove()
9508
9583
  );
9509
9584
  this.instances.set(input, { cleanup, open, close });
9510
9585
  },
@@ -10307,8 +10382,8 @@ module.exports = __toCommonJS(index_exports);
10307
10382
  const max = parseFloat(input.max) || 1;
10308
10383
  const val = parseFloat(input.value) || 0;
10309
10384
  const pct = (val - min) / (max - min) * 100;
10310
- input.style.setProperty("--fill", pct + "%");
10311
- input.style.backgroundImage = "linear-gradient(to right, var(--music-player-track-fill, currentColor) 0%, var(--music-player-track-fill, currentColor) " + pct + "%, var(--music-player-track-bg, #ccc) " + pct + "%, var(--music-player-track-bg, #ccc) 100%)";
10385
+ input.style.setProperty("--vd-fill", pct + "%");
10386
+ input.style.backgroundImage = "linear-gradient(to right, var(--vd-music-player-track-fill, currentColor) 0%, var(--vd-music-player-track-fill, currentColor) " + pct + "%, var(--vd-music-player-track-bg, #ccc) " + pct + "%, var(--vd-music-player-track-bg, #ccc) 100%)";
10312
10387
  }
10313
10388
  function icon(name) {
10314
10389
  const el = document.createElement("i");
@@ -10993,8 +11068,8 @@ module.exports = __toCommonJS(index_exports);
10993
11068
  "vd-music-player-floating-bottom-right",
10994
11069
  "is-position-custom"
10995
11070
  );
10996
- container.style.removeProperty("--music-player-floating-top");
10997
- container.style.removeProperty("--music-player-floating-left");
11071
+ container.style.removeProperty("--vd-music-player-floating-top");
11072
+ container.style.removeProperty("--vd-music-player-floating-left");
10998
11073
  if (r && r.parent && r.parent.isConnected) {
10999
11074
  r.parent.insertBefore(container, r.next);
11000
11075
  }
@@ -11086,8 +11161,8 @@ module.exports = __toCommonJS(index_exports);
11086
11161
  */
11087
11162
  _setCornerPosition: function(container, which) {
11088
11163
  container.classList.remove("is-position-custom", "vd-music-player-floating-bottom-left", "vd-music-player-floating-bottom-right");
11089
- container.style.removeProperty("--music-player-floating-top");
11090
- container.style.removeProperty("--music-player-floating-left");
11164
+ container.style.removeProperty("--vd-music-player-floating-top");
11165
+ container.style.removeProperty("--vd-music-player-floating-left");
11091
11166
  if (which === "bottom-left") {
11092
11167
  container.classList.add("vd-music-player-floating-bottom-left");
11093
11168
  } else {
@@ -11102,8 +11177,8 @@ module.exports = __toCommonJS(index_exports);
11102
11177
  _setCustomPositionFromRect: function(container, left, top) {
11103
11178
  container.classList.remove("vd-music-player-floating-bottom-left", "vd-music-player-floating-bottom-right");
11104
11179
  container.classList.add("is-position-custom");
11105
- container.style.setProperty("--music-player-floating-left", left + "px");
11106
- container.style.setProperty("--music-player-floating-top", top + "px");
11180
+ container.style.setProperty("--vd-music-player-floating-left", left + "px");
11181
+ container.style.setProperty("--vd-music-player-floating-top", top + "px");
11107
11182
  },
11108
11183
  /**
11109
11184
  * @param {HTMLElement} container