@kispace-io/gs-lib 1.3.0 → 1.3.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.
package/dist/index.js CHANGED
@@ -83691,6 +83691,31 @@ var WaLoadEvent = class extends Event {
83691
83691
  super("wa-load", { bubbles: true, cancelable: false, composed: true });
83692
83692
  }
83693
83693
  };
83694
+ function watch(propertyName, options) {
83695
+ const resolvedOptions = {
83696
+ waitUntilFirstUpdate: false,
83697
+ ...options
83698
+ };
83699
+ return (proto, decoratedFnName) => {
83700
+ const { update: update2 } = proto;
83701
+ const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];
83702
+ proto.update = function(changedProps) {
83703
+ watchedProperties.forEach((property) => {
83704
+ const key = property;
83705
+ if (changedProps.has(key)) {
83706
+ const oldValue = changedProps.get(key);
83707
+ const newValue = this[key];
83708
+ if (oldValue !== newValue) {
83709
+ if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
83710
+ this[decoratedFnName](oldValue, newValue);
83711
+ }
83712
+ }
83713
+ }
83714
+ });
83715
+ update2.call(this, changedProps);
83716
+ };
83717
+ };
83718
+ }
83694
83719
  const connectedElements = /* @__PURE__ */ new Set();
83695
83720
  const translations = /* @__PURE__ */ new Map();
83696
83721
  let fallback;
@@ -83908,31 +83933,6 @@ var animated_image_styles_default = i$d`
83908
83933
  }
83909
83934
  }
83910
83935
  `;
83911
- function watch(propertyName, options) {
83912
- const resolvedOptions = {
83913
- waitUntilFirstUpdate: false,
83914
- ...options
83915
- };
83916
- return (proto, decoratedFnName) => {
83917
- const { update: update2 } = proto;
83918
- const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];
83919
- proto.update = function(changedProps) {
83920
- watchedProperties.forEach((property) => {
83921
- const key = property;
83922
- if (changedProps.has(key)) {
83923
- const oldValue = changedProps.get(key);
83924
- const newValue = this[key];
83925
- if (oldValue !== newValue) {
83926
- if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
83927
- this[decoratedFnName](oldValue, newValue);
83928
- }
83929
- }
83930
- }
83931
- });
83932
- update2.call(this, changedProps);
83933
- };
83934
- };
83935
- }
83936
83936
  var __defProp = Object.defineProperty;
83937
83937
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
83938
83938
  var __typeError = (msg) => {
@@ -83952,13 +83952,13 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
83952
83952
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
83953
83953
  var host_styles_default = i$d`
83954
83954
  :host {
83955
- box-sizing: border-box !important;
83955
+ box-sizing: border-box;
83956
83956
  }
83957
83957
 
83958
83958
  :host *,
83959
83959
  :host *::before,
83960
83960
  :host *::after {
83961
- box-sizing: inherit !important;
83961
+ box-sizing: inherit;
83962
83962
  }
83963
83963
 
83964
83964
  [hidden] {
@@ -84479,65 +84479,6 @@ var icon_styles_default = i$d`
84479
84479
  }
84480
84480
  }
84481
84481
  `;
84482
- function dataUri(svg) {
84483
- return `data:image/svg+xml,${encodeURIComponent(svg)}`;
84484
- }
84485
- var icons = {
84486
- //
84487
- // Solid variant
84488
- //
84489
- solid: {
84490
- check: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"/></svg>`,
84491
- "chevron-down": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg>`,
84492
- "chevron-left": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>`,
84493
- "chevron-right": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M311.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L243.2 256 73.9 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>`,
84494
- circle: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0z"/></svg>`,
84495
- eyedropper: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M341.6 29.2l-101.6 101.6-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4 101.6-101.6c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4-26.6 39.9c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4l39.9-26.6 42.4 0c21.2 0 41.6-8.4 56.6-23.4l109.4-109.4-45.3-45.3-109.4 109.4c-3 3-7.1 4.7-11.3 4.7l-36.1 0 0-36.1c0-4.2 1.7-8.3 4.7-11.3l109.4-109.4-45.3-45.3-109.4 109.4z"/></svg>`,
84496
- file: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M192 64C156.7 64 128 92.7 128 128L128 512C128 547.3 156.7 576 192 576L448 576C483.3 576 512 547.3 512 512L512 234.5C512 217.5 505.3 201.2 493.3 189.2L386.7 82.7C374.7 70.7 358.5 64 341.5 64L192 64zM453.5 240L360 240C346.7 240 336 229.3 336 216L336 122.5L453.5 240z"/></svg>`,
84497
- "file-audio": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM389.8 307.7C380.7 301.4 368.3 303.6 362 312.7C355.7 321.8 357.9 334.2 367 340.5C390.9 357.2 406.4 384.8 406.4 416C406.4 447.2 390.8 474.9 367 491.5C357.9 497.8 355.7 510.3 362 519.3C368.3 528.3 380.8 530.6 389.8 524.3C423.9 500.5 446.4 460.8 446.4 416C446.4 371.2 424 331.5 389.8 307.7zM208 376C199.2 376 192 383.2 192 392L192 440C192 448.8 199.2 456 208 456L232 456L259.2 490C262.2 493.8 266.8 496 271.7 496L272 496C280.8 496 288 488.8 288 480L288 352C288 343.2 280.8 336 272 336L271.7 336C266.8 336 262.2 338.2 259.2 342L232 376L208 376zM336 448.2C336 458.9 346.5 466.4 354.9 459.8C367.8 449.5 376 433.7 376 416C376 398.3 367.8 382.5 354.9 372.2C346.5 365.5 336 373.1 336 383.8L336 448.3z"/></svg>`,
84498
- "file-code": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM282.2 359.6C290.8 349.5 289.7 334.4 279.6 325.8C269.5 317.2 254.4 318.3 245.8 328.4L197.8 384.4C190.1 393.4 190.1 406.6 197.8 415.6L245.8 471.6C254.4 481.7 269.6 482.8 279.6 474.2C289.6 465.6 290.8 450.4 282.2 440.4L247.6 400L282.2 359.6zM394.2 328.4C385.6 318.3 370.4 317.2 360.4 325.8C350.4 334.4 349.2 349.6 357.8 359.6L392.4 400L357.8 440.4C349.2 450.5 350.3 465.6 360.4 474.2C370.5 482.8 385.6 481.7 394.2 471.6L442.2 415.6C449.9 406.6 449.9 393.4 442.2 384.4L394.2 328.4z"/></svg>`,
84499
- "file-excel": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM292 330.7C284.6 319.7 269.7 316.7 258.7 324C247.7 331.3 244.7 346.3 252 357.3L291.2 416L252 474.7C244.6 485.7 247.6 500.6 258.7 508C269.8 515.4 284.6 512.4 292 501.3L320 459.3L348 501.3C355.4 512.3 370.3 515.3 381.3 508C392.3 500.7 395.3 485.7 388 474.7L348.8 416L388 357.3C395.4 346.3 392.4 331.4 381.3 324C370.2 316.6 355.4 319.6 348 330.7L320 372.7L292 330.7z"/></svg>`,
84500
- "file-image": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM256 320C256 302.3 241.7 288 224 288C206.3 288 192 302.3 192 320C192 337.7 206.3 352 224 352C241.7 352 256 337.7 256 320zM220.6 512L419.4 512C435.2 512 448 499.2 448 483.4C448 476.1 445.2 469 440.1 463.7L343.3 361.9C337.3 355.6 328.9 352 320.1 352L319.8 352C311 352 302.7 355.6 296.6 361.9L199.9 463.7C194.8 469 192 476.1 192 483.4C192 499.2 204.8 512 220.6 512z"/></svg>`,
84501
- "file-pdf": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 64C92.7 64 64 92.7 64 128L64 512C64 547.3 92.7 576 128 576L208 576L208 464C208 428.7 236.7 400 272 400L448 400L448 234.5C448 217.5 441.3 201.2 429.3 189.2L322.7 82.7C310.7 70.7 294.5 64 277.5 64L128 64zM389.5 240L296 240C282.7 240 272 229.3 272 216L272 122.5L389.5 240zM272 444C261 444 252 453 252 464L252 592C252 603 261 612 272 612C283 612 292 603 292 592L292 564L304 564C337.1 564 364 537.1 364 504C364 470.9 337.1 444 304 444L272 444zM304 524L292 524L292 484L304 484C315 484 324 493 324 504C324 515 315 524 304 524zM400 444C389 444 380 453 380 464L380 592C380 603 389 612 400 612L432 612C460.7 612 484 588.7 484 560L484 496C484 467.3 460.7 444 432 444L400 444zM420 572L420 484L432 484C438.6 484 444 489.4 444 496L444 560C444 566.6 438.6 572 432 572L420 572zM508 464L508 592C508 603 517 612 528 612C539 612 548 603 548 592L548 548L576 548C587 548 596 539 596 528C596 517 587 508 576 508L548 508L548 484L576 484C587 484 596 475 596 464C596 453 587 444 576 444L528 444C517 444 508 453 508 464z"/></svg>`,
84502
- "file-powerpoint": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM280 320C266.7 320 256 330.7 256 344L256 488C256 501.3 266.7 512 280 512C293.3 512 304 501.3 304 488L304 464L328 464C367.8 464 400 431.8 400 392C400 352.2 367.8 320 328 320L280 320zM328 416L304 416L304 368L328 368C341.3 368 352 378.7 352 392C352 405.3 341.3 416 328 416z"/></svg>`,
84503
- "file-video": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM208 368L208 464C208 481.7 222.3 496 240 496L336 496C353.7 496 368 481.7 368 464L368 440L403 475C406.2 478.2 410.5 480 415 480C424.4 480 432 472.4 432 463L432 368.9C432 359.5 424.4 351.9 415 351.9C410.5 351.9 406.2 353.7 403 356.9L368 391.9L368 367.9C368 350.2 353.7 335.9 336 335.9L240 335.9C222.3 335.9 208 350.2 208 367.9z"/></svg>`,
84504
- "file-word": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM263.4 338.8C260.5 325.9 247.7 317.7 234.8 320.6C221.9 323.5 213.7 336.3 216.6 349.2L248.6 493.2C250.9 503.7 260 511.4 270.8 512C281.6 512.6 291.4 505.9 294.8 495.6L320 419.9L345.2 495.6C348.6 505.8 358.4 512.5 369.2 512C380 511.5 389.1 503.8 391.4 493.2L423.4 349.2C426.3 336.3 418.1 323.4 405.2 320.6C392.3 317.8 379.4 325.9 376.6 338.8L363.4 398.2L342.8 336.4C339.5 326.6 330.4 320 320 320C309.6 320 300.5 326.6 297.2 336.4L276.6 398.2L263.4 338.8z"/></svg>`,
84505
- "file-zipper": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM192 136C192 149.3 202.7 160 216 160L264 160C277.3 160 288 149.3 288 136C288 122.7 277.3 112 264 112L216 112C202.7 112 192 122.7 192 136zM192 232C192 245.3 202.7 256 216 256L264 256C277.3 256 288 245.3 288 232C288 218.7 277.3 208 264 208L216 208C202.7 208 192 218.7 192 232zM256 304L224 304C206.3 304 192 318.3 192 336L192 384C192 410.5 213.5 432 240 432C266.5 432 288 410.5 288 384L288 336C288 318.3 273.7 304 256 304zM240 368C248.8 368 256 375.2 256 384C256 392.8 248.8 400 240 400C231.2 400 224 392.8 224 384C224 375.2 231.2 368 240 368z"/></svg>`,
84506
- "grip-vertical": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M128 40c0-22.1-17.9-40-40-40L40 0C17.9 0 0 17.9 0 40L0 88c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM0 424l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 40c0-22.1-17.9-40-40-40L232 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM192 232l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 424c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48z"/></svg>`,
84507
- indeterminate: `<svg part="indeterminate-icon" class="icon" viewBox="0 0 16 16"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round"><g stroke="currentColor" stroke-width="2"><g transform="translate(2.285714 6.857143)"><path d="M10.2857143,1.14285714 L1.14285714,1.14285714"/></g></g></g></svg>`,
84508
- minus: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg>`,
84509
- pause: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48L48 32zm224 0c-26.5 0-48 21.5-48 48l0 352c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0z"/></svg>`,
84510
- play: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z"/></svg>`,
84511
- plus: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M352 128C352 110.3 337.7 96 320 96C302.3 96 288 110.3 288 128L288 288L128 288C110.3 288 96 302.3 96 320C96 337.7 110.3 352 128 352L288 352L288 512C288 529.7 302.3 544 320 544C337.7 544 352 529.7 352 512L352 352L512 352C529.7 352 544 337.7 544 320C544 302.3 529.7 288 512 288L352 288L352 128z"/></svg>`,
84512
- star: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg>`,
84513
- upload: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M352 173.3L352 384C352 401.7 337.7 416 320 416C302.3 416 288 401.7 288 384L288 173.3L246.6 214.7C234.1 227.2 213.8 227.2 201.3 214.7C188.8 202.2 188.8 181.9 201.3 169.4L297.3 73.4C309.8 60.9 330.1 60.9 342.6 73.4L438.6 169.4C451.1 181.9 451.1 202.2 438.6 214.7C426.1 227.2 405.8 227.2 393.3 214.7L352 173.3zM320 464C364.2 464 400 428.2 400 384L480 384C515.3 384 544 412.7 544 448L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 448C96 412.7 124.7 384 160 384L240 384C240 428.2 275.8 464 320 464zM464 488C477.3 488 488 477.3 488 464C488 450.7 477.3 440 464 440C450.7 440 440 450.7 440 464C440 477.3 450.7 488 464 488z"/></svg>`,
84514
- user: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240zm-29.7 56C95.8 304 16 383.8 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3l-59.4 0z"/></svg>`,
84515
- xmark: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg>`
84516
- },
84517
- //
84518
- // Regular variant
84519
- //
84520
- regular: {
84521
- "circle-question": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>`,
84522
- "circle-xmark": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM167 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z"/></svg>`,
84523
- copy: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l133.5 0c4.2 0 8.3 1.7 11.3 4.7l58.5 58.5c3 3 4.7 7.1 4.7 11.3L400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-197.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-48 0 0 16c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l16 0 0-48-16 0z"/></svg>`,
84524
- eye: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M288 80C222.8 80 169.2 109.6 128.1 147.7 89.6 183.5 63 226 49.4 256 63 286 89.6 328.5 128.1 364.3 169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256 513 226 486.4 183.5 447.9 147.7 406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1 3.3 7.9 3.3 16.7 0 24.6-14.9 35.7-46.2 87.7-93 131.1-47.1 43.7-111.8 80.6-192.6 80.6S142.5 443.2 95.4 399.4c-46.8-43.5-78.1-95.4-93-131.1-3.3-7.9-3.3-16.7 0-24.6 14.9-35.7 46.2-87.7 93-131.1zM288 336c44.2 0 80-35.8 80-80 0-29.6-16.1-55.5-40-69.3-1.4 59.7-49.6 107.9-109.3 109.3 13.8 23.9 39.7 40 69.3 40zm-79.6-88.4c2.5 .3 5 .4 7.6 .4 35.3 0 64-28.7 64-64 0-2.6-.2-5.1-.4-7.6-37.4 3.9-67.2 33.7-71.1 71.1zm45.6-115c10.8-3 22.2-4.5 33.9-4.5 8.8 0 17.5 .9 25.8 2.6 .3 .1 .5 .1 .8 .2 57.9 12.2 101.4 63.7 101.4 125.2 0 70.7-57.3 128-128 128-61.6 0-113-43.5-125.2-101.4-1.8-8.6-2.8-17.5-2.8-26.6 0-11 1.4-21.8 4-32 .2-.7 .3-1.3 .5-1.9 11.9-43.4 46.1-77.6 89.5-89.5z"/></svg>`,
84525
- "eye-slash": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM176.9 111.1c32.1-18.9 69.2-31.1 111.1-31.1 65.2 0 118.8 29.6 159.9 67.7 38.5 35.7 65.1 78.3 78.6 108.3-13.6 30-40.2 72.5-78.6 108.3-3.1 2.8-6.2 5.6-9.4 8.4L393.8 328c14-20.5 22.2-45.3 22.2-72 0-70.7-57.3-128-128-128-26.7 0-51.5 8.2-72 22.2l-39.1-39.1zm182 182l-108-108c11.1-5.8 23.7-9.1 37.1-9.1 44.2 0 80 35.8 80 80 0 13.4-3.3 26-9.1 37.1zM103.4 173.2l-34-34c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6L352.2 422c-20 6.4-41.4 10-64.2 10-65.2 0-118.8-29.6-159.9-67.7-38.5-35.7-65.1-78.3-78.6-108.3 10.4-23.1 28.6-53.6 54-82.8z"/></svg>`,
84526
- star: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M288.1-32c9 0 17.3 5.1 21.4 13.1L383 125.3 542.9 150.7c8.9 1.4 16.3 7.7 19.1 16.3s.5 18-5.8 24.4L441.7 305.9 467 465.8c1.4 8.9-2.3 17.9-9.6 23.2s-17 6.1-25 2L288.1 417.6 143.8 491c-8 4.1-17.7 3.3-25-2s-11-14.2-9.6-23.2L134.4 305.9 20 191.4c-6.4-6.4-8.6-15.8-5.8-24.4s10.1-14.9 19.1-16.3l159.9-25.4 73.6-144.2c4.1-8 12.4-13.1 21.4-13.1zm0 76.8L230.3 158c-3.5 6.8-10 11.6-17.6 12.8l-125.5 20 89.8 89.9c5.4 5.4 7.9 13.1 6.7 20.7l-19.8 125.5 113.3-57.6c6.8-3.5 14.9-3.5 21.8 0l113.3 57.6-19.8-125.5c-1.2-7.6 1.3-15.3 6.7-20.7l89.8-89.9-125.5-20c-7.6-1.2-14.1-6-17.6-12.8L288.1 44.8z"/></svg>`
84527
- }
84528
- };
84529
- var systemLibrary = {
84530
- name: "system",
84531
- resolver: (name, _family = "classic", variant = "solid") => {
84532
- let collection = icons[variant];
84533
- let svg = collection[name] ?? icons.regular[name] ?? icons.regular["circle-question"];
84534
- if (svg) {
84535
- return dataUri(svg);
84536
- }
84537
- return "";
84538
- }
84539
- };
84540
- var library_system_default = systemLibrary;
84541
84482
  var basePath = "";
84542
84483
  var kitCode = "";
84543
84484
  function setBasePath(path) {
@@ -84574,24 +84515,20 @@ function getKitCode() {
84574
84515
  }
84575
84516
  return kitCode;
84576
84517
  }
84577
- var FA_VERSION = "7.1.0";
84518
+ var FA_VERSION = "7.2.0";
84578
84519
  function getIconUrl(name, family, variant) {
84579
84520
  const kitCode2 = getKitCode();
84580
84521
  const isPro = kitCode2.length > 0;
84581
84522
  let folder = "solid";
84582
- if (family === "notdog") {
84583
- if (variant === "solid") folder = "notdog-solid";
84584
- if (variant === "duo-solid") folder = "notdog-duo-solid";
84585
- }
84586
- if (family === "notdog-duo") {
84587
- folder = "notdog-duo-solid";
84588
- }
84589
84523
  if (family === "chisel") {
84590
84524
  folder = "chisel-regular";
84591
84525
  }
84592
84526
  if (family === "etch") {
84593
84527
  folder = "etch-solid";
84594
84528
  }
84529
+ if (family === "graphite") {
84530
+ folder = "graphite-thin";
84531
+ }
84595
84532
  if (family === "jelly") {
84596
84533
  folder = "jelly-regular";
84597
84534
  if (variant === "duo-regular") folder = "jelly-duo-regular";
@@ -84603,6 +84540,13 @@ function getIconUrl(name, family, variant) {
84603
84540
  if (family === "jelly-fill") {
84604
84541
  folder = "jelly-fill-regular";
84605
84542
  }
84543
+ if (family === "notdog") {
84544
+ if (variant === "solid") folder = "notdog-solid";
84545
+ if (variant === "duo-solid") folder = "notdog-duo-solid";
84546
+ }
84547
+ if (family === "notdog-duo") {
84548
+ folder = "notdog-duo-solid";
84549
+ }
84606
84550
  if (family === "slab") {
84607
84551
  if (variant === "solid" || variant === "regular") folder = "slab-regular";
84608
84552
  if (variant === "press-regular") folder = "slab-press-regular";
@@ -84613,9 +84557,6 @@ function getIconUrl(name, family, variant) {
84613
84557
  if (family === "thumbprint") {
84614
84558
  folder = "thumbprint-light";
84615
84559
  }
84616
- if (family === "whiteboard") {
84617
- folder = "whiteboard-semibold";
84618
- }
84619
84560
  if (family === "utility") {
84620
84561
  folder = "utility-semibold";
84621
84562
  }
@@ -84625,24 +84566,27 @@ function getIconUrl(name, family, variant) {
84625
84566
  if (family === "utility-fill") {
84626
84567
  folder = "utility-fill-semibold";
84627
84568
  }
84569
+ if (family === "whiteboard") {
84570
+ folder = "whiteboard-semibold";
84571
+ }
84628
84572
  if (family === "classic") {
84629
84573
  if (variant === "thin") folder = "thin";
84630
84574
  if (variant === "light") folder = "light";
84631
84575
  if (variant === "regular") folder = "regular";
84632
84576
  if (variant === "solid") folder = "solid";
84633
84577
  }
84634
- if (family === "sharp") {
84635
- if (variant === "thin") folder = "sharp-thin";
84636
- if (variant === "light") folder = "sharp-light";
84637
- if (variant === "regular") folder = "sharp-regular";
84638
- if (variant === "solid") folder = "sharp-solid";
84639
- }
84640
84578
  if (family === "duotone") {
84641
84579
  if (variant === "thin") folder = "duotone-thin";
84642
84580
  if (variant === "light") folder = "duotone-light";
84643
84581
  if (variant === "regular") folder = "duotone-regular";
84644
84582
  if (variant === "solid") folder = "duotone";
84645
84583
  }
84584
+ if (family === "sharp") {
84585
+ if (variant === "thin") folder = "sharp-thin";
84586
+ if (variant === "light") folder = "sharp-light";
84587
+ if (variant === "regular") folder = "sharp-regular";
84588
+ if (variant === "solid") folder = "sharp-solid";
84589
+ }
84646
84590
  if (family === "sharp-duotone") {
84647
84591
  if (variant === "thin") folder = "sharp-duotone-thin";
84648
84592
  if (variant === "light") folder = "sharp-duotone-light";
@@ -84690,6 +84634,65 @@ var library = {
84690
84634
  }
84691
84635
  };
84692
84636
  var library_default_default = library;
84637
+ function dataUri(svg) {
84638
+ return `data:image/svg+xml,${encodeURIComponent(svg)}`;
84639
+ }
84640
+ var icons = {
84641
+ //
84642
+ // Solid variant
84643
+ //
84644
+ solid: {
84645
+ check: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"/></svg>`,
84646
+ "chevron-down": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg>`,
84647
+ "chevron-left": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>`,
84648
+ "chevron-right": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M311.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L243.2 256 73.9 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>`,
84649
+ circle: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0z"/></svg>`,
84650
+ eyedropper: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M341.6 29.2l-101.6 101.6-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4 101.6-101.6c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4-26.6 39.9c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4l39.9-26.6 42.4 0c21.2 0 41.6-8.4 56.6-23.4l109.4-109.4-45.3-45.3-109.4 109.4c-3 3-7.1 4.7-11.3 4.7l-36.1 0 0-36.1c0-4.2 1.7-8.3 4.7-11.3l109.4-109.4-45.3-45.3-109.4 109.4z"/></svg>`,
84651
+ file: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M192 64C156.7 64 128 92.7 128 128L128 512C128 547.3 156.7 576 192 576L448 576C483.3 576 512 547.3 512 512L512 234.5C512 217.5 505.3 201.2 493.3 189.2L386.7 82.7C374.7 70.7 358.5 64 341.5 64L192 64zM453.5 240L360 240C346.7 240 336 229.3 336 216L336 122.5L453.5 240z"/></svg>`,
84652
+ "file-audio": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM389.8 307.7C380.7 301.4 368.3 303.6 362 312.7C355.7 321.8 357.9 334.2 367 340.5C390.9 357.2 406.4 384.8 406.4 416C406.4 447.2 390.8 474.9 367 491.5C357.9 497.8 355.7 510.3 362 519.3C368.3 528.3 380.8 530.6 389.8 524.3C423.9 500.5 446.4 460.8 446.4 416C446.4 371.2 424 331.5 389.8 307.7zM208 376C199.2 376 192 383.2 192 392L192 440C192 448.8 199.2 456 208 456L232 456L259.2 490C262.2 493.8 266.8 496 271.7 496L272 496C280.8 496 288 488.8 288 480L288 352C288 343.2 280.8 336 272 336L271.7 336C266.8 336 262.2 338.2 259.2 342L232 376L208 376zM336 448.2C336 458.9 346.5 466.4 354.9 459.8C367.8 449.5 376 433.7 376 416C376 398.3 367.8 382.5 354.9 372.2C346.5 365.5 336 373.1 336 383.8L336 448.3z"/></svg>`,
84653
+ "file-code": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM282.2 359.6C290.8 349.5 289.7 334.4 279.6 325.8C269.5 317.2 254.4 318.3 245.8 328.4L197.8 384.4C190.1 393.4 190.1 406.6 197.8 415.6L245.8 471.6C254.4 481.7 269.6 482.8 279.6 474.2C289.6 465.6 290.8 450.4 282.2 440.4L247.6 400L282.2 359.6zM394.2 328.4C385.6 318.3 370.4 317.2 360.4 325.8C350.4 334.4 349.2 349.6 357.8 359.6L392.4 400L357.8 440.4C349.2 450.5 350.3 465.6 360.4 474.2C370.5 482.8 385.6 481.7 394.2 471.6L442.2 415.6C449.9 406.6 449.9 393.4 442.2 384.4L394.2 328.4z"/></svg>`,
84654
+ "file-excel": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM292 330.7C284.6 319.7 269.7 316.7 258.7 324C247.7 331.3 244.7 346.3 252 357.3L291.2 416L252 474.7C244.6 485.7 247.6 500.6 258.7 508C269.8 515.4 284.6 512.4 292 501.3L320 459.3L348 501.3C355.4 512.3 370.3 515.3 381.3 508C392.3 500.7 395.3 485.7 388 474.7L348.8 416L388 357.3C395.4 346.3 392.4 331.4 381.3 324C370.2 316.6 355.4 319.6 348 330.7L320 372.7L292 330.7z"/></svg>`,
84655
+ "file-image": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM256 320C256 302.3 241.7 288 224 288C206.3 288 192 302.3 192 320C192 337.7 206.3 352 224 352C241.7 352 256 337.7 256 320zM220.6 512L419.4 512C435.2 512 448 499.2 448 483.4C448 476.1 445.2 469 440.1 463.7L343.3 361.9C337.3 355.6 328.9 352 320.1 352L319.8 352C311 352 302.7 355.6 296.6 361.9L199.9 463.7C194.8 469 192 476.1 192 483.4C192 499.2 204.8 512 220.6 512z"/></svg>`,
84656
+ "file-pdf": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 64C92.7 64 64 92.7 64 128L64 512C64 547.3 92.7 576 128 576L208 576L208 464C208 428.7 236.7 400 272 400L448 400L448 234.5C448 217.5 441.3 201.2 429.3 189.2L322.7 82.7C310.7 70.7 294.5 64 277.5 64L128 64zM389.5 240L296 240C282.7 240 272 229.3 272 216L272 122.5L389.5 240zM272 444C261 444 252 453 252 464L252 592C252 603 261 612 272 612C283 612 292 603 292 592L292 564L304 564C337.1 564 364 537.1 364 504C364 470.9 337.1 444 304 444L272 444zM304 524L292 524L292 484L304 484C315 484 324 493 324 504C324 515 315 524 304 524zM400 444C389 444 380 453 380 464L380 592C380 603 389 612 400 612L432 612C460.7 612 484 588.7 484 560L484 496C484 467.3 460.7 444 432 444L400 444zM420 572L420 484L432 484C438.6 484 444 489.4 444 496L444 560C444 566.6 438.6 572 432 572L420 572zM508 464L508 592C508 603 517 612 528 612C539 612 548 603 548 592L548 548L576 548C587 548 596 539 596 528C596 517 587 508 576 508L548 508L548 484L576 484C587 484 596 475 596 464C596 453 587 444 576 444L528 444C517 444 508 453 508 464z"/></svg>`,
84657
+ "file-powerpoint": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM280 320C266.7 320 256 330.7 256 344L256 488C256 501.3 266.7 512 280 512C293.3 512 304 501.3 304 488L304 464L328 464C367.8 464 400 431.8 400 392C400 352.2 367.8 320 328 320L280 320zM328 416L304 416L304 368L328 368C341.3 368 352 378.7 352 392C352 405.3 341.3 416 328 416z"/></svg>`,
84658
+ "file-video": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM208 368L208 464C208 481.7 222.3 496 240 496L336 496C353.7 496 368 481.7 368 464L368 440L403 475C406.2 478.2 410.5 480 415 480C424.4 480 432 472.4 432 463L432 368.9C432 359.5 424.4 351.9 415 351.9C410.5 351.9 406.2 353.7 403 356.9L368 391.9L368 367.9C368 350.2 353.7 335.9 336 335.9L240 335.9C222.3 335.9 208 350.2 208 367.9z"/></svg>`,
84659
+ "file-word": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM263.4 338.8C260.5 325.9 247.7 317.7 234.8 320.6C221.9 323.5 213.7 336.3 216.6 349.2L248.6 493.2C250.9 503.7 260 511.4 270.8 512C281.6 512.6 291.4 505.9 294.8 495.6L320 419.9L345.2 495.6C348.6 505.8 358.4 512.5 369.2 512C380 511.5 389.1 503.8 391.4 493.2L423.4 349.2C426.3 336.3 418.1 323.4 405.2 320.6C392.3 317.8 379.4 325.9 376.6 338.8L363.4 398.2L342.8 336.4C339.5 326.6 330.4 320 320 320C309.6 320 300.5 326.6 297.2 336.4L276.6 398.2L263.4 338.8z"/></svg>`,
84660
+ "file-zipper": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM192 136C192 149.3 202.7 160 216 160L264 160C277.3 160 288 149.3 288 136C288 122.7 277.3 112 264 112L216 112C202.7 112 192 122.7 192 136zM192 232C192 245.3 202.7 256 216 256L264 256C277.3 256 288 245.3 288 232C288 218.7 277.3 208 264 208L216 208C202.7 208 192 218.7 192 232zM256 304L224 304C206.3 304 192 318.3 192 336L192 384C192 410.5 213.5 432 240 432C266.5 432 288 410.5 288 384L288 336C288 318.3 273.7 304 256 304zM240 368C248.8 368 256 375.2 256 384C256 392.8 248.8 400 240 400C231.2 400 224 392.8 224 384C224 375.2 231.2 368 240 368z"/></svg>`,
84661
+ "grip-vertical": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M128 40c0-22.1-17.9-40-40-40L40 0C17.9 0 0 17.9 0 40L0 88c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM0 424l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 40c0-22.1-17.9-40-40-40L232 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM192 232l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 424c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48z"/></svg>`,
84662
+ indeterminate: `<svg part="indeterminate-icon" class="icon" viewBox="0 0 16 16"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round"><g stroke="currentColor" stroke-width="2"><g transform="translate(2.285714 6.857143)"><path d="M10.2857143,1.14285714 L1.14285714,1.14285714"/></g></g></g></svg>`,
84663
+ minus: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg>`,
84664
+ pause: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48L48 32zm224 0c-26.5 0-48 21.5-48 48l0 352c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0z"/></svg>`,
84665
+ play: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z"/></svg>`,
84666
+ plus: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M352 128C352 110.3 337.7 96 320 96C302.3 96 288 110.3 288 128L288 288L128 288C110.3 288 96 302.3 96 320C96 337.7 110.3 352 128 352L288 352L288 512C288 529.7 302.3 544 320 544C337.7 544 352 529.7 352 512L352 352L512 352C529.7 352 544 337.7 544 320C544 302.3 529.7 288 512 288L352 288L352 128z"/></svg>`,
84667
+ star: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg>`,
84668
+ upload: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M352 173.3L352 384C352 401.7 337.7 416 320 416C302.3 416 288 401.7 288 384L288 173.3L246.6 214.7C234.1 227.2 213.8 227.2 201.3 214.7C188.8 202.2 188.8 181.9 201.3 169.4L297.3 73.4C309.8 60.9 330.1 60.9 342.6 73.4L438.6 169.4C451.1 181.9 451.1 202.2 438.6 214.7C426.1 227.2 405.8 227.2 393.3 214.7L352 173.3zM320 464C364.2 464 400 428.2 400 384L480 384C515.3 384 544 412.7 544 448L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 448C96 412.7 124.7 384 160 384L240 384C240 428.2 275.8 464 320 464zM464 488C477.3 488 488 477.3 488 464C488 450.7 477.3 440 464 440C450.7 440 440 450.7 440 464C440 477.3 450.7 488 464 488z"/></svg>`,
84669
+ user: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240zm-29.7 56C95.8 304 16 383.8 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3l-59.4 0z"/></svg>`,
84670
+ xmark: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg>`
84671
+ },
84672
+ //
84673
+ // Regular variant
84674
+ //
84675
+ regular: {
84676
+ "circle-question": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>`,
84677
+ "circle-xmark": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM167 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z"/></svg>`,
84678
+ copy: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l133.5 0c4.2 0 8.3 1.7 11.3 4.7l58.5 58.5c3 3 4.7 7.1 4.7 11.3L400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-197.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-48 0 0 16c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l16 0 0-48-16 0z"/></svg>`,
84679
+ eye: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M288 80C222.8 80 169.2 109.6 128.1 147.7 89.6 183.5 63 226 49.4 256 63 286 89.6 328.5 128.1 364.3 169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256 513 226 486.4 183.5 447.9 147.7 406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1 3.3 7.9 3.3 16.7 0 24.6-14.9 35.7-46.2 87.7-93 131.1-47.1 43.7-111.8 80.6-192.6 80.6S142.5 443.2 95.4 399.4c-46.8-43.5-78.1-95.4-93-131.1-3.3-7.9-3.3-16.7 0-24.6 14.9-35.7 46.2-87.7 93-131.1zM288 336c44.2 0 80-35.8 80-80 0-29.6-16.1-55.5-40-69.3-1.4 59.7-49.6 107.9-109.3 109.3 13.8 23.9 39.7 40 69.3 40zm-79.6-88.4c2.5 .3 5 .4 7.6 .4 35.3 0 64-28.7 64-64 0-2.6-.2-5.1-.4-7.6-37.4 3.9-67.2 33.7-71.1 71.1zm45.6-115c10.8-3 22.2-4.5 33.9-4.5 8.8 0 17.5 .9 25.8 2.6 .3 .1 .5 .1 .8 .2 57.9 12.2 101.4 63.7 101.4 125.2 0 70.7-57.3 128-128 128-61.6 0-113-43.5-125.2-101.4-1.8-8.6-2.8-17.5-2.8-26.6 0-11 1.4-21.8 4-32 .2-.7 .3-1.3 .5-1.9 11.9-43.4 46.1-77.6 89.5-89.5z"/></svg>`,
84680
+ "eye-slash": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM176.9 111.1c32.1-18.9 69.2-31.1 111.1-31.1 65.2 0 118.8 29.6 159.9 67.7 38.5 35.7 65.1 78.3 78.6 108.3-13.6 30-40.2 72.5-78.6 108.3-3.1 2.8-6.2 5.6-9.4 8.4L393.8 328c14-20.5 22.2-45.3 22.2-72 0-70.7-57.3-128-128-128-26.7 0-51.5 8.2-72 22.2l-39.1-39.1zm182 182l-108-108c11.1-5.8 23.7-9.1 37.1-9.1 44.2 0 80 35.8 80 80 0 13.4-3.3 26-9.1 37.1zM103.4 173.2l-34-34c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6L352.2 422c-20 6.4-41.4 10-64.2 10-65.2 0-118.8-29.6-159.9-67.7-38.5-35.7-65.1-78.3-78.6-108.3 10.4-23.1 28.6-53.6 54-82.8z"/></svg>`,
84681
+ star: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M288.1-32c9 0 17.3 5.1 21.4 13.1L383 125.3 542.9 150.7c8.9 1.4 16.3 7.7 19.1 16.3s.5 18-5.8 24.4L441.7 305.9 467 465.8c1.4 8.9-2.3 17.9-9.6 23.2s-17 6.1-25 2L288.1 417.6 143.8 491c-8 4.1-17.7 3.3-25-2s-11-14.2-9.6-23.2L134.4 305.9 20 191.4c-6.4-6.4-8.6-15.8-5.8-24.4s10.1-14.9 19.1-16.3l159.9-25.4 73.6-144.2c4.1-8 12.4-13.1 21.4-13.1zm0 76.8L230.3 158c-3.5 6.8-10 11.6-17.6 12.8l-125.5 20 89.8 89.9c5.4 5.4 7.9 13.1 6.7 20.7l-19.8 125.5 113.3-57.6c6.8-3.5 14.9-3.5 21.8 0l113.3 57.6-19.8-125.5c-1.2-7.6 1.3-15.3 6.7-20.7l89.8-89.9-125.5-20c-7.6-1.2-14.1-6-17.6-12.8L288.1 44.8z"/></svg>`
84682
+ }
84683
+ };
84684
+ var systemLibrary = {
84685
+ name: "system",
84686
+ resolver: (name, _family = "classic", variant = "solid") => {
84687
+ let collection = icons[variant];
84688
+ let svg = collection[name] ?? icons.regular[name] ?? icons.regular["circle-question"];
84689
+ if (svg) {
84690
+ return dataUri(svg);
84691
+ }
84692
+ return "";
84693
+ }
84694
+ };
84695
+ var library_system_default = systemLibrary;
84693
84696
  var defaultIconFamily = "classic";
84694
84697
  var registry = [library_default_default, library_system_default];
84695
84698
  var watchedIcons = [];
@@ -86084,6 +86087,7 @@ var badge_styles_default = i$d`
86084
86087
  font-size: max(var(--wa-font-size-2xs), 0.75em);
86085
86088
  font-weight: var(--wa-font-weight-semibold);
86086
86089
  line-height: 1;
86090
+ vertical-align: middle;
86087
86091
  white-space: nowrap;
86088
86092
  background-color: var(--wa-color-fill-loud, var(--wa-color-brand-fill-loud));
86089
86093
  border-color: transparent;
@@ -86171,11 +86175,13 @@ var badge_styles_default = i$d`
86171
86175
  }
86172
86176
  }
86173
86177
 
86174
- ::slotted(wa-icon) {
86175
- margin-inline-end: var(--wa-space-2xs, 0.25em);
86176
- opacity: 90%;
86177
- line-height: 1;
86178
- height: 0.85em;
86178
+ /* Slots */
86179
+ slot[name='start']::slotted(*) {
86180
+ margin-inline-end: 0.375em;
86181
+ }
86182
+
86183
+ slot[name='end']::slotted(*) {
86184
+ margin-inline-start: 0.375em;
86179
86185
  }
86180
86186
  `;
86181
86187
  var WaBadge = class extends WebAwesomeElement {
@@ -86187,7 +86193,13 @@ var WaBadge = class extends WebAwesomeElement {
86187
86193
  this.attention = "none";
86188
86194
  }
86189
86195
  render() {
86190
- return b` <slot part="base" role="status"></slot>`;
86196
+ return b`
86197
+ <slot name="start" part="start"></slot>
86198
+
86199
+ <slot part="base" role="status"></slot>
86200
+
86201
+ <slot name="end" part="end"></slot>
86202
+ `;
86191
86203
  }
86192
86204
  };
86193
86205
  WaBadge.css = [variants_styles_default, badge_styles_default];
@@ -86580,7 +86592,7 @@ var WebAwesomeFormAssociatedElement = class extends WebAwesomeElement {
86580
86592
  }
86581
86593
  this.setCustomValidity(this.customError || "");
86582
86594
  }
86583
- if (changedProperties.has("value") || changedProperties.has("disabled")) {
86595
+ if (changedProperties.has("value") || changedProperties.has("disabled") || changedProperties.has("defaultValue")) {
86584
86596
  const value = this.value;
86585
86597
  if (Array.isArray(value)) {
86586
86598
  if (this.name) {
@@ -86600,8 +86612,8 @@ var WebAwesomeFormAssociatedElement = class extends WebAwesomeElement {
86600
86612
  this.toggleAttribute("disabled", this.disabled);
86601
86613
  }
86602
86614
  }
86603
- this.updateValidity();
86604
86615
  super.willUpdate(changedProperties);
86616
+ this.updateValidity();
86605
86617
  }
86606
86618
  get labels() {
86607
86619
  return this.internals.labels;
@@ -86776,42 +86788,104 @@ __decorateClass([
86776
86788
  __decorateClass([
86777
86789
  n$a({ attribute: false, state: true, type: Object })
86778
86790
  ], WebAwesomeFormAssociatedElement.prototype, "validity", 1);
86779
- var button_styles_default = i$d`
86780
- @layer wa-component {
86781
- :host {
86782
- display: inline-block;
86783
-
86784
- /* Workaround because Chrome doesn't like :host(:has()) below
86785
- * https://issues.chromium.org/issues/40062355
86786
- * Firefox doesn't like this nested rule, so both are needed */
86787
- &:has(wa-badge) {
86788
- position: relative;
86791
+ var HasSlotController = class {
86792
+ constructor(host, ...slotNames) {
86793
+ this.slotNames = [];
86794
+ this.handleSlotChange = (event) => {
86795
+ const slot = event.target;
86796
+ if (this.slotNames.includes("[default]") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {
86797
+ this.host.requestUpdate();
86789
86798
  }
86790
- }
86791
-
86792
- /* Apply relative positioning only when needed to position wa-badge
86793
- * This avoids creating a new stacking context for every button */
86794
- :host(:has(wa-badge)) {
86795
- position: relative;
86796
- }
86799
+ };
86800
+ (this.host = host).addController(this);
86801
+ this.slotNames = slotNames;
86797
86802
  }
86798
-
86799
- .button {
86800
- display: inline-flex;
86801
- align-items: center;
86802
- justify-content: center;
86803
- text-decoration: none;
86804
- user-select: none;
86805
- -webkit-user-select: none;
86806
- white-space: nowrap;
86807
- vertical-align: middle;
86808
- transition-property: background, border, box-shadow, color, opacity;
86809
- transition-duration: var(--wa-transition-fast);
86810
- transition-timing-function: var(--wa-transition-easing);
86811
- cursor: pointer;
86812
- padding: 0 var(--wa-form-control-padding-inline);
86813
- font-family: inherit;
86814
- font-size: inherit;
86803
+ hasDefaultSlot() {
86804
+ if (!this.host.childNodes) {
86805
+ return false;
86806
+ }
86807
+ return [...this.host.childNodes].some((node) => {
86808
+ if (node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== "") {
86809
+ return true;
86810
+ }
86811
+ if (node.nodeType === Node.ELEMENT_NODE) {
86812
+ const el = node;
86813
+ const tagName = el.tagName.toLowerCase();
86814
+ if (tagName === "wa-visually-hidden") {
86815
+ return false;
86816
+ }
86817
+ if (!el.hasAttribute("slot")) {
86818
+ return true;
86819
+ }
86820
+ }
86821
+ return false;
86822
+ });
86823
+ }
86824
+ hasNamedSlot(name) {
86825
+ return this.host.querySelector?.(`:scope > [slot="${name}"]`) !== null;
86826
+ }
86827
+ test(slotName) {
86828
+ return slotName === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);
86829
+ }
86830
+ hostConnected() {
86831
+ this.host.shadowRoot?.addEventListener?.("slotchange", this.handleSlotChange);
86832
+ }
86833
+ hostDisconnected() {
86834
+ this.host.shadowRoot?.removeEventListener?.("slotchange", this.handleSlotChange);
86835
+ }
86836
+ };
86837
+ var size_styles_default = i$d`
86838
+ :host([size='small']),
86839
+ .wa-size-s {
86840
+ font-size: var(--wa-font-size-s);
86841
+ }
86842
+
86843
+ :host([size='medium']),
86844
+ .wa-size-m {
86845
+ font-size: var(--wa-font-size-m);
86846
+ }
86847
+
86848
+ :host([size='large']),
86849
+ .wa-size-l {
86850
+ font-size: var(--wa-font-size-l);
86851
+ }
86852
+ `;
86853
+ var button_styles_default = i$d`
86854
+ @layer wa-component {
86855
+ :host {
86856
+ display: inline-block;
86857
+
86858
+ /* Workaround because Chrome doesn't like :host(:has()) below
86859
+ * https://issues.chromium.org/issues/40062355
86860
+ * Firefox doesn't like this nested rule, so both are needed */
86861
+ &:has(wa-badge) {
86862
+ position: relative;
86863
+ }
86864
+ }
86865
+
86866
+ /* Apply relative positioning only when needed to position wa-badge
86867
+ * This avoids creating a new stacking context for every button */
86868
+ :host(:has(wa-badge)) {
86869
+ position: relative;
86870
+ }
86871
+ }
86872
+
86873
+ .button {
86874
+ display: inline-flex;
86875
+ align-items: center;
86876
+ justify-content: center;
86877
+ text-decoration: none;
86878
+ user-select: none;
86879
+ -webkit-user-select: none;
86880
+ white-space: nowrap;
86881
+ vertical-align: middle;
86882
+ transition-property: background, border, box-shadow, color, opacity;
86883
+ transition-duration: var(--wa-transition-fast);
86884
+ transition-timing-function: var(--wa-transition-easing);
86885
+ cursor: pointer;
86886
+ padding: 0 var(--wa-form-control-padding-inline);
86887
+ font-family: inherit;
86888
+ font-size: inherit;
86815
86889
  font-weight: var(--wa-font-weight-action);
86816
86890
  line-height: calc(var(--wa-form-control-height) - var(--border-width) * 2);
86817
86891
  height: var(--wa-form-control-height);
@@ -87150,65 +87224,6 @@ var button_styles_default = i$d`
87150
87224
  border-end-end-radius: var(--wa-border-radius-pill);
87151
87225
  }
87152
87226
  `;
87153
- var HasSlotController = class {
87154
- constructor(host, ...slotNames) {
87155
- this.slotNames = [];
87156
- this.handleSlotChange = (event) => {
87157
- const slot = event.target;
87158
- if (this.slotNames.includes("[default]") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {
87159
- this.host.requestUpdate();
87160
- }
87161
- };
87162
- (this.host = host).addController(this);
87163
- this.slotNames = slotNames;
87164
- }
87165
- hasDefaultSlot() {
87166
- return [...this.host.childNodes].some((node) => {
87167
- if (node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== "") {
87168
- return true;
87169
- }
87170
- if (node.nodeType === Node.ELEMENT_NODE) {
87171
- const el = node;
87172
- const tagName = el.tagName.toLowerCase();
87173
- if (tagName === "wa-visually-hidden") {
87174
- return false;
87175
- }
87176
- if (!el.hasAttribute("slot")) {
87177
- return true;
87178
- }
87179
- }
87180
- return false;
87181
- });
87182
- }
87183
- hasNamedSlot(name) {
87184
- return this.host.querySelector(`:scope > [slot="${name}"]`) !== null;
87185
- }
87186
- test(slotName) {
87187
- return slotName === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);
87188
- }
87189
- hostConnected() {
87190
- this.host.shadowRoot.addEventListener("slotchange", this.handleSlotChange);
87191
- }
87192
- hostDisconnected() {
87193
- this.host.shadowRoot.removeEventListener("slotchange", this.handleSlotChange);
87194
- }
87195
- };
87196
- var size_styles_default = i$d`
87197
- :host([size='small']),
87198
- .wa-size-s {
87199
- font-size: var(--wa-font-size-s);
87200
- }
87201
-
87202
- :host([size='medium']),
87203
- .wa-size-m {
87204
- font-size: var(--wa-font-size-m);
87205
- }
87206
-
87207
- :host([size='large']),
87208
- .wa-size-l {
87209
- font-size: var(--wa-font-size-l);
87210
- }
87211
- `;
87212
87227
  const a = /* @__PURE__ */ Symbol.for(""), o$2 = (t4) => {
87213
87228
  if (t4?.r === a) return t4?._$litStatic$;
87214
87229
  }, i$1 = (t4, ...r3) => ({ _$litStatic$: r3.reduce((r4, e3, a3) => r4 + ((t5) => {
@@ -88008,28 +88023,6 @@ var WaSlideChangeEvent = class extends Event {
88008
88023
  this.detail = detail;
88009
88024
  }
88010
88025
  };
88011
- const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
88012
- let nanoid = (size2 = 21) => {
88013
- let id2 = "";
88014
- let bytes = crypto.getRandomValues(new Uint8Array(size2 |= 0));
88015
- while (size2--) {
88016
- id2 += urlAlphabet[bytes[size2] & 63];
88017
- }
88018
- return id2;
88019
- };
88020
- function clamp$1(value, min2, max2) {
88021
- const noNegativeZero = (n3) => Object.is(n3, -0) ? 0 : n3;
88022
- if (value < min2) {
88023
- return noNegativeZero(min2);
88024
- }
88025
- if (value > max2) {
88026
- return noNegativeZero(max2);
88027
- }
88028
- return noNegativeZero(value);
88029
- }
88030
- function uniqueId(prefix = "") {
88031
- return `${prefix}${nanoid()}`;
88032
- }
88033
88026
  var AutoplayController = class {
88034
88027
  constructor(host, tickCallback) {
88035
88028
  this.timerId = 0;
@@ -88240,6 +88233,28 @@ var carousel_styles_default = i$d`
88240
88233
  outline-offset: var(--wa-focus-ring-offset);
88241
88234
  }
88242
88235
  `;
88236
+ const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
88237
+ let nanoid = (size2 = 21) => {
88238
+ let id2 = "";
88239
+ let bytes = crypto.getRandomValues(new Uint8Array(size2 |= 0));
88240
+ while (size2--) {
88241
+ id2 += urlAlphabet[bytes[size2] & 63];
88242
+ }
88243
+ return id2;
88244
+ };
88245
+ function clamp$1(value, min2, max2) {
88246
+ const noNegativeZero = (n3) => Object.is(n3, -0) ? 0 : n3;
88247
+ if (value < min2) {
88248
+ return noNegativeZero(min2);
88249
+ }
88250
+ if (value > max2) {
88251
+ return noNegativeZero(max2);
88252
+ }
88253
+ return noNegativeZero(value);
88254
+ }
88255
+ function uniqueId(prefix = "") {
88256
+ return `${prefix}${nanoid()}`;
88257
+ }
88243
88258
  function waitForEvent(el, eventName) {
88244
88259
  return new Promise((resolve) => {
88245
88260
  function done(event) {
@@ -88262,15 +88277,24 @@ function animateWithClass(el, className) {
88262
88277
  if (el.classList.contains(className)) {
88263
88278
  return;
88264
88279
  }
88265
- el.classList.remove(className);
88266
88280
  el.classList.add(className);
88281
+ let resolved = false;
88267
88282
  let onEnd = () => {
88283
+ if (resolved) {
88284
+ return;
88285
+ }
88286
+ resolved = true;
88268
88287
  el.classList.remove(className);
88269
88288
  resolve();
88270
88289
  controller.abort();
88271
88290
  };
88272
88291
  el.addEventListener("animationend", onEnd, { once: true, signal });
88273
88292
  el.addEventListener("animationcancel", onEnd, { once: true, signal });
88293
+ requestAnimationFrame(() => {
88294
+ if (!resolved && el.getAnimations().length === 0) {
88295
+ onEnd();
88296
+ }
88297
+ });
88274
88298
  });
88275
88299
  }
88276
88300
  function parseDuration(duration) {
@@ -88896,81 +88920,6 @@ WaCarouselItem.css = carousel_item_styles_default;
88896
88920
  WaCarouselItem = __decorateClass([
88897
88921
  t$3("wa-carousel-item")
88898
88922
  ], WaCarouselItem);
88899
- var RequiredValidator = (options = {}) => {
88900
- let { validationElement, validationProperty } = options;
88901
- if (!validationElement) {
88902
- validationElement = Object.assign(document.createElement("input"), { required: true });
88903
- }
88904
- if (!validationProperty) {
88905
- validationProperty = "value";
88906
- }
88907
- const obj = {
88908
- observedAttributes: ["required"],
88909
- message: validationElement.validationMessage,
88910
- // @TODO: Add a translation.
88911
- checkValidity(element) {
88912
- const validity = {
88913
- message: "",
88914
- isValid: true,
88915
- invalidKeys: []
88916
- };
88917
- const isRequired = element.required ?? element.hasAttribute("required");
88918
- if (!isRequired) {
88919
- return validity;
88920
- }
88921
- const value = element[validationProperty];
88922
- const isEmpty2 = !value;
88923
- if (isEmpty2) {
88924
- validity.message = typeof obj.message === "function" ? obj.message(element) : obj.message || "";
88925
- validity.isValid = false;
88926
- validity.invalidKeys.push("valueMissing");
88927
- }
88928
- return validity;
88929
- }
88930
- };
88931
- return obj;
88932
- };
88933
- var form_control_styles_default = i$d`
88934
- :host {
88935
- display: flex;
88936
- flex-direction: column;
88937
- }
88938
-
88939
- /* Treat wrapped labels, inputs, and hints as direct children of the host element */
88940
- [part~='form-control'] {
88941
- display: contents;
88942
- }
88943
-
88944
- /* Label */
88945
- :is([part~='form-control-label'], [part~='label']):has(*:not(:empty)),
88946
- :is([part~='form-control-label'], [part~='label']).has-label {
88947
- display: inline-flex;
88948
- color: var(--wa-form-control-label-color);
88949
- font-weight: var(--wa-form-control-label-font-weight);
88950
- line-height: var(--wa-form-control-label-line-height);
88951
- margin-block-end: 0.5em;
88952
- }
88953
-
88954
- :host([required]) :is([part~='form-control-label'], [part~='label'])::after {
88955
- content: var(--wa-form-control-required-content);
88956
- margin-inline-start: var(--wa-form-control-required-content-offset);
88957
- color: var(--wa-form-control-required-content-color);
88958
- }
88959
-
88960
- /* Help text */
88961
- [part~='hint'] {
88962
- display: block;
88963
- color: var(--wa-form-control-hint-color);
88964
- font-weight: var(--wa-form-control-hint-font-weight);
88965
- line-height: var(--wa-form-control-hint-line-height);
88966
- margin-block-start: 0.5em;
88967
- font-size: var(--wa-font-size-smaller);
88968
-
88969
- &:not(.has-slotted, .has-hint) {
88970
- display: none;
88971
- }
88972
- }
88973
- `;
88974
88923
  var checkbox_styles_default = i$d`
88975
88924
  :host {
88976
88925
  --checked-icon-color: var(--wa-color-brand-on-loud);
@@ -89073,17 +89022,92 @@ var checkbox_styles_default = i$d`
89073
89022
  margin-inline-start: var(--wa-form-control-required-content-offset);
89074
89023
  }
89075
89024
  `;
89025
+ var RequiredValidator = (options = {}) => {
89026
+ let { validationElement, validationProperty } = options;
89027
+ if (!validationElement) {
89028
+ validationElement = Object.assign(document.createElement("input"), { required: true });
89029
+ }
89030
+ if (!validationProperty) {
89031
+ validationProperty = "value";
89032
+ }
89033
+ const obj = {
89034
+ observedAttributes: ["required"],
89035
+ message: validationElement.validationMessage,
89036
+ // @TODO: Add a translation.
89037
+ checkValidity(element) {
89038
+ const validity = {
89039
+ message: "",
89040
+ isValid: true,
89041
+ invalidKeys: []
89042
+ };
89043
+ const isRequired = element.required ?? element.hasAttribute("required");
89044
+ if (!isRequired) {
89045
+ return validity;
89046
+ }
89047
+ const value = element[validationProperty];
89048
+ const isEmpty2 = !value;
89049
+ if (isEmpty2) {
89050
+ validity.message = typeof obj.message === "function" ? obj.message(element) : obj.message || "";
89051
+ validity.isValid = false;
89052
+ validity.invalidKeys.push("valueMissing");
89053
+ }
89054
+ return validity;
89055
+ }
89056
+ };
89057
+ return obj;
89058
+ };
89059
+ var form_control_styles_default = i$d`
89060
+ :host {
89061
+ display: flex;
89062
+ flex-direction: column;
89063
+ }
89064
+
89065
+ /* Treat wrapped labels, inputs, and hints as direct children of the host element */
89066
+ [part~='form-control'] {
89067
+ display: contents;
89068
+ }
89069
+
89070
+ /* Label */
89071
+ :is([part~='form-control-label'], [part~='label']):has(*:not(:empty)),
89072
+ :is([part~='form-control-label'], [part~='label']).has-label {
89073
+ display: inline-flex;
89074
+ color: var(--wa-form-control-label-color);
89075
+ font-weight: var(--wa-form-control-label-font-weight);
89076
+ line-height: var(--wa-form-control-label-line-height);
89077
+ margin-block-end: 0.5em;
89078
+ }
89079
+
89080
+ :host([required]) :is([part~='form-control-label'], [part~='label'])::after {
89081
+ content: var(--wa-form-control-required-content);
89082
+ margin-inline-start: var(--wa-form-control-required-content-offset);
89083
+ color: var(--wa-form-control-required-content-color);
89084
+ }
89085
+
89086
+ /* Help text */
89087
+ [part~='hint'] {
89088
+ display: block;
89089
+ color: var(--wa-form-control-hint-color);
89090
+ font-weight: var(--wa-form-control-hint-font-weight);
89091
+ line-height: var(--wa-form-control-hint-line-height);
89092
+ margin-block-start: 0.5em;
89093
+ font-size: var(--wa-font-size-smaller);
89094
+
89095
+ &:not(.has-slotted, .has-hint) {
89096
+ display: none;
89097
+ }
89098
+ }
89099
+ `;
89076
89100
  var WaCheckbox = class extends WebAwesomeFormAssociatedElement {
89077
89101
  constructor() {
89078
89102
  super(...arguments);
89079
89103
  this.hasSlotController = new HasSlotController(this, "hint");
89080
89104
  this.title = "";
89081
- this.name = "";
89105
+ this.name = null;
89082
89106
  this._value = this.getAttribute("value") ?? null;
89083
89107
  this.size = "medium";
89084
89108
  this.disabled = false;
89085
89109
  this.indeterminate = false;
89086
- this.checked = this.hasAttribute("checked");
89110
+ this._checked = null;
89087
89111
  this.defaultChecked = this.hasAttribute("checked");
89088
89112
  this.required = false;
89089
89113
  this.hint = "";
@@ -89109,6 +89133,16 @@ var WaCheckbox = class extends WebAwesomeFormAssociatedElement {
89109
89133
  set value(val) {
89110
89134
  this._value = val;
89111
89135
  }
89136
+ get checked() {
89137
+ if (this.valueHasChanged) {
89138
+ return Boolean(this._checked);
89139
+ }
89140
+ return this._checked ?? this.defaultChecked;
89141
+ }
89142
+ set checked(val) {
89143
+ this._checked = Boolean(val);
89144
+ this.valueHasChanged = true;
89145
+ }
89112
89146
  handleClick() {
89113
89147
  this.hasInteracted = true;
89114
89148
  this.checked = !this.checked;
@@ -89117,11 +89151,12 @@ var WaCheckbox = class extends WebAwesomeFormAssociatedElement {
89117
89151
  this.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
89118
89152
  });
89119
89153
  }
89154
+ connectedCallback() {
89155
+ super.connectedCallback();
89156
+ this.handleDefaultCheckedChange();
89157
+ }
89120
89158
  handleDefaultCheckedChange() {
89121
- if (!this.hasInteracted && this.checked !== this.defaultChecked) {
89122
- this.checked = this.defaultChecked;
89123
- this.handleValueOrCheckedChange();
89124
- }
89159
+ this.handleValueOrCheckedChange();
89125
89160
  }
89126
89161
  handleValueOrCheckedChange() {
89127
89162
  this.setValue(this.checked ? this.value : null, this._value);
@@ -89141,17 +89176,12 @@ var WaCheckbox = class extends WebAwesomeFormAssociatedElement {
89141
89176
  }
89142
89177
  willUpdate(changedProperties) {
89143
89178
  super.willUpdate(changedProperties);
89144
- if (changedProperties.has("defaultChecked")) {
89145
- if (!this.hasInteracted) {
89146
- this.checked = this.defaultChecked;
89147
- }
89148
- }
89149
- if (changedProperties.has("value") || changedProperties.has("checked")) {
89179
+ if (changedProperties.has("value") || changedProperties.has("checked") || changedProperties.has("defaultChecked")) {
89150
89180
  this.handleValueOrCheckedChange();
89151
89181
  }
89152
89182
  }
89153
89183
  formResetCallback() {
89154
- this.checked = this.defaultChecked;
89184
+ this._checked = null;
89155
89185
  super.formResetCallback();
89156
89186
  this.handleValueOrCheckedChange();
89157
89187
  }
@@ -89180,7 +89210,7 @@ var WaCheckbox = class extends WebAwesomeFormAssociatedElement {
89180
89210
  class="input"
89181
89211
  type="checkbox"
89182
89212
  title=${this.title}
89183
- name=${this.name}
89213
+ name=${o$8(this.name)}
89184
89214
  value=${o$8(this._value)}
89185
89215
  .indeterminate=${l$1(this.indeterminate)}
89186
89216
  .checked=${l$1(this.checked)}
@@ -89234,7 +89264,7 @@ __decorateClass([
89234
89264
  ], WaCheckbox.prototype, "indeterminate", 2);
89235
89265
  __decorateClass([
89236
89266
  n$a({ type: Boolean, attribute: false })
89237
- ], WaCheckbox.prototype, "checked", 2);
89267
+ ], WaCheckbox.prototype, "checked", 1);
89238
89268
  __decorateClass([
89239
89269
  n$a({ type: Boolean, reflect: true, attribute: "checked" })
89240
89270
  ], WaCheckbox.prototype, "defaultChecked", 2);
@@ -89245,7 +89275,7 @@ __decorateClass([
89245
89275
  n$a()
89246
89276
  ], WaCheckbox.prototype, "hint", 2);
89247
89277
  __decorateClass([
89248
- watch("defaultChecked")
89278
+ watch(["checked", "defaultChecked"])
89249
89279
  ], WaCheckbox.prototype, "handleDefaultCheckedChange", 1);
89250
89280
  __decorateClass([
89251
89281
  watch(["checked", "indeterminate"])
@@ -89256,6 +89286,114 @@ __decorateClass([
89256
89286
  WaCheckbox = __decorateClass([
89257
89287
  t$3("wa-checkbox")
89258
89288
  ], WaCheckbox);
89289
+ function drag(container, options) {
89290
+ function move(pointerEvent) {
89291
+ const dims = container.getBoundingClientRect();
89292
+ const defaultView = container.ownerDocument.defaultView;
89293
+ const offsetX = dims.left + defaultView.pageXOffset;
89294
+ const offsetY = dims.top + defaultView.pageYOffset;
89295
+ const x2 = pointerEvent.pageX - offsetX;
89296
+ const y3 = pointerEvent.pageY - offsetY;
89297
+ if (options?.onMove) {
89298
+ options.onMove(x2, y3);
89299
+ }
89300
+ }
89301
+ function stop() {
89302
+ document.removeEventListener("pointermove", move);
89303
+ document.removeEventListener("pointerup", stop);
89304
+ if (options?.onStop) {
89305
+ options.onStop();
89306
+ }
89307
+ }
89308
+ document.addEventListener("pointermove", move, { passive: true });
89309
+ document.addEventListener("pointerup", stop);
89310
+ if (options?.initialEvent instanceof PointerEvent) {
89311
+ move(options.initialEvent);
89312
+ }
89313
+ }
89314
+ var supportsTouch = typeof window !== "undefined" && "ontouchstart" in window;
89315
+ var DraggableElement = class {
89316
+ constructor(el, options) {
89317
+ this.isActive = false;
89318
+ this.isDragging = false;
89319
+ this.handleDragStart = (event) => {
89320
+ const clientX = "touches" in event ? event.touches[0].clientX : event.clientX;
89321
+ const clientY = "touches" in event ? event.touches[0].clientY : event.clientY;
89322
+ if (this.isDragging || // Prevent right-clicks from triggering drags
89323
+ !supportsTouch && event.buttons > 1) {
89324
+ return;
89325
+ }
89326
+ this.isDragging = true;
89327
+ document.addEventListener("pointerup", this.handleDragStop);
89328
+ document.addEventListener("pointermove", this.handleDragMove);
89329
+ document.addEventListener("pointercancel", this.handleDragStop);
89330
+ document.addEventListener("touchend", this.handleDragStop);
89331
+ document.addEventListener("touchmove", this.handleDragMove);
89332
+ document.addEventListener("touchcancel", this.handleDragStop);
89333
+ this.options.start(clientX, clientY);
89334
+ };
89335
+ this.handleDragStop = (event) => {
89336
+ const clientX = "changedTouches" in event ? event.changedTouches[0].clientX : event.clientX;
89337
+ const clientY = "changedTouches" in event ? event.changedTouches[0].clientY : event.clientY;
89338
+ this.isDragging = false;
89339
+ document.removeEventListener("pointerup", this.handleDragStop);
89340
+ document.removeEventListener("pointermove", this.handleDragMove);
89341
+ document.removeEventListener("pointercancel", this.handleDragStop);
89342
+ document.removeEventListener("touchend", this.handleDragStop);
89343
+ document.removeEventListener("touchmove", this.handleDragMove);
89344
+ document.removeEventListener("touchcancel", this.handleDragStop);
89345
+ this.options.stop(clientX, clientY);
89346
+ };
89347
+ this.handleDragMove = (event) => {
89348
+ const clientX = "touches" in event ? event.touches[0].clientX : event.clientX;
89349
+ const clientY = "touches" in event ? event.touches[0].clientY : event.clientY;
89350
+ window.getSelection()?.removeAllRanges();
89351
+ this.options.move(clientX, clientY);
89352
+ };
89353
+ this.element = el;
89354
+ this.options = {
89355
+ start: () => void 0,
89356
+ stop: () => void 0,
89357
+ move: () => void 0,
89358
+ ...options
89359
+ };
89360
+ this.start();
89361
+ }
89362
+ /** Start listening to drags. */
89363
+ start() {
89364
+ if (!this.isActive) {
89365
+ this.element.addEventListener("pointerdown", this.handleDragStart);
89366
+ if (supportsTouch) {
89367
+ this.element.addEventListener("touchstart", this.handleDragStart);
89368
+ }
89369
+ this.isActive = true;
89370
+ }
89371
+ }
89372
+ /** Stop listening to drags. */
89373
+ stop() {
89374
+ document.removeEventListener("pointerup", this.handleDragStop);
89375
+ document.removeEventListener("pointermove", this.handleDragMove);
89376
+ document.removeEventListener("pointercancel", this.handleDragStop);
89377
+ document.removeEventListener("touchend", this.handleDragStop);
89378
+ document.removeEventListener("touchmove", this.handleDragMove);
89379
+ document.removeEventListener("touchcancel", this.handleDragStop);
89380
+ this.element.removeEventListener("pointerdown", this.handleDragStart);
89381
+ if (supportsTouch) {
89382
+ this.element.removeEventListener("touchstart", this.handleDragStart);
89383
+ }
89384
+ this.isActive = false;
89385
+ this.isDragging = false;
89386
+ }
89387
+ /** Starts or stops the drag listeners. */
89388
+ toggle(isActive) {
89389
+ const isGoingToBeActive = isActive !== void 0 ? isActive : !this.isActive;
89390
+ if (isGoingToBeActive) {
89391
+ this.start();
89392
+ } else {
89393
+ this.stop();
89394
+ }
89395
+ }
89396
+ };
89259
89397
  var color_picker_styles_default = i$d`
89260
89398
  :host {
89261
89399
  --grid-width: 17em;
@@ -89599,114 +89737,6 @@ var color_picker_styles_default = i$d`
89599
89737
  display: inline-block;
89600
89738
  }
89601
89739
  `;
89602
- function drag(container, options) {
89603
- function move(pointerEvent) {
89604
- const dims = container.getBoundingClientRect();
89605
- const defaultView = container.ownerDocument.defaultView;
89606
- const offsetX = dims.left + defaultView.pageXOffset;
89607
- const offsetY = dims.top + defaultView.pageYOffset;
89608
- const x2 = pointerEvent.pageX - offsetX;
89609
- const y3 = pointerEvent.pageY - offsetY;
89610
- if (options?.onMove) {
89611
- options.onMove(x2, y3);
89612
- }
89613
- }
89614
- function stop() {
89615
- document.removeEventListener("pointermove", move);
89616
- document.removeEventListener("pointerup", stop);
89617
- if (options?.onStop) {
89618
- options.onStop();
89619
- }
89620
- }
89621
- document.addEventListener("pointermove", move, { passive: true });
89622
- document.addEventListener("pointerup", stop);
89623
- if (options?.initialEvent instanceof PointerEvent) {
89624
- move(options.initialEvent);
89625
- }
89626
- }
89627
- var supportsTouch = typeof window !== "undefined" && "ontouchstart" in window;
89628
- var DraggableElement = class {
89629
- constructor(el, options) {
89630
- this.isActive = false;
89631
- this.isDragging = false;
89632
- this.handleDragStart = (event) => {
89633
- const clientX = "touches" in event ? event.touches[0].clientX : event.clientX;
89634
- const clientY = "touches" in event ? event.touches[0].clientY : event.clientY;
89635
- if (this.isDragging || // Prevent right-clicks from triggering drags
89636
- !supportsTouch && event.buttons > 1) {
89637
- return;
89638
- }
89639
- this.isDragging = true;
89640
- document.addEventListener("pointerup", this.handleDragStop);
89641
- document.addEventListener("pointermove", this.handleDragMove);
89642
- document.addEventListener("pointercancel", this.handleDragStop);
89643
- document.addEventListener("touchend", this.handleDragStop);
89644
- document.addEventListener("touchmove", this.handleDragMove);
89645
- document.addEventListener("touchcancel", this.handleDragStop);
89646
- this.options.start(clientX, clientY);
89647
- };
89648
- this.handleDragStop = (event) => {
89649
- const clientX = "changedTouches" in event ? event.changedTouches[0].clientX : event.clientX;
89650
- const clientY = "changedTouches" in event ? event.changedTouches[0].clientY : event.clientY;
89651
- this.isDragging = false;
89652
- document.removeEventListener("pointerup", this.handleDragStop);
89653
- document.removeEventListener("pointermove", this.handleDragMove);
89654
- document.removeEventListener("pointercancel", this.handleDragStop);
89655
- document.removeEventListener("touchend", this.handleDragStop);
89656
- document.removeEventListener("touchmove", this.handleDragMove);
89657
- document.removeEventListener("touchcancel", this.handleDragStop);
89658
- this.options.stop(clientX, clientY);
89659
- };
89660
- this.handleDragMove = (event) => {
89661
- const clientX = "touches" in event ? event.touches[0].clientX : event.clientX;
89662
- const clientY = "touches" in event ? event.touches[0].clientY : event.clientY;
89663
- window.getSelection()?.removeAllRanges();
89664
- this.options.move(clientX, clientY);
89665
- };
89666
- this.element = el;
89667
- this.options = {
89668
- start: () => void 0,
89669
- stop: () => void 0,
89670
- move: () => void 0,
89671
- ...options
89672
- };
89673
- this.start();
89674
- }
89675
- /** Start listening to drags. */
89676
- start() {
89677
- if (!this.isActive) {
89678
- this.element.addEventListener("pointerdown", this.handleDragStart);
89679
- if (supportsTouch) {
89680
- this.element.addEventListener("touchstart", this.handleDragStart);
89681
- }
89682
- this.isActive = true;
89683
- }
89684
- }
89685
- /** Stop listening to drags. */
89686
- stop() {
89687
- document.removeEventListener("pointerup", this.handleDragStop);
89688
- document.removeEventListener("pointermove", this.handleDragMove);
89689
- document.removeEventListener("pointercancel", this.handleDragStop);
89690
- document.removeEventListener("touchend", this.handleDragStop);
89691
- document.removeEventListener("touchmove", this.handleDragMove);
89692
- document.removeEventListener("touchcancel", this.handleDragStop);
89693
- this.element.removeEventListener("pointerdown", this.handleDragStart);
89694
- if (supportsTouch) {
89695
- this.element.removeEventListener("touchstart", this.handleDragStart);
89696
- }
89697
- this.isActive = false;
89698
- this.isDragging = false;
89699
- }
89700
- /** Starts or stops the drag listeners. */
89701
- toggle(isActive) {
89702
- const isGoingToBeActive = isActive !== void 0 ? isActive : !this.isActive;
89703
- if (isGoingToBeActive) {
89704
- this.start();
89705
- } else {
89706
- this.stop();
89707
- }
89708
- }
89709
- };
89710
89740
  var visually_hidden_styles_default = i$d`
89711
89741
  .wa-visually-hidden:not(:focus-within),
89712
89742
  .wa-visually-hidden-force,
@@ -89724,6 +89754,21 @@ var visually_hidden_styles_default = i$d`
89724
89754
  padding: 0 !important;
89725
89755
  }
89726
89756
  `;
89757
+ var dismissibleStack = [];
89758
+ function registerDismissible(key) {
89759
+ dismissibleStack.push(key);
89760
+ }
89761
+ function unregisterDismissible(key) {
89762
+ for (let i5 = dismissibleStack.length - 1; i5 >= 0; i5--) {
89763
+ if (dismissibleStack[i5] === key) {
89764
+ dismissibleStack.splice(i5, 1);
89765
+ break;
89766
+ }
89767
+ }
89768
+ }
89769
+ function isTopDismissible(key) {
89770
+ return dismissibleStack.length > 0 && dismissibleStack[dismissibleStack.length - 1] === key;
89771
+ }
89727
89772
  function bound01(n3, max2) {
89728
89773
  if (isOnePointZero(n3)) {
89729
89774
  n3 = "100%";
@@ -90784,14 +90829,14 @@ var WaColorPicker = class extends WebAwesomeFormAssociatedElement {
90784
90829
  this.addEventListener("invalid", this.emitInvalid);
90785
90830
  };
90786
90831
  this.handleKeyDown = (event) => {
90787
- if (this.open && event.key === "Escape") {
90832
+ if (this.open && event.key === "Escape" && isTopDismissible(this)) {
90788
90833
  event.stopPropagation();
90789
90834
  this.hide();
90790
90835
  this.focus();
90791
90836
  }
90792
90837
  };
90793
90838
  this.handleDocumentKeyDown = (event) => {
90794
- if (event.key === "Escape" && this.open) {
90839
+ if (event.key === "Escape" && this.open && isTopDismissible(this)) {
90795
90840
  event.stopPropagation();
90796
90841
  this.focus();
90797
90842
  this.hide();
@@ -91401,6 +91446,7 @@ var WaColorPicker = class extends WebAwesomeFormAssociatedElement {
91401
91446
  this.base.addEventListener("keydown", this.handleKeyDown);
91402
91447
  document.addEventListener("keydown", this.handleDocumentKeyDown);
91403
91448
  document.addEventListener("mousedown", this.handleDocumentMouseDown);
91449
+ registerDismissible(this);
91404
91450
  }
91405
91451
  removeOpenListeners() {
91406
91452
  if (this.base) {
@@ -91408,6 +91454,7 @@ var WaColorPicker = class extends WebAwesomeFormAssociatedElement {
91408
91454
  }
91409
91455
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
91410
91456
  document.removeEventListener("mousedown", this.handleDocumentMouseDown);
91457
+ unregisterDismissible(this);
91411
91458
  }
91412
91459
  async handleOpenChange() {
91413
91460
  if (this.disabled) {
@@ -91701,7 +91748,6 @@ var WaColorPicker = class extends WebAwesomeFormAssociatedElement {
91701
91748
  placement="bottom-start"
91702
91749
  distance="0"
91703
91750
  skidding="0"
91704
- sync="width"
91705
91751
  flip
91706
91752
  flip-fallback-strategy="best-fit"
91707
91753
  shift
@@ -92170,8 +92216,9 @@ var WaInput = class extends WebAwesomeFormAssociatedElement {
92170
92216
  }
92171
92217
  updated(changedProperties) {
92172
92218
  super.updated(changedProperties);
92173
- if (changedProperties.has("value")) {
92219
+ if (changedProperties.has("value") || changedProperties.has("defaultValue")) {
92174
92220
  this.customStates.set("blank", !this.value);
92221
+ this.updateValidity();
92175
92222
  }
92176
92223
  }
92177
92224
  handleStepChange() {
@@ -92224,7 +92271,10 @@ var WaInput = class extends WebAwesomeFormAssociatedElement {
92224
92271
  }
92225
92272
  }
92226
92273
  formResetCallback() {
92227
- this.value = this.defaultValue;
92274
+ this.value = null;
92275
+ if (this.input) {
92276
+ this.input.value = this.value;
92277
+ }
92228
92278
  super.formResetCallback();
92229
92279
  }
92230
92280
  render() {
@@ -92455,15 +92505,28 @@ var popup_styles_default = i$d`
92455
92505
  :host {
92456
92506
  --arrow-color: black;
92457
92507
  --arrow-size: var(--wa-tooltip-arrow-size);
92508
+ --popup-border-width: 0px;
92458
92509
  --show-duration: 100ms;
92459
92510
  --hide-duration: 100ms;
92460
92511
 
92461
92512
  /*
92462
92513
  * These properties are computed to account for the arrow's dimensions after being rotated 45º. The constant
92463
- * 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.
92514
+ * 0.7071 is derived from sin(45) to calculate the length of the arrow after rotation.
92515
+ *
92516
+ * The diamond will be translated inward by --arrow-base-offset, the border thickness, to centralise it on
92517
+ * the inner edge of the popup border. This also means we need to increase the size of the arrow by the
92518
+ * same amount to compensate.
92519
+ *
92520
+ * A diamond shaped clipping mask is used to avoid overlap of popup content. This extends slightly inward so
92521
+ * the popup border is covered with no sub-pixel rounding artifacts. The diamond corners are mitred at 22.5º
92522
+ * to properly merge any arrow border with the popup border. The constant 1.4142 is derived from 1 + tan(22.5).
92523
+ *
92464
92524
  */
92465
- --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);
92525
+ --arrow-base-offset: var(--popup-border-width);
92526
+ --arrow-size-diagonal: calc((var(--arrow-size) + var(--arrow-base-offset)) * 0.7071);
92466
92527
  --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));
92528
+ --arrow-size-div: calc(var(--arrow-size-diagonal) * 2);
92529
+ --arrow-clipping-corner: calc(var(--arrow-base-offset) * 1.4142);
92467
92530
 
92468
92531
  display: contents;
92469
92532
  }
@@ -92498,22 +92561,31 @@ var popup_styles_default = i$d`
92498
92561
 
92499
92562
  .arrow {
92500
92563
  position: absolute;
92501
- width: calc(var(--arrow-size-diagonal) * 2);
92502
- height: calc(var(--arrow-size-diagonal) * 2);
92503
- rotate: 45deg;
92564
+ width: var(--arrow-size-div);
92565
+ height: var(--arrow-size-div);
92504
92566
  background: var(--arrow-color);
92505
92567
  z-index: 3;
92568
+ clip-path: polygon(
92569
+ var(--arrow-clipping-corner) 100%,
92570
+ var(--arrow-base-offset) calc(100% - var(--arrow-base-offset)),
92571
+ calc(var(--arrow-base-offset) - 2px) calc(100% - var(--arrow-base-offset)),
92572
+ calc(100% - var(--arrow-base-offset)) calc(var(--arrow-base-offset) - 2px),
92573
+ calc(100% - var(--arrow-base-offset)) var(--arrow-base-offset),
92574
+ 100% var(--arrow-clipping-corner),
92575
+ 100% 100%
92576
+ );
92577
+ rotate: 45deg;
92506
92578
  }
92507
92579
 
92508
- :host([data-current-placement~='left']) .arrow {
92580
+ :host([data-current-placement|='left']) .arrow {
92509
92581
  rotate: -45deg;
92510
92582
  }
92511
92583
 
92512
- :host([data-current-placement~='right']) .arrow {
92584
+ :host([data-current-placement|='right']) .arrow {
92513
92585
  rotate: 135deg;
92514
92586
  }
92515
92587
 
92516
- :host([data-current-placement~='bottom']) .arrow {
92588
+ :host([data-current-placement|='bottom']) .arrow {
92517
92589
  rotate: 225deg;
92518
92590
  }
92519
92591
 
@@ -92588,10 +92660,6 @@ const oppositeSideMap = {
92588
92660
  bottom: "top",
92589
92661
  top: "bottom"
92590
92662
  };
92591
- const oppositeAlignmentMap = {
92592
- start: "end",
92593
- end: "start"
92594
- };
92595
92663
  function clamp(start, value, end) {
92596
92664
  return max(start, min(value, end));
92597
92665
  }
@@ -92610,9 +92678,9 @@ function getOppositeAxis(axis) {
92610
92678
  function getAxisLength(axis) {
92611
92679
  return axis === "y" ? "height" : "width";
92612
92680
  }
92613
- const yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
92614
92681
  function getSideAxis(placement) {
92615
- return yAxisSides.has(getSide(placement)) ? "y" : "x";
92682
+ const firstChar = placement[0];
92683
+ return firstChar === "t" || firstChar === "b" ? "y" : "x";
92616
92684
  }
92617
92685
  function getAlignmentAxis(placement) {
92618
92686
  return getOppositeAxis(getSideAxis(placement));
@@ -92635,7 +92703,7 @@ function getExpandedPlacements(placement) {
92635
92703
  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
92636
92704
  }
92637
92705
  function getOppositeAlignmentPlacement(placement) {
92638
- return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);
92706
+ return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
92639
92707
  }
92640
92708
  const lrPlacement = ["left", "right"];
92641
92709
  const rlPlacement = ["right", "left"];
@@ -92666,7 +92734,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
92666
92734
  return list;
92667
92735
  }
92668
92736
  function getOppositePlacement(placement) {
92669
- return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);
92737
+ const side = getSide(placement);
92738
+ return oppositeSideMap[side] + placement.slice(side.length);
92670
92739
  }
92671
92740
  function expandPaddingObject(padding) {
92672
92741
  return {
@@ -92814,6 +92883,7 @@ async function detectOverflow(state, options) {
92814
92883
  right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
92815
92884
  };
92816
92885
  }
92886
+ const MAX_RESET_COUNT = 50;
92817
92887
  const computePosition$1 = async (reference, floating, config) => {
92818
92888
  const {
92819
92889
  placement = "bottom",
@@ -92821,7 +92891,10 @@ const computePosition$1 = async (reference, floating, config) => {
92821
92891
  middleware = [],
92822
92892
  platform: platform2
92823
92893
  } = config;
92824
- const validMiddleware = middleware.filter(Boolean);
92894
+ const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : {
92895
+ ...platform2,
92896
+ detectOverflow
92897
+ };
92825
92898
  const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));
92826
92899
  let rects = await platform2.getElementRects({
92827
92900
  reference,
@@ -92833,14 +92906,17 @@ const computePosition$1 = async (reference, floating, config) => {
92833
92906
  y: y3
92834
92907
  } = computeCoordsFromPlacement(rects, placement, rtl);
92835
92908
  let statefulPlacement = placement;
92836
- let middlewareData = {};
92837
92909
  let resetCount = 0;
92838
- for (let i5 = 0; i5 < validMiddleware.length; i5++) {
92839
- var _platform$detectOverf;
92910
+ const middlewareData = {};
92911
+ for (let i5 = 0; i5 < middleware.length; i5++) {
92912
+ const currentMiddleware = middleware[i5];
92913
+ if (!currentMiddleware) {
92914
+ continue;
92915
+ }
92840
92916
  const {
92841
92917
  name,
92842
92918
  fn
92843
- } = validMiddleware[i5];
92919
+ } = currentMiddleware;
92844
92920
  const {
92845
92921
  x: nextX,
92846
92922
  y: nextY,
@@ -92854,10 +92930,7 @@ const computePosition$1 = async (reference, floating, config) => {
92854
92930
  strategy,
92855
92931
  middlewareData,
92856
92932
  rects,
92857
- platform: {
92858
- ...platform2,
92859
- detectOverflow: (_platform$detectOverf = platform2.detectOverflow) != null ? _platform$detectOverf : detectOverflow
92860
- },
92933
+ platform: platformWithDetectOverflow,
92861
92934
  elements: {
92862
92935
  reference,
92863
92936
  floating
@@ -92865,14 +92938,11 @@ const computePosition$1 = async (reference, floating, config) => {
92865
92938
  });
92866
92939
  x2 = nextX != null ? nextX : x2;
92867
92940
  y3 = nextY != null ? nextY : y3;
92868
- middlewareData = {
92869
- ...middlewareData,
92870
- [name]: {
92871
- ...middlewareData[name],
92872
- ...data
92873
- }
92941
+ middlewareData[name] = {
92942
+ ...middlewareData[name],
92943
+ ...data
92874
92944
  };
92875
- if (reset2 && resetCount <= 50) {
92945
+ if (reset2 && resetCount < MAX_RESET_COUNT) {
92876
92946
  resetCount++;
92877
92947
  if (typeof reset2 === "object") {
92878
92948
  if (reset2.placement) {
@@ -93332,7 +93402,6 @@ function isShadowRoot(value) {
93332
93402
  }
93333
93403
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
93334
93404
  }
93335
- const invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
93336
93405
  function isOverflowElement(element) {
93337
93406
  const {
93338
93407
  overflow,
@@ -93340,29 +93409,31 @@ function isOverflowElement(element) {
93340
93409
  overflowY,
93341
93410
  display
93342
93411
  } = getComputedStyle$1(element);
93343
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
93412
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
93344
93413
  }
93345
- const tableElements = /* @__PURE__ */ new Set(["table", "td", "th"]);
93346
93414
  function isTableElement(element) {
93347
- return tableElements.has(getNodeName(element));
93415
+ return /^(table|td|th)$/.test(getNodeName(element));
93348
93416
  }
93349
- const topLayerSelectors = [":popover-open", ":modal"];
93350
93417
  function isTopLayer(element) {
93351
- return topLayerSelectors.some((selector) => {
93352
- try {
93353
- return element.matches(selector);
93354
- } catch (_e) {
93355
- return false;
93418
+ try {
93419
+ if (element.matches(":popover-open")) {
93420
+ return true;
93356
93421
  }
93357
- });
93422
+ } catch (_e) {
93423
+ }
93424
+ try {
93425
+ return element.matches(":modal");
93426
+ } catch (_e) {
93427
+ return false;
93428
+ }
93358
93429
  }
93359
- const transformProperties = ["transform", "translate", "scale", "rotate", "perspective"];
93360
- const willChangeValues = ["transform", "translate", "scale", "rotate", "perspective", "filter"];
93361
- const containValues = ["paint", "layout", "strict", "content"];
93430
+ const willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
93431
+ const containRe = /paint|layout|strict|content/;
93432
+ const isNotNone = (value) => !!value && value !== "none";
93433
+ let isWebKitValue;
93362
93434
  function isContainingBlock(elementOrCss) {
93363
- const webkit = isWebKit();
93364
93435
  const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
93365
- return transformProperties.some((value) => css[value] ? css[value] !== "none" : false) || (css.containerType ? css.containerType !== "normal" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !webkit && (css.filter ? css.filter !== "none" : false) || willChangeValues.some((value) => (css.willChange || "").includes(value)) || containValues.some((value) => (css.contain || "").includes(value));
93436
+ return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
93366
93437
  }
93367
93438
  function getContainingBlock(element) {
93368
93439
  let currentNode = getParentNode(element);
@@ -93377,12 +93448,13 @@ function getContainingBlock(element) {
93377
93448
  return null;
93378
93449
  }
93379
93450
  function isWebKit() {
93380
- if (typeof CSS === "undefined" || !CSS.supports) return false;
93381
- return CSS.supports("-webkit-backdrop-filter", "none");
93451
+ if (isWebKitValue == null) {
93452
+ isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
93453
+ }
93454
+ return isWebKitValue;
93382
93455
  }
93383
- const lastTraversableNodeNames = /* @__PURE__ */ new Set(["html", "body", "#document"]);
93384
93456
  function isLastTraversableNode(node) {
93385
- return lastTraversableNodeNames.has(getNodeName(node));
93457
+ return /^(html|body|#document)$/.test(getNodeName(node));
93386
93458
  }
93387
93459
  function getComputedStyle$1(element) {
93388
93460
  return getWindow(element).getComputedStyle(element);
@@ -93436,8 +93508,9 @@ function getOverflowAncestors(node, list, traverseIframes) {
93436
93508
  if (isBody) {
93437
93509
  const frameElement = getFrameElement(win);
93438
93510
  return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
93511
+ } else {
93512
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
93439
93513
  }
93440
- return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
93441
93514
  }
93442
93515
  function getFrameElement(win) {
93443
93516
  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
@@ -93599,7 +93672,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
93599
93672
  if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
93600
93673
  scroll = getNodeScroll(offsetParent);
93601
93674
  }
93602
- if (isHTMLElement(offsetParent)) {
93675
+ if (isOffsetParentAnElement) {
93603
93676
  const offsetRect = getBoundingClientRect(offsetParent);
93604
93677
  scale2 = getScale(offsetParent);
93605
93678
  offsets.x = offsetRect.x + offsetParent.clientLeft;
@@ -93673,7 +93746,6 @@ function getViewportRect(element, strategy) {
93673
93746
  y: y3
93674
93747
  };
93675
93748
  }
93676
- const absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
93677
93749
  function getInnerBoundingClientRect(element, strategy) {
93678
93750
  const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
93679
93751
  const top = clientRect.top + element.clientTop;
@@ -93731,7 +93803,7 @@ function getClippingElementAncestors(element, cache2) {
93731
93803
  if (!currentNodeIsContaining && computedStyle.position === "fixed") {
93732
93804
  currentContainingBlockComputedStyle = null;
93733
93805
  }
93734
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
93806
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
93735
93807
  if (shouldDropCurrentNode) {
93736
93808
  result = result.filter((ancestor) => ancestor !== currentNode);
93737
93809
  } else {
@@ -93751,20 +93823,23 @@ function getClippingRect(_ref) {
93751
93823
  } = _ref;
93752
93824
  const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
93753
93825
  const clippingAncestors = [...elementClippingAncestors, rootBoundary];
93754
- const firstClippingAncestor = clippingAncestors[0];
93755
- const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
93756
- const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
93757
- accRect.top = max(rect.top, accRect.top);
93758
- accRect.right = min(rect.right, accRect.right);
93759
- accRect.bottom = min(rect.bottom, accRect.bottom);
93760
- accRect.left = max(rect.left, accRect.left);
93761
- return accRect;
93762
- }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
93826
+ const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
93827
+ let top = firstRect.top;
93828
+ let right = firstRect.right;
93829
+ let bottom = firstRect.bottom;
93830
+ let left = firstRect.left;
93831
+ for (let i5 = 1; i5 < clippingAncestors.length; i5++) {
93832
+ const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i5], strategy);
93833
+ top = max(rect.top, top);
93834
+ right = min(rect.right, right);
93835
+ bottom = min(rect.bottom, bottom);
93836
+ left = max(rect.left, left);
93837
+ }
93763
93838
  return {
93764
- width: clippingRect.right - clippingRect.left,
93765
- height: clippingRect.bottom - clippingRect.top,
93766
- x: clippingRect.left,
93767
- y: clippingRect.top
93839
+ width: right - left,
93840
+ height: bottom - top,
93841
+ x: left,
93842
+ y: top
93768
93843
  };
93769
93844
  }
93770
93845
  function getDimensions(element) {
@@ -93973,7 +94048,7 @@ function autoUpdate(reference, floating, update2, options) {
93973
94048
  animationFrame = false
93974
94049
  } = options;
93975
94050
  const referenceEl = unwrapElement(reference);
93976
- const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
94051
+ const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
93977
94052
  ancestors.forEach((ancestor) => {
93978
94053
  ancestorScroll && ancestor.addEventListener("scroll", update2, {
93979
94054
  passive: true
@@ -93986,7 +94061,7 @@ function autoUpdate(reference, floating, update2, options) {
93986
94061
  if (elementResize) {
93987
94062
  resizeObserver = new ResizeObserver((_ref) => {
93988
94063
  let [firstEntry] = _ref;
93989
- if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
94064
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
93990
94065
  resizeObserver.unobserve(floating);
93991
94066
  cancelAnimationFrame(reobserveFrame);
93992
94067
  reobserveFrame = requestAnimationFrame(() => {
@@ -93999,7 +94074,9 @@ function autoUpdate(reference, floating, update2, options) {
93999
94074
  if (referenceEl && !animationFrame) {
94000
94075
  resizeObserver.observe(referenceEl);
94001
94076
  }
94002
- resizeObserver.observe(floating);
94077
+ if (floating) {
94078
+ resizeObserver.observe(floating);
94079
+ }
94003
94080
  }
94004
94081
  let frameId;
94005
94082
  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
@@ -94347,7 +94424,7 @@ var WaPopup = class extends WebAwesomeElement {
94347
94424
  right,
94348
94425
  bottom,
94349
94426
  left,
94350
- [staticSide]: "calc(var(--arrow-size-diagonal) * -1)"
94427
+ [staticSide]: "calc(var(--arrow-base-offset) - var(--arrow-size-diagonal))"
94351
94428
  });
94352
94429
  }
94353
94430
  });
@@ -94963,9 +95040,13 @@ var tooltip_styles_default = i$d`
94963
95040
  -webkit-user-select: none;
94964
95041
  }
94965
95042
 
94966
- .tooltip::part(arrow) {
94967
- border-bottom: var(--wa-tooltip-border-width) var(--wa-tooltip-border-style) var(--wa-tooltip-border-color);
94968
- border-right: var(--wa-tooltip-border-width) var(--wa-tooltip-border-style) var(--wa-tooltip-border-color);
95043
+ .tooltip {
95044
+ --popup-border-width: var(--wa-tooltip-border-width);
95045
+
95046
+ &::part(arrow) {
95047
+ border-bottom: var(--wa-tooltip-border-width) var(--wa-tooltip-border-style) var(--wa-tooltip-border-color);
95048
+ border-right: var(--wa-tooltip-border-width) var(--wa-tooltip-border-style) var(--wa-tooltip-border-color);
95049
+ }
94969
95050
  }
94970
95051
  `;
94971
95052
  var WaShowEvent = class extends Event {
@@ -95024,7 +95105,8 @@ var WaTooltip = class extends WebAwesomeElement {
95024
95105
  }
95025
95106
  };
95026
95107
  this.handleDocumentKeyDown = (event) => {
95027
- if (event.key === "Escape") {
95108
+ if (event.key === "Escape" && this.open && isTopDismissible(this)) {
95109
+ event.preventDefault();
95028
95110
  event.stopPropagation();
95029
95111
  this.hide();
95030
95112
  }
@@ -95076,6 +95158,7 @@ var WaTooltip = class extends WebAwesomeElement {
95076
95158
  disconnectedCallback() {
95077
95159
  super.disconnectedCallback();
95078
95160
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
95161
+ unregisterDismissible(this);
95079
95162
  this.eventController.abort();
95080
95163
  if (this.anchor) {
95081
95164
  this.removeFromAriaLabelledBy(this.anchor, this.id);
@@ -95124,6 +95207,7 @@ var WaTooltip = class extends WebAwesomeElement {
95124
95207
  return;
95125
95208
  }
95126
95209
  document.addEventListener("keydown", this.handleDocumentKeyDown, { signal: this.eventController.signal });
95210
+ registerDismissible(this);
95127
95211
  this.body.hidden = false;
95128
95212
  this.popup.active = true;
95129
95213
  await animateWithClass(this.popup.popup, "show-with-scale");
@@ -95137,6 +95221,7 @@ var WaTooltip = class extends WebAwesomeElement {
95137
95221
  return;
95138
95222
  }
95139
95223
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
95224
+ unregisterDismissible(this);
95140
95225
  await animateWithClass(this.popup.popup, "hide-with-scale");
95141
95226
  this.popup.active = false;
95142
95227
  this.body.hidden = true;
@@ -95649,6 +95734,73 @@ __decorateClass([
95649
95734
  WaDetails = __decorateClass([
95650
95735
  t$3("wa-details")
95651
95736
  ], WaDetails);
95737
+ function getOffset(element, parent) {
95738
+ return {
95739
+ top: Math.round(element.getBoundingClientRect().top - parent.getBoundingClientRect().top),
95740
+ left: Math.round(element.getBoundingClientRect().left - parent.getBoundingClientRect().left)
95741
+ };
95742
+ }
95743
+ var locks = /* @__PURE__ */ new Set();
95744
+ function getScrollbarWidth() {
95745
+ const documentWidth = document.documentElement.clientWidth;
95746
+ return Math.abs(window.innerWidth - documentWidth);
95747
+ }
95748
+ function getExistingBodyPadding() {
95749
+ const padding = Number(getComputedStyle(document.body).paddingRight.replace(/px/, ""));
95750
+ if (isNaN(padding) || !padding) {
95751
+ return 0;
95752
+ }
95753
+ return padding;
95754
+ }
95755
+ function lockBodyScrolling(lockingEl) {
95756
+ locks.add(lockingEl);
95757
+ if (!document.documentElement.classList.contains("wa-scroll-lock")) {
95758
+ const scrollbarWidth = getScrollbarWidth() + getExistingBodyPadding();
95759
+ let scrollbarGutterProperty = getComputedStyle(document.documentElement).scrollbarGutter;
95760
+ if (!scrollbarGutterProperty || scrollbarGutterProperty === "auto") {
95761
+ scrollbarGutterProperty = "stable";
95762
+ }
95763
+ if (scrollbarWidth < 2) {
95764
+ scrollbarGutterProperty = "";
95765
+ }
95766
+ document.documentElement.style.setProperty("--wa-scroll-lock-gutter", scrollbarGutterProperty);
95767
+ document.documentElement.classList.add("wa-scroll-lock");
95768
+ document.documentElement.style.setProperty("--wa-scroll-lock-size", `${scrollbarWidth}px`);
95769
+ }
95770
+ }
95771
+ function unlockBodyScrolling(lockingEl) {
95772
+ locks.delete(lockingEl);
95773
+ if (locks.size === 0) {
95774
+ document.documentElement.classList.remove("wa-scroll-lock");
95775
+ document.documentElement.style.removeProperty("--wa-scroll-lock-size");
95776
+ }
95777
+ }
95778
+ function scrollIntoView(element, container, direction = "vertical", behavior = "smooth") {
95779
+ const offset2 = getOffset(element, container);
95780
+ const offsetTop = offset2.top + container.scrollTop;
95781
+ const offsetLeft = offset2.left + container.scrollLeft;
95782
+ const minX = container.scrollLeft;
95783
+ const maxX = container.scrollLeft + container.offsetWidth;
95784
+ const minY = container.scrollTop;
95785
+ const maxY = container.scrollTop + container.offsetHeight;
95786
+ if (direction === "horizontal" || direction === "both") {
95787
+ if (offsetLeft < minX) {
95788
+ container.scrollTo({ left: offsetLeft, behavior });
95789
+ } else if (offsetLeft + element.clientWidth > maxX) {
95790
+ container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });
95791
+ }
95792
+ }
95793
+ if (direction === "vertical" || direction === "both") {
95794
+ if (offsetTop < minY) {
95795
+ container.scrollTo({ top: offsetTop, behavior });
95796
+ } else if (offsetTop + element.clientHeight > maxY) {
95797
+ container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });
95798
+ }
95799
+ }
95800
+ }
95801
+ function parseSpaceDelimitedTokens(input) {
95802
+ return input.split(" ").map((token) => token.trim()).filter((token) => token !== "");
95803
+ }
95652
95804
  var dialog_styles_default = i$d`
95653
95805
  :host {
95654
95806
  --width: 31rem;
@@ -95673,6 +95825,7 @@ var dialog_styles_default = i$d`
95673
95825
  width: var(--width);
95674
95826
  max-width: calc(100% - var(--wa-space-2xl));
95675
95827
  max-height: calc(100% - var(--wa-space-2xl));
95828
+ color: inherit;
95676
95829
  background-color: var(--wa-color-surface-raised);
95677
95830
  border-radius: var(--wa-panel-border-radius);
95678
95831
  border: none;
@@ -95834,73 +95987,6 @@ var dialog_styles_default = i$d`
95834
95987
  }
95835
95988
  }
95836
95989
  `;
95837
- function getOffset(element, parent) {
95838
- return {
95839
- top: Math.round(element.getBoundingClientRect().top - parent.getBoundingClientRect().top),
95840
- left: Math.round(element.getBoundingClientRect().left - parent.getBoundingClientRect().left)
95841
- };
95842
- }
95843
- var locks = /* @__PURE__ */ new Set();
95844
- function getScrollbarWidth() {
95845
- const documentWidth = document.documentElement.clientWidth;
95846
- return Math.abs(window.innerWidth - documentWidth);
95847
- }
95848
- function getExistingBodyPadding() {
95849
- const padding = Number(getComputedStyle(document.body).paddingRight.replace(/px/, ""));
95850
- if (isNaN(padding) || !padding) {
95851
- return 0;
95852
- }
95853
- return padding;
95854
- }
95855
- function lockBodyScrolling(lockingEl) {
95856
- locks.add(lockingEl);
95857
- if (!document.documentElement.classList.contains("wa-scroll-lock")) {
95858
- const scrollbarWidth = getScrollbarWidth() + getExistingBodyPadding();
95859
- let scrollbarGutterProperty = getComputedStyle(document.documentElement).scrollbarGutter;
95860
- if (!scrollbarGutterProperty || scrollbarGutterProperty === "auto") {
95861
- scrollbarGutterProperty = "stable";
95862
- }
95863
- if (scrollbarWidth < 2) {
95864
- scrollbarGutterProperty = "";
95865
- }
95866
- document.documentElement.style.setProperty("--wa-scroll-lock-gutter", scrollbarGutterProperty);
95867
- document.documentElement.classList.add("wa-scroll-lock");
95868
- document.documentElement.style.setProperty("--wa-scroll-lock-size", `${scrollbarWidth}px`);
95869
- }
95870
- }
95871
- function unlockBodyScrolling(lockingEl) {
95872
- locks.delete(lockingEl);
95873
- if (locks.size === 0) {
95874
- document.documentElement.classList.remove("wa-scroll-lock");
95875
- document.documentElement.style.removeProperty("--wa-scroll-lock-size");
95876
- }
95877
- }
95878
- function scrollIntoView(element, container, direction = "vertical", behavior = "smooth") {
95879
- const offset2 = getOffset(element, container);
95880
- const offsetTop = offset2.top + container.scrollTop;
95881
- const offsetLeft = offset2.left + container.scrollLeft;
95882
- const minX = container.scrollLeft;
95883
- const maxX = container.scrollLeft + container.offsetWidth;
95884
- const minY = container.scrollTop;
95885
- const maxY = container.scrollTop + container.offsetHeight;
95886
- if (direction === "horizontal" || direction === "both") {
95887
- if (offsetLeft < minX) {
95888
- container.scrollTo({ left: offsetLeft, behavior });
95889
- } else if (offsetLeft + element.clientWidth > maxX) {
95890
- container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });
95891
- }
95892
- }
95893
- if (direction === "vertical" || direction === "both") {
95894
- if (offsetTop < minY) {
95895
- container.scrollTo({ top: offsetTop, behavior });
95896
- } else if (offsetTop + element.clientHeight > maxY) {
95897
- container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });
95898
- }
95899
- }
95900
- }
95901
- function parseSpaceDelimitedTokens(input) {
95902
- return input.split(" ").map((token) => token.trim()).filter((token) => token !== "");
95903
- }
95904
95990
  var WaDialog = class extends WebAwesomeElement {
95905
95991
  constructor() {
95906
95992
  super(...arguments);
@@ -95911,7 +95997,7 @@ var WaDialog = class extends WebAwesomeElement {
95911
95997
  this.withoutHeader = false;
95912
95998
  this.lightDismiss = false;
95913
95999
  this.handleDocumentKeyDown = (event) => {
95914
- if (event.key === "Escape" && this.open) {
96000
+ if (event.key === "Escape" && this.open && isTopDismissible(this)) {
95915
96001
  event.preventDefault();
95916
96002
  event.stopPropagation();
95917
96003
  this.requestClose(this.dialog);
@@ -95951,13 +96037,15 @@ var WaDialog = class extends WebAwesomeElement {
95951
96037
  }
95952
96038
  addOpenListeners() {
95953
96039
  document.addEventListener("keydown", this.handleDocumentKeyDown);
96040
+ registerDismissible(this);
95954
96041
  }
95955
96042
  removeOpenListeners() {
95956
96043
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
96044
+ unregisterDismissible(this);
95957
96045
  }
95958
96046
  handleDialogCancel(event) {
95959
96047
  event.preventDefault();
95960
- if (!this.dialog.classList.contains("hide") && event.target === this.dialog) {
96048
+ if (!this.dialog.classList.contains("hide") && event.target === this.dialog && isTopDismissible(this)) {
95961
96049
  this.requestClose(this.dialog);
95962
96050
  }
95963
96051
  }
@@ -96083,22 +96171,22 @@ __decorateClass([
96083
96171
  WaDialog = __decorateClass([
96084
96172
  t$3("wa-dialog")
96085
96173
  ], WaDialog);
96086
- document.addEventListener("click", (event) => {
96087
- const dialogAttrEl = event.target.closest("[data-dialog]");
96088
- if (dialogAttrEl instanceof Element) {
96089
- const [command, id2] = parseSpaceDelimitedTokens(dialogAttrEl.getAttribute("data-dialog") || "");
96090
- if (command === "open" && id2?.length) {
96091
- const doc = dialogAttrEl.getRootNode();
96092
- const dialog = doc.getElementById(id2);
96093
- if (dialog?.localName === "wa-dialog") {
96094
- dialog.open = true;
96095
- } else {
96096
- console.warn(`A dialog with an ID of "${id2}" could not be found in this document.`);
96174
+ {
96175
+ document.addEventListener("click", (event) => {
96176
+ const dialogAttrEl = event.target.closest("[data-dialog]");
96177
+ if (dialogAttrEl instanceof Element) {
96178
+ const [command, id2] = parseSpaceDelimitedTokens(dialogAttrEl.getAttribute("data-dialog") || "");
96179
+ if (command === "open" && id2?.length) {
96180
+ const doc = dialogAttrEl.getRootNode();
96181
+ const dialog = doc.getElementById(id2);
96182
+ if (dialog?.localName === "wa-dialog") {
96183
+ dialog.open = true;
96184
+ } else {
96185
+ console.warn(`A dialog with an ID of "${id2}" could not be found in this document.`);
96186
+ }
96097
96187
  }
96098
96188
  }
96099
- }
96100
- });
96101
- {
96189
+ });
96102
96190
  document.addEventListener("pointerdown", () => {
96103
96191
  });
96104
96192
  }
@@ -96170,6 +96258,7 @@ var drawer_styles_default = i$d`
96170
96258
  max-width: 100%;
96171
96259
  max-height: 100%;
96172
96260
  overflow: hidden;
96261
+ color: inherit;
96173
96262
  background-color: var(--wa-color-surface-raised);
96174
96263
  border: none;
96175
96264
  box-shadow: var(--wa-shadow-l);
@@ -96449,7 +96538,7 @@ var WaDrawer = class extends WebAwesomeElement {
96449
96538
  this.withoutHeader = false;
96450
96539
  this.lightDismiss = true;
96451
96540
  this.handleDocumentKeyDown = (event) => {
96452
- if (event.key === "Escape" && this.open) {
96541
+ if (event.key === "Escape" && this.open && isTopDismissible(this)) {
96453
96542
  event.preventDefault();
96454
96543
  event.stopPropagation();
96455
96544
  this.requestClose(this.drawer);
@@ -96489,13 +96578,15 @@ var WaDrawer = class extends WebAwesomeElement {
96489
96578
  }
96490
96579
  addOpenListeners() {
96491
96580
  document.addEventListener("keydown", this.handleDocumentKeyDown);
96581
+ registerDismissible(this);
96492
96582
  }
96493
96583
  removeOpenListeners() {
96494
96584
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
96585
+ unregisterDismissible(this);
96495
96586
  }
96496
96587
  handleDialogCancel(event) {
96497
96588
  event.preventDefault();
96498
- if (!this.drawer.classList.contains("hide") && event.target === this.drawer) {
96589
+ if (!this.drawer.classList.contains("hide") && event.target === this.drawer && isTopDismissible(this)) {
96499
96590
  this.requestClose(this.drawer);
96500
96591
  }
96501
96592
  }
@@ -96628,22 +96719,22 @@ __decorateClass([
96628
96719
  WaDrawer = __decorateClass([
96629
96720
  t$3("wa-drawer")
96630
96721
  ], WaDrawer);
96631
- document.addEventListener("click", (event) => {
96632
- const drawerAttrEl = event.target.closest("[data-drawer]");
96633
- if (drawerAttrEl instanceof Element) {
96634
- const [command, id2] = parseSpaceDelimitedTokens(drawerAttrEl.getAttribute("data-drawer") || "");
96635
- if (command === "open" && id2?.length) {
96636
- const doc = drawerAttrEl.getRootNode();
96637
- const drawer = doc.getElementById(id2);
96638
- if (drawer?.localName === "wa-drawer") {
96639
- drawer.open = true;
96640
- } else {
96641
- console.warn(`A drawer with an ID of "${id2}" could not be found in this document.`);
96722
+ {
96723
+ document.addEventListener("click", (event) => {
96724
+ const drawerAttrEl = event.target.closest("[data-drawer]");
96725
+ if (drawerAttrEl instanceof Element) {
96726
+ const [command, id2] = parseSpaceDelimitedTokens(drawerAttrEl.getAttribute("data-drawer") || "");
96727
+ if (command === "open" && id2?.length) {
96728
+ const doc = drawerAttrEl.getRootNode();
96729
+ const drawer = doc.getElementById(id2);
96730
+ if (drawer?.localName === "wa-drawer") {
96731
+ drawer.open = true;
96732
+ } else {
96733
+ console.warn(`A drawer with an ID of "${id2}" could not be found in this document.`);
96734
+ }
96642
96735
  }
96643
96736
  }
96644
- }
96645
- });
96646
- {
96737
+ });
96647
96738
  document.body.addEventListener("pointerdown", () => {
96648
96739
  });
96649
96740
  }
@@ -96770,12 +96861,12 @@ var WaDropdown = class extends WebAwesomeElement {
96770
96861
  this.skidding = 0;
96771
96862
  this.handleDocumentKeyDown = async (event) => {
96772
96863
  const isRtl = this.localize.dir() === "rtl";
96773
- if (event.key === "Escape") {
96864
+ if (event.key === "Escape" && this.open && isTopDismissible(this)) {
96774
96865
  const trigger = this.getTrigger();
96775
96866
  event.preventDefault();
96776
96867
  event.stopPropagation();
96777
96868
  this.open = false;
96778
- trigger?.focus();
96869
+ trigger?.focus({ preventScroll: true });
96779
96870
  return;
96780
96871
  }
96781
96872
  const activeElement = [...activeElements()].find((el) => el.localName === "wa-dropdown-item");
@@ -96823,7 +96914,7 @@ var WaDropdown = class extends WebAwesomeElement {
96823
96914
  const submenuItems = this.getSubmenuItems(activeItem);
96824
96915
  if (submenuItems.length > 0) {
96825
96916
  submenuItems.forEach((item, index) => item.active = index === 0);
96826
- submenuItems[0].focus();
96917
+ submenuItems[0].focus({ preventScroll: true });
96827
96918
  }
96828
96919
  }, 0);
96829
96920
  return;
@@ -96836,7 +96927,7 @@ var WaDropdown = class extends WebAwesomeElement {
96836
96927
  if (removedItem) {
96837
96928
  removedItem.submenuOpen = false;
96838
96929
  setTimeout(() => {
96839
- removedItem.focus();
96930
+ removedItem.focus({ preventScroll: true });
96840
96931
  removedItem.active = true;
96841
96932
  const parentItems = removedItem.slot === "submenu" ? this.getSubmenuItems(removedItem.parentElement) : this.getItems();
96842
96933
  parentItems.forEach((item) => {
@@ -96876,7 +96967,7 @@ var WaDropdown = class extends WebAwesomeElement {
96876
96967
  event.preventDefault();
96877
96968
  event.stopPropagation();
96878
96969
  items.forEach((item) => item.active = item === itemToSelect);
96879
- itemToSelect.focus();
96970
+ itemToSelect.focus({ preventScroll: true });
96880
96971
  return;
96881
96972
  }
96882
96973
  if ((event.key === "Enter" || event.key === " " && this.userTypedQuery === "") && isFocusedOnItem && activeItem) {
@@ -96889,7 +96980,7 @@ var WaDropdown = class extends WebAwesomeElement {
96889
96980
  const submenuItems = this.getSubmenuItems(activeItem);
96890
96981
  if (submenuItems.length > 0) {
96891
96982
  submenuItems.forEach((item, index) => item.active = index === 0);
96892
- submenuItems[0].focus();
96983
+ submenuItems[0].focus({ preventScroll: true });
96893
96984
  }
96894
96985
  }, 0);
96895
96986
  } else {
@@ -96942,6 +97033,9 @@ var WaDropdown = class extends WebAwesomeElement {
96942
97033
  this.submenuCleanups.forEach((cleanup) => cleanup());
96943
97034
  this.submenuCleanups.clear();
96944
97035
  document.removeEventListener("mousemove", this.handleGlobalMouseMove);
97036
+ document.removeEventListener("keydown", this.handleDocumentKeyDown);
97037
+ document.removeEventListener("pointerdown", this.handleDocumentPointerDown);
97038
+ unregisterDismissible(this);
96945
97039
  }
96946
97040
  firstUpdated() {
96947
97041
  this.syncAriaAttributes();
@@ -97054,6 +97148,7 @@ var WaDropdown = class extends WebAwesomeElement {
97054
97148
  this.popup.active = true;
97055
97149
  this.open = true;
97056
97150
  openDropdowns.add(this);
97151
+ registerDismissible(this);
97057
97152
  this.syncAriaAttributes();
97058
97153
  document.addEventListener("keydown", this.handleDocumentKeyDown);
97059
97154
  document.addEventListener("pointerdown", this.handleDocumentPointerDown);
@@ -97063,7 +97158,7 @@ var WaDropdown = class extends WebAwesomeElement {
97063
97158
  const items = this.getItems();
97064
97159
  if (items.length > 0) {
97065
97160
  items.forEach((item, index) => item.active = index === 0);
97066
- items[0].focus();
97161
+ items[0].focus({ preventScroll: true });
97067
97162
  }
97068
97163
  this.dispatchEvent(new WaAfterShowEvent());
97069
97164
  }
@@ -97078,6 +97173,7 @@ var WaDropdown = class extends WebAwesomeElement {
97078
97173
  }
97079
97174
  this.open = false;
97080
97175
  openDropdowns.delete(this);
97176
+ unregisterDismissible(this);
97081
97177
  this.syncAriaAttributes();
97082
97178
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
97083
97179
  document.removeEventListener("pointerdown", this.handleDocumentPointerDown);
@@ -97233,7 +97329,7 @@ var WaDropdown = class extends WebAwesomeElement {
97233
97329
  this.dispatchEvent(selectEvent);
97234
97330
  if (!selectEvent.defaultPrevented) {
97235
97331
  this.open = false;
97236
- trigger?.focus();
97332
+ trigger?.focus({ preventScroll: true });
97237
97333
  }
97238
97334
  }
97239
97335
  /** Syncs aria attributes on the slotted trigger element and the menu based on the dropdown's current state */
@@ -97349,9 +97445,11 @@ var dropdown_item_styles_default = i$d`
97349
97445
  background-color: var(--wa-color-neutral-fill-normal);
97350
97446
  }
97351
97447
 
97352
- :host(:state(disabled)) {
97448
+ :host(:state(disabled)),
97449
+ :host([disabled]) {
97353
97450
  opacity: 0.5;
97354
97451
  cursor: not-allowed;
97452
+ pointer-events: none;
97355
97453
  }
97356
97454
 
97357
97455
  /* Danger variant */
@@ -97575,16 +97673,24 @@ var WaDropdownItem = class extends WebAwesomeElement {
97575
97673
  this.removeAttribute("aria-expanded");
97576
97674
  }
97577
97675
  };
97676
+ this.handleClick = (event) => {
97677
+ if (this.disabled) {
97678
+ event.preventDefault();
97679
+ event.stopImmediatePropagation();
97680
+ }
97681
+ };
97578
97682
  }
97579
97683
  connectedCallback() {
97580
97684
  super.connectedCallback();
97581
97685
  this.addEventListener("mouseenter", this.handleMouseEnter.bind(this));
97686
+ this.shadowRoot.addEventListener("click", this.handleClick, { capture: true });
97582
97687
  this.shadowRoot.addEventListener("slotchange", this.handleSlotChange);
97583
97688
  }
97584
97689
  disconnectedCallback() {
97585
97690
  super.disconnectedCallback();
97586
97691
  this.closeSubmenu();
97587
97692
  this.removeEventListener("mouseenter", this.handleMouseEnter);
97693
+ this.shadowRoot.removeEventListener("click", this.handleClick, { capture: true });
97588
97694
  this.shadowRoot.removeEventListener("slotchange", this.handleSlotChange);
97589
97695
  }
97590
97696
  firstUpdated() {
@@ -97604,6 +97710,7 @@ var WaDropdownItem = class extends WebAwesomeElement {
97604
97710
  if (changedProperties.has("disabled")) {
97605
97711
  this.setAttribute("aria-disabled", this.disabled ? "true" : "false");
97606
97712
  this.customStates.set("disabled", this.disabled);
97713
+ this.style.pointerEvents = this.disabled ? "none" : "";
97607
97714
  }
97608
97715
  if (changedProperties.has("type")) {
97609
97716
  if (this.type === "checkbox") {
@@ -97640,7 +97747,7 @@ var WaDropdownItem = class extends WebAwesomeElement {
97640
97747
  const items = this.getSubmenuItems();
97641
97748
  if (items.length > 0) {
97642
97749
  items.forEach((item, index) => item.active = index === 0);
97643
- items[0].focus();
97750
+ items[0].focus({ preventScroll: true });
97644
97751
  }
97645
97752
  }, 0);
97646
97753
  }
@@ -99021,9 +99128,11 @@ var WaOption = class extends WebAwesomeElement {
99021
99128
  willUpdate(changedProperties) {
99022
99129
  if (changedProperties.has("defaultSelected")) {
99023
99130
  if (!this.closest("wa-combobox, wa-select")?.hasInteracted) {
99024
- const oldVal = this.selected;
99025
- this.selected = this.defaultSelected;
99026
- this.requestUpdate("selected", oldVal);
99131
+ if (this.defaultSelected) {
99132
+ const oldVal = this.selected;
99133
+ this.selected = this.defaultSelected;
99134
+ this.requestUpdate("selected", oldVal);
99135
+ }
99027
99136
  }
99028
99137
  }
99029
99138
  super.willUpdate(changedProperties);
@@ -99048,6 +99157,15 @@ var WaOption = class extends WebAwesomeElement {
99048
99157
  this.customStates.set("current", this.current);
99049
99158
  }
99050
99159
  }
99160
+ firstUpdated(changedProperties) {
99161
+ super.firstUpdated(changedProperties);
99162
+ if (this.selected && !this.defaultSelected) {
99163
+ const parent = this.closest("wa-select, wa-combobox");
99164
+ if (parent && !parent.hasInteracted) {
99165
+ parent.selectionChanged?.();
99166
+ }
99167
+ }
99168
+ }
99051
99169
  updateDefaultLabel() {
99052
99170
  let oldValue = this.defaultLabel;
99053
99171
  this.defaultLabel = getText(this).trim();
@@ -99108,9 +99226,6 @@ var popover_styles_default = i$d`
99108
99226
  --show-duration: 100ms;
99109
99227
  --hide-duration: 100ms;
99110
99228
 
99111
- /* Internal calculated properties */
99112
- --arrow-diagonal-size: calc((var(--arrow-size) * sin(45deg)));
99113
-
99114
99229
  display: contents;
99115
99230
 
99116
99231
  /** Defaults for inherited CSS properties */
@@ -99146,6 +99261,7 @@ var popover_styles_default = i$d`
99146
99261
  /* The <wa-popup> element */
99147
99262
  .popover {
99148
99263
  --arrow-size: inherit;
99264
+ --popup-border-width: var(--wa-panel-border-width);
99149
99265
  --show-duration: inherit;
99150
99266
  --hide-duration: inherit;
99151
99267
 
@@ -99218,8 +99334,9 @@ var WaPopover = class extends WebAwesomeElement {
99218
99334
  }
99219
99335
  };
99220
99336
  this.handleDocumentKeyDown = (event) => {
99221
- if (event.key === "Escape") {
99337
+ if (event.key === "Escape" && this.open && isTopDismissible(this)) {
99222
99338
  event.preventDefault();
99339
+ event.stopPropagation();
99223
99340
  this.open = false;
99224
99341
  if (this.anchor && typeof this.anchor.focus === "function") {
99225
99342
  this.anchor.focus();
@@ -99251,6 +99368,7 @@ var WaPopover = class extends WebAwesomeElement {
99251
99368
  disconnectedCallback() {
99252
99369
  super.disconnectedCallback();
99253
99370
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
99371
+ unregisterDismissible(this);
99254
99372
  this.eventController.abort();
99255
99373
  }
99256
99374
  firstUpdated() {
@@ -99279,6 +99397,7 @@ var WaPopover = class extends WebAwesomeElement {
99279
99397
  this.dialog.show();
99280
99398
  this.popup.active = true;
99281
99399
  openPopovers.add(this);
99400
+ registerDismissible(this);
99282
99401
  requestAnimationFrame(() => {
99283
99402
  const elementToFocus = this.querySelector("[autofocus]");
99284
99403
  if (elementToFocus && typeof elementToFocus.focus === "function") {
@@ -99300,6 +99419,7 @@ var WaPopover = class extends WebAwesomeElement {
99300
99419
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
99301
99420
  document.removeEventListener("click", this.handleDocumentClick);
99302
99421
  openPopovers.delete(this);
99422
+ unregisterDismissible(this);
99303
99423
  await animateWithClass(this.popup.popup, "hide-with-scale");
99304
99424
  this.popup.active = false;
99305
99425
  this.dialog.close();
@@ -100181,12 +100301,12 @@ var WaRadioGroup = class extends WebAwesomeFormAssociatedElement {
100181
100301
  return radio;
100182
100302
  }
100183
100303
  updated(changedProperties) {
100184
- if (changedProperties.has("disabled") || changedProperties.has("size") || changedProperties.has("value")) {
100304
+ if (changedProperties.has("disabled") || changedProperties.has("size") || changedProperties.has("value") || changedProperties.has("defaultValue")) {
100185
100305
  this.syncRadioElements();
100186
100306
  }
100187
100307
  }
100188
100308
  formResetCallback(...args) {
100189
- this.value = this.defaultValue;
100309
+ this._value = null;
100190
100310
  super.formResetCallback(...args);
100191
100311
  this.syncRadioElements();
100192
100312
  }
@@ -101459,7 +101579,7 @@ var WaSelect = class extends WebAwesomeFormAssociatedElement {
101459
101579
  if (isClearButton || isButton) {
101460
101580
  return;
101461
101581
  }
101462
- if (event.key === "Escape" && this.open) {
101582
+ if (event.key === "Escape" && this.open && isTopDismissible(this)) {
101463
101583
  event.preventDefault();
101464
101584
  event.stopPropagation();
101465
101585
  this.hide();
@@ -101620,6 +101740,10 @@ var WaSelect = class extends WebAwesomeFormAssociatedElement {
101620
101740
  this.handleDefaultSlotChange();
101621
101741
  this.open = false;
101622
101742
  }
101743
+ disconnectedCallback() {
101744
+ super.disconnectedCallback();
101745
+ this.removeOpenListeners();
101746
+ }
101623
101747
  updateDefaultValue() {
101624
101748
  const allOptions = this.getAllOptions();
101625
101749
  const defaultSelectedOptions = allOptions.filter((el) => el.hasAttribute("selected") || el.defaultSelected);
@@ -101635,6 +101759,7 @@ var WaSelect = class extends WebAwesomeFormAssociatedElement {
101635
101759
  document.addEventListener("focusin", this.handleDocumentFocusIn);
101636
101760
  document.addEventListener("keydown", this.handleDocumentKeyDown);
101637
101761
  document.addEventListener("mousedown", this.handleDocumentMouseDown);
101762
+ registerDismissible(this);
101638
101763
  if (this.getRootNode() !== document) {
101639
101764
  this.getRootNode().addEventListener("focusin", this.handleDocumentFocusIn);
101640
101765
  }
@@ -101643,6 +101768,7 @@ var WaSelect = class extends WebAwesomeFormAssociatedElement {
101643
101768
  document.removeEventListener("focusin", this.handleDocumentFocusIn);
101644
101769
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
101645
101770
  document.removeEventListener("mousedown", this.handleDocumentMouseDown);
101771
+ unregisterDismissible(this);
101646
101772
  if (this.getRootNode() !== document) {
101647
101773
  this.getRootNode().removeEventListener("focusin", this.handleDocumentFocusIn);
101648
101774
  }
@@ -101773,7 +101899,7 @@ var WaSelect = class extends WebAwesomeFormAssociatedElement {
101773
101899
  this.currentOption = option;
101774
101900
  option.current = true;
101775
101901
  option.tabIndex = 0;
101776
- option.focus();
101902
+ option.focus({ preventScroll: true });
101777
101903
  }
101778
101904
  }
101779
101905
  // Sets the selected option(s)
@@ -102745,7 +102871,7 @@ var WaSlider = class extends WebAwesomeFormAssociatedElement {
102745
102871
  this.minValue = 0;
102746
102872
  this.maxValue = 50;
102747
102873
  this.defaultValue = this.getAttribute("value") == null ? this.minValue : Number(this.getAttribute("value"));
102748
- this._value = this.defaultValue;
102874
+ this._value = null;
102749
102875
  this.range = false;
102750
102876
  this.disabled = false;
102751
102877
  this.readonly = false;
@@ -102774,9 +102900,11 @@ var WaSlider = class extends WebAwesomeFormAssociatedElement {
102774
102900
  /** The current value of the slider, submitted as a name/value pair with form data. */
102775
102901
  get value() {
102776
102902
  if (this.valueHasChanged) {
102777
- return this._value;
102903
+ const val2 = this._value ?? this.minValue ?? 0;
102904
+ return clamp$1(val2, this.min, this.max);
102778
102905
  }
102779
- return this._value ?? this.defaultValue;
102906
+ const val = this._value ?? this.defaultValue;
102907
+ return clamp$1(val, this.min, this.max);
102780
102908
  }
102781
102909
  set value(val) {
102782
102910
  val = Number(val) ?? this.minValue;
@@ -102931,7 +103059,6 @@ var WaSlider = class extends WebAwesomeFormAssociatedElement {
102931
103059
  }
102932
103060
  } else {
102933
103061
  if (changedProperties.has("value")) {
102934
- this.value = clamp$1(this.value, this.min, this.max);
102935
103062
  this.setValue(String(this.value));
102936
103063
  }
102937
103064
  }
@@ -102939,8 +103066,6 @@ var WaSlider = class extends WebAwesomeFormAssociatedElement {
102939
103066
  if (this.isRange) {
102940
103067
  this.minValue = clamp$1(this.minValue, this.min, this.max);
102941
103068
  this.maxValue = clamp$1(this.maxValue, this.min, this.max);
102942
- } else {
102943
- this.value = clamp$1(this.value, this.min, this.max);
102944
103069
  }
102945
103070
  }
102946
103071
  if (changedProperties.has("disabled")) {
@@ -102968,8 +103093,10 @@ var WaSlider = class extends WebAwesomeFormAssociatedElement {
102968
103093
  this.minValue = parseFloat(this.getAttribute("min-value") ?? String(this.min));
102969
103094
  this.maxValue = parseFloat(this.getAttribute("max-value") ?? String(this.max));
102970
103095
  } else {
102971
- this.value = parseFloat(this.getAttribute("value") ?? String(this.min));
103096
+ this._value = null;
103097
+ this.defaultValue = this.defaultValue ?? parseFloat(this.getAttribute("value") ?? String(this.min));
102972
103098
  }
103099
+ this.valueHasChanged = false;
102973
103100
  this.hasInteracted = false;
102974
103101
  super.formResetCallback();
102975
103102
  }
@@ -103714,18 +103841,27 @@ var WaSplitPanel = class extends WebAwesomeElement {
103714
103841
  this.position = this.pixelsToPercentage(this.positionInPixels);
103715
103842
  }
103716
103843
  if (this.primary) {
103717
- this.position = this.pixelsToPercentage(this.cachedPositionInPixels);
103844
+ const newPosition = this.pixelsToPercentage(this.cachedPositionInPixels);
103845
+ if (this.position !== newPosition) {
103846
+ this.position = newPosition;
103847
+ }
103718
103848
  }
103719
103849
  }
103720
103850
  handlePositionChange() {
103721
103851
  this.cachedPositionInPixels = this.percentageToPixels(this.position);
103722
- this.positionInPixels = this.percentageToPixels(this.position);
103852
+ const newPositionInPixels = this.percentageToPixels(this.position);
103853
+ if (this.positionInPixels !== newPositionInPixels) {
103854
+ this.positionInPixels = newPositionInPixels;
103855
+ }
103723
103856
  this.isCollapsed = false;
103724
103857
  this.positionBeforeCollapsing = 0;
103725
103858
  this.dispatchEvent(new WaRepositionEvent());
103726
103859
  }
103727
103860
  handlePositionInPixelsChange() {
103728
- this.position = this.pixelsToPercentage(this.positionInPixels);
103861
+ const newPosition = this.pixelsToPercentage(this.positionInPixels);
103862
+ if (this.position !== newPosition) {
103863
+ this.position = newPosition;
103864
+ }
103729
103865
  }
103730
103866
  handleVerticalChange() {
103731
103867
  this.detectSize();
@@ -103932,7 +104068,7 @@ var WaSwitch = class extends WebAwesomeFormAssociatedElement {
103932
104068
  this._value = this.getAttribute("value") ?? null;
103933
104069
  this.size = "medium";
103934
104070
  this.disabled = false;
103935
- this.checked = this.hasAttribute("checked");
104071
+ this._checked = null;
103936
104072
  this.defaultChecked = this.hasAttribute("checked");
103937
104073
  this.required = false;
103938
104074
  this.hint = "";
@@ -103948,6 +104084,16 @@ var WaSwitch = class extends WebAwesomeFormAssociatedElement {
103948
104084
  set value(val) {
103949
104085
  this._value = val;
103950
104086
  }
104087
+ get checked() {
104088
+ if (this.valueHasChanged) {
104089
+ return Boolean(this._checked);
104090
+ }
104091
+ return this._checked ?? this.defaultChecked;
104092
+ }
104093
+ set checked(val) {
104094
+ this._checked = Boolean(val);
104095
+ this.valueHasChanged = true;
104096
+ }
103951
104097
  firstUpdated(changedProperties) {
103952
104098
  super.firstUpdated(changedProperties);
103953
104099
  this.handleValueOrCheckedChange();
@@ -103979,12 +104125,7 @@ var WaSwitch = class extends WebAwesomeFormAssociatedElement {
103979
104125
  }
103980
104126
  willUpdate(changedProperties) {
103981
104127
  super.willUpdate(changedProperties);
103982
- if (changedProperties.has("defaultChecked")) {
103983
- if (!this.hasInteracted) {
103984
- this.checked = this.defaultChecked;
103985
- }
103986
- }
103987
- if (changedProperties.has("value") || changedProperties.has("checked")) {
104128
+ if (changedProperties.has("value") || changedProperties.has("checked") || changedProperties.has("defaultChecked")) {
103988
104129
  this.handleValueOrCheckedChange();
103989
104130
  }
103990
104131
  }
@@ -103992,12 +104133,6 @@ var WaSwitch = class extends WebAwesomeFormAssociatedElement {
103992
104133
  this.setValue(this.checked ? this.value : null, this._value);
103993
104134
  this.updateValidity();
103994
104135
  }
103995
- handleDefaultCheckedChange() {
103996
- if (!this.hasInteracted && this.checked !== this.defaultChecked) {
103997
- this.checked = this.defaultChecked;
103998
- this.handleValueOrCheckedChange();
103999
- }
104000
- }
104001
104136
  handleStateChange() {
104002
104137
  if (this.hasUpdated) {
104003
104138
  this.input.checked = this.checked;
@@ -104028,7 +104163,7 @@ var WaSwitch = class extends WebAwesomeFormAssociatedElement {
104028
104163
  this.internals.setFormValue(value ?? "on", stateValue);
104029
104164
  }
104030
104165
  formResetCallback() {
104031
- this.checked = this.defaultChecked;
104166
+ this._checked = null;
104032
104167
  super.formResetCallback();
104033
104168
  this.handleValueOrCheckedChange();
104034
104169
  }
@@ -104047,7 +104182,7 @@ var WaSwitch = class extends WebAwesomeFormAssociatedElement {
104047
104182
  class="input"
104048
104183
  type="checkbox"
104049
104184
  title=${this.title}
104050
- name=${this.name}
104185
+ name=${o$8(this.name)}
104051
104186
  value=${o$8(this.value)}
104052
104187
  .checked=${l$1(this.checked)}
104053
104188
  .disabled=${this.disabled}
@@ -104101,7 +104236,7 @@ __decorateClass([
104101
104236
  ], WaSwitch.prototype, "disabled", 2);
104102
104237
  __decorateClass([
104103
104238
  n$a({ type: Boolean, attribute: false })
104104
- ], WaSwitch.prototype, "checked", 2);
104239
+ ], WaSwitch.prototype, "checked", 1);
104105
104240
  __decorateClass([
104106
104241
  n$a({ type: Boolean, attribute: "checked", reflect: true })
104107
104242
  ], WaSwitch.prototype, "defaultChecked", 2);
@@ -104115,10 +104250,7 @@ __decorateClass([
104115
104250
  n$a({ attribute: "with-hint", type: Boolean })
104116
104251
  ], WaSwitch.prototype, "withHint", 2);
104117
104252
  __decorateClass([
104118
- watch("defaultChecked")
104119
- ], WaSwitch.prototype, "handleDefaultCheckedChange", 1);
104120
- __decorateClass([
104121
- watch(["checked"])
104253
+ watch(["checked", "defaultChecked"])
104122
104254
  ], WaSwitch.prototype, "handleStateChange", 1);
104123
104255
  __decorateClass([
104124
104256
  watch("disabled", { waitUntilFirstUpdate: true })
@@ -105149,7 +105281,10 @@ var WaTextarea = class extends WebAwesomeFormAssociatedElement {
105149
105281
  }
105150
105282
  }
105151
105283
  formResetCallback() {
105152
- this.value = this.defaultValue;
105284
+ this._value = null;
105285
+ if (this.input) {
105286
+ this.input.value = this.value || "";
105287
+ }
105153
105288
  super.formResetCallback();
105154
105289
  }
105155
105290
  render() {
@@ -105321,27 +105456,6 @@ var WaSelectionChangeEvent = class extends Event {
105321
105456
  this.detail = detail;
105322
105457
  }
105323
105458
  };
105324
- var tree_styles_default = i$d`
105325
- :host {
105326
- /*
105327
- * These are actually used by tree item, but we define them here so they can more easily be set and all tree items
105328
- * stay consistent.
105329
- */
105330
- --indent-guide-color: var(--wa-color-surface-border);
105331
- --indent-guide-offset: 0;
105332
- --indent-guide-style: solid;
105333
- --indent-guide-width: 0;
105334
- --indent-size: var(--wa-space-l);
105335
-
105336
- display: block;
105337
-
105338
- /*
105339
- * Tree item indentation uses the "em" unit to increment its width on each level, so setting the font size to zero
105340
- * here removes the indentation for all the nodes on the first level.
105341
- */
105342
- font-size: 0;
105343
- }
105344
- `;
105345
105459
  var WaLazyChangeEvent = class extends Event {
105346
105460
  constructor() {
105347
105461
  super("wa-lazy-change", { bubbles: true, cancelable: false, composed: true });
@@ -105791,6 +105905,27 @@ __decorateClass([
105791
105905
  WaTreeItem = __decorateClass([
105792
105906
  t$3("wa-tree-item")
105793
105907
  ], WaTreeItem);
105908
+ var tree_styles_default = i$d`
105909
+ :host {
105910
+ /*
105911
+ * These are actually used by tree item, but we define them here so they can more easily be set and all tree items
105912
+ * stay consistent.
105913
+ */
105914
+ --indent-guide-color: var(--wa-color-surface-border);
105915
+ --indent-guide-offset: 0;
105916
+ --indent-guide-style: solid;
105917
+ --indent-guide-width: 0;
105918
+ --indent-size: var(--wa-space-l);
105919
+
105920
+ display: block;
105921
+
105922
+ /*
105923
+ * Tree item indentation uses the "em" unit to increment its width on each level, so setting the font size to zero
105924
+ * here removes the indentation for all the nodes on the first level.
105925
+ */
105926
+ font-size: 0;
105927
+ }
105928
+ `;
105794
105929
  function syncCheckboxes(changedTreeItem, initialSync = false) {
105795
105930
  function syncParentItem(treeItem) {
105796
105931
  const children = treeItem.getChildrenItems({ includeDisabled: false });
@@ -106391,10 +106526,14 @@ function register(tagName) {
106391
106526
  }
106392
106527
  const __vite_glob_0_0 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='2'%20y='2'%20width='28'%20height='28'%20fill='%23FFCA28'/%3e%3cpath%20d='M19%2025.2879L21.0615%2023.9237C21.2231%2024.4313%2022.2462%2025.6368%2023.5385%2025.6368C24.8308%2025.6368%2025.4308%2024.931%2025.4308%2024.463C25.4308%2023.1878%2024.1112%2022.7382%2023.4774%2022.5223C23.374%2022.4871%2023.289%2022.4581%2023.2308%2022.4328C23.2009%2022.4198%2023.1558%2022.4025%2023.0979%2022.3804C22.393%2022.1111%2019.7923%2021.1175%2019.7923%2018.2373C19.7923%2015.065%2022.8538%2014.7002%2023.5462%2014.7002C23.9991%2014.7002%2026.1769%2014.7557%2027.2615%2016.7939L25.2615%2018.1898C24.8231%2017.3015%2024.0946%2017.0081%2023.6462%2017.0081C22.5385%2017.0081%2022.3077%2017.8201%2022.3077%2018.1898C22.3077%2019.227%2023.5112%2019.6919%2024.5273%2020.0844C24.7932%2020.1871%2025.0462%2020.2848%2025.2615%2020.3866C26.3692%2020.91%2028%2021.7666%2028%2024.463C28%2025.8136%2026.8672%2028.0002%2024.0154%2028.0002C20.1846%2028.0002%2019.1692%2025.7003%2019%2025.2879Z'%20fill='%233E3E3E'/%3e%3cpath%20d='M9%2025.5587L11.1487%2024.1953C11.317%2024.7026%2011.9713%2025.638%2012.9205%2025.638C13.8698%2025.638%2014.3557%2024.663%2014.3557%2024.1953V15.0002H16.9982V24.1953C17.041%2025.4636%2016.3376%2028.0002%2013.2332%2028.0002C10.379%2028.0002%209.19242%2026.3039%209%2025.5587Z'%20fill='%233E3E3E'/%3e%3c/svg%3e";
106393
106528
  const __vite_glob_0_1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='-22%200%20300%20300'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20preserveAspectRatio='xMidYMid'%3e%3cg%3e%3cpath%20d='M10.5838307,156.409656%20L10.5838307,156.196646%20L10.5838307,123.657627%20L17.7200527,123.657627%20L17.7200527,158.912657%20C18.0516208,161.753926%2017.8075656,164.63288%2017.0023629,167.377784%20C16.19722,170.122687%2014.8474392,172.677251%2013.0335946,174.88924%20C9.6624625,177.797086%205.34298451,179.369568%200.891381719,179.309391%20L0.145805038,173.983903%20C3.01718628,173.985518%205.78730255,172.922981%207.92105685,171.001585%20C9.83826599,168.76489%2010.5838307,165.729334%2010.5838307,156.409656%20Z%20M63.8037763,152.209035%20C63.8037763,156.203166%2063.8037763,159.771277%2064.1232613,162.860071%20L57.7859014,162.860071%20L57.3598815,156.522711%20C56.0343268,158.765028%2054.1386519,160.616318%2051.8656486,161.888456%20C49.5925854,163.160593%2047.0232464,163.808237%2044.4187946,163.765408%20C38.2412071,163.765408%2030.8919752,160.410366%2030.8919752,146.723715%20L30.8919752,123.983721%20L38.0281972,123.983721%20L38.0281972,145.285823%20C38.0281972,152.688352%2040.3181887,157.641058%2046.7620834,157.641058%20C48.0878176,157.655354%2049.4030239,157.404719%2050.6306575,156.903927%20C51.8582911,156.403136%2052.9735276,155.662296%2053.9110465,154.724777%20C54.8485056,153.787318%2055.5894046,152.672022%2056.0901963,151.444448%20C56.5909282,150.216815%2056.8415633,148.901549%2056.8273268,147.575814%20L56.8273268,123.717444%20L63.9634889,123.717444%20L63.9634889,151.996025%20L63.8037763,152.209035%20Z%20M77.330762,136.653806%20C77.330762,131.70104%2077.330762,127.653648%2077.0112304,123.979032%20L83.4018876,123.979032%20L83.7213726,130.635931%20C85.1452074,128.23088%2087.1949721,126.257257%2089.6521533,124.925482%20C92.1093944,123.593709%2094.8819333,122.953703%2097.6742718,123.073695%20C107.153723,123.073695%20114.289945,131.008713%20114.289945,142.831393%20C114.289945,156.784292%20105.715831,163.707504%2096.4493898,163.707504%20C94.0776877,163.813321%2091.7187865,163.305232%2089.6009496,162.232346%20C87.4831127,161.159401%2085.6780613,159.558028%2084.3604623,157.583154%20L84.3604623,178.885226%20L77.330762,178.885226%20L77.330762,136.813578%20L77.330762,136.653806%20Z%20M84.3604623,147.038594%20C84.3797833,148.004885%2084.4867369,148.967408%2084.6800071,149.914378%20C85.2842232,152.279021%2086.6597255,154.374666%2088.5887785,155.869683%20C90.5178913,157.364761%2092.8904309,158.173852%2095.3310427,158.168947%20C102.840047,158.168947%20107.260258,152.044597%20107.260258,143.150938%20C107.260258,135.375686%20103.106354,128.718758%2095.59735,128.718758%20C92.6257387,128.962101%2089.844945,130.280974%2087.7762781,132.428062%20C85.7076111,134.575149%2084.4931374,137.403079%2084.3604623,140.381689%20L84.3604623,147.038594%20Z%20M127.004503,123.94359%20L135.578617,146.896647%20C136.483954,149.452886%20137.442529,152.54168%20138.081618,154.831671%20C138.827183,152.488442%20139.625985,149.506124%20140.58462,146.736875%20L148.359872,123.94359%20L155.868876,123.94359%20L145.21784,151.636343%20C139.892293,164.950152%20136.643726,171.820127%20131.744199,175.97403%20C129.27643,178.228071%20126.267791,179.805756%20123.010354,180.553953%20L121.252929,174.589376%20C123.530581,173.840999%20125.645092,172.666304%20127.48382,171.127799%20C130.081872,169.010501%20132.14366,166.310102%20133.501635,163.246013%20C133.792288,162.715372%20133.990404,162.139031%20134.087428,161.541814%20C134.026892,160.899135%20133.865146,160.270094%20133.60817,159.677902%20L119.122716,123.837079%20L126.897968,123.837079%20L127.004503,123.94359%20Z%20M174.813541,112.770851%20L174.813541,123.954441%20L185.038557,123.954441%20L185.038557,129.279989%20L174.813541,129.279989%20L174.813541,150.262575%20C174.813541,155.055568%20176.198196,157.824817%20180.139089,157.824817%20C181.538758,157.847727%20182.935316,157.686579%20184.292992,157.345559%20L184.612537,162.671047%20C182.57671,163.376355%20180.428486,163.701283%20178.275118,163.629682%20C176.849069,163.718929%20175.420569,163.498622%20174.087657,162.983833%20C172.754744,162.469044%20171.549004,161.671976%20170.553103,160.647363%20C168.383883,157.745977%20167.394359,154.130491%20167.783854,150.528882%20L167.783854,129.226751%20L161.712742,129.226751%20L161.712742,123.901204%20L167.890329,123.901204%20L167.890329,114.421764%20L174.813541,112.770851%20Z%20M198.184399,144.647511%20C198.03988,146.453639%20198.289199,148.269577%20198.915189,149.969888%20C199.541179,151.670199%20200.528884,153.214267%20201.810114,154.495437%20C203.091285,155.776667%20204.635352,156.764373%20206.335664,157.390363%20C208.035975,158.016352%20209.851913,158.265672%20211.658041,158.121153%20C215.311153,158.202863%20218.940457,157.513288%20222.309077,156.097409%20L223.533958,161.422956%20C219.400274,163.12572%20214.955358,163.942168%20210.486396,163.819423%20C207.881107,163.997798%20205.268101,163.61054%20202.826592,162.684147%20C200.385023,161.757814%20198.172795,160.3143%20196.341489,158.452721%20C194.51022,156.591082%20193.103284,154.355345%20192.217196,151.898941%20C191.331104,149.442478%20190.986827,146.82349%20191.207978,144.221491%20C191.207978,132.505346%20198.184399,123.238905%20209.581059,123.238905%20C222.362314,123.238905%20225.557643,134.422495%20225.557643,141.558717%20C225.625954,142.658281%20225.625954,143.761016%20225.557643,144.860581%20L198.024687,144.860581%20L198.184399,144.647511%20Z%20M219.06051,139.322023%20C219.266043,137.898188%20219.163995,136.446897%20218.761184,135.065892%20C218.358433,133.684886%20217.664311,132.406228%20216.725656,131.316115%20C215.786941,130.226062%20214.625525,129.349856%20213.31959,128.746561%20C212.013656,128.143278%20210.59353,127.826939%20209.155039,127.818864%20C206.228949,128.030665%20203.487515,129.327603%20201.467959,131.455549%20C199.448402,133.583436%20198.296377,136.388874%20198.237697,139.322023%20L219.06051,139.322023%20Z%20M236.385366,136.053478%20C236.385366,131.473555%20236.385366,127.532637%20236.065834,123.911277%20L242.456492,123.911277%20L242.456492,131.526792%20L242.775977,131.526792%20C243.446769,129.176325%20244.83268,127.093027%20246.741335,125.566097%20C248.64999,124.039161%20250.986699,123.144369%20253.427072,123.005938%20C254.098762,122.917777%20254.779066,122.917777%20255.450756,123.005938%20L255.450756,129.66288%20C254.63688,129.568608%20253.814868,129.568608%20253.000992,129.66288%20C250.58353,129.756495%20248.282771,130.726973%20246.528505,132.393068%20C244.774238,134.059104%20243.686458,136.306745%20243.468304,138.716252%20C243.269171,139.805946%20243.162278,140.910475%20243.148819,142.018055%20L243.148819,162.734394%20L236.11909,162.734394%20L236.11909,136.106715%20L236.385366,136.053478%20Z'%20fill='%234E4E4E'%3e%3c/path%3e%3cpath%20d='M233.257943,16.9621357%20C233.476636,20.5398773%20232.625434,24.1017075%20230.812666,27.1939108%20C228.999898,30.286174%20226.307754,32.7687777%20223.079047,34.3255867%20C219.85034,35.8823358%20216.231324,36.4427655%20212.683013,35.9355136%20C209.134702,35.4282017%20205.817704,33.8761781%20203.154559,31.4770796%20C200.491421,29.0780409%20198.602703,25.9404959%20197.729013,22.4642047%20C196.855323,18.9879135%20197.036209,15.330196%20198.248625,11.9570899%20C199.461041,8.5839838%20201.650109,5.64808944%20204.536953,3.52346926%20C207.423803,1.39884909%20210.877782,0.181657262%20214.458814,0.0269503701%20C216.806708,-0.10224713%20219.156996,0.233972409%20221.374429,1.01627461%20C223.591922,1.79857323%20225.632893,3.01152758%20227.379981,4.58537259%20C229.12701,6.15922358%20230.54576,8.06291398%20231.554522,10.1869719%20C232.563283,12.3110298%20233.142196,14.6135829%20233.257943,16.9621357%20Z'%20fill='%23767677'%3e%3c/path%3e%3cpath%20d='M127.952969,225.540984%20C80.0236372,225.540984%2037.8984531,208.339518%2016.1170646,182.936721%20C24.5683135,205.78944%2039.8176362,225.504615%2059.8124569,239.428562%20C79.8070981,253.352629%20103.588124,260.816651%20127.952969,260.816651%20C152.318411,260.816651%20176.098839,253.352629%20196.094019,239.428562%20C216.0886,225.504615%20231.337863,205.78944%20239.789471,182.936721%20C218.061379,208.339518%20176.095848,225.540984%20127.952969,225.540984%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M127.952969,60.3543133%20C175.882898,60.3543133%20218.008142,77.5557785%20239.789471,102.958396%20C231.337863,80.1058563%20216.0886,60.3906823%20196.094019,46.4667348%20C176.098839,32.5427873%20152.318411,25.0784666%20127.952969,25.0784666%20C103.588124,25.0784666%2079.8070981,32.5427873%2059.8124569,46.4667348%20C39.8176362,60.3906823%2024.5683135,80.1058563%2016.1170646,102.958396%20C37.8984531,77.502541%2079.8106871,60.3543133%20127.952969,60.3543133%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M61.9716874,274.975202%20C62.2528294,279.48161%2061.186045,283.969713%2058.9072992,287.867658%20C56.6284936,291.765602%2053.2409116,294.896926%2049.1761363,296.862707%20C45.1113611,298.828488%2040.5533909,299.539717%2036.0829934,298.905772%20C31.6125362,298.271767%2027.4320141,296.321359%2024.0740419,293.30297%20C20.7160636,290.284582%2018.3326671,286.334835%2017.2274978,281.957035%20C16.1223339,277.579176%2016.3454363,272.971497%2017.868382,268.720869%20C19.3913284,264.470301%2022.1451683,260.769335%2025.7790187,258.089483%20C29.4129289,255.40962%2033.7623156,253.872201%2038.2730898,253.673106%20C41.2280121,253.515051%2044.1851476,253.940738%2046.9755719,254.925846%20C49.7659364,255.910962%2052.3349165,257.436187%2054.5356604,259.414404%20C56.7364042,261.392633%2058.5259031,263.785032%2059.8017495,266.455044%20C61.0776558,269.124996%2061.8150255,272.02022%2061.9716874,274.975202%20Z'%20fill='%239E9E9E'%3e%3c/path%3e%3cpath%20d='M21.5641016,54.5650606%20C18.9814831,54.6363631%2016.4354131,53.9424806%2014.2460944,52.570687%20C12.0567996,51.1988336%2010.3219858,49.2102622%209.25983722,46.8551295%20C8.19768984,44.499937%207.85562972,41.8832824%208.276674,39.3342215%20C8.69771827,36.7851606%209.86306631,34.4174662%2011.6261678,32.5289814%20C13.3892752,30.6404727%2015.6714246,29.3154324%2018.1856119,28.7204982%20C20.6997394,28.1255646%2023.3336813,28.2873008%2025.7562282,29.1853653%20C28.1787154,30.0834346%2030.2815979,31.6777312%2031.800363,33.767765%20C33.3191879,35.8578106%2034.1861222,38.3502842%2034.2921188,40.9317063%20C34.3930308,44.4222341%2033.113057,47.8117302%2030.7300493,50.3642007%20C28.3470417,52.916731%2025.0533134,54.4262842%2021.5641016,54.5650606%20Z'%20fill='%23616262'%3e%3c/path%3e%3c/g%3e%3c/svg%3e";
106394
- const __vite_glob_0_2 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0164%202C10.8193%202%209.03825%203.72453%209.03825%205.85185V8.51852H15.9235V9.25926H5.97814C3.78107%209.25926%202%2010.9838%202%2013.1111L2%2018.8889C2%2021.0162%203.78107%2022.7407%205.97814%2022.7407H8.27322V19.4815C8.27322%2017.3542%2010.0543%2015.6296%2012.2514%2015.6296H19.5956C21.4547%2015.6296%2022.9617%2014.1704%2022.9617%2012.3704V5.85185C22.9617%203.72453%2021.1807%202%2018.9836%202H13.0164ZM12.0984%206.74074C12.8589%206.74074%2013.4754%206.14378%2013.4754%205.40741C13.4754%204.67103%2012.8589%204.07407%2012.0984%204.07407C11.3378%204.07407%2010.7213%204.67103%2010.7213%205.40741C10.7213%206.14378%2011.3378%206.74074%2012.0984%206.74074Z'%20fill='url(%23paint0_linear_87_8204)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.9834%2030C21.1805%2030%2022.9616%2028.2755%2022.9616%2026.1482V23.4815L16.0763%2023.4815L16.0763%2022.7408L26.0217%2022.7408C28.2188%2022.7408%2029.9998%2021.0162%2029.9998%2018.8889V13.1111C29.9998%2010.9838%2028.2188%209.25928%2026.0217%209.25928L23.7266%209.25928V12.5185C23.7266%2014.6459%2021.9455%2016.3704%2019.7485%2016.3704L12.4042%2016.3704C10.5451%2016.3704%209.03809%2017.8296%209.03809%2019.6296L9.03809%2026.1482C9.03809%2028.2755%2010.8192%2030%2013.0162%2030H18.9834ZM19.9015%2025.2593C19.1409%2025.2593%2018.5244%2025.8562%2018.5244%2026.5926C18.5244%2027.329%2019.1409%2027.9259%2019.9015%2027.9259C20.662%2027.9259%2021.2785%2027.329%2021.2785%2026.5926C21.2785%2025.8562%2020.662%2025.2593%2019.9015%2025.2593Z'%20fill='url(%23paint1_linear_87_8204)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_87_8204'%20x1='12.4809'%20y1='2'%20x2='12.4809'%20y2='22.7407'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23327EBD'/%3e%3cstop%20offset='1'%20stop-color='%231565A7'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_87_8204'%20x1='19.519'%20y1='9.25928'%20x2='19.519'%20y2='30'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFDA4B'/%3e%3cstop%20offset='1'%20stop-color='%23F9C600'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
106529
+ const __vite_glob_0_2 = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='3'%20width='12'%20height='8'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2'%20y1='20'%20x2='18'%20y2='20'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='20'%20y1='2'%20x2='20'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
106530
+ const __vite_glob_0_3 = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='10'%20y='4'%20width='12'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='9'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='2.5'%20y1='15'%20x2='2.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
106531
+ const __vite_glob_0_4 = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='8'%20height='8'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='6'%20y1='20'%20x2='18'%20y2='20'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
106532
+ const __vite_glob_0_5 = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='8'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
106533
+ const __vite_glob_0_6 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0164%202C10.8193%202%209.03825%203.72453%209.03825%205.85185V8.51852H15.9235V9.25926H5.97814C3.78107%209.25926%202%2010.9838%202%2013.1111L2%2018.8889C2%2021.0162%203.78107%2022.7407%205.97814%2022.7407H8.27322V19.4815C8.27322%2017.3542%2010.0543%2015.6296%2012.2514%2015.6296H19.5956C21.4547%2015.6296%2022.9617%2014.1704%2022.9617%2012.3704V5.85185C22.9617%203.72453%2021.1807%202%2018.9836%202H13.0164ZM12.0984%206.74074C12.8589%206.74074%2013.4754%206.14378%2013.4754%205.40741C13.4754%204.67103%2012.8589%204.07407%2012.0984%204.07407C11.3378%204.07407%2010.7213%204.67103%2010.7213%205.40741C10.7213%206.14378%2011.3378%206.74074%2012.0984%206.74074Z'%20fill='url(%23paint0_linear_87_8204)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.9834%2030C21.1805%2030%2022.9616%2028.2755%2022.9616%2026.1482V23.4815L16.0763%2023.4815L16.0763%2022.7408L26.0217%2022.7408C28.2188%2022.7408%2029.9998%2021.0162%2029.9998%2018.8889V13.1111C29.9998%2010.9838%2028.2188%209.25928%2026.0217%209.25928L23.7266%209.25928V12.5185C23.7266%2014.6459%2021.9455%2016.3704%2019.7485%2016.3704L12.4042%2016.3704C10.5451%2016.3704%209.03809%2017.8296%209.03809%2019.6296L9.03809%2026.1482C9.03809%2028.2755%2010.8192%2030%2013.0162%2030H18.9834ZM19.9015%2025.2593C19.1409%2025.2593%2018.5244%2025.8562%2018.5244%2026.5926C18.5244%2027.329%2019.1409%2027.9259%2019.9015%2027.9259C20.662%2027.9259%2021.2785%2027.329%2021.2785%2026.5926C21.2785%2025.8562%2020.662%2025.2593%2019.9015%2025.2593Z'%20fill='url(%23paint1_linear_87_8204)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_87_8204'%20x1='12.4809'%20y1='2'%20x2='12.4809'%20y2='22.7407'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23327EBD'/%3e%3cstop%20offset='1'%20stop-color='%231565A7'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_87_8204'%20x1='19.519'%20y1='9.25928'%20x2='19.519'%20y2='30'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFDA4B'/%3e%3cstop%20offset='1'%20stop-color='%23F9C600'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
106395
106534
  registerIconLibrary("lyra", {
106396
106535
  resolver: (name) => {
106397
- return new URL((/* @__PURE__ */ Object.assign({ "../icons/js.svg": __vite_glob_0_0, "../icons/jupyter.svg": __vite_glob_0_1, "../icons/python.svg": __vite_glob_0_2 }))[`../icons/${name}.svg`], import.meta.url).href;
106536
+ return new URL((/* @__PURE__ */ Object.assign({ "../icons/js.svg": __vite_glob_0_0, "../icons/jupyter.svg": __vite_glob_0_1, "../icons/layout-standard-bottom-panel.svg": __vite_glob_0_2, "../icons/layout-standard-bottom-sidebar.svg": __vite_glob_0_3, "../icons/layout-standard-full.svg": __vite_glob_0_4, "../icons/layout-standard.svg": __vite_glob_0_5, "../icons/python.svg": __vite_glob_0_6 }))[`../icons/${name}.svg`], import.meta.url).href;
106398
106537
  },
106399
106538
  mutator: (svg) => {
106400
106539
  svg.setAttribute("fill", "currentColor");