@schukai/monster 4.136.22 → 4.136.24

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/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.6"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.136.22"}
1
+ {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.6"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.136.24"}
@@ -162,6 +162,7 @@ const suppressColumnConfigSaveSymbol = Symbol("suppressColumnConfigSave");
162
162
  * @copyright Volker Schukai
163
163
  * @summary A configurable data table for datasets, datasources, filtering, sorting, pagination and row selection workflows.
164
164
  * @fires monster-datatable-row-copied
165
+ * @fires monster-datatable-copy-error
165
166
  * @fires monster-datatable-row-removed
166
167
  * @fires monster-datatable-row-added
167
168
  * @fires monster-datatable-row-selected
@@ -1067,14 +1068,22 @@ function initEventHandler() {
1067
1068
  const rowBreak = this.getOption("copy.rowBreak");
1068
1069
 
1069
1070
  const writeTextToClipboard = (text) => {
1070
- if (getWindow().navigator.clipboard && text) {
1071
- getWindow()
1072
- .navigator.clipboard.writeText(text)
1073
- .then(
1074
- () => {},
1075
- () => {},
1076
- );
1071
+ if (!text) {
1072
+ return;
1073
+ }
1074
+
1075
+ const clipboard = getWindow().navigator.clipboard;
1076
+ if (!clipboard?.writeText) {
1077
+ const error = new Error("Clipboard API is not available.");
1078
+ addErrorAttribute(self, error);
1079
+ fireCustomEvent(self, "monster-datatable-copy-error", { error, text });
1080
+ return;
1077
1081
  }
1082
+
1083
+ clipboard.writeText(text).catch((error) => {
1084
+ addErrorAttribute(self, error);
1085
+ fireCustomEvent(self, "monster-datatable-copy-error", { error, text });
1086
+ });
1078
1087
  };
1079
1088
 
1080
1089
  const getCopyTextForRow = (headCell) => {
@@ -1230,14 +1239,7 @@ function initEventHandler() {
1230
1239
 
1231
1240
  if (table.length > 0) {
1232
1241
  const text = table.map((row) => row.join(delimiterChar)).join(rowBreak);
1233
- if (getWindow().navigator.clipboard && text) {
1234
- getWindow()
1235
- .navigator.clipboard.writeText(text)
1236
- .then(
1237
- () => {},
1238
- () => {},
1239
- );
1240
- }
1242
+ writeTextToClipboard(text);
1241
1243
  }
1242
1244
  });
1243
1245
  }
@@ -41,6 +41,7 @@ import { ButtonBarStyleSheet } from "./stylesheet/button-bar.mjs";
41
41
  import { positionPopper } from "./util/floating-ui.mjs";
42
42
  import { convertToPixels } from "../../dom/dimension.mjs";
43
43
  import { addErrorAttribute } from "../../dom/error.mjs";
44
+ import { Processing } from "../../util/processing.mjs";
44
45
  export { ButtonBar };
45
46
 
46
47
  /**
@@ -126,6 +127,8 @@ const switchElementSymbol = Symbol("switchElement");
126
127
  * @type {symbol}
127
128
  */
128
129
  const layoutStateSymbol = Symbol("layoutState");
130
+ const layoutFrameSymbol = Symbol("layoutFrame");
131
+ const layoutTokenSymbol = Symbol("layoutToken");
129
132
 
130
133
  /**
131
134
  * @private
@@ -201,6 +204,7 @@ class ButtonBar extends CustomElement {
201
204
  this[dimensionsSymbol] = new Pathfinder({ data: {} });
202
205
  this[layoutStateSymbol] = {
203
206
  scheduled: false,
207
+ running: false,
204
208
  needsMeasure: true,
205
209
  needsLayout: true,
206
210
  needsObserve: true,
@@ -283,6 +287,12 @@ class ButtonBar extends CustomElement {
283
287
  document.removeEventListener(type, this[closeEventHandler]);
284
288
  }
285
289
 
290
+ if (typeof this[layoutFrameSymbol] === "number") {
291
+ cancelAnimationFrame(this[layoutFrameSymbol]);
292
+ }
293
+ delete this[layoutFrameSymbol];
294
+ this[layoutTokenSymbol] = (this[layoutTokenSymbol] || 0) + 1;
295
+
286
296
  disconnectResizeObserver.call(this);
287
297
  if (this[mutationObserverSymbol]) {
288
298
  this[mutationObserverSymbol].disconnect();
@@ -442,12 +452,27 @@ function scheduleLayout(options = {}) {
442
452
  state.needsLayout = state.needsLayout || options.layout === true;
443
453
  state.needsObserve = state.needsObserve || options.observe === true;
444
454
 
445
- if (state.scheduled) {
455
+ if (state.scheduled || state.running) {
456
+ return;
457
+ }
458
+
459
+ scheduleLayoutFrame.call(this);
460
+ }
461
+
462
+ function scheduleLayoutFrame() {
463
+ const state = this[layoutStateSymbol];
464
+ if (!state || state.scheduled || state.running) {
446
465
  return;
447
466
  }
448
467
 
449
468
  state.scheduled = true;
450
- requestAnimationFrame(() => {
469
+ const token = (this[layoutTokenSymbol] || 0) + 1;
470
+ this[layoutTokenSymbol] = token;
471
+ this[layoutFrameSymbol] = requestAnimationFrame(() => {
472
+ if (this[layoutTokenSymbol] !== token) {
473
+ return;
474
+ }
475
+ delete this[layoutFrameSymbol];
451
476
  runLayout.call(this);
452
477
  });
453
478
  }
@@ -463,36 +488,61 @@ function runLayout() {
463
488
  return;
464
489
  }
465
490
 
466
- if (state.needsObserve) {
467
- updateResizeObserverObservation.call(this);
468
- state.needsObserve = false;
491
+ if (state.running) {
492
+ return;
469
493
  }
470
494
 
471
- if (state.needsMeasure) {
472
- try {
473
- calculateButtonBarDimensions.call(this);
474
- } catch (error) {
475
- addErrorAttribute(
476
- this,
477
- error?.message || "An error occurred while calculating dimensions",
478
- );
495
+ const needsObserve = state.needsObserve;
496
+ const needsMeasure = state.needsMeasure;
497
+ const needsLayout = state.needsLayout;
498
+
499
+ state.needsObserve = false;
500
+ state.needsMeasure = false;
501
+ state.needsLayout = false;
502
+ state.running = true;
503
+
504
+ new Processing(() => {
505
+ if (needsObserve) {
506
+ updateResizeObserverObservation.call(this);
479
507
  }
480
- state.needsMeasure = false;
481
- }
482
508
 
483
- if (state.needsLayout) {
484
- try {
485
- rearrangeButtons.call(this);
486
- } catch (error) {
509
+ if (needsMeasure) {
510
+ try {
511
+ calculateButtonBarDimensions.call(this);
512
+ } catch (error) {
513
+ addErrorAttribute(
514
+ this,
515
+ error?.message || "An error occurred while calculating dimensions",
516
+ );
517
+ }
518
+ }
519
+
520
+ if (needsLayout) {
521
+ try {
522
+ rearrangeButtons.call(this);
523
+ } catch (error) {
524
+ addErrorAttribute(
525
+ this,
526
+ error?.message || "An error occurred while rearranging the buttons",
527
+ );
528
+ }
529
+ }
530
+
531
+ return updatePopper.call(this);
532
+ })
533
+ .run()
534
+ .catch((error) => {
487
535
  addErrorAttribute(
488
536
  this,
489
- error?.message || "An error occurred while rearranging the buttons",
537
+ error?.message || "An error occurred while running the button bar layout",
490
538
  );
491
- }
492
- state.needsLayout = false;
493
- }
494
-
495
- updatePopper.call(this);
539
+ })
540
+ .finally(() => {
541
+ state.running = false;
542
+ if (state.needsObserve || state.needsMeasure || state.needsLayout) {
543
+ scheduleLayoutFrame.call(this);
544
+ }
545
+ });
496
546
  }
497
547
 
498
548
  /**
@@ -1401,10 +1401,11 @@ function importOptionsIntern(data) {
1401
1401
  }
1402
1402
 
1403
1403
  for (const [value, label] of entries) {
1404
+ const optionLabel = resolveOptionLabel(label, value);
1404
1405
  let found = false;
1405
1406
  for (const option of options) {
1406
1407
  if (option.value === value) {
1407
- option.label = label;
1408
+ option.label = optionLabel;
1408
1409
  option.visibility = visibility;
1409
1410
  option.data = map.get(value);
1410
1411
  found = true;
@@ -1415,7 +1416,7 @@ function importOptionsIntern(data) {
1415
1416
  if (!found) {
1416
1417
  options.push({
1417
1418
  value,
1418
- label,
1419
+ label: optionLabel,
1419
1420
  visibility,
1420
1421
  data: map.get(value),
1421
1422
  });
@@ -1436,6 +1437,27 @@ function importOptionsIntern(data) {
1436
1437
  return this;
1437
1438
  }
1438
1439
 
1440
+ function resolveOptionLabel(label, value) {
1441
+ if (!isEmptyOptionLabel(label)) {
1442
+ return label;
1443
+ }
1444
+
1445
+ if (value === undefined || value === null) {
1446
+ return label;
1447
+ }
1448
+
1449
+ const fallback = `${value}`;
1450
+ return fallback.trim() === "" ? label : fallback;
1451
+ }
1452
+
1453
+ function isEmptyOptionLabel(label) {
1454
+ return (
1455
+ label === undefined ||
1456
+ label === null ||
1457
+ (isString(label) && label.trim() === "")
1458
+ );
1459
+ }
1460
+
1439
1461
  /**
1440
1462
  * @private
1441
1463
  * @returns {object}
@@ -3174,10 +3196,19 @@ function calcAndSetOptionsDimension() {
3174
3196
  margin += parseInt(styles.getPropertyValue("margin-bottom"), 10);
3175
3197
 
3176
3198
  const geometry = getSelectPopperGeometry.call(this);
3199
+ const popperMaxHeight = Math.min(
3200
+ geometry.availableHeight,
3201
+ SELECT_MAX_POPPER_HEIGHT,
3202
+ );
3203
+ const listAvailableHeight = resolveSelectListAvailableHeight({
3204
+ popperElement: this[popperElementSymbol],
3205
+ contentElement: content,
3206
+ popperMaxHeight,
3207
+ });
3177
3208
  const listDimension = resolveSelectListDimension({
3178
3209
  visibleOptionHeights,
3179
3210
  maxVisibleOptions: max,
3180
- availableHeight: geometry.availableHeight,
3211
+ availableHeight: listAvailableHeight,
3181
3212
  padding,
3182
3213
  margin,
3183
3214
  });
@@ -3219,7 +3250,7 @@ function calcAndSetOptionsDimension() {
3219
3250
  Math.min(widthConstraints.preferredWidth, widthConstraints.maxWidth),
3220
3251
  )}px`;
3221
3252
  this[popperElementSymbol].style.maxHeight = `${Math.ceil(
3222
- Math.min(geometry.availableHeight, SELECT_MAX_POPPER_HEIGHT),
3253
+ popperMaxHeight,
3223
3254
  )}px`;
3224
3255
  container.style.overflowX = "hidden";
3225
3256
 
@@ -3230,6 +3261,62 @@ function calcAndSetOptionsDimension() {
3230
3261
  }
3231
3262
  }
3232
3263
 
3264
+ function resolveSelectListAvailableHeight({
3265
+ popperElement,
3266
+ contentElement,
3267
+ popperMaxHeight,
3268
+ }) {
3269
+ if (!Number.isFinite(popperMaxHeight) || popperMaxHeight <= 0) {
3270
+ return popperMaxHeight;
3271
+ }
3272
+
3273
+ const reservedHeight = getSelectPopperReservedHeight(
3274
+ popperElement,
3275
+ contentElement,
3276
+ );
3277
+
3278
+ return Math.max(0, popperMaxHeight - reservedHeight);
3279
+ }
3280
+
3281
+ function getSelectPopperReservedHeight(popperElement, contentElement) {
3282
+ if (!(popperElement instanceof HTMLElement)) {
3283
+ return 0;
3284
+ }
3285
+
3286
+ const popperStyle = getGlobal().getComputedStyle(popperElement);
3287
+ let reservedHeight = 0;
3288
+ reservedHeight += readSelectBoxDimension(popperStyle.paddingTop);
3289
+ reservedHeight += readSelectBoxDimension(popperStyle.paddingBottom);
3290
+ reservedHeight += readSelectBoxDimension(popperStyle.borderTopWidth);
3291
+ reservedHeight += readSelectBoxDimension(popperStyle.borderBottomWidth);
3292
+
3293
+ for (const child of popperElement.children) {
3294
+ if (
3295
+ !(child instanceof HTMLElement) ||
3296
+ child === contentElement ||
3297
+ containsAttributeToken(child, "part", "content")
3298
+ ) {
3299
+ continue;
3300
+ }
3301
+
3302
+ const childStyle = getGlobal().getComputedStyle(child);
3303
+ if (childStyle.display === "none") {
3304
+ continue;
3305
+ }
3306
+
3307
+ reservedHeight += child.getBoundingClientRect().height;
3308
+ reservedHeight += readSelectBoxDimension(childStyle.marginTop);
3309
+ reservedHeight += readSelectBoxDimension(childStyle.marginBottom);
3310
+ }
3311
+
3312
+ return Math.max(0, reservedHeight);
3313
+ }
3314
+
3315
+ function readSelectBoxDimension(rawValue) {
3316
+ const value = Number.parseFloat(rawValue);
3317
+ return Number.isFinite(value) ? value : 0;
3318
+ }
3319
+
3233
3320
  function resolveSelectPopperPreferredWidth(controlWidth) {
3234
3321
  return Math.max(Math.ceil(controlWidth), SELECT_MIN_POPPER_WIDTH);
3235
3322
  }
@@ -4312,8 +4399,9 @@ function areOptionsAvailableAndInitInternal() {
4312
4399
  updated = true;
4313
4400
  }
4314
4401
 
4315
- if (option?.label === undefined) {
4316
- option.label = option.value;
4402
+ const normalizedLabel = resolveOptionLabel(option?.label, option?.value);
4403
+ if (option?.label !== normalizedLabel) {
4404
+ option.label = normalizedLabel;
4317
4405
  updated = true;
4318
4406
  }
4319
4407
  }
@@ -9,7 +9,10 @@ div[data-monster-role="decision"] {
9
9
  width: max-content;
10
10
  align-items: center;
11
11
  justify-content: space-evenly;
12
- margin: 1rem 0 0.4rem 0;
12
+ gap: 0.75rem;
13
+ box-sizing: border-box;
14
+ margin: 1rem 0 0 0;
15
+ padding-bottom: 0.75rem;
13
16
  }
14
17
 
15
18
  div[data-monster-role="control"] {
@@ -22,17 +22,17 @@ export { ConfirmButtonStyleSheet };
22
22
  const ConfirmButtonStyleSheet = new CSSStyleSheet();
23
23
 
24
24
  try {
25
- ConfirmButtonStyleSheet.insertRule(
26
- `
25
+ ConfirmButtonStyleSheet.insertRule(
26
+ `
27
27
  @layer confirmbutton {
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}[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}.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)}@font-face{font-display:swap;font-family:Raleway;font-style:normal;font-weight:300;src:url(data:application/x-font-woff2;charset=utf-8;base64,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) format(\"woff2\");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Quicksand;font-style:normal;font-weight:300;src:url(data:application/x-font-woff2;charset=utf-8;base64,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) format(\"woff2\");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body,html{font-family:var(--monster-font-family);font-size:var(--monster-font-size-fluid,1rem);font-size:calc(var(--monster-font-size-fluid, 1rem)*var(--monster-font-scale, 1));font-weight:400;line-height:1.4}html{background-color:var(--monster-bg-color-primary-1);color:var(--monster-color-primary-1)}.monster-paragraph,code,p{font-size:1rem;font-weight:400;line-height:1.6;text-align:justify}code{font-family:var(--monster-font-family-monospace)}.monster-h1,h1{font-size:3rem;font-weight:400;line-height:1.15;margin:4rem 0 1.5rem}.monster-h2,h2{font-size:2.5rem;font-weight:400;line-height:1.2;margin:4rem 0 1.5rem}.monster-h3,h3{font-size:2rem;font-weight:400;line-height:1.25;margin:4rem 0 1.25rem}.monster-h4,h4{font-size:1.5rem;font-weight:400;line-height:1.3;margin:4rem 0 1.25rem}.monster-h5,h5{font-size:1.4rem;font-weight:bolder;line-height:1.3;margin:4rem 0 1.25rem}.monster-h6,h6{font-size:1.3rem;font-weight:700;line-height:1.3;margin:4rem 0 1.25rem}p+h1{margin-top:3.75rem}p+h2{margin-top:3rem}p+h3{margin-top:2.25rem}p+h4{margin-top:1.5rem}p+h5{margin-top:.75rem}p+h6{margin-top:0}blockquote+h1,ol+h1,p+h1,pre+h1,table+h1,ul+h1{margin-top:2rem}article+h1,div+h1,section+h1{margin-top:0}blockquote+h2,ol+h2,p+h2,pre+h2,table+h2,ul+h2{margin-top:2rem}article+h2,div+h2,section+h2{margin-top:0}blockquote+h3,ol+h3,p+h3,pre+h3,table+h3,ul+h3{margin-top:2rem}article+h3,div+h3,section+h3{margin-top:0}blockquote+h4,ol+h4,p+h4,pre+h4,table+h4,ul+h4{margin-top:2rem}article+h4,div+h4,section+h4{margin-top:0}blockquote+h5,ol+h5,p+h5,pre+h5,table+h5,ul+h5{margin-top:2rem}article+h5,div+h5,section+h5{margin-top:0}blockquote+h6,ol+h6,p+h6,pre+h6,table+h6,ul+h6{margin-top:2rem}article+h6,div+h6,section+h6{margin-top:0}.deco{background:linear-gradient(to right,var(--monster-color-gradient-1) 0,var(--monster-color-gradient-2) 50%,var(--monster-color-gradient-3) 100%);-webkit-background-clip:text;background-clip:text;background-size:cover;color:var(--monster-color-secondary-1);text-fill-color:transparent;-webkit-text-fill-color:transparent}::-moz-selection{background-color:var(--monster-bg-color-selection-1);color:var(--monster-color-selection-1)}::selection{background-color:var(--monster-bg-color-selection-1);color:var(--monster-color-selection-1)}kbd{background-color:var(--monster-bg-color-primary-4);border-radius:.25rem;border-radius:10rem;color:var(--monster-color-primary-4);display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .6em;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}details{margin-bottom:1rem}summary{cursor:pointer;font-feature-settings:\"tnum\";font-weight:700;letter-spacing:.1em;padding:.6rem 1rem}details[open]{padding:.6rem 1rem .75rem}details[open] summary{margin-bottom:.5rem;padding:0}.monster-no-user-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes details-show{0%{opacity:0;transform:translateY(-.5em)}}details[open]>:not(summary){animation:details-show .15s ease-in-out}details[open]>:last-child{margin-bottom:0}.monospace{font-family:var(--monster-font-family-monospace)}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}div[data-monster-role=decision]{align-items:center;display:flex;justify-content:space-evenly;margin:1rem 0 .4rem;width:-moz-max-content;width:max-content}div[data-monster-role=control]{height:100%;width:-moz-max-content;width:max-content}button{width:100%}
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}[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}.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)}@font-face{font-display:swap;font-family:Raleway;font-style:normal;font-weight:300;src:url(data:application/x-font-woff2;charset=utf-8;base64,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) format(\"woff2\");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Quicksand;font-style:normal;font-weight:300;src:url(data:application/x-font-woff2;charset=utf-8;base64,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) format(\"woff2\");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body,html{font-family:var(--monster-font-family);font-size:var(--monster-font-size-fluid,1rem);font-size:calc(var(--monster-font-size-fluid, 1rem)*var(--monster-font-scale, 1));font-weight:400;line-height:1.4}html{background-color:var(--monster-bg-color-primary-1);color:var(--monster-color-primary-1)}.monster-paragraph,code,p{font-size:1rem;font-weight:400;line-height:1.6;text-align:justify}code{font-family:var(--monster-font-family-monospace)}.monster-h1,h1{font-size:3rem;font-weight:400;line-height:1.15;margin:4rem 0 1.5rem}.monster-h2,h2{font-size:2.5rem;font-weight:400;line-height:1.2;margin:4rem 0 1.5rem}.monster-h3,h3{font-size:2rem;font-weight:400;line-height:1.25;margin:4rem 0 1.25rem}.monster-h4,h4{font-size:1.5rem;font-weight:400;line-height:1.3;margin:4rem 0 1.25rem}.monster-h5,h5{font-size:1.4rem;font-weight:bolder;line-height:1.3;margin:4rem 0 1.25rem}.monster-h6,h6{font-size:1.3rem;font-weight:700;line-height:1.3;margin:4rem 0 1.25rem}p+h1{margin-top:3.75rem}p+h2{margin-top:3rem}p+h3{margin-top:2.25rem}p+h4{margin-top:1.5rem}p+h5{margin-top:.75rem}p+h6{margin-top:0}blockquote+h1,ol+h1,p+h1,pre+h1,table+h1,ul+h1{margin-top:2rem}article+h1,div+h1,section+h1{margin-top:0}blockquote+h2,ol+h2,p+h2,pre+h2,table+h2,ul+h2{margin-top:2rem}article+h2,div+h2,section+h2{margin-top:0}blockquote+h3,ol+h3,p+h3,pre+h3,table+h3,ul+h3{margin-top:2rem}article+h3,div+h3,section+h3{margin-top:0}blockquote+h4,ol+h4,p+h4,pre+h4,table+h4,ul+h4{margin-top:2rem}article+h4,div+h4,section+h4{margin-top:0}blockquote+h5,ol+h5,p+h5,pre+h5,table+h5,ul+h5{margin-top:2rem}article+h5,div+h5,section+h5{margin-top:0}blockquote+h6,ol+h6,p+h6,pre+h6,table+h6,ul+h6{margin-top:2rem}article+h6,div+h6,section+h6{margin-top:0}.deco{background:linear-gradient(to right,var(--monster-color-gradient-1) 0,var(--monster-color-gradient-2) 50%,var(--monster-color-gradient-3) 100%);-webkit-background-clip:text;background-clip:text;background-size:cover;color:var(--monster-color-secondary-1);text-fill-color:transparent;-webkit-text-fill-color:transparent}::-moz-selection{background-color:var(--monster-bg-color-selection-1);color:var(--monster-color-selection-1)}::selection{background-color:var(--monster-bg-color-selection-1);color:var(--monster-color-selection-1)}kbd{background-color:var(--monster-bg-color-primary-4);border-radius:.25rem;border-radius:10rem;color:var(--monster-color-primary-4);display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .6em;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}details{margin-bottom:1rem}summary{cursor:pointer;font-feature-settings:\"tnum\";font-weight:700;letter-spacing:.1em;padding:.6rem 1rem}details[open]{padding:.6rem 1rem .75rem}details[open] summary{margin-bottom:.5rem;padding:0}.monster-no-user-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes details-show{0%{opacity:0;transform:translateY(-.5em)}}details[open]>:not(summary){animation:details-show .15s ease-in-out}details[open]>:last-child{margin-bottom:0}.monospace{font-family:var(--monster-font-family-monospace)}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}div[data-monster-role=decision]{align-items:center;box-sizing:border-box;display:flex;gap:.75rem;justify-content:space-evenly;margin:1rem 0 0;padding-bottom:.75rem;width:-moz-max-content;width:max-content}div[data-monster-role=control]{height:100%;width:-moz-max-content;width:max-content}button{width:100%}
29
29
  }`,
30
- 0,
31
- );
30
+ 0,
31
+ );
32
32
  } catch (e) {
33
- addAttributeToken(
34
- document.getRootNode().querySelector("html"),
35
- ATTRIBUTE_ERRORMESSAGE,
36
- e + "",
37
- );
33
+ addAttributeToken(
34
+ document.getRootNode().querySelector("html"),
35
+ ATTRIBUTE_ERRORMESSAGE,
36
+ e + "",
37
+ );
38
38
  }
@@ -25,6 +25,7 @@ import {
25
25
  CustomElement,
26
26
  registerCustomElement,
27
27
  } from "../../dom/customelement.mjs";
28
+ import { addErrorAttribute } from "../../dom/error.mjs";
28
29
  import { fireCustomEvent } from "../../dom/events.mjs";
29
30
  import {
30
31
  findElementWithSelectorUpwards,
@@ -115,6 +116,8 @@ const dismissRecordSymbol = Symbol("dismissRecord");
115
116
  * @type {symbol}
116
117
  */
117
118
  const usesHostDismissSymbol = Symbol("usesHostDismiss");
119
+ const actionQueueSymbol = Symbol("actionQueue");
120
+ const pendingActionSymbol = Symbol("pendingAction");
118
121
 
119
122
  /**
120
123
  * Popper component for displaying floating UI elements
@@ -274,7 +277,7 @@ class Popper extends CustomElement {
274
277
  * @return {Popper} The popper instance
275
278
  */
276
279
  showDialog() {
277
- show.call(this);
280
+ queuePopperAction.call(this, "show");
278
281
  return this;
279
282
  }
280
283
 
@@ -284,8 +287,7 @@ class Popper extends CustomElement {
284
287
  * @return {Popper}
285
288
  */
286
289
  recalcPopper() {
287
- applyContentOverflowMode.call(this);
288
- updatePopper.call(this);
290
+ queuePopperAction.call(this, "update");
289
291
  return this;
290
292
  }
291
293
 
@@ -326,7 +328,7 @@ class Popper extends CustomElement {
326
328
  * @return {Popper} The popper instance
327
329
  */
328
330
  hideDialog() {
329
- hide.call(this);
331
+ queuePopperAction.call(this, "hide");
330
332
  return this;
331
333
  }
332
334
 
@@ -335,11 +337,7 @@ class Popper extends CustomElement {
335
337
  * @return {Popper} The popper instance
336
338
  */
337
339
  toggleDialog() {
338
- if (isPositionedPopperOpen(this[popperElementSymbol])) {
339
- this.hideDialog();
340
- } else {
341
- this.showDialog();
342
- }
340
+ queuePopperAction.call(this, "toggle");
343
341
  return this;
344
342
  }
345
343
  }
@@ -396,6 +394,59 @@ function initEventHandler() {
396
394
  return this;
397
395
  }
398
396
 
397
+ /**
398
+ * Serializes popper state changes so open/close/update events do not interleave.
399
+ * The latest requested action wins while a queue is already running.
400
+ *
401
+ * @private
402
+ * @param {"show"|"hide"|"toggle"|"update"} action
403
+ * @return {Promise<void>}
404
+ */
405
+ function queuePopperAction(action) {
406
+ this[pendingActionSymbol] = action;
407
+
408
+ if (this[actionQueueSymbol] instanceof Promise) {
409
+ return this[actionQueueSymbol];
410
+ }
411
+
412
+ this[actionQueueSymbol] = (async () => {
413
+ while (this[pendingActionSymbol]) {
414
+ const nextAction = this[pendingActionSymbol];
415
+ delete this[pendingActionSymbol];
416
+ await Promise.resolve(runPopperAction.call(this, nextAction));
417
+ }
418
+ })()
419
+ .catch((e) => {
420
+ addErrorAttribute(this, e);
421
+ })
422
+ .finally(() => {
423
+ delete this[actionQueueSymbol];
424
+ if (this[pendingActionSymbol]) {
425
+ void queuePopperAction.call(this, this[pendingActionSymbol]);
426
+ }
427
+ });
428
+
429
+ return this[actionQueueSymbol];
430
+ }
431
+
432
+ function runPopperAction(action) {
433
+ switch (action) {
434
+ case "toggle":
435
+ if (isPositionedPopperOpen(this[popperElementSymbol])) {
436
+ return performHide.call(this);
437
+ }
438
+ return performShow.call(this);
439
+ case "hide":
440
+ return performHide.call(this);
441
+ case "show":
442
+ return performShow.call(this);
443
+ case "update":
444
+ return performUpdate.call(this);
445
+ default:
446
+ return undefined;
447
+ }
448
+ }
449
+
399
450
  function isEventInsidePopperOwner(
400
451
  owner,
401
452
  event,
@@ -545,6 +596,14 @@ function disconnectResizeObserver() {
545
596
  * @private
546
597
  */
547
598
  function hide() {
599
+ void queuePopperAction.call(this, "hide");
600
+ }
601
+
602
+ /**
603
+ * Hides the popper element
604
+ * @private
605
+ */
606
+ function performHide() {
548
607
  const self = this;
549
608
  const popperElement = self[popperElementSymbol];
550
609
  const controlElement = self[controlElementSymbol];
@@ -580,6 +639,14 @@ function hide() {
580
639
  * @private
581
640
  */
582
641
  function show() {
642
+ void queuePopperAction.call(this, "show");
643
+ }
644
+
645
+ /**
646
+ * Shows the popper element
647
+ * @private
648
+ */
649
+ function performShow() {
583
650
  const self = this;
584
651
  const popperElement = self[popperElementSymbol];
585
652
  const controlElement = self[controlElementSymbol];
@@ -615,13 +682,13 @@ function show() {
615
682
 
616
683
  addAttributeToken(controlElement, "class", "open");
617
684
  registerWithHost.call(self);
618
- updatePopper.call(self);
619
-
620
- setTimeout(() => {
621
- fireCustomEvent(self, "monster-popper-opened", {
622
- self,
623
- });
624
- }, 0);
685
+ return performUpdate.call(self).then(() => {
686
+ setTimeout(() => {
687
+ fireCustomEvent(self, "monster-popper-opened", {
688
+ self,
689
+ });
690
+ }, 0);
691
+ });
625
692
  }
626
693
 
627
694
  /**
@@ -629,6 +696,14 @@ function show() {
629
696
  * @private
630
697
  */
631
698
  function updatePopper() {
699
+ void queuePopperAction.call(this, "update");
700
+ }
701
+
702
+ /**
703
+ * Updates popper positioning
704
+ * @private
705
+ */
706
+ function performUpdate() {
632
707
  if (
633
708
  !this.isConnected ||
634
709
  !(this[controlElementSymbol] instanceof HTMLElement) ||
@@ -647,7 +722,7 @@ function updatePopper() {
647
722
 
648
723
  applyContentOverflowMode.call(this);
649
724
 
650
- positionPopper.call(
725
+ return positionPopper.call(
651
726
  this,
652
727
  this[controlElementSymbol],
653
728
  this[popperElementSymbol],
@@ -318,6 +318,55 @@ describe("Datatable drag scroll", function () {
318
318
  expect(copied).deep.equal(['"Alpha";"Beta"']);
319
319
  });
320
320
 
321
+ it("adds an error attribute when clipboard copy fails", async function () {
322
+ const mocks = document.getElementById("mocks");
323
+ const datatable = document.createElement("monster-datatable");
324
+ datatable.id = "copy-error-table";
325
+ datatable.innerHTML = `
326
+ <template id="copy-error-table-row">
327
+ <div data-monster-head="Name">Alpha</div>
328
+ </template>
329
+ `;
330
+ datatable.setOption("data", [{}]);
331
+ mocks.appendChild(datatable);
332
+
333
+ await new Promise((resolve) => setTimeout(resolve, 30));
334
+
335
+ const error = new DOMException("Document is not focused.", "NotAllowedError");
336
+ Object.defineProperty(window.navigator, "clipboard", {
337
+ configurable: true,
338
+ value: {
339
+ writeText: async () => {
340
+ throw error;
341
+ },
342
+ },
343
+ });
344
+
345
+ let eventDetail = null;
346
+ datatable.addEventListener("monster-datatable-copy-error", (event) => {
347
+ eventDetail = event.detail;
348
+ });
349
+
350
+ const cell = datatable.shadowRoot.querySelector(
351
+ "[data-monster-role=datatable] > div",
352
+ );
353
+ cell.dispatchEvent(
354
+ new window.MouseEvent("dblclick", {
355
+ bubbles: true,
356
+ cancelable: true,
357
+ composed: true,
358
+ }),
359
+ );
360
+
361
+ await new Promise((resolve) => setTimeout(resolve, 0));
362
+
363
+ expect(datatable.getAttribute("data-monster-error")).to.contain(
364
+ "Document is not focused.",
365
+ );
366
+ expect(eventDetail.error).to.equal(error);
367
+ expect(eventDetail.text).to.equal("Alpha");
368
+ });
369
+
321
370
  it("defers resize observer grid updates to the next animation frame", async function () {
322
371
  const OriginalResizeObserver = window.ResizeObserver;
323
372
  const originalGlobalResizeObserver = globalThis.ResizeObserver;
@@ -137,6 +137,18 @@ describe('ConfirmButton', function () {
137
137
 
138
138
 
139
139
  });
140
+
141
+ it('should keep bottom space below the decision buttons', function () {
142
+
143
+ const cssText = ConfirmButton.getCSSStyleSheet()
144
+ .flatMap((styleSheet) => Array.from(styleSheet.cssRules))
145
+ .map((rule) => rule.cssText)
146
+ .join("\n");
147
+
148
+ expect(cssText).to.contain('div[data-monster-role=decision]');
149
+ expect(cssText).to.contain('padding-bottom: 0.75rem');
150
+
151
+ });
140
152
  });
141
153
 
142
154
 
@@ -195,84 +195,97 @@ describe("PopperButton", function () {
195
195
  }, 0);
196
196
  });
197
197
 
198
- it("should move the popper through the opening appearance states", function (done) {
198
+ it("should move the popper through the opening appearance states", async function () {
199
199
  let mocks = document.getElementById("mocks");
200
200
  const button = document.createElement("monster-popper-button");
201
201
  mocks.appendChild(button);
202
202
 
203
- setTimeout(() => {
204
- try {
205
- button.showDialog();
203
+ await waitForTimeout();
206
204
 
207
- const popper = button.shadowRoot.querySelector(
208
- '[data-monster-role="popper"]',
209
- );
210
- expect(popper).to.exist;
211
- expect(popper.dataset.monsterAppearance).to.equal("opening");
205
+ button.showDialog();
212
206
 
213
- setTimeout(() => {
214
- try {
215
- expect(popper.dataset.monsterAppearance).to.equal("open");
216
-
217
- button.hideDialog();
218
-
219
- setTimeout(() => {
220
- try {
221
- expect(
222
- popper.hasAttribute("data-monster-appearance"),
223
- ).to.equal(false);
224
- done();
225
- } catch (e) {
226
- done(e);
227
- }
228
- }, 0);
229
- } catch (e) {
230
- done(e);
231
- }
232
- }, 30);
233
- } catch (e) {
234
- done(e);
235
- }
236
- }, 0);
207
+ const popper = button.shadowRoot.querySelector(
208
+ '[data-monster-role="popper"]',
209
+ );
210
+ expect(popper).to.exist;
211
+ expect(popper.dataset.monsterAppearance).to.equal("opening");
212
+
213
+ await waitForCondition(() => {
214
+ return popper.dataset.monsterAppearance === "open";
215
+ });
216
+ expect(popper.dataset.monsterAppearance).to.equal("open");
217
+
218
+ button.hideDialog();
219
+
220
+ await waitForCondition(() => {
221
+ return !popper.hasAttribute("data-monster-appearance");
222
+ });
223
+ expect(popper.hasAttribute("data-monster-appearance")).to.equal(false);
237
224
  });
238
225
 
239
- it("should finish the opening appearance state when requestAnimationFrame stalls", function (done) {
226
+ it("should finish the opening appearance state when requestAnimationFrame stalls", async function () {
240
227
  let mocks = document.getElementById("mocks");
241
228
  const button = document.createElement("monster-popper-button");
242
229
  const originalRequestAnimationFrame = globalThis.requestAnimationFrame;
243
230
  const originalCancelAnimationFrame = globalThis.cancelAnimationFrame;
244
231
 
245
- globalThis.requestAnimationFrame = () => 1;
246
- globalThis.cancelAnimationFrame = () => {};
247
- mocks.appendChild(button);
232
+ try {
233
+ globalThis.requestAnimationFrame = () => 1;
234
+ globalThis.cancelAnimationFrame = () => {};
235
+ mocks.appendChild(button);
236
+
237
+ await waitForTimeout();
238
+
239
+ button.showDialog();
240
+
241
+ const popper = button.shadowRoot.querySelector(
242
+ '[data-monster-role="popper"]',
243
+ );
244
+ expect(popper).to.exist;
245
+ expect(popper.dataset.monsterAppearance).to.equal("opening");
246
+
247
+ await waitForCondition(() => {
248
+ return popper.dataset.monsterAppearance === "open";
249
+ });
250
+ expect(popper.dataset.monsterAppearance).to.equal("open");
251
+ button.hideDialog();
252
+ } finally {
253
+ globalThis.requestAnimationFrame = originalRequestAnimationFrame;
254
+ globalThis.cancelAnimationFrame = originalCancelAnimationFrame;
255
+ }
256
+ });
257
+ });
248
258
 
249
- setTimeout(() => {
250
- try {
251
- button.showDialog();
259
+ function waitForTimeout(timeout = 0) {
260
+ return new Promise((resolve) => setTimeout(resolve, timeout));
261
+ }
252
262
 
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");
263
+ function waitForCondition(check, { timeout = 1000, interval = 10 } = {}) {
264
+ const deadline = Date.now() + timeout;
258
265
 
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);
266
+ return new Promise((resolve, reject) => {
267
+ const tick = () => {
268
+ let done = false;
269
+ try {
270
+ done = check();
271
271
  } catch (e) {
272
- globalThis.requestAnimationFrame = originalRequestAnimationFrame;
273
- globalThis.cancelAnimationFrame = originalCancelAnimationFrame;
274
- done(e);
272
+ reject(e);
273
+ return;
275
274
  }
276
- }, 0);
275
+
276
+ if (done) {
277
+ resolve();
278
+ return;
279
+ }
280
+
281
+ if (Date.now() >= deadline) {
282
+ reject(new Error("Timed out waiting for condition."));
283
+ return;
284
+ }
285
+
286
+ setTimeout(tick, interval);
287
+ };
288
+
289
+ tick();
277
290
  });
278
- });
291
+ }
@@ -387,6 +387,111 @@ describe('Select', function () {
387
387
  }, 20);
388
388
  });
389
389
 
390
+ it('should reserve popper chrome height before sizing the option list', async function () {
391
+ const mocks = document.getElementById('mocks');
392
+ const select = document.createElement('monster-select');
393
+
394
+ select.setOption('showMaxOptions', 10);
395
+ select.setOption('filter.position', 'popper');
396
+ select.setOption('options', Array.from({length: 10}, (_, index) => ({
397
+ label: `Option ${index + 1}`,
398
+ value: `${index + 1}`
399
+ })));
400
+
401
+ mocks.appendChild(select);
402
+
403
+ await waitForCondition(() => {
404
+ return select.shadowRoot.querySelector('[data-monster-role=container]') instanceof HTMLElement;
405
+ });
406
+ await waitForCondition(() => {
407
+ return select.shadowRoot.querySelectorAll('[data-monster-role=option]').length === 10;
408
+ });
409
+
410
+ const shadowRoot = select.shadowRoot;
411
+ const control = shadowRoot.querySelector('[data-monster-role=control]');
412
+ const popper = shadowRoot.querySelector('[data-monster-role=popper]');
413
+ const content = shadowRoot.querySelector('[part=content]');
414
+ const options = shadowRoot.querySelector('[data-monster-role=options]');
415
+ const filterControl = shadowRoot.querySelector('[part=popper-filter-control]');
416
+ const pagination = shadowRoot.querySelector('[data-monster-role=pagination]');
417
+ const remoteInfo = shadowRoot.querySelector('[data-monster-role=remote-info]');
418
+
419
+ control.getBoundingClientRect = () => ({
420
+ width: 300,
421
+ height: 50,
422
+ top: 100,
423
+ left: 40,
424
+ right: 340,
425
+ bottom: 150,
426
+ x: 40,
427
+ y: 100
428
+ });
429
+ popper.getBoundingClientRect = () => ({
430
+ width: 300,
431
+ height: 500,
432
+ top: 150,
433
+ left: 40,
434
+ right: 340,
435
+ bottom: 650,
436
+ x: 40,
437
+ y: 150
438
+ });
439
+ filterControl.getBoundingClientRect = () => ({
440
+ width: 260,
441
+ height: 40,
442
+ top: 0,
443
+ left: 0,
444
+ right: 260,
445
+ bottom: 40,
446
+ x: 0,
447
+ y: 0
448
+ });
449
+ pagination.getBoundingClientRect = () => ({
450
+ width: 260,
451
+ height: 34,
452
+ top: 0,
453
+ left: 0,
454
+ right: 260,
455
+ bottom: 34,
456
+ x: 0,
457
+ y: 0
458
+ });
459
+ remoteInfo.getBoundingClientRect = () => ({
460
+ width: 260,
461
+ height: 33,
462
+ top: 0,
463
+ left: 0,
464
+ right: 260,
465
+ bottom: 33,
466
+ x: 0,
467
+ y: 0
468
+ });
469
+
470
+ for (const option of shadowRoot.querySelectorAll('[data-monster-role=option]')) {
471
+ option.getBoundingClientRect = () => ({
472
+ width: 260,
473
+ height: 50,
474
+ top: 0,
475
+ left: 0,
476
+ right: 260,
477
+ bottom: 50,
478
+ x: 0,
479
+ y: 0
480
+ });
481
+ }
482
+
483
+ select.calcAndSetOptionsDimension();
484
+
485
+ const optionHeight = parseFloat(options.style.height);
486
+
487
+ expect(optionHeight).to.be.greaterThan(0);
488
+ expect(optionHeight).to.be.lessThan(500);
489
+ expect(options.style.maxHeight).to.equal(options.style.height);
490
+ expect(options.style.overflowY).to.equal('auto');
491
+ expect(content.style.maxHeight).to.equal(options.style.height);
492
+ expect(parseFloat(popper.style.maxHeight)).to.be.greaterThan(optionHeight);
493
+ });
494
+
390
495
  it('should clamp preferred width to the visible viewport width', function () {
391
496
  const result = resolveSelectPopperWidthConstraints({
392
497
  controlWidth: 120,
@@ -826,7 +931,9 @@ describe('Select', function () {
826
931
  select.setOption('options', [
827
932
  {label: 'Alpha'},
828
933
  {value: 'Beta'},
829
- {}
934
+ {},
935
+ {label: '', value: 'empty-label'},
936
+ {label: ' ', value: 'blank-label'}
830
937
  ]);
831
938
  mocks.appendChild(select);
832
939
 
@@ -849,6 +956,8 @@ describe('Select', function () {
849
956
  expect(options[2].value).to.be.a('string');
850
957
  expect(options[2].label).to.equal(options[2].value);
851
958
  expect(options[2].visibility).to.equal('visible');
959
+ expect(options[3].label).to.equal('empty-label');
960
+ expect(options[4].label).to.equal('blank-label');
852
961
  } catch (e) {
853
962
  return done(e);
854
963
  }
@@ -859,6 +968,27 @@ describe('Select', function () {
859
968
  setTimeout(poll, 50);
860
969
  });
861
970
 
971
+ it('should fall back to the option value when imported labels resolve empty', function () {
972
+ let mocks = document.getElementById('mocks');
973
+ const select = document.createElement('monster-select');
974
+ select.setOption('mapping.selector', '*');
975
+ select.setOption('mapping.labelTemplate', '${name}');
976
+ select.setOption('mapping.valueTemplate', '${id}');
977
+ mocks.appendChild(select);
978
+
979
+ select.importOptions([
980
+ {id: 'company-1', name: ''},
981
+ {id: 'company-2', name: ' '},
982
+ {id: 'company-3', name: 'Visible label'}
983
+ ]);
984
+
985
+ const options = select.getOption('options');
986
+
987
+ expect(options[0].label).to.equal('company-1');
988
+ expect(options[1].label).to.equal('company-2');
989
+ expect(options[2].label).to.equal('Visible label');
990
+ });
991
+
862
992
  it('should not parse options arrays with multiple string entries', function (done) {
863
993
  this.timeout(2000);
864
994