@orangelogic/design-system 2.154.0 → 2.155.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/library/chunks/active-elements.jTVWtBDp.js +10 -0
  2. package/library/chunks/{color-swatch-group.BX90sRwa.js → color-swatch-group.Gh-drOGJ.js} +10 -7
  3. package/library/chunks/{confirm-popover.BFBhjDQ9.js → confirm-popover.C-eHPJaU.js} +1 -1
  4. package/library/chunks/{dialog.DIXmnVis.js → dialog.Bzf4-IgH.js} +1 -1
  5. package/library/chunks/{header.DpBmcfR_.js → header.x8SZLjAG.js} +30 -3
  6. package/library/chunks/{modal.U1QltQKe.js → modal.jdGhujoh.js} +28 -35
  7. package/library/chunks/{tabbable.CcMz3mIL.js → tabbable.BwnZBHrm.js} +2 -2
  8. package/library/components/atoms.js +2 -2
  9. package/library/components/color-swatch-group.js +1 -1
  10. package/library/components/confirm-popover.js +2 -2
  11. package/library/components/dialog.js +2 -2
  12. package/library/components/drawer.js +1 -1
  13. package/library/components/dropdown.js +1 -1
  14. package/library/components/file-on-demand.js +2 -2
  15. package/library/components/header.js +1 -1
  16. package/library/components/menu-item.js +12 -6
  17. package/library/components/molecules.js +1 -1
  18. package/library/components/organisms.js +1 -1
  19. package/library/components/popup.js +37 -34
  20. package/library/components/select.js +34 -31
  21. package/library/components/types.js +1613 -1589
  22. package/library/package.json +1 -1
  23. package/library/packages/atoms/src/components/menu-item/submenu-controller.d.ts +1 -0
  24. package/library/packages/atoms/src/components/popup/popup.d.ts +1 -0
  25. package/library/packages/molecules/src/multi-select/components/board/board.utils.d.ts +7 -0
  26. package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +1 -1
  27. package/library/packages/organisms/src/content-builder/components/gallery-picker/gallery-picker.d.ts +1 -1
  28. package/library/packages/organisms/src/content-builder/configs/search-box.d.ts +1 -0
  29. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +2 -0
  30. package/library/packages/services/src/api/endpoints.d.ts +1 -1
  31. package/library/utils.js +142 -141
  32. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ function* d(o = document.activeElement) {
2
+ o != null && (yield o, "shadowRoot" in o && o.shadowRoot && o.shadowRoot.mode !== "closed" && (yield* d(o.shadowRoot.activeElement)));
3
+ }
4
+ function s() {
5
+ return [...d()].pop();
6
+ }
7
+ export {
8
+ d as a,
9
+ s as g
10
+ };
@@ -4,7 +4,7 @@ import { n as f, C as Pe } from "./lib-cortex-element.CVMmyPMC.js";
4
4
  import { C as rn, a as is } from "./color-swatch.BhBZe8OE.js";
5
5
  import { c as $e } from "./component.styles.CRO4Odto.js";
6
6
  import { C as Et } from "./button.8syoJXYs.js";
7
- import { C as ta, o as ia, O as Yo } from "./dialog.DIXmnVis.js";
7
+ import { C as ta, o as ia, O as Yo } from "./dialog.Bzf4-IgH.js";
8
8
  import { C as oi } from "./icon-button.DbVIFgu7.js";
9
9
  import Pt from "../components/tooltip.js";
10
10
  import { i as nn, r as sa, f as Yt, m as oa, a as ra, t as an, g as na, b as aa, c as la } from "./toast.TDU3wVhq.js";
@@ -432,7 +432,9 @@ Ee = je([
432
432
  const qh = Z`:host{--cx-tooltip-arrow-size:0;flex:1;display:block}.board{--toggle-size:var(--cx-toggle-size-medium);background-color:var(--cx-color-neutral-100);border:1px solid var(--cx-color-neutral-300);border-radius:4px;flex-direction:column;height:100%;padding:16px 16px 0;display:flex}.board--dragging cx-input{pointer-events:none}.board__header{align-items:center;gap:16px;width:100%;height:40px;margin-bottom:16px;display:flex}.board__list{flex:1;max-height:500px;padding-left:0;overflow:hidden scroll}.board__header__text{-webkit-line-clamp:2;color:var(--cx-color-neutral);font-family:var(--cx-font-sans);text-overflow:ellipsis;white-space:pre-wrap;-webkit-box-orient:vertical;flex:1;font-weight:700;display:-webkit-box;overflow:hidden}.board__header__search{flex:0 0 160px}.board__footer{justify-content:space-between;align-items:center;height:40px;display:flex}.board__footer__text{font-family:var(--cx-font-sans)}.board__select-all{width:var(--toggle-size);height:var(--toggle-size);border:solid var(--cx-input-border-width) var(--cx-input-border-color);background-color:var(--cx-input-background-color);color:var(--cx-color-neutral-0);cursor:pointer;transition:var(--cx-transition-fast) border-color, var(--cx-transition-fast) background-color, var(--cx-transition-fast) color, var(--cx-transition-fast) box-shadow;border-radius:2px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.board--checked .board__select-all{border-color:var(--cx-color-primary);background-color:var(--cx-color-primary)}.board__select-all:focus-visible{outline:var(--cx-focus-ring);outline-offset:var(--cx-focus-ring-offset)}.board__checked-icon{display:inline-flex}`, Xh = (r) => {
433
433
  const e = r.getRootNode();
434
434
  return e instanceof ShadowRoot ? e.host : null;
435
- }, Jh = !!navigator.userAgent.match(/safari/i) && !navigator.userAgent.match(/chrome/i) && !navigator.userAgent.match(/android/i);
435
+ };
436
+ navigator.userAgent.match(/safari/i) && !navigator.userAgent.match(/chrome/i) && navigator.userAgent.match(/android/i);
437
+ const Jh = /mac os x/i.test(navigator.userAgent) && !/iphone|ipad/i.test(navigator.userAgent);
436
438
  var Yh = Object.defineProperty, Qh = Object.getOwnPropertyDescriptor, q = (r, e, t, i) => {
437
439
  for (var s = i > 1 ? void 0 : i ? Qh(e, t) : e, o = r.length - 1, n; o >= 0; o--)
438
440
  (n = r[o]) && (s = (i ? n(e, t, s) : n(s)) || s);
@@ -747,7 +749,7 @@ let B = class extends Pe {
747
749
  dataIdAttr: "data-id",
748
750
  draggable: "cx-board-list-item[data-id]:not([readonly])",
749
751
  forceFallback: Jh,
750
- // to fixed weird dragging behavior in Safari (https://link.orangelogic.com/Tasks/41N1B6)
752
+ // avoid native HTML5 drag image fly-in animation on macOS (https://link.orangelogic.com/Tasks/41N1B6)
751
753
  group: "shared",
752
754
  multiDrag: !0,
753
755
  onAdd: this.handleAdd,
@@ -6536,7 +6538,7 @@ class Su {
6536
6538
  let e = this.cell.getValue();
6537
6539
  await this.rebuildOptionsList();
6538
6540
  const { defaultValue: t } = this.params;
6539
- e == null && t != null && (e = t), this.initialValue = e, e == null ? (this.initialValues = [], this.input.value = []) : (this.initialValues = this._getSanitizedInitialValues(e), this.input.value = this.initialValues), this.input.handleValueChange(), this.isHeaderFilter && this.headerFilterInitialListGen();
6541
+ e == null && t != null && (e = t), this.initialValue = e, e == null ? (this.initialValues = [], this.input.value = []) : (this.initialValues = this._getSanitizedInitialValues(e), this.input.value = this.initialValues), this.input.handleValueChange?.(), this.isHeaderFilter && this.headerFilterInitialListGen();
6540
6542
  }
6541
6543
  _getSanitizedInitialValues(e) {
6542
6544
  return (Array.isArray(e) ? e : [e]).map((i) => this.sanitizeValue(i));
@@ -20051,8 +20053,9 @@ class fm {
20051
20053
  constructor(e) {
20052
20054
  this.isSelectAllMode = !1, this.deselectedIds = /* @__PURE__ */ new Set(), this.selectedIdsForRemote = /* @__PURE__ */ new Set(), this.remoteTotalCount = 0, this.selectedRowsCount = 0, this.selectionSyncSkip = !1, this.isPageTransition = !1, this.host = e, this.host.addController(this), this.handleRowSelectionChanged = this.handleRowSelectionChanged.bind(this), this.handleDataLoaded = this.handleDataLoaded.bind(this), this.handleDataLoading = this.handleDataLoading.bind(this);
20053
20055
  }
20054
- // Tabulator.destroy() removes all listeners on the instance.
20055
- // CxTable.disconnectedCallback() always calls destroy(), so no manual off() needed here.
20056
+ // Tabulator.destroy() does NOT remove `.on()` subscriptions — ExternalEventBus is
20057
+ // never cleared, so a destroyed instance can still dispatch to the handlers below.
20058
+ // No manual off() needed: onTableInit() re-subscribes against each new instance.
20056
20059
  hostConnected() {
20057
20060
  }
20058
20061
  hostDisconnected() {
@@ -20647,7 +20650,7 @@ let g = class extends Pe {
20647
20650
  }
20648
20651
  }
20649
20652
  async initTable() {
20650
- this.tabulatorInstance && (this.selectAllController.resetSelection(), this.overflowObserver?.disconnect(), this.verticalOsInstance?.destroy(), this.horizontalOsInstance?.destroy(), this.tabulatorInstance.destroy());
20653
+ this.tabulatorInstance && (this.selectAllController.resetSelection(), this.overflowObserver?.disconnect(), this.verticalOsInstance?.destroy(), this.horizontalOsInstance?.destroy(), this.tabulatorInstance.off("tableBuilt"), this.tabulatorInstance.destroy());
20651
20654
  let e = this.rowHeader;
20652
20655
  e == null && (this.movableRows ? e = Hm : this.responsiveLayout === "collapse" && (e = {
20653
20656
  formatter: "responsiveCollapse"
@@ -1,5 +1,5 @@
1
1
  import { C as _ } from "./button.8syoJXYs.js";
2
- import { C as u, D as h } from "./dialog.DIXmnVis.js";
2
+ import { C as u, D as h } from "./dialog.Bzf4-IgH.js";
3
3
  import g from "../components/dropdown.js";
4
4
  import { C as x } from "./typography.IqHbnd3C.js";
5
5
  import { n as e, C as b } from "./lib-cortex-element.CVMmyPMC.js";
@@ -4,7 +4,7 @@ import { i as _s, x as He, E as fr } from "./lit-element.jLBm65_O.js";
4
4
  import { a as ie, s as Te, w as os } from "./event.BeKOsirN.js";
5
5
  import { c as br } from "./custom-element.L4WJXn1j.js";
6
6
  import { L as yr } from "./i18n.Bchq8v1d.js";
7
- import { M as gr } from "./modal.U1QltQKe.js";
7
+ import { M as gr } from "./modal.jdGhujoh.js";
8
8
  import { l as ss, u as rs } from "./scroll.xtO5yojm.js";
9
9
  import { H as mr } from "./slot.j5oheLJC.js";
10
10
  import { w as $s } from "./watch.DOt4Mabe.js";
@@ -10,7 +10,7 @@ import { e as u } from "./class-map.BiVq-cVR.js";
10
10
  import { o as P } from "./style-map.llVFPd__.js";
11
11
  import { n as M } from "./when.Dr1es41R.js";
12
12
  import { i as l, u as g } from "./static.UA3G1Deq.js";
13
- const C = p`insert,span[format]{background-color:var(--cx-color-success-200)}delete{background-color:var(--cx-color-neutral-200);text-decoration:line-through}annotate{background-color:var(--cx-color-warning-200)}.ProseMirror figure[data-track*=deletion] [data-node-type=figure],.ProseMirror cx-rich-text-code-block[data-track*=deletion],.ProseMirror cx-rich-text-image-viewer[data-track*=deletion]{border:3px solid var(--cx-color-neutral);position:relative}.ProseMirror figure[data-track*=deletion] [data-node-type=figure]:after,.ProseMirror cx-rich-text-code-block[data-track*=deletion]:after,.ProseMirror cx-rich-text-image-viewer[data-track*=deletion]:after{content:"";box-sizing:border-box;pointer-events:none;background-image:repeating-linear-gradient(45deg, var(--cx-color-neutral), var(--cx-color-neutral) 10px, #fff 10px, #fff 20px);opacity:.4;width:100%;height:100%;position:absolute;top:0;left:0}.ProseMirror figure[data-track*=insertion] [data-node-type=figure],.ProseMirror cx-rich-text-code-block[data-track*=insertion],.ProseMirror cx-rich-text-image-viewer[data-track*=insertion]{border:3px solid var(--cx-color-success)}.ProseMirror figure[data-track*=annotation] [data-node-type=figure],.ProseMirror cx-rich-text-code-block[data-track*=annotation],.ProseMirror cx-rich-text-image-viewer[data-track*=annotation]{border:3px solid var(--cx-color-warning-200)}`, z = p`
13
+ const z = p`insert,span[format]{background-color:var(--cx-color-success-200)}delete{background-color:var(--cx-color-neutral-200);text-decoration:line-through}annotate{background-color:var(--cx-color-warning-200)}.ProseMirror figure[data-track*=deletion] [data-node-type=figure],.ProseMirror cx-rich-text-code-block[data-track*=deletion],.ProseMirror cx-rich-text-image-viewer[data-track*=deletion]{border:3px solid var(--cx-color-neutral);position:relative}.ProseMirror figure[data-track*=deletion] [data-node-type=figure]:after,.ProseMirror cx-rich-text-code-block[data-track*=deletion]:after,.ProseMirror cx-rich-text-image-viewer[data-track*=deletion]:after{content:"";box-sizing:border-box;pointer-events:none;background-image:repeating-linear-gradient(45deg, var(--cx-color-neutral), var(--cx-color-neutral) 10px, #fff 10px, #fff 20px);opacity:.4;width:100%;height:100%;position:absolute;top:0;left:0}.ProseMirror figure[data-track*=insertion] [data-node-type=figure],.ProseMirror cx-rich-text-code-block[data-track*=insertion],.ProseMirror cx-rich-text-image-viewer[data-track*=insertion]{border:3px solid var(--cx-color-success)}.ProseMirror figure[data-track*=annotation] [data-node-type=figure],.ProseMirror cx-rich-text-code-block[data-track*=annotation],.ProseMirror cx-rich-text-image-viewer[data-track*=annotation]{border:3px solid var(--cx-color-warning-200)}`, C = p`
14
14
  .column-resize-handle {
15
15
  background-color: var(--editor-table-resize-handle-color);
16
16
  bottom: -2px;
@@ -58,12 +58,39 @@ const C = p`insert,span[format]{background-color:var(--cx-color-success-200)}del
58
58
  outline: none;
59
59
  white-space: pre-wrap;
60
60
  line-height: normal;
61
+ padding-top: 0px;
62
+ padding-bottom: 0px;
61
63
  }
62
64
 
63
65
  .ProseMirror p {
64
66
  margin: 0;
65
67
  }
66
68
 
69
+ /* Indentation wrapper (list as first child, no text of its own) shows no bullet;
70
+ a normal item renders its paragraph first so keeps its bullet. */
71
+ .ProseMirror li:has(> ul:first-child),
72
+ .ProseMirror li:has(> ol:first-child) {
73
+ list-style: none;
74
+ }
75
+
76
+ /* Scale the number/bullet marker with the item's font (matches the content-builder text block's */
77
+ .ProseMirror li::marker {
78
+ color: var(--color);
79
+ font-family: var(--font-family, inherit), var(--cx-font-sans);
80
+ font-size: var(--font-size);
81
+ font-style: var(--font-style, inherit);
82
+ font-weight: var(--font-weight);
83
+ }
84
+
85
+ /* Keep a hyperlink's underline attached to superscript/subscript text. */
86
+ .ProseMirror a:has(:is(sub, sup)) {
87
+ text-decoration: none;
88
+ }
89
+
90
+ .ProseMirror a :is(sub, sup) {
91
+ text-decoration: underline;
92
+ }
93
+
67
94
  .ProseMirror .tableWrapper .floating-button {
68
95
  opacity: 0;
69
96
  position: absolute;
@@ -532,7 +559,7 @@ const C = p`insert,span[format]{background-color:var(--cx-color-success-200)}del
532
559
  cursor: not-allowed;
533
560
  }
534
561
 
535
- ${C}
562
+ ${z}
536
563
  `;
537
564
  var t = /* @__PURE__ */ ((e) => (e.H1 = "h1", e.H2 = "h2", e.H3 = "h3", e.H4 = "h4", e.H5 = "h5", e.H6 = "h6", e))(t || {}), f = /* @__PURE__ */ ((e) => (e.Center = "center", e.Justify = "justify", e.Left = "left", e.Right = "right", e))(f || {});
538
565
  const H = p`:host{--color:light-dark(#000,#fff);--text-align:left;--padding:0;width:100%;display:block}:host([alignment=center]) .container{--text-align:center;justify-content:center}:host([alignment=right]) .container{--text-align:right;flex-direction:row-reverse}:host([alignment=left]) .container{--text-align:left;justify-content:flex-start}:host([alignment=justify]) .container{--text-align:justify;justify-content:flex-start}.container{padding:var(--padding,0px);flex-direction:row;align-items:center;display:flex}.container ::slotted(p),.container p{line-height:var(--line-height,1.5);word-wrap:break-word}.heading{color:var(--color);font-family:var(--font-family), var(--cx-font-sans);font-style:var(--font-style,normal);text-align:var(--text-align,left);max-width:100%;min-height:calc(var(--line-height,1) * 1em);flex:auto;min-height:1lh;margin-block:0}.container.container--has-copy-button .heading{flex:none;max-width:calc(100% - 32px)}.copy-button{opacity:0;transition:opacity var(--cx-transition-fast);color:var(--cx-color-neutral-600);pointer-events:none;user-select:none;line-height:0}.container:hover .copy-button,.copy-button:focus-within{opacity:1;pointer-events:auto;user-select:auto}.heading-1{font-size:var(--cx-font-size-3x-large);font-weight:var(--font-weight,var(--cx-font-weight-semibold));line-height:var(--line-height,var(--cx-line-height-3x-large))}.heading-2{font-size:var(--cx-font-size-2x-large);font-weight:var(--font-weight,var(--cx-font-weight-semibold));line-height:var(--line-height,var(--cx-line-height-3x-large))}.heading-3{font-size:var(--cx-font-size-x-large);font-weight:var(--font-weight,var(--cx-font-weight-semibold));line-height:var(--line-height,var(--cx-line-height-2x-large))}.heading-4{font-size:var(--cx-font-size-large);font-weight:var(--font-weight,var(--cx-font-weight-semibold));line-height:var(--line-height,var(--cx-line-height-x-large))}.heading-5{font-size:var(--cx-font-size-medium);font-weight:var(--font-weight,var(--cx-font-weight-semibold));line-height:var(--line-height,var(--cx-line-height-large))}.heading-6{font-size:var(--cx-font-size-small);font-weight:var(--font-weight,var(--cx-font-weight-semibold));line-height:var(--line-height,var(--cx-line-height-medium))}:host([custom-line-height]) .heading{line-height:unset}`;
@@ -650,7 +677,7 @@ let o = class extends b {
650
677
  };
651
678
  o.styles = [
652
679
  k,
653
- z,
680
+ C,
654
681
  H
655
682
  ];
656
683
  o.dependencies = {
@@ -1,42 +1,37 @@
1
- import { a as l } from "./tabbable.CcMz3mIL.js";
2
- function* h(t = document.activeElement) {
3
- t != null && (yield t, "shadowRoot" in t && t.shadowRoot && t.shadowRoot.mode !== "closed" && (yield* h(t.shadowRoot.activeElement)));
1
+ import { g as l, a as u } from "./active-elements.jTVWtBDp.js";
2
+ import { g as h } from "./tabbable.BwnZBHrm.js";
3
+ let i = [];
4
+ function v() {
5
+ return [...i];
4
6
  }
5
- function d() {
6
- return [...h()].pop();
7
- }
8
- let n = [];
9
- function f() {
10
- return [...n];
11
- }
12
- class v {
7
+ class m {
13
8
  constructor(e) {
14
9
  this.tabDirection = "forward", this.handleFocusIn = () => {
15
10
  this.isActive() && this.checkFocus();
16
- }, this.handleKeyDown = (o) => {
17
- if (o.key !== "Tab" || this.isExternalActivated || !this.isActive())
11
+ }, this.handleKeyDown = (n) => {
12
+ if (n.key !== "Tab" || this.isExternalActivated || !this.isActive())
18
13
  return;
19
- const c = d();
20
- if (this.previousFocus = c, this.previousFocus && this.possiblyHasTabbableChildren(this.previousFocus))
14
+ const o = l();
15
+ if (this.previousFocus = o, this.previousFocus && this.possiblyHasTabbableChildren(this.previousFocus))
21
16
  return;
22
- o.shiftKey ? this.tabDirection = "backward" : this.tabDirection = "forward";
23
- const s = l(this.element);
24
- let i = s.findIndex(
25
- (r) => r === c
17
+ n.shiftKey ? this.tabDirection = "backward" : this.tabDirection = "forward";
18
+ const t = h(this.element);
19
+ let s = t.findIndex(
20
+ (r) => r === o
26
21
  );
27
22
  this.previousFocus = this.currentFocus;
28
- const a = this.tabDirection === "forward" ? 1 : -1;
23
+ const c = this.tabDirection === "forward" ? 1 : -1;
29
24
  for (; ; ) {
30
- i + a >= s.length ? i = 0 : i + a < 0 ? i = s.length - 1 : i += a, this.previousFocus = this.currentFocus;
25
+ s + c >= t.length ? s = 0 : s + c < 0 ? s = t.length - 1 : s += c, this.previousFocus = this.currentFocus;
31
26
  const r = (
32
27
  /** @type {HTMLElement} */
33
- s[i]
28
+ t[s]
34
29
  );
35
30
  if (this.tabDirection === "backward" && this.previousFocus && this.possiblyHasTabbableChildren(this.previousFocus) || r && this.possiblyHasTabbableChildren(r))
36
31
  return;
37
- o.preventDefault(), this.currentFocus = r, this.currentFocus?.focus({ preventScroll: !1 });
38
- const u = [...h()];
39
- if (u.includes(this.currentFocus) || !u.includes(this.previousFocus))
32
+ n.preventDefault(), this.currentFocus = r, this.currentFocus?.focus({ preventScroll: !1 });
33
+ const a = [...u()];
34
+ if (a.includes(this.currentFocus) || !a.includes(this.previousFocus))
40
35
  break;
41
36
  }
42
37
  setTimeout(() => this.checkFocus());
@@ -46,15 +41,15 @@ class v {
46
41
  }
47
42
  /** Activates focus trapping. */
48
43
  activate() {
49
- n.push(this.element), document.addEventListener("focusin", this.handleFocusIn), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("keyup", this.handleKeyUp);
44
+ i.push(this.element), document.addEventListener("focusin", this.handleFocusIn), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("keyup", this.handleKeyUp);
50
45
  }
51
46
  /** Deactivates focus trapping. */
52
47
  deactivate() {
53
- n = n.filter((e) => e !== this.element), this.currentFocus = null, document.removeEventListener("focusin", this.handleFocusIn), document.removeEventListener("keydown", this.handleKeyDown), document.removeEventListener("keyup", this.handleKeyUp);
48
+ i = i.filter((e) => e !== this.element), this.currentFocus = null, document.removeEventListener("focusin", this.handleFocusIn), document.removeEventListener("keydown", this.handleKeyDown), document.removeEventListener("keyup", this.handleKeyUp);
54
49
  }
55
50
  /** Determines if this modal element is currently active or not. */
56
51
  isActive() {
57
- return n[n.length - 1] === this.element;
52
+ return i[i.length - 1] === this.element;
58
53
  }
59
54
  /** Activates external modal behavior and temporarily disables focus trapping. */
60
55
  activateExternal() {
@@ -66,10 +61,10 @@ class v {
66
61
  }
67
62
  checkFocus() {
68
63
  if (this.isActive() && !this.isExternalActivated) {
69
- const e = l(this.element);
64
+ const e = h(this.element);
70
65
  if (!this.element.matches(":focus-within")) {
71
- const o = e[0], c = e[e.length - 1], s = this.tabDirection === "forward" ? o : c;
72
- typeof s?.focus == "function" && (this.currentFocus = s, s.focus({ preventScroll: !1 }));
66
+ const n = e[0], o = e[e.length - 1], t = this.tabDirection === "forward" ? n : o;
67
+ typeof t?.focus == "function" && (this.currentFocus = t, t.focus({ preventScroll: !1 }));
73
68
  }
74
69
  }
75
70
  }
@@ -80,8 +75,6 @@ class v {
80
75
  }
81
76
  }
82
77
  export {
83
- v as M,
84
- h as a,
85
- f as b,
86
- d as g
78
+ m as M,
79
+ v as g
87
80
  };
@@ -58,6 +58,6 @@ function l(t) {
58
58
  });
59
59
  }
60
60
  export {
61
- l as a,
62
- g
61
+ g as a,
62
+ l as g
63
63
  };
@@ -18,7 +18,7 @@ import { default as q } from "./copy-button.js";
18
18
  import { default as K } from "./date-calendar.js";
19
19
  import { default as W } from "./details.js";
20
20
  import { default as Y } from "./diff.js";
21
- import { C as _ } from "../chunks/dialog.DIXmnVis.js";
21
+ import { C as _ } from "../chunks/dialog.Bzf4-IgH.js";
22
22
  import { default as oe } from "./divider.js";
23
23
  import { C as ae } from "../chunks/document-viewer.BN-OQfid.js";
24
24
  import { C as xe } from "../chunks/dot-pagination.BdZc-K0r.js";
@@ -33,7 +33,7 @@ import { default as Se } from "./format-number.js";
33
33
  import { default as De } from "./format-time.js";
34
34
  import { default as Be } from "./grid.js";
35
35
  import { default as he } from "./grid-item.js";
36
- import { C as Pe } from "../chunks/header.DpBmcfR_.js";
36
+ import { C as Pe } from "../chunks/header.x8SZLjAG.js";
37
37
  import { C as Me } from "../chunks/hub-connection.CA_wS_wh.js";
38
38
  import { f } from "../chunks/icon.mxNZ85k0.js";
39
39
  import { C as Fe } from "../chunks/icon.mxNZ85k0.js";
@@ -3,7 +3,7 @@ import "../chunks/typography.IqHbnd3C.js";
3
3
  import "../chunks/lib-cortex-element.CVMmyPMC.js";
4
4
  import "../chunks/color-swatch.BhBZe8OE.js";
5
5
  import "../chunks/component.styles.CRO4Odto.js";
6
- import { C as v } from "../chunks/color-swatch-group.BX90sRwa.js";
6
+ import { C as v } from "../chunks/color-swatch-group.Gh-drOGJ.js";
7
7
  import "../chunks/content-builder.BU8X7I6V.js";
8
8
  import "../chunks/custom-element.L4WJXn1j.js";
9
9
  import "../chunks/debounce.DaHuiSGU.js";
@@ -1,10 +1,10 @@
1
1
  import "../chunks/button.8syoJXYs.js";
2
- import "../chunks/dialog.DIXmnVis.js";
2
+ import "../chunks/dialog.Bzf4-IgH.js";
3
3
  import "./dropdown.js";
4
4
  import "../chunks/typography.IqHbnd3C.js";
5
5
  import "../chunks/lib-cortex-element.CVMmyPMC.js";
6
6
  import "../chunks/component.styles.CRO4Odto.js";
7
- import { C as x } from "../chunks/confirm-popover.BFBhjDQ9.js";
7
+ import { C as x } from "../chunks/confirm-popover.C-eHPJaU.js";
8
8
  import "../chunks/custom-element.L4WJXn1j.js";
9
9
  import "../chunks/i18n.Bchq8v1d.js";
10
10
  import "../chunks/lit-element.jLBm65_O.js";
@@ -1,10 +1,10 @@
1
1
  import "../chunks/lib-cortex-element.CVMmyPMC.js";
2
2
  import "../chunks/component.styles.CRO4Odto.js";
3
- import { C as q } from "../chunks/dialog.DIXmnVis.js";
3
+ import { C as q } from "../chunks/dialog.Bzf4-IgH.js";
4
4
  import "../chunks/event.BeKOsirN.js";
5
5
  import "../chunks/custom-element.L4WJXn1j.js";
6
6
  import "../chunks/i18n.Bchq8v1d.js";
7
- import "../chunks/modal.U1QltQKe.js";
7
+ import "../chunks/modal.jdGhujoh.js";
8
8
  import "../chunks/scroll.xtO5yojm.js";
9
9
  import "../chunks/slot.j5oheLJC.js";
10
10
  import "../chunks/watch.DOt4Mabe.js";
@@ -3,7 +3,7 @@ import { c as z } from "../chunks/component.styles.CRO4Odto.js";
3
3
  import { a as d, s as h, w as v } from "../chunks/event.BeKOsirN.js";
4
4
  import { c as P } from "../chunks/custom-element.L4WJXn1j.js";
5
5
  import { L as D } from "../chunks/i18n.Bchq8v1d.js";
6
- import { M as O } from "../chunks/modal.U1QltQKe.js";
6
+ import { M as O } from "../chunks/modal.jdGhujoh.js";
7
7
  import { l as w, u } from "../chunks/scroll.xtO5yojm.js";
8
8
  import { H as $ } from "../chunks/slot.j5oheLJC.js";
9
9
  import { w as C } from "../chunks/watch.DOt4Mabe.js";
@@ -5,7 +5,7 @@ import { c as v } from "../chunks/custom-element.L4WJXn1j.js";
5
5
  import { f as x } from "../chunks/focus-when-visible.jWSw9ks0.js";
6
6
  import { L as C } from "../chunks/i18n.Bchq8v1d.js";
7
7
  import { H as E } from "../chunks/slot.j5oheLJC.js";
8
- import { g as m } from "../chunks/tabbable.CcMz3mIL.js";
8
+ import { a as m } from "../chunks/tabbable.BwnZBHrm.js";
9
9
  import { w as D } from "../chunks/watch.DOt4Mabe.js";
10
10
  import { i as k, x as T } from "../chunks/lit-element.jLBm65_O.js";
11
11
  import { e as h } from "../chunks/query.BBf1UFkC.js";
@@ -16,7 +16,7 @@ import { n as p } from "../chunks/when.Dr1es41R.js";
16
16
  import { b as Tt } from "../chunks/_baseIteratee.BdKyHJ5i.js";
17
17
  import zt from "./avatar.js";
18
18
  import { C as Pt } from "../chunks/button.8syoJXYs.js";
19
- import { C as Et } from "../chunks/dialog.DIXmnVis.js";
19
+ import { C as Et } from "../chunks/dialog.Bzf4-IgH.js";
20
20
  import Lt from "./divider.js";
21
21
  import nt from "./format-bytes.js";
22
22
  import { C as vt } from "../chunks/icon-button.DbVIFgu7.js";
@@ -30,7 +30,7 @@ import { C as Nt } from "../chunks/tab-group.kSg5_10g.js";
30
30
  import Bt from "./tab-panel.js";
31
31
  import bt from "./tooltip.js";
32
32
  import { C as rt } from "../chunks/typography.IqHbnd3C.js";
33
- import { C as jt } from "../chunks/confirm-popover.BFBhjDQ9.js";
33
+ import { C as jt } from "../chunks/confirm-popover.C-eHPJaU.js";
34
34
  import { d as Mt } from "../chunks/debounce.DaHuiSGU.js";
35
35
  import { a as Z } from "../chunks/number.CtCaI0T_.js";
36
36
  import { i as X, b as pt } from "../chunks/url.-WDYqplj.js";
@@ -1,7 +1,7 @@
1
1
  import "./copy-button.js";
2
2
  import "../chunks/lib-cortex-element.CVMmyPMC.js";
3
3
  import "../chunks/component.styles.CRO4Odto.js";
4
- import { C as x } from "../chunks/header.DpBmcfR_.js";
4
+ import { C as x } from "../chunks/header.x8SZLjAG.js";
5
5
  import "../chunks/custom-element.L4WJXn1j.js";
6
6
  import "../chunks/i18n.Bchq8v1d.js";
7
7
  import "../chunks/watch.DOt4Mabe.js";
@@ -1,10 +1,10 @@
1
1
  import { n as r, C as w } from "../chunks/lib-cortex-element.CVMmyPMC.js";
2
2
  import { c as _ } from "../chunks/component.styles.CRO4Odto.js";
3
3
  import { c as L } from "../chunks/custom-element.L4WJXn1j.js";
4
- import { d as y, L as M } from "../chunks/i18n.Bchq8v1d.js";
4
+ import { d as g, L as M } from "../chunks/i18n.Bchq8v1d.js";
5
5
  import { H as z, g as P } from "../chunks/slot.j5oheLJC.js";
6
6
  import { w as v } from "../chunks/watch.DOt4Mabe.js";
7
- import { i as E, x as h, E as g } from "../chunks/lit-element.jLBm65_O.js";
7
+ import { i as E, x as h, E as y } from "../chunks/lit-element.jLBm65_O.js";
8
8
  import { e as p } from "../chunks/query.BBf1UFkC.js";
9
9
  import { e as f } from "../chunks/class-map.BiVq-cVR.js";
10
10
  import { o as m } from "../chunks/if-defined.BRoBj_Rp.js";
@@ -232,11 +232,17 @@ class B {
232
232
  i.closeSubmenu?.();
233
233
  });
234
234
  }
235
- // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.
235
+ // Schedule a recalculation of the skidding value
236
236
  updateSkidding() {
237
+ requestAnimationFrame(() => {
238
+ this.calculateSkidding();
239
+ });
240
+ }
241
+ // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.
242
+ calculateSkidding() {
237
243
  if (!this.host.parentElement?.computedStyleMap)
238
244
  return;
239
- const e = this.host.parentElement.computedStyleMap(), t = y(this.host) === "rtl", i = this.host.submenuPlacement ?? (t ? "left-start" : "right-start"), l = i.startsWith("left") || i.startsWith("right");
245
+ const e = this.host.parentElement.computedStyleMap(), t = g(this.host) === "rtl", i = this.host.submenuPlacement ?? (t ? "left-start" : "right-start"), l = i.startsWith("left") || i.startsWith("right");
240
246
  let a = [];
241
247
  l && (i.endsWith("-start") ? a = ["padding-top", "border-top-width", "margin-top"] : i.endsWith("-end") && (a = ["padding-bottom", "border-bottom-width", "margin-bottom"]));
242
248
  const u = a.reduce((c, b) => {
@@ -249,7 +255,7 @@ class B {
249
255
  return this.popupRef.value ? this.popupRef.value.active : !1;
250
256
  }
251
257
  renderSubmenu() {
252
- const e = y(this.host) === "rtl";
258
+ const e = g(this.host) === "rtl";
253
259
  if (!this.hasSlotController.test("submenu"))
254
260
  return null;
255
261
  const t = this.host.submenuPlacement ?? (e ? "left-start" : "right-start");
@@ -365,7 +371,7 @@ let s = class extends w {
365
371
  "menu-item__check--suffix": this.checkPlacement === d.Suffix
366
372
  })}><cx-icon name="check"></cx-icon></slot>`, i = this.checkPlacement === d.Suffix;
367
373
  return this.renderBase(h`
368
- ${i ? g : t}<slot name="prefix" part="prefix" class="menu-item__prefix"></slot><slot part="label" class="menu-item__label" @slotchange=${this.handleDefaultSlotChange}></slot><slot name="suffix" part="suffix" class="menu-item__suffix"></slot><slot name="submenu-icon" part="submenu-icon" class="menu-item__chevron"><cx-icon name=${e} aria-hidden="true"></cx-icon></slot>${i ? t : g}
374
+ ${i ? y : t}<slot name="prefix" part="prefix" class="menu-item__prefix"></slot><slot part="label" class="menu-item__label" @slotchange=${this.handleDefaultSlotChange}></slot><slot name="suffix" part="suffix" class="menu-item__suffix"></slot><slot name="submenu-icon" part="submenu-icon" class="menu-item__chevron"><cx-icon name=${e} aria-hidden="true"></cx-icon></slot>${i ? t : y}
369
375
 
370
376
  ${this.submenuController.renderSubmenu()}
371
377
  ${this.loading ? h`<cx-spinner part="spinner" exportparts="base:spinner__base"></cx-spinner>` : ""}
@@ -1,7 +1,7 @@
1
1
  import { default as e } from "./bicolor-picker.js";
2
2
  import { default as a } from "./border-input-group.js";
3
3
  import { C as x } from "../chunks/color-swatch.BhBZe8OE.js";
4
- import { C as u } from "../chunks/confirm-popover.BFBhjDQ9.js";
4
+ import { C as u } from "../chunks/confirm-popover.C-eHPJaU.js";
5
5
  import { default as d } from "./corner-position-input-group.js";
6
6
  import { default as l } from "./cropper.js";
7
7
  import { default as i } from "./dynamic-select.js";
@@ -1,5 +1,5 @@
1
1
  import { C as a } from "../chunks/asset-link-format.DzYh0_YS.js";
2
- import { C as t } from "../chunks/color-swatch-group.BX90sRwa.js";
2
+ import { C as t } from "../chunks/color-swatch-group.Gh-drOGJ.js";
3
3
  import { default as C } from "./file-on-demand.js";
4
4
  export {
5
5
  a as CxAssetLinkFormat,