@schukai/monster 4.136.20 → 4.136.22

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.
@@ -10,10 +10,10 @@
10
10
  * For more information about purchasing a commercial license, please contact Volker Schukai.
11
11
  */
12
12
 
13
- import {addAttributeToken} from "../../../dom/attributes.mjs";
14
- import {ATTRIBUTE_ERRORMESSAGE} from "../../../dom/constants.mjs";
13
+ import { addAttributeToken } from "../../../dom/attributes.mjs";
14
+ import { ATTRIBUTE_ERRORMESSAGE } from "../../../dom/constants.mjs";
15
15
 
16
- export {SelectStyleSheet}
16
+ export { SelectStyleSheet };
17
17
 
18
18
  /**
19
19
  * @private
@@ -22,10 +22,17 @@ export {SelectStyleSheet}
22
22
  const SelectStyleSheet = new CSSStyleSheet();
23
23
 
24
24
  try {
25
- SelectStyleSheet.insertRule(`
25
+ SelectStyleSheet.insertRule(
26
+ `
26
27
  @layer select {
27
28
  .block{display:block}.inline{display:inline}.inline-block{display:inline-block}.grid{display:grid}.inline-grid{display:inline-grid}.flex{display:flex}.inline-flex{display:inline-flex}.hidden,.hide,.none{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.monster-border-primary-1,.monster-border-primary-2,.monster-border-primary-3,.monster-border-primary-4{border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width)}.monster-border-0{border-radius:0;border-style:none;border-width:0}.monster-border-primary-1{border-color:var(--monster-bg-color-primary-1)}.monster-border-primary-2{border-color:var(--monster-bg-color-primary-2)}.monster-border-primary-3{border-color:var(--monster-bg-color-primary-3)}.monster-border-primary-4{border-color:var(--monster-bg-color-primary-4)}.monster-border-secondary-1,.monster-border-secondary-2,.monster-border-secondary-3,.monster-border-secondary-4{border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width)}.monster-border-secondary-1{border-color:var(--monster-bg-color-secondary-1)}.monster-border-secondary-2{border-color:var(--monster-bg-color-secondary-2)}.monster-border-secondary-3{border-color:var(--monster-bg-color-secondary-3)}.monster-border-secondary-4{border-color:var(--monster-bg-color-secondary-4)}.monster-border-tertiary-1,.monster-border-tertiary-2,.monster-border-tertiary-3,.monster-border-tertiary-4{border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width)}.monster-border-tertiary-1{border-color:var(--monster-bg-color-tertiary-1)}.monster-border-tertiary-2{border-color:var(--monster-bg-color-tertiary-2)}.monster-border-tertiary-3{border-color:var(--monster-bg-color-tertiary-3)}.monster-border-tertiary-4{border-color:var(--monster-bg-color-tertiary-4)}[data-monster-role=control]{width:100%}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}:host{box-sizing:border-box;display:block}.monster-badge-primary{padding:.25em .4em}.monster-badge-primary,.monster-badge-primary-pill{background-color:var(--monster-bg-color-primary-4);border-radius:.25rem;color:var(--monster-color-primary-4);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-primary-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-secondary{padding:.25em .4em}.monster-badge-secondary,.monster-badge-secondary-pill{background-color:var(--monster-bg-color-secondary-3);border-radius:.25rem;color:var(--monster-color-secondary-3);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-secondary-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-tertiary{padding:.25em .4em}.monster-badge-tertiary,.monster-badge-tertiary-pill{background-color:var(--monster-bg-color-tertiary-3);border-radius:.25rem;color:var(--monster-color-tertiary-3);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-tertiary-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-destructive{padding:.25em .4em}.monster-badge-destructive,.monster-badge-destructive-pill{background-color:var(--monster-bg-color-destructive-1);border-radius:.25rem;color:var(--monster-color-destructive-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-destructive-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-success{padding:.25em .4em}.monster-badge-success,.monster-badge-success-pill{background-color:var(--monster-bg-color-success-1);border-radius:.25rem;color:var(--monster-color-success-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-success-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-warning{padding:.25em .4em}.monster-badge-warning,.monster-badge-warning-pill{background-color:var(--monster-bg-color-warning-1);border-radius:.25rem;color:var(--monster-color-warning-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-warning-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-error{padding:.25em .4em}.monster-badge-error,.monster-badge-error-pill{background-color:var(--monster-bg-color-error-1);border-radius:.25rem;color:var(--monster-color-error-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-error-pill{border-radius:10rem;padding:.25em .6em}.monster-margin-0{margin:var(--monster-space-0)}.monster-margin-top-0{margin-top:var(--monster-space-0)}.monster-margin-end-0{margin-right:var(--monster-space-0)}.monster-margin-bottom-0{margin-bottom:var(--monster-space-0)}.monster-margin-start-0{margin-left:var(--monster-space-0)}.monster-padding-0{padding:var(--monster-space-0)}.monster-padding-top-0{padding-top:var(--monster-space-0)}.monster-padding-end-0{padding-right:var(--monster-space-0)}.monster-padding-bottom-0{padding-bottom:var(--monster-space-0)}.monster-padding-start-0{padding-left:var(--monster-space-0)}.monster-margin-1{margin:var(--monster-space-1)}.monster-margin-top-1{margin-top:var(--monster-space-1)}.monster-margin-end-1{margin-right:var(--monster-space-1)}.monster-margin-bottom-1{margin-bottom:var(--monster-space-1)}.monster-margin-start-1{margin-left:var(--monster-space-1)}.monster-padding-1{padding:var(--monster-space-1)}.monster-padding-top-1{padding-top:var(--monster-space-1)}.monster-padding-end-1{padding-right:var(--monster-space-1)}.monster-padding-bottom-1{padding-bottom:var(--monster-space-1)}.monster-padding-start-1{padding-left:var(--monster-space-1)}.monster-margin-2{margin:var(--monster-space-2)}.monster-margin-top-2{margin-top:var(--monster-space-2)}.monster-margin-end-2{margin-right:var(--monster-space-2)}.monster-margin-bottom-2{margin-bottom:var(--monster-space-2)}.monster-margin-start-2{margin-left:var(--monster-space-2)}.monster-padding-2{padding:var(--monster-space-2)}.monster-padding-top-2{padding-top:var(--monster-space-2)}.monster-padding-end-2{padding-right:var(--monster-space-2)}.monster-padding-bottom-2{padding-bottom:var(--monster-space-2)}.monster-padding-start-2{padding-left:var(--monster-space-2)}.monster-margin-3{margin:var(--monster-space-3)}.monster-margin-top-3{margin-top:var(--monster-space-3)}.monster-margin-end-3{margin-right:var(--monster-space-3)}.monster-margin-bottom-3{margin-bottom:var(--monster-space-3)}.monster-margin-start-3{margin-left:var(--monster-space-3)}.monster-padding-3{padding:var(--monster-space-3)}.monster-padding-top-3{padding-top:var(--monster-space-3)}.monster-padding-end-3{padding-right:var(--monster-space-3)}.monster-padding-bottom-3{padding-bottom:var(--monster-space-3)}.monster-padding-start-3{padding-left:var(--monster-space-3)}.monster-margin-4{margin:var(--monster-space-4)}.monster-margin-top-4{margin-top:var(--monster-space-4)}.monster-margin-end-4{margin-right:var(--monster-space-4)}.monster-margin-bottom-4{margin-bottom:var(--monster-space-4)}.monster-margin-start-4{margin-left:var(--monster-space-4)}.monster-padding-4{padding:var(--monster-space-4)}.monster-padding-top-4{padding-top:var(--monster-space-4)}.monster-padding-end-4{padding-right:var(--monster-space-4)}.monster-padding-bottom-4{padding-bottom:var(--monster-space-4)}.monster-padding-start-4{padding-left:var(--monster-space-4)}.monster-margin-5{margin:var(--monster-space-5)}.monster-margin-top-5{margin-top:var(--monster-space-5)}.monster-margin-end-5{margin-right:var(--monster-space-5)}.monster-margin-bottom-5{margin-bottom:var(--monster-space-5)}.monster-margin-start-5{margin-left:var(--monster-space-5)}.monster-padding-5{padding:var(--monster-space-5)}.monster-padding-top-5{padding-top:var(--monster-space-5)}.monster-padding-end-5{padding-right:var(--monster-space-5)}.monster-padding-bottom-5{padding-bottom:var(--monster-space-5)}.monster-padding-start-5{padding-left:var(--monster-space-5)}.monster-margin-6{margin:var(--monster-space-6)}.monster-margin-top-6{margin-top:var(--monster-space-6)}.monster-margin-end-6{margin-right:var(--monster-space-6)}.monster-margin-bottom-6{margin-bottom:var(--monster-space-6)}.monster-margin-start-6{margin-left:var(--monster-space-6)}.monster-padding-6{padding:var(--monster-space-6)}.monster-padding-top-6{padding-top:var(--monster-space-6)}.monster-padding-end-6{padding-right:var(--monster-space-6)}.monster-padding-bottom-6{padding-bottom:var(--monster-space-6)}.monster-padding-start-6{padding-left:var(--monster-space-6)}.monster-margin-7{margin:var(--monster-space-7)}.monster-margin-top-7{margin-top:var(--monster-space-7)}.monster-margin-end-7{margin-right:var(--monster-space-7)}.monster-margin-bottom-7{margin-bottom:var(--monster-space-7)}.monster-margin-start-7{margin-left:var(--monster-space-7)}.monster-padding-7{padding:var(--monster-space-7)}.monster-padding-top-7{padding-top:var(--monster-space-7)}.monster-padding-end-7{padding-right:var(--monster-space-7)}.monster-padding-bottom-7{padding-bottom:var(--monster-space-7)}.monster-padding-start-7{padding-left:var(--monster-space-7)}div[data-monster-role=popper]{align-content:center;background:var(--monster-bg-color-primary-1);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);box-sizing:border-box;color:var(--monster-color-primary-1);display:none;justify-content:space-between;left:0;max-height:var(--monster-popper-max-height,calc(100vh - 2rem));max-width:var(--monster-popper-max-width,calc(100vw - 2rem));opacity:1;padding:1.1em;position:absolute;top:0;transition:opacity var(--monster-popper-fade-duration,.14s) var(--monster-popper-fade-timing,cubic-bezier(.2,0,0,1));width:-moz-max-content;width:max-content;z-index:var(--monster-z-index-modal)}div[data-monster-role=popper][data-monster-appearance=opening]{opacity:0}div[data-monster-role=popper][data-monster-appearance=open]{opacity:1}@media (prefers-reduced-motion:reduce){div[data-monster-role=popper]{transition:none}}div[data-monster-role=popper]>[part=content]{max-height:var(--monster-popper-content-max-height,calc(100vh - 4.2rem));max-width:100%;overflow:auto}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=horizontal]{clip-path:none;overflow:visible}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=visible]{clip-path:none;max-height:none;max-width:none;overflow:visible}div[data-monster-role=popper] div[data-monster-role=arrow]{background:var(--monster-bg-color-primary-1);height:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);pointer-events:none;position:absolute;width:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);z-index:-1}[data-monster-role=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:4 0 90%;min-height:1.4em;overflow:auto;scrollbar-color:var(--monster-color-primary-1) var(--monster-bg-color-primary-1);scrollbar-width:thin;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:100%}.d-none{display:none!important}div[data-monster-role=no-options] span,div[data-monster-role=remote-info] span{text-wrap:balance}div[data-monster-role=control]{display:flex;height:100%;position:relative}[data-monster-role=container].open{-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708z'/%3E%3C/svg%3E\")}[data-monster-role=container].clear,[data-monster-role=container].open{background-color:var(--monster-bg-color-primary-2);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:.8em;mask-size:.8em}[data-monster-role=container].clear{-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\")}[data-monster-role=control]{accent-color:var(--monster-color-secondary-2);background-color:var(--monster-bg-color-primary-1);border-color:var(--monster-theme-control-border-color);-o-border-image:initial;border-image:initial;border-radius:var(--monster-theme-control-border-radius);border-style:var(--monster-theme-control-border-style);border-width:var(--monster-theme-control-border-width);box-sizing:border-box;color:var(--monster-color-primary-1);display:flex;font-family:inherit;font-size:100%;margin:0;outline:none;padding:.4rem .6rem;width:-webkit-fill-available;width:-moz-available;width:fill-available}@media (prefers-color-scheme:light){[data-monster-role=control]{background-color:var(--monster-bg-color-primary-1);border-color:var(--monster-bg-color-primary-3);color:var(--monster-color-primary-1)}[data-monster-role=control]:focus{outline:1px dashed var(--monster-color-selection-4);outline-offset:2px}}[data-monster-role=control]:hover{box-shadow:var(--monster-box-shadow-2);transition:background .8s,color .25s .0833333333s}:host([disabled]) [data-monster-role=control]{cursor:not-allowed}:host([disabled]) [data-monster-role=status-or-remove-badges],[data-monster-role=control][disabled] [data-monster-role=status-or-remove-badges]{display:none}div[data-monster-role=selection]{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;justify-content:flex-start;margin:5px}[data-monster-role=option-control]{margin-right:8px}[data-monster-role=badge]{display:inline-flex}[data-monster-role=badge-label]{align-content:center;align-items:center;display:flex;flex-direction:row;gap:7px;justify-content:space-between}[data-monster-role=filter],[data-monster-role=popper-filter]{display:flex;flex-grow:200;order:99999999;visibility:hidden}[data-monster-role=filter].active{background-color:var(--monster-bg-color-primary-2);border:0;border-color:var(--monster-bg-color-primary-3);border-bottom:1px solid var(--monster-bg-color-primary-3);color:var(--monster-color-primary-2);min-width:40%;outline:none;visibility:visible}.active[data-monster-role=filter][name=popper-filter]{height:1.5em;margin:2.5em;padding:2px;width:calc(100% - var(--monster-border-width)*2)}.option-filter-control{align-items:center;background-color:var(--monster-bg-color-primary-2);display:flex;height:2.5em;margin:-1.1em -1.1em .3em}[data-monster-role=remove-badge]{background-color:var(--monster-bg-color-primary-2);height:16px;margin-left:5px;-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");order:2}[data-monster-role=remove-badge],[data-monster-role=status-or-remove-badges]{-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:.8em;mask-size:.8em;min-height:16px;width:16px}[data-monster-role=status-or-remove-badges]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--monster-bg-color-primary-4);-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\")}.open[data-monster-role=status-or-remove-badges]{background-color:var(--monster-bg-color-primary-4);-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708z'/%3E%3C/svg%3E\")}.empty[data-monster-role=status-or-remove-badges]{background-color:var(--monster-bg-color-primary-4);-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-dash-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-dash-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8'/%3E%3C/svg%3E\")}.clear[data-monster-role=status-or-remove-badges]{background-color:var(--monster-bg-color-primary-4);-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\")}.error[data-monster-role=status-or-remove-badges]{background-color:var(--monster-bg-color-error-1);-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z'/%3E%3C/svg%3E\")}@media (prefers-color-scheme:dark){.error[data-monster-role=status-or-remove-badges]{background-color:var(--monster-color-error-4);-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z'/%3E%3C/svg%3E\")}}.loading[data-monster-role=status-or-remove-badges]{animation-duration:1s;animation-iteration-count:infinite;animation-name:activity;animation-timing-function:cubic-bezier(0,0,.2,1);background-color:var(--monster-bg-color-primary-4);-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='activity' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='activity' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3C/svg%3E\")}@keyframes activity{0%{transform:scale(1)}50%{transform:scale(.1)}to{transform:scale(1)}}[data-monster-role=options]{flex-direction:column;flex-grow:1;overflow-x:hidden;scrollbar-color:var(--monster-color-primary-1) var(--monster-bg-color-primary-1);scrollbar-gutter:stable;scrollbar-width:thin}[data-monster-role=option],[data-monster-role=options]{box-sizing:border-box;display:flex;max-width:100%;min-width:0;width:100%}[data-monster-role=option]{align-items:center;padding:6px 5px}[data-monster-role=option] label{justify-content:flex-start}[data-monster-role=option] label,[data-monster-role=option] label>div{align-items:center;display:flex;flex-direction:row;max-width:100%;min-width:0;width:100%}[data-monster-role=option] label>div{justify-content:space-between;outline:none}[part=option-label]{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.selected{background-color:var(--monster-bg-color-primary-2);color:var(--monster-color-primary-2)}[data-monster-role=option][data-monster-filtered=true],[data-monster-role=option][data-monster-visibility=hidden]{display:none}[data-monster-role=option][data-monster-focused=true]{outline:1px dashed var(--monster-color-selection-2);outline-offset:-2px}@media (prefers-color-scheme:dark){[data-monster-role=option][data-monster-focused=true]{outline:1px dashed var(--monster-color-selection-4)}}[data-monster-role=filter]::-moz-placeholder{background-color:var(--monster-bg-color-primary-2);color:var(--monster-color-primary-2)}[data-monster-role=filter]::placeholder{background-color:var(--monster-bg-color-primary-2);color:var(--monster-color-primary-2)}[data-monster-role=option]>input:focus,[data-monster-role=option]>label:focus{outline:none}[data-monster-role=selection-messages]:empty:before,[data-monster-role=summary-messages]:empty:before{content:\"\u00A0\"}.in-button-bar{border-color:var(--monster-bg-color-primary-4)!important;border-style:var(--monster-border-style)!important;border-width:var(--monster-border-width)!important}[data-monster-role=pagination]::part(nav){justify-content:flex-start}[data-monster-role=pagination]::part(list){margin-bottom:0;margin-top:0}
28
- }`, 0);
29
+ }`,
30
+ 0,
31
+ );
29
32
  } catch (e) {
30
- addAttributeToken(document.getRootNode().querySelector('html'), ATTRIBUTE_ERRORMESSAGE, e + "");
33
+ addAttributeToken(
34
+ document.getRootNode().querySelector("html"),
35
+ ATTRIBUTE_ERRORMESSAGE,
36
+ e + "",
37
+ );
31
38
  }
@@ -41,6 +41,7 @@ const settlingFrameMap = new WeakMap();
41
41
  const floatingResizeObserverMap = new WeakMap();
42
42
  const floatingSyncCycleMap = new WeakMap();
43
43
  const floatingAppearanceFrameMap = new WeakMap();
44
+ const floatingAppearanceTimeoutMap = new WeakMap();
44
45
 
45
46
  /**
46
47
  * @private
@@ -1048,42 +1049,56 @@ function scheduleFloatingAppearanceOpen(popperElement) {
1048
1049
  return;
1049
1050
  }
1050
1051
 
1051
- const schedule =
1052
- typeof requestAnimationFrame === "function"
1053
- ? requestAnimationFrame
1054
- : (callback) => {
1055
- return setTimeout(callback, 16);
1056
- };
1057
- const frameId = schedule(() => {
1058
- floatingAppearanceFrameMap.delete(popperElement);
1052
+ const finishAppearanceOpen = () => {
1053
+ cancelFloatingAppearanceFrame(popperElement);
1059
1054
 
1060
1055
  if (!isPositionedPopperOpen(popperElement)) {
1061
1056
  return;
1062
1057
  }
1063
1058
 
1064
1059
  popperElement.dataset.monsterAppearance = "open";
1060
+ };
1061
+ const schedule =
1062
+ typeof requestAnimationFrame === "function"
1063
+ ? requestAnimationFrame
1064
+ : (callback) => {
1065
+ return setTimeout(callback, 16);
1066
+ };
1067
+ const frameId = schedule(() => {
1068
+ finishAppearanceOpen();
1065
1069
  });
1070
+ const timeoutId = setTimeout(() => {
1071
+ finishAppearanceOpen();
1072
+ }, 24);
1066
1073
 
1067
1074
  floatingAppearanceFrameMap.set(popperElement, frameId);
1075
+ floatingAppearanceTimeoutMap.set(popperElement, timeoutId);
1068
1076
  }
1069
1077
 
1070
1078
  function cancelFloatingAppearanceFrame(popperElement) {
1071
1079
  const frameId = floatingAppearanceFrameMap.get(popperElement);
1072
1080
  if (
1073
- frameId === undefined ||
1074
- frameId === null ||
1075
- Number.isNaN(frameId) === true
1081
+ frameId !== undefined &&
1082
+ frameId !== null &&
1083
+ Number.isNaN(frameId) === false
1076
1084
  ) {
1077
- return;
1085
+ if (typeof cancelAnimationFrame === "function") {
1086
+ cancelAnimationFrame(frameId);
1087
+ } else {
1088
+ clearTimeout(frameId);
1089
+ }
1078
1090
  }
1091
+ floatingAppearanceFrameMap.delete(popperElement);
1079
1092
 
1080
- if (typeof cancelAnimationFrame === "function") {
1081
- cancelAnimationFrame(frameId);
1082
- } else {
1083
- clearTimeout(frameId);
1093
+ const timeoutId = floatingAppearanceTimeoutMap.get(popperElement);
1094
+ if (
1095
+ timeoutId !== undefined &&
1096
+ timeoutId !== null &&
1097
+ Number.isNaN(timeoutId) === false
1098
+ ) {
1099
+ clearTimeout(timeoutId);
1084
1100
  }
1085
-
1086
- floatingAppearanceFrameMap.delete(popperElement);
1101
+ floatingAppearanceTimeoutMap.delete(popperElement);
1087
1102
  }
1088
1103
 
1089
1104
  function applyFloatingArrowStyles(arrowElement, placement, arrowData) {
@@ -10,10 +10,10 @@
10
10
  * For more information about purchasing a commercial license, please contact Volker Schukai.
11
11
  */
12
12
 
13
- import {addAttributeToken} from "../../../dom/attributes.mjs";
14
- import {ATTRIBUTE_ERRORMESSAGE} from "../../../dom/constants.mjs";
13
+ import { addAttributeToken } from "../../../dom/attributes.mjs";
14
+ import { ATTRIBUTE_ERRORMESSAGE } from "../../../dom/constants.mjs";
15
15
 
16
- export {PopperStyleSheet}
16
+ export { PopperStyleSheet };
17
17
 
18
18
  /**
19
19
  * @private
@@ -22,10 +22,17 @@ export {PopperStyleSheet}
22
22
  const PopperStyleSheet = new CSSStyleSheet();
23
23
 
24
24
  try {
25
- PopperStyleSheet.insertRule(`
25
+ PopperStyleSheet.insertRule(
26
+ `
26
27
  @layer popper {
27
28
  [data-monster-role=control]{box-sizing:border-box;outline:none;width:100%}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}:host{box-sizing:border-box;display:block}div[data-monster-role=popper]{align-content:center;background:var(--monster-bg-color-primary-1);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);box-sizing:border-box;color:var(--monster-color-primary-1);display:none;justify-content:space-between;left:0;max-height:var(--monster-popper-max-height,calc(100vh - 2rem));max-width:var(--monster-popper-max-width,calc(100vw - 2rem));opacity:1;padding:1.1em;position:absolute;top:0;transition:opacity var(--monster-popper-fade-duration,.14s) var(--monster-popper-fade-timing,cubic-bezier(.2,0,0,1));width:-moz-max-content;width:max-content;z-index:var(--monster-z-index-modal)}div[data-monster-role=popper][data-monster-appearance=opening]{opacity:0}div[data-monster-role=popper][data-monster-appearance=open]{opacity:1}@media (prefers-reduced-motion:reduce){div[data-monster-role=popper]{transition:none}}div[data-monster-role=popper]>[part=content]{max-height:var(--monster-popper-content-max-height,calc(100vh - 4.2rem));max-width:100%;overflow:auto}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=horizontal]{clip-path:none;overflow:visible}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=visible]{clip-path:none;max-height:none;max-width:none;overflow:visible}div[data-monster-role=popper] div[data-monster-role=arrow]{background:var(--monster-bg-color-primary-1);height:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);pointer-events:none;position:absolute;width:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);z-index:-1}[data-monster-role=control]{display:flex;position:relative}
28
- }`, 0);
29
+ }`,
30
+ 0,
31
+ );
29
32
  } catch (e) {
30
- addAttributeToken(document.getRootNode().querySelector('html'), ATTRIBUTE_ERRORMESSAGE, e + "");
33
+ addAttributeToken(
34
+ document.getRootNode().querySelector("html"),
35
+ ATTRIBUTE_ERRORMESSAGE,
36
+ e + "",
37
+ );
31
38
  }
@@ -133,19 +133,19 @@ div[data-monster-role="popper"] {
133
133
  }
134
134
  :host([disabled]) {
135
135
  background-color: var(--monster-bg-color-primary-disabled-1);
136
- border-color: var(--monster-color-primary-disabled-1, hsla(0, 0%, 46%, 0.3));
136
+ border-color: var(--monster-color-primary-disabled-1, hsla(0, 0%, 46.3%, 0.3));
137
137
  color: var(--monster-color-primary-disabled-1);
138
138
  cursor: not-allowed;
139
139
  }
140
140
  :host([disabled]) * {
141
141
  background-color: var(--monster-bg-color-primary-disabled-1);
142
- border-color: var(--monster-color-primary-disabled-1, hsla(0, 0%, 46%, 0.3));
142
+ border-color: var(--monster-color-primary-disabled-1, hsla(0, 0%, 46.3%, 0.3));
143
143
  color: var(--monster-color-primary-disabled-1);
144
144
  cursor: not-allowed;
145
145
  }
146
146
  :disabled {
147
147
  background-color: var(--monster-bg-color-primary-disabled-1);
148
- border-color: var(--monster-color-primary-disabled-1, hsla(0, 0%, 46%, 0.3));
148
+ border-color: var(--monster-color-primary-disabled-1, hsla(0, 0%, 46.3%, 0.3));
149
149
  color: var(--monster-color-primary-disabled-1);
150
150
  cursor: not-allowed;
151
151
  opacity: 0.55;
@@ -1,2 +1,76 @@
1
1
  /** generated from floating-ui.pcss **/
2
- div[data-monster-role=popper]{align-content:center;background:var(--monster-bg-color-primary-1);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);box-sizing:border-box;color:var(--monster-color-primary-1);display:none;justify-content:space-between;left:0;max-height:var(--monster-popper-max-height,calc(100vh - 2rem));max-width:var(--monster-popper-max-width,calc(100vw - 2rem));opacity:1;padding:1.1em;position:absolute;top:0;transition:opacity var(--monster-popper-fade-duration,.14s) var(--monster-popper-fade-timing,cubic-bezier(.2,0,0,1));width:-moz-max-content;width:max-content;z-index:var(--monster-z-index-modal)}div[data-monster-role=popper][data-monster-appearance=opening]{opacity:0}div[data-monster-role=popper][data-monster-appearance=open]{opacity:1}@media (prefers-reduced-motion:reduce){div[data-monster-role=popper]{transition:none}}div[data-monster-role=popper]>[part=content]{max-height:var(--monster-popper-content-max-height,calc(100vh - 4.2rem));max-width:100%;overflow:auto}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=horizontal]{clip-path:none;overflow:visible}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=visible]{clip-path:none;max-height:none;max-width:none;overflow:visible}div[data-monster-role=popper] div[data-monster-role=arrow]{background:var(--monster-bg-color-primary-1);height:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);pointer-events:none;position:absolute;width:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);z-index:-1}
2
+ div[data-monster-role="popper"] {
3
+ align-content: center;
4
+ background: var(--monster-bg-color-primary-1);
5
+ border-color: var(--monster-bg-color-primary-4);
6
+ border-radius: var(--monster-border-radius);
7
+ border-style: var(--monster-border-style);
8
+ border-width: var(--monster-border-width);
9
+ box-shadow: var(--monster-box-shadow-1);
10
+ box-sizing: border-box;
11
+ color: var(--monster-color-primary-1);
12
+ display: none;
13
+ justify-content: space-between;
14
+ left: 0;
15
+ max-height: var(--monster-popper-max-height, calc(100vh - 2rem));
16
+ max-width: var(--monster-popper-max-width, calc(100vw - 2rem));
17
+ opacity: 1;
18
+ padding: 1.1em;
19
+ position: absolute;
20
+ top: 0;
21
+ transition: opacity var(--monster-popper-fade-duration, .14s)
22
+ var(--monster-popper-fade-timing, cubic-bezier(0.2, 0, 0, 1));
23
+ width: -moz-max-content;
24
+ width: max-content;
25
+ z-index: var(--monster-z-index-modal);
26
+ }
27
+ div[data-monster-role="popper"][data-monster-appearance="opening"] {
28
+ opacity: 0;
29
+ }
30
+ div[data-monster-role="popper"][data-monster-appearance="open"] {
31
+ opacity: 1;
32
+ }
33
+ @media (prefers-reduced-motion: reduce) {
34
+ div[data-monster-role="popper"] {
35
+ transition: none;
36
+ }
37
+ }
38
+ div[data-monster-role="popper"] > [part="content"] {
39
+ max-height: var(--monster-popper-content-max-height, calc(100vh - 4.2rem));
40
+ max-width: 100%;
41
+ overflow: auto;
42
+ }
43
+ div[data-monster-role="popper"]
44
+ > [part="content"][data-monster-overflow-mode="horizontal"] {
45
+ clip-path: none;
46
+ overflow: visible;
47
+ }
48
+ div[data-monster-role="popper"]
49
+ > [part="content"][data-monster-overflow-mode="visible"] {
50
+ clip-path: none;
51
+ max-height: none;
52
+ max-width: none;
53
+ overflow: visible;
54
+ }
55
+ div[data-monster-role="popper"] div[data-monster-role="arrow"] {
56
+ background: var(--monster-bg-color-primary-1);
57
+ height: calc(
58
+ max(
59
+ var(--monster-popper-witharrrow-distance),
60
+ -1 *
61
+ var(--monster-popper-witharrrow-distance)
62
+ ) *
63
+ 2
64
+ );
65
+ pointer-events: none;
66
+ position: absolute;
67
+ width: calc(
68
+ max(
69
+ var(--monster-popper-witharrrow-distance),
70
+ -1 *
71
+ var(--monster-popper-witharrrow-distance)
72
+ ) *
73
+ 2
74
+ );
75
+ z-index: -1;
76
+ }
@@ -25,7 +25,7 @@ try {
25
25
  CommonStyleSheet.insertRule(
26
26
  `
27
27
  @layer common {
28
- a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:baseline}*{box-sizing:border-box;font-family:var(--monster-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif)}.visible{tvisibility:visible!important}.invisible{visibility:hidden!important}.hidden{display:none!important}.inline{display:inline!important}.block{display:block!important}.flex{display:flex!important}[data-monster-role=control]{outline:none}div[data-monster-role=popper]{background-color:#fff;border:var(--monster-border-width,1px) solid var(--monster-color-primary-1);box-sizing:border-box;display:none;padding:0;z-index:10}:host([disabled]){background-color:var(--monster-bg-color-primary-disabled-1);border-color:var(--monster-color-primary-disabled-1,hsla(0,0%,46%,.3));color:var(--monster-color-primary-disabled-1);cursor:not-allowed}:host([disabled]) *{background-color:var(--monster-bg-color-primary-disabled-1);border-color:var(--monster-color-primary-disabled-1,hsla(0,0%,46%,.3));color:var(--monster-color-primary-disabled-1);cursor:not-allowed}:disabled{background-color:var(--monster-bg-color-primary-disabled-1);border-color:var(--monster-color-primary-disabled-1,hsla(0,0%,46%,.3));color:var(--monster-color-primary-disabled-1);cursor:not-allowed;opacity:.55;pointer-events:none}input:focus-visible{outline:none}body:focus-visible{outline:none}:focus-visible{outline:none}
28
+ a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:baseline}*{box-sizing:border-box;font-family:var(--monster-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif)}.visible{tvisibility:visible!important}.invisible{visibility:hidden!important}.hidden{display:none!important}.inline{display:inline!important}.block{display:block!important}.flex{display:flex!important}[data-monster-role=control]{outline:none}div[data-monster-role=popper]{background-color:#fff;border:var(--monster-border-width,1px) solid var(--monster-color-primary-1);box-sizing:border-box;display:none;padding:0;z-index:10}:host([disabled]){background-color:var(--monster-bg-color-primary-disabled-1);border-color:var(--monster-color-primary-disabled-1,hsla(0,0%,46.3%,.3));color:var(--monster-color-primary-disabled-1);cursor:not-allowed}:host([disabled]) *{background-color:var(--monster-bg-color-primary-disabled-1);border-color:var(--monster-color-primary-disabled-1,hsla(0,0%,46.3%,.3));color:var(--monster-color-primary-disabled-1);cursor:not-allowed}:disabled{background-color:var(--monster-bg-color-primary-disabled-1);border-color:var(--monster-color-primary-disabled-1,hsla(0,0%,46.3%,.3));color:var(--monster-color-primary-disabled-1);cursor:not-allowed;opacity:.55;pointer-events:none}input:focus-visible{outline:none}body:focus-visible{outline:none}:focus-visible{outline:none}
29
29
  }`,
30
30
  0,
31
31
  );
@@ -10,10 +10,10 @@
10
10
  * For more information about purchasing a commercial license, please contact Volker Schukai.
11
11
  */
12
12
 
13
- import {addAttributeToken} from "../../dom/attributes.mjs";
14
- import {ATTRIBUTE_ERRORMESSAGE} from "../../dom/constants.mjs";
13
+ import { addAttributeToken } from "../../dom/attributes.mjs";
14
+ import { ATTRIBUTE_ERRORMESSAGE } from "../../dom/constants.mjs";
15
15
 
16
- export {FloatingUiStyleSheet}
16
+ export { FloatingUiStyleSheet };
17
17
 
18
18
  /**
19
19
  * @private
@@ -22,10 +22,17 @@ export {FloatingUiStyleSheet}
22
22
  const FloatingUiStyleSheet = new CSSStyleSheet();
23
23
 
24
24
  try {
25
- FloatingUiStyleSheet.insertRule(`
25
+ FloatingUiStyleSheet.insertRule(
26
+ `
26
27
  @layer floatingui {
27
28
  div[data-monster-role=popper]{align-content:center;background:var(--monster-bg-color-primary-1);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);box-sizing:border-box;color:var(--monster-color-primary-1);display:none;justify-content:space-between;left:0;max-height:var(--monster-popper-max-height,calc(100vh - 2rem));max-width:var(--monster-popper-max-width,calc(100vw - 2rem));opacity:1;padding:1.1em;position:absolute;top:0;transition:opacity var(--monster-popper-fade-duration,.14s) var(--monster-popper-fade-timing,cubic-bezier(.2,0,0,1));width:-moz-max-content;width:max-content;z-index:var(--monster-z-index-modal)}div[data-monster-role=popper][data-monster-appearance=opening]{opacity:0}div[data-monster-role=popper][data-monster-appearance=open]{opacity:1}@media (prefers-reduced-motion:reduce){div[data-monster-role=popper]{transition:none}}div[data-monster-role=popper]>[part=content]{max-height:var(--monster-popper-content-max-height,calc(100vh - 4.2rem));max-width:100%;overflow:auto}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=horizontal]{clip-path:none;overflow:visible}div[data-monster-role=popper]>[part=content][data-monster-overflow-mode=visible]{clip-path:none;max-height:none;max-width:none;overflow:visible}div[data-monster-role=popper] div[data-monster-role=arrow]{background:var(--monster-bg-color-primary-1);height:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);pointer-events:none;position:absolute;width:calc(max(var(--monster-popper-witharrrow-distance), -1 * var(--monster-popper-witharrrow-distance))*2);z-index:-1}
28
- }`, 0);
29
+ }`,
30
+ 0,
31
+ );
29
32
  } catch (e) {
30
- addAttributeToken(document.getRootNode().querySelector('html'), ATTRIBUTE_ERRORMESSAGE, e + "");
33
+ addAttributeToken(
34
+ document.getRootNode().querySelector("html"),
35
+ ATTRIBUTE_ERRORMESSAGE,
36
+ e + "",
37
+ );
31
38
  }
@@ -235,4 +235,44 @@ describe("PopperButton", function () {
235
235
  }
236
236
  }, 0);
237
237
  });
238
+
239
+ it("should finish the opening appearance state when requestAnimationFrame stalls", function (done) {
240
+ let mocks = document.getElementById("mocks");
241
+ const button = document.createElement("monster-popper-button");
242
+ const originalRequestAnimationFrame = globalThis.requestAnimationFrame;
243
+ const originalCancelAnimationFrame = globalThis.cancelAnimationFrame;
244
+
245
+ globalThis.requestAnimationFrame = () => 1;
246
+ globalThis.cancelAnimationFrame = () => {};
247
+ mocks.appendChild(button);
248
+
249
+ setTimeout(() => {
250
+ try {
251
+ button.showDialog();
252
+
253
+ const popper = button.shadowRoot.querySelector(
254
+ '[data-monster-role="popper"]',
255
+ );
256
+ expect(popper).to.exist;
257
+ expect(popper.dataset.monsterAppearance).to.equal("opening");
258
+
259
+ setTimeout(() => {
260
+ try {
261
+ expect(popper.dataset.monsterAppearance).to.equal("open");
262
+ button.hideDialog();
263
+ done();
264
+ } catch (e) {
265
+ done(e);
266
+ } finally {
267
+ globalThis.requestAnimationFrame = originalRequestAnimationFrame;
268
+ globalThis.cancelAnimationFrame = originalCancelAnimationFrame;
269
+ }
270
+ }, 30);
271
+ } catch (e) {
272
+ globalThis.requestAnimationFrame = originalRequestAnimationFrame;
273
+ globalThis.cancelAnimationFrame = originalCancelAnimationFrame;
274
+ done(e);
275
+ }
276
+ }, 0);
277
+ });
238
278
  });
@@ -47,6 +47,18 @@ function createJsonResponse(data, status = 200) {
47
47
  });
48
48
  }
49
49
 
50
+ function createDeferred() {
51
+ let resolve;
52
+ let reject;
53
+
54
+ const promise = new Promise((res, rej) => {
55
+ resolve = res;
56
+ reject = rej;
57
+ });
58
+
59
+ return {promise, resolve, reject};
60
+ }
61
+
50
62
  function waitForCondition(check, {timeout = 4000, interval = 25} = {}) {
51
63
  return new Promise((resolve, reject) => {
52
64
  const start = Date.now();
@@ -1141,6 +1153,195 @@ describe('Select', function () {
1141
1153
  expect(select.getOption('messages.total')).to.contain('No additional entries are available');
1142
1154
  });
1143
1155
 
1156
+ it('should keep the remote-info footer height stable while a remote page request is pending', async function () {
1157
+ this.timeout(4000);
1158
+
1159
+ let mocks = document.getElementById('mocks');
1160
+ const firstRequest = createDeferred();
1161
+ const secondRequest = createDeferred();
1162
+ let requestCount = 0;
1163
+
1164
+ global['fetch'] = function () {
1165
+ requestCount += 1;
1166
+
1167
+ if (requestCount === 1) {
1168
+ return firstRequest.promise;
1169
+ }
1170
+
1171
+ if (requestCount === 2) {
1172
+ return secondRequest.promise;
1173
+ }
1174
+
1175
+ return Promise.reject(new Error('unexpected fetch request'));
1176
+ };
1177
+
1178
+ const select = document.createElement('monster-select');
1179
+ select.setOption('url', 'https://example.com/items?filter={filter}&page={page}');
1180
+ select.setOption('filter.mode', 'remote');
1181
+ select.setOption('filter.position', 'popper');
1182
+ select.setOption('mapping.selector', 'items.*');
1183
+ select.setOption('mapping.labelTemplate', '${name}');
1184
+ select.setOption('mapping.valueTemplate', '${id}');
1185
+ select.setOption('mapping.total', 'pagination.total');
1186
+ select.setOption('mapping.currentPage', 'pagination.page');
1187
+ select.setOption('mapping.objectsPerPage', 'pagination.perPage');
1188
+ mocks.appendChild(select);
1189
+
1190
+ await waitForCondition(() => {
1191
+ return select.shadowRoot.querySelector('[data-monster-role=container]') instanceof HTMLElement;
1192
+ });
1193
+
1194
+ const firstFetch = select.fetch('https://example.com/items?filter=*&page=1');
1195
+ firstRequest.resolve(await createJsonResponse({
1196
+ items: [
1197
+ {id: 'alpha', name: 'Alpha'}
1198
+ ],
1199
+ pagination: {
1200
+ total: 12,
1201
+ page: 1,
1202
+ perPage: 1
1203
+ }
1204
+ }));
1205
+ await firstFetch;
1206
+
1207
+ await waitForCondition(() => {
1208
+ return select.getOption('messages.total').includes('additional entries are available');
1209
+ });
1210
+
1211
+ const container = select.shadowRoot.querySelector('[data-monster-role=container]');
1212
+ const remoteInfoElement = select.shadowRoot.querySelector('[data-monster-role=remote-info]');
1213
+
1214
+ container.click();
1215
+
1216
+ await waitForCondition(() => {
1217
+ return select.shadowRoot
1218
+ .querySelector('[data-monster-role=control]')
1219
+ .classList
1220
+ .contains('open');
1221
+ });
1222
+
1223
+ expect(remoteInfoElement.style.visibility).to.equal('');
1224
+
1225
+ const secondFetch = select.fetch('https://example.com/items?filter=*&page=2');
1226
+
1227
+ await waitForCondition(() => {
1228
+ return remoteInfoElement.style.visibility === 'hidden';
1229
+ });
1230
+
1231
+ expect(select.getOption('messages.total')).to.contain('additional entries are available');
1232
+
1233
+ secondRequest.resolve(await createJsonResponse({
1234
+ items: [
1235
+ {id: 'beta', name: 'Beta'}
1236
+ ],
1237
+ pagination: {
1238
+ total: 12,
1239
+ page: 2,
1240
+ perPage: 1
1241
+ }
1242
+ }));
1243
+
1244
+ await secondFetch;
1245
+
1246
+ await waitForCondition(() => {
1247
+ return remoteInfoElement.style.visibility === '';
1248
+ });
1249
+
1250
+ expect(select.getOption('messages.total')).to.contain('additional entries are available');
1251
+ });
1252
+
1253
+ it('should clear preserved remote-info text after a later empty remote result settles', async function () {
1254
+ this.timeout(4000);
1255
+
1256
+ let mocks = document.getElementById('mocks');
1257
+ const firstRequest = createDeferred();
1258
+ const secondRequest = createDeferred();
1259
+ let requestCount = 0;
1260
+
1261
+ global['fetch'] = function () {
1262
+ requestCount += 1;
1263
+
1264
+ if (requestCount === 1) {
1265
+ return firstRequest.promise;
1266
+ }
1267
+
1268
+ if (requestCount === 2) {
1269
+ return secondRequest.promise;
1270
+ }
1271
+
1272
+ return Promise.reject(new Error('unexpected fetch request'));
1273
+ };
1274
+
1275
+ const select = document.createElement('monster-select');
1276
+ select.setOption('url', 'https://example.com/items?filter={filter}&page={page}');
1277
+ select.setOption('filter.mode', 'remote');
1278
+ select.setOption('filter.position', 'popper');
1279
+ select.setOption('mapping.selector', 'items.*');
1280
+ select.setOption('mapping.labelTemplate', '${name}');
1281
+ select.setOption('mapping.valueTemplate', '${id}');
1282
+ select.setOption('mapping.total', 'pagination.total');
1283
+ select.setOption('mapping.currentPage', 'pagination.page');
1284
+ select.setOption('mapping.objectsPerPage', 'pagination.perPage');
1285
+ mocks.appendChild(select);
1286
+
1287
+ await waitForCondition(() => {
1288
+ return select.shadowRoot.querySelector('[data-monster-role=container]') instanceof HTMLElement;
1289
+ });
1290
+
1291
+ const firstFetch = select.fetch('https://example.com/items?filter=*&page=1');
1292
+ firstRequest.resolve(await createJsonResponse({
1293
+ items: [
1294
+ {id: 'alpha', name: 'Alpha'}
1295
+ ],
1296
+ pagination: {
1297
+ total: 12,
1298
+ page: 1,
1299
+ perPage: 1
1300
+ }
1301
+ }));
1302
+ await firstFetch;
1303
+
1304
+ await waitForCondition(() => {
1305
+ return select.getOption('messages.total').includes('additional entries are available');
1306
+ });
1307
+
1308
+ const container = select.shadowRoot.querySelector('[data-monster-role=container]');
1309
+ const remoteInfoElement = select.shadowRoot.querySelector('[data-monster-role=remote-info]');
1310
+
1311
+ container.click();
1312
+
1313
+ await waitForCondition(() => {
1314
+ return select.shadowRoot
1315
+ .querySelector('[data-monster-role=control]')
1316
+ .classList
1317
+ .contains('open');
1318
+ });
1319
+
1320
+ const secondFetch = select.fetch('https://example.com/items?filter=leer&page=1');
1321
+
1322
+ await waitForCondition(() => {
1323
+ return remoteInfoElement.style.visibility === 'hidden';
1324
+ });
1325
+
1326
+ secondRequest.resolve(await createJsonResponse({
1327
+ items: [],
1328
+ pagination: {
1329
+ total: 0,
1330
+ page: 1,
1331
+ perPage: 1
1332
+ }
1333
+ }));
1334
+
1335
+ await secondFetch;
1336
+
1337
+ await waitForCondition(() => {
1338
+ return select.getOption('messages.total') === '';
1339
+ });
1340
+
1341
+ expect(remoteInfoElement.style.visibility).to.equal('');
1342
+ expect(select.getOption('messages.total')).to.equal('');
1343
+ });
1344
+
1144
1345
  it('should avoid duplicate remote-info badges for empty remote filter results', async function () {
1145
1346
  this.timeout(4000);
1146
1347