@orangelogic/design-system 2.170.0 → 2.171.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 (41) hide show
  1. package/library/chunks/{asset-link-format.BSo7khRt.js → asset-link-format.BATKDRgD.js} +1 -1
  2. package/library/chunks/button.styles.Bcj_XoRt.js +5 -0
  3. package/library/chunks/{button.DDem_XZq.js → button.zWaIO1sl.js} +1 -1
  4. package/library/chunks/{color-swatch-group.C_PwK2oY.js → color-swatch-group.CQlgq_I5.js} +3 -3
  5. package/library/chunks/{confirm-popover.Cx6BUoTL.js → confirm-popover.hHcCIzpX.js} +2 -2
  6. package/library/chunks/{dialog.B_v8598F.js → dialog.BaHYOyYO.js} +1 -1
  7. package/library/chunks/{document-viewer.BT1kp8Ig.js → document-viewer.B89YB5oo.js} +1 -1
  8. package/library/chunks/{folder-select.B9qqU1CQ.js → folder-select.C6Sv4jtu.js} +60 -44
  9. package/library/chunks/{modal.jdGhujoh.js → modal.Ct0bJBSe.js} +21 -7
  10. package/library/chunks/{pagination.TxcRv9BL.js → pagination.CwKlKOek.js} +1 -1
  11. package/library/chunks/{tab-group.BdWDbwBy.js → tab-group.C_n0GEc_.js} +1 -1
  12. package/library/components/asset-link-format.js +2 -2
  13. package/library/components/atoms.js +5 -5
  14. package/library/components/button.js +2 -2
  15. package/library/components/color-picker.js +1 -1
  16. package/library/components/color-swatch-group.js +1 -1
  17. package/library/components/confirm-popover.js +3 -3
  18. package/library/components/dialog.js +2 -2
  19. package/library/components/document-viewer.js +1 -1
  20. package/library/components/drawer.js +1 -1
  21. package/library/components/dynamic-select.js +62 -54
  22. package/library/components/element-clamp.js +1 -1
  23. package/library/components/file-on-demand.js +4 -4
  24. package/library/components/folder-select.js +1 -1
  25. package/library/components/line-clamp.js +1 -1
  26. package/library/components/molecules.js +2 -2
  27. package/library/components/organisms.js +2 -2
  28. package/library/components/pagination.js +2 -2
  29. package/library/components/radio-button.js +1 -1
  30. package/library/components/tab-group.js +2 -2
  31. package/library/components/types.js +21 -15
  32. package/library/package.json +1 -1
  33. package/library/packages/molecules/src/dynamic-select/dynamic-select.d.ts +7 -0
  34. package/library/packages/molecules/src/folder-select/folder-select.d.ts +14 -0
  35. package/library/packages/organisms/src/content-builder/styleController.d.ts +1 -0
  36. package/library/packages/types/src/content-builder.d.ts +5 -0
  37. package/library/packages/utils/src/custom-element/modal.d.ts +7 -0
  38. package/library/react-web-component.d.ts +4 -0
  39. package/library/utils.js +1 -1
  40. package/package.json +1 -1
  41. package/library/chunks/button.styles.BersilzZ.js +0 -5
@@ -1,5 +1,5 @@
1
1
  import "../chunks/resizable-component.styles.CAfXABBc.js";
2
- import { C as b } from "../chunks/document-viewer.BT1kp8Ig.js";
2
+ import { C as b } from "../chunks/document-viewer.B89YB5oo.js";
3
3
  import "../chunks/component.styles.CRO4Odto.js";
4
4
  import "../chunks/index.Cpamj0jB.js";
5
5
  import "../chunks/custom-element.L4WJXn1j.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.DbXTTLXx.js";
6
- import { M as O } from "../chunks/modal.jdGhujoh.js";
6
+ import { M as O } from "../chunks/modal.Ct0bJBSe.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.DJF5K-8U.js";
@@ -1,9 +1,9 @@
1
- import { C as g } from "../chunks/button.DDem_XZq.js";
1
+ import { C as g } from "../chunks/button.zWaIO1sl.js";
2
2
  import { C as O } from "../chunks/icon-button.DJvfUmOl.js";
3
3
  import { C as p, a as $ } from "../chunks/option.Bvyag0r1.js";
4
4
  import C from "./select.js";
5
- import { n as i, C as x } from "../chunks/lib-cortex-element.CVMmyPMC.js";
6
- import { c as v } from "../chunks/custom-element.L4WJXn1j.js";
5
+ import { n as i, C as v } from "../chunks/lib-cortex-element.CVMmyPMC.js";
6
+ import { c as x } from "../chunks/custom-element.L4WJXn1j.js";
7
7
  import { d as w } from "../chunks/debounce.DaHuiSGU.js";
8
8
  import { L as S } from "../chunks/i18n.DbXTTLXx.js";
9
9
  import { w as c } from "../chunks/watch.DJF5K-8U.js";
@@ -12,40 +12,40 @@ import { r as h } from "../chunks/state.CSDxrqLd.js";
12
12
  import { e as E } from "../chunks/query.BBf1UFkC.js";
13
13
  import { e as B } from "../chunks/class-map.BiVq-cVR.js";
14
14
  import { o as m } from "../chunks/if-defined.BRoBj_Rp.js";
15
- import { i as T } from "../chunks/keyed.DdOUTIg-.js";
15
+ import { i as F } from "../chunks/keyed.DdOUTIg-.js";
16
16
  import { o as b } from "../chunks/map.D8heArFD.js";
17
17
  import { c as y } from "../chunks/repeat.CFjcER6_.js";
18
- import { o as D } from "../chunks/style-map.llVFPd__.js";
18
+ import { o as T } from "../chunks/style-map.llVFPd__.js";
19
19
  import { n as f } from "../chunks/when.Dr1es41R.js";
20
- import { b as _ } from "../chunks/_baseIteratee.sC2wLi2m.js";
20
+ import { b as D } from "../chunks/_baseIteratee.sC2wLi2m.js";
21
21
  import { b as V } from "../chunks/_baseUniq.lwMgmtt2.js";
22
- function z(t, s) {
23
- return t && t.length ? V(t, _(s)) : [];
22
+ function _(t, l) {
23
+ return t && t.length ? V(t, D(l)) : [];
24
24
  }
25
- var L = Object.defineProperty, F = Object.getOwnPropertyDescriptor, o = (t, s, l, a) => {
26
- for (var n = a > 1 ? void 0 : a ? F(s, l) : s, u = t.length - 1, d; u >= 0; u--)
27
- (d = t[u]) && (n = (a ? d(s, l, n) : d(n)) || n);
28
- return a && n && L(s, l, n), n;
25
+ var z = Object.defineProperty, L = Object.getOwnPropertyDescriptor, o = (t, l, s, a) => {
26
+ for (var n = a > 1 ? void 0 : a ? L(l, s) : l, u = t.length - 1, d; u >= 0; u--)
27
+ (d = t[u]) && (n = (a ? d(l, s, n) : d(n)) || n);
28
+ return a && n && z(l, s, n), n;
29
29
  };
30
- let e = class extends x {
30
+ let e = class extends v {
31
31
  constructor() {
32
- super(...arguments), this.localize = new S(this), this.name = "", this.value = "", this.size = "medium", this.placeholder = "", this.allowFreetext = !1, this.multiple = !1, this.maxOptionsVisible = 3, this.disabled = !1, this.clearable = !1, this.open = !1, this.hoist = !1, this.freeWidth = !1, this.autosizePadding = 10, this.filled = !1, this.pill = !1, this.label = "", this.placement = "bottom", this.helpText = "", this.form = "", this.required = !1, this.useTag = !1, this.inputBehavior = "filter", this.getOptionValue = (t) => !t || !(t instanceof p) ? "" : typeof t.value == "string" ? t.value : "", this.setOptionCurrent = (t, s) => {
32
+ super(...arguments), this.localize = new S(this), this.name = "", this.value = "", this.size = "medium", this.placeholder = "", this.allowFreetext = !1, this.multiple = !1, this.maxOptionsVisible = 3, this.disabled = !1, this.clearable = !1, this.open = !1, this.hoist = !1, this.freeWidth = !1, this.autosizePadding = 10, this.filled = !1, this.pill = !1, this.label = "", this.placement = "bottom", this.helpText = "", this.form = "", this.required = !1, this.useTag = !1, this.inputBehavior = "filter", this.getOptionValue = (t) => !t || !(t instanceof p) ? "" : typeof t.value == "string" ? t.value : "", this.setOptionCurrent = (t, l) => {
33
33
  if (t instanceof p) {
34
- if (s === void 0) {
34
+ if (l === void 0) {
35
35
  t.current = !t.current;
36
36
  return;
37
37
  }
38
- t.current = s;
38
+ t.current = l;
39
39
  }
40
- }, this.setOptionSelected = (t, s) => {
40
+ }, this.setOptionSelected = (t, l) => {
41
41
  if (!(!(t instanceof p) || t.getAttribute("role") !== "option")) {
42
- if (s === void 0) {
42
+ if (l === void 0) {
43
43
  t.selected = !t.selected;
44
44
  return;
45
45
  }
46
- t.selected = s, s && this.selectEl.setCurrentOption(t);
46
+ t.selected = l, l && this.selectEl.setCurrentOption(t);
47
47
  }
48
- }, this.stayOpenOnSelect = !1, this.closeOnSelect = !1, this.forceOnChange = !1, this.allowDefaultMouseDown = !1, this.columns = [], this.useSearchTerm = !1, this.noSelectOnEnter = !1, this.noResetCurrent = !1, this.iconName = "", this.noDropdown = !1, this.noDropdownOnEmpty = !1, this.noFlip = !1, this.customChangeEvent = "", this.options = [], this.start = 0, this.searchTerm = "", this.hasMore = !1, this.loading = !1;
48
+ }, this.stayOpenOnSelect = !1, this.closeOnSelect = !1, this.forceOnChange = !1, this.allowDefaultMouseDown = !1, this.columns = [], this.useSearchTerm = !1, this.noSelectOnEnter = !1, this.noResetCurrent = !1, this.iconName = "", this.noDropdown = !1, this.noDropdownOnEmpty = !1, this.noFlip = !1, this.customChangeEvent = "", this.autoFallbackFirstOption = !1, this.options = [], this.start = 0, this.searchTerm = "", this.hasMore = !1, this.loading = !1;
49
49
  }
50
50
  createRenderRoot() {
51
51
  return this;
@@ -54,13 +54,13 @@ let e = class extends x {
54
54
  if (this.api)
55
55
  try {
56
56
  this.loading = !0;
57
- const s = await this.api({
57
+ const l = await this.api({
58
58
  searchTerm: this.searchTerm,
59
59
  start: this.start
60
60
  });
61
- if (t ? this.options = s.data : this.options = z([...this.options, ...s.data], "value"), this.hasMore = s.hasMore, await this.updateComplete, this.selectEl) {
62
- let l;
63
- this.multiple ? l = this.value?.trim() ? this.value.trim().split(/\s+/) : [] : l = this.value, this.selectEl.value = l;
61
+ if (t ? this.options = l.data : this.options = _([...this.options, ...l.data], "value"), this.hasMore = l.hasMore, await this.updateComplete, this.selectEl) {
62
+ let s, a = !1;
63
+ this.multiple ? s = this.value?.trim() ? this.value.trim().split(/\s+/) : [] : (s = this.getFallbackValue(), a = s !== this.value), this.selectEl.value = s, a && this.selectEl.emit("cx-change");
64
64
  }
65
65
  } catch {
66
66
  this.options = [];
@@ -80,12 +80,12 @@ let e = class extends x {
80
80
  tableGetOptionValue(t) {
81
81
  return t?.getAttribute("data-value") ?? "";
82
82
  }
83
- tableSetOptionSelected(t, s) {
84
- const l = s ?? !t?.hasAttribute("selected");
85
- t?.toggleAttribute("selected", l), t?.setAttribute("aria-selected", String(l));
83
+ tableSetOptionSelected(t, l) {
84
+ const s = l ?? !t?.hasAttribute("selected");
85
+ t?.toggleAttribute("selected", s), t?.setAttribute("aria-selected", String(s));
86
86
  }
87
- tableSetOptionCurrent(t, s) {
88
- t?.toggleAttribute("current", s ?? !t?.hasAttribute("current"));
87
+ tableSetOptionCurrent(t, l) {
88
+ t?.toggleAttribute("current", l ?? !t?.hasAttribute("current"));
89
89
  }
90
90
  tableGetOptionLabel(t) {
91
91
  return t?.querySelector("td")?.textContent?.trim() ?? "";
@@ -96,26 +96,31 @@ let e = class extends x {
96
96
  tableGetOptionDisabled(t) {
97
97
  return t?.hasAttribute("disabled") ?? !1;
98
98
  }
99
- tableFilterCallback(t, s) {
100
- const l = s.toLowerCase();
99
+ tableFilterCallback(t, l) {
100
+ const s = l.toLowerCase();
101
101
  return [...t?.querySelectorAll("td") || []].some(
102
- (a) => a.textContent?.toLowerCase().includes(l)
102
+ (a) => a.textContent?.toLowerCase().includes(s)
103
103
  );
104
104
  }
105
- getCellValue(t, s) {
106
- if (s in t) {
107
- const l = t[s];
108
- return l == null ? "" : String(l);
105
+ getCellValue(t, l) {
106
+ if (l in t) {
107
+ const s = t[l];
108
+ return s == null ? "" : String(s);
109
109
  }
110
- return t.extra?.[s] ?? "";
110
+ return t.extra?.[l] ?? "";
111
111
  }
112
112
  getColWidth(t) {
113
- const s = this.columns.reduce((l, a) => l + (a.flex ?? 1), 0);
114
- return `${((t.flex ?? 1) / s * 100).toFixed(1)}%`;
113
+ const l = this.columns.reduce((s, a) => s + (a.flex ?? 1), 0);
114
+ return `${((t.flex ?? 1) / l * 100).toFixed(1)}%`;
115
+ }
116
+ getFallbackValue() {
117
+ return this.autoFallbackFirstOption ? this.options.some(
118
+ (l) => l.value === this.value
119
+ ) ? this.value : this.options[0]?.value ?? "" : this.value;
115
120
  }
116
121
  handleInputChange(t) {
117
- const { value: s } = t.target.displayInput;
118
- this.searchTerm = s, this.selectEl.getOptionLabel = (l) => !l || !(l instanceof p) ? s : l.getTextLabel() || s;
122
+ const { value: l } = t.target.displayInput;
123
+ this.searchTerm = l, this.selectEl.getOptionLabel = (s) => !s || !(s instanceof p) ? l : s.getTextLabel() || l;
119
124
  }
120
125
  handleLoadMore() {
121
126
  this.start += 10;
@@ -123,40 +128,40 @@ let e = class extends x {
123
128
  handleCustomChange(t) {
124
129
  if (!t.target)
125
130
  return;
126
- const s = t.target, l = this.options.find(
127
- (a) => a.value === s.value
131
+ const l = t.target, s = this.options.find(
132
+ (a) => a.value === l.value
128
133
  );
129
- l && this.emit(this.customChangeEvent, {
130
- detail: l
134
+ s && this.emit(this.customChangeEvent, {
135
+ detail: s
131
136
  });
132
137
  }
133
138
  renderTableOptions() {
134
139
  return r`<table class="table-select__table"><thead class="table-select__thead"><tr>${b(
135
140
  this.columns,
136
- (t) => r`<th class="table-select__th" style=${D({ width: this.getColWidth(t) })}>${t.header}</th>`
141
+ (t) => r`<th class="table-select__th" style=${T({ width: this.getColWidth(t) })}>${t.header}</th>`
137
142
  )}</tr></thead>${y(
138
143
  this.options,
139
144
  (t) => t.value ?? "",
140
145
  (t) => r`<tr role="option" aria-selected="false" aria-disabled=${t.disabled ? "true" : "false"} data-value=${t.value ?? ""} ?disabled=${t.disabled ?? !1}>${b(
141
146
  this.columns,
142
- (s) => r`<td class="table-select__td">${this.getCellValue(t, s.field)}</td>`
147
+ (l) => r`<td class="table-select__td">${this.getCellValue(t, l.field)}</td>`
143
148
  )}</tr>`
144
149
  )}</table>`;
145
150
  }
146
151
  render() {
147
- const t = this.noDropdown || this.noDropdownOnEmpty && !this.options.length, s = this.columns.length > 0;
148
- return T(s, r`<cx-select auto-size-padding=${this.autosizePadding} class=${B({
152
+ const t = this.noDropdown || this.noDropdownOnEmpty && !this.options.length, l = this.columns.length > 0;
153
+ return F(l, r`<cx-select auto-size-padding=${this.autosizePadding} class=${B({
149
154
  "dynamic-select": !0,
150
- "table-select": s
155
+ "table-select": l
151
156
  })} data-id=${m(this.dataset.id || void 0)} data-label=${m(this.dataset.label || void 0)} form=${this.form} help-text=${this.helpText} input-behavior=${this.inputBehavior} label=${this.label} max-options-visible=${this.maxOptionsVisible} name=${this.name} placeholder=${this.placeholder} placement=${this.placement} size=${this.size} value=${this.value} .syncElement=${this.syncElement} ?allow-default-mouse-down=${this.allowDefaultMouseDown} ?allow-freetext=${this.allowFreetext} ?clearable=${this.clearable} ?close-on-select=${this.closeOnSelect} ?disabled=${this.disabled} ?filled=${this.filled} ?force-on-change=${this.forceOnChange} ?free-width=${this.freeWidth} ?hoist=${this.hoist} ?loading=${this.loading} ?multiple=${this.multiple} ?no-dropdown=${t} ?no-flip=${this.noFlip} ?no-reset-current=${this.noResetCurrent} ?no-select-on-enter=${this.noSelectOnEnter} ?open=${this.open} ?pill=${this.pill} ?required=${this.required} ?stay-open-on-select=${this.stayOpenOnSelect} ?use-tag=${this.useTag} @cx-change=${this.customChangeEvent ? this.handleCustomChange : void 0} @input=${this.useSearchTerm ? this.handleInputChange : void 0}>${f(this.iconName, () => r`<cx-icon-button class="icon-button" tabindex="-1" label=${this.localize.term("search")} name=${this.iconName} slot="prefix"></cx-icon-button>`)}
152
157
  ${f(
153
- s,
158
+ l,
154
159
  () => this.renderTableOptions(),
155
160
  () => r`
156
161
  ${y(
157
162
  this.options,
158
- (l) => l.value ?? "",
159
- (l) => r`<cx-option value=${l.value ?? ""} ?disabled=${l.disabled} show-check check-placement=${$.Right}>${l.label ?? l.value ?? ""}</cx-option>`
163
+ (s) => s.value ?? "",
164
+ (s) => r`<cx-option value=${s.value ?? ""} ?disabled=${s.disabled} show-check check-placement=${$.Right}>${s.label ?? s.value ?? ""}</cx-option>`
160
165
  )}
161
166
  ${f(
162
167
  this.hasMore,
@@ -314,6 +319,9 @@ o([
314
319
  o([
315
320
  i({ attribute: "custom-change-event", type: String })
316
321
  ], e.prototype, "customChangeEvent", 2);
322
+ o([
323
+ i({ attribute: "auto-fallback-first-option", reflect: !0, type: Boolean })
324
+ ], e.prototype, "autoFallbackFirstOption", 2);
317
325
  o([
318
326
  h()
319
327
  ], e.prototype, "options", 2);
@@ -343,7 +351,7 @@ o([
343
351
  c("columns")
344
352
  ], e.prototype, "handleColumnsChange", 1);
345
353
  e = o([
346
- v("cx-dynamic-select")
354
+ x("cx-dynamic-select")
347
355
  ], e);
348
356
  export {
349
357
  e as default
@@ -9,7 +9,7 @@ import { r as k } from "../chunks/state.CSDxrqLd.js";
9
9
  import { e as E } from "../chunks/query.BBf1UFkC.js";
10
10
  import { e as H } from "../chunks/class-map.BiVq-cVR.js";
11
11
  import { a as p, g } from "../chunks/animation-registry.HmpwNuGH.js";
12
- import { C as B } from "../chunks/button.DDem_XZq.js";
12
+ import { C as B } from "../chunks/button.zWaIO1sl.js";
13
13
  const T = C`:host{--toggler-color:var(--cx-color-primary);display:block;overflow:hidden}.element-clamp{overflow-anchor:none}.element-clamp--disabled{opacity:.5}.element-clamp-icon{transition:var(--cx-transition-medium) rotate ease;flex:none;align-items:center;display:flex}.details--open .element-clamp-icon{rotate:90deg}.details--open.details--rtl .element-clamp-icon{rotate:-90deg}.element-clamp--open slot[name=expand-icon],.element-clamp:not(.element-clamp--open) slot[name=collapse-icon]{display:none}.element-clamp__content{display:block;overflow:hidden}.toggler{margin-top:var(--cx-spacing-2x-small);display:block}.toggler::part(base){color:var(--toggler-color);font-weight:var(--cx-font-weight-medium);text-transform:none;width:auto}.toggler::part(label){padding-left:0}`;
14
14
  var z = Object.defineProperty, O = Object.getOwnPropertyDescriptor, n = (e, t, i, r) => {
15
15
  for (var s = r > 1 ? void 0 : r ? O(t, i) : t, h = e.length - 1, l; h >= 0; h--)
@@ -16,8 +16,8 @@ import { n as p } from "../chunks/when.Dr1es41R.js";
16
16
  import { b as At } from "../chunks/_baseEach.DQk0As2f.js";
17
17
  import { b as Dt } from "../chunks/_baseIteratee.sC2wLi2m.js";
18
18
  import Tt from "./avatar.js";
19
- import { C as zt } from "../chunks/button.DDem_XZq.js";
20
- import { C as Pt } from "../chunks/dialog.B_v8598F.js";
19
+ import { C as zt } from "../chunks/button.zWaIO1sl.js";
20
+ import { C as Pt } from "../chunks/dialog.BaHYOyYO.js";
21
21
  import Et from "./divider.js";
22
22
  import nt from "./format-bytes.js";
23
23
  import { C as vt } from "../chunks/icon-button.DJvfUmOl.js";
@@ -27,11 +27,11 @@ import yt from "./relative-time.js";
27
27
  import Ft from "./select.js";
28
28
  import Rt from "./space.js";
29
29
  import kt from "./tab.js";
30
- import { C as Ot } from "../chunks/tab-group.BdWDbwBy.js";
30
+ import { C as Ot } from "../chunks/tab-group.C_n0GEc_.js";
31
31
  import Nt from "./tab-panel.js";
32
32
  import bt from "./tooltip.js";
33
33
  import { C as rt } from "../chunks/typography.IqHbnd3C.js";
34
- import { C as jt } from "../chunks/confirm-popover.Cx6BUoTL.js";
34
+ import { C as jt } from "../chunks/confirm-popover.hHcCIzpX.js";
35
35
  import { d as Bt } from "../chunks/debounce.DaHuiSGU.js";
36
36
  import { c as Z } from "../chunks/number.Cx2ncfJJ.js";
37
37
  import { i as X, b as pt } from "../chunks/url.Bd5rq4G0.js";
@@ -5,7 +5,7 @@ import "./select.js";
5
5
  import "./tag.js";
6
6
  import "../chunks/tree.B0-6Ny9b.js";
7
7
  import "../chunks/lib-cortex-element.CVMmyPMC.js";
8
- import { C as j } from "../chunks/folder-select.B9qqU1CQ.js";
8
+ import { C as j } from "../chunks/folder-select.C6Sv4jtu.js";
9
9
  import "../chunks/component.styles.CRO4Odto.js";
10
10
  import "../chunks/custom-element.L4WJXn1j.js";
11
11
  import "../chunks/i18n.DbXTTLXx.js";
@@ -1,4 +1,4 @@
1
- import "../chunks/button.DDem_XZq.js";
1
+ import "../chunks/button.zWaIO1sl.js";
2
2
  import "./tooltip.js";
3
3
  import "./resize-observer.js";
4
4
  import { n as s, C as b } from "../chunks/lib-cortex-element.CVMmyPMC.js";
@@ -1,11 +1,11 @@
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.DpzAGKQx.js";
4
- import { C as u } from "../chunks/confirm-popover.Cx6BUoTL.js";
4
+ import { C as u } from "../chunks/confirm-popover.hHcCIzpX.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";
8
- import { C as c } from "../chunks/folder-select.B9qqU1CQ.js";
8
+ import { C as c } from "../chunks/folder-select.C6Sv4jtu.js";
9
9
  import { default as P } from "./masonry.js";
10
10
  import { default as I } from "./padding-input-group.js";
11
11
  import { default as y } from "./position-picker.js";
@@ -1,5 +1,5 @@
1
- import { C as a } from "../chunks/asset-link-format.BSo7khRt.js";
2
- import { C as t } from "../chunks/color-swatch-group.C_PwK2oY.js";
1
+ import { C as a } from "../chunks/asset-link-format.BATKDRgD.js";
2
+ import { C as t } from "../chunks/color-swatch-group.CQlgq_I5.js";
3
3
  import { default as C } from "./file-on-demand.js";
4
4
  export {
5
5
  a as CxAssetLinkFormat,
@@ -1,7 +1,7 @@
1
1
  import "./space.js";
2
2
  import "../chunks/lib-cortex-element.CVMmyPMC.js";
3
3
  import "../chunks/icon-button.DJvfUmOl.js";
4
- import { C as k } from "../chunks/pagination.TxcRv9BL.js";
4
+ import { C as k } from "../chunks/pagination.CwKlKOek.js";
5
5
  import "../chunks/custom-element.L4WJXn1j.js";
6
6
  import "../chunks/i18n.DbXTTLXx.js";
7
7
  import "../chunks/math.DuKzLacZ.js";
@@ -11,7 +11,7 @@ import "../chunks/state.CSDxrqLd.js";
11
11
  import "../chunks/class-map.BiVq-cVR.js";
12
12
  import "../chunks/repeat.CFjcER6_.js";
13
13
  import "../chunks/when.Dr1es41R.js";
14
- import "../chunks/button.DDem_XZq.js";
14
+ import "../chunks/button.zWaIO1sl.js";
15
15
  import "../chunks/input.B-c9KEAH.js";
16
16
  import "../chunks/option.Bvyag0r1.js";
17
17
  import "./select.js";
@@ -9,7 +9,7 @@ import { e as y } from "../chunks/class-map.BiVq-cVR.js";
9
9
  import { o as h } from "../chunks/if-defined.BRoBj_Rp.js";
10
10
  import { u as _ } from "../chunks/static.UA3G1Deq.js";
11
11
  import { i as v } from "../chunks/lit-element.jLBm65_O.js";
12
- import { b as w } from "../chunks/button.styles.BersilzZ.js";
12
+ import { b as w } from "../chunks/button.styles.Bcj_XoRt.js";
13
13
  const C = v`
14
14
  ${w}
15
15
 
@@ -1,7 +1,7 @@
1
1
  import "./resize-observer.js";
2
2
  import "../chunks/lib-cortex-element.CVMmyPMC.js";
3
3
  import "../chunks/component.styles.CRO4Odto.js";
4
- import { C as A } from "../chunks/tab-group.BdWDbwBy.js";
4
+ import { C as A } from "../chunks/tab-group.C_n0GEc_.js";
5
5
  import "../chunks/custom-element.L4WJXn1j.js";
6
6
  import "../chunks/i18n.DbXTTLXx.js";
7
7
  import "../chunks/scroll.xtO5yojm.js";
@@ -18,7 +18,7 @@ import "../chunks/guard.D4axKaMo.js";
18
18
  import "../chunks/map.D8heArFD.js";
19
19
  import "../chunks/style-map.llVFPd__.js";
20
20
  import "../chunks/when.Dr1es41R.js";
21
- import "../chunks/button.DDem_XZq.js";
21
+ import "../chunks/button.zWaIO1sl.js";
22
22
  import "./dropdown.js";
23
23
  import "../chunks/icon-button.DJvfUmOl.js";
24
24
  import "./menu.js";
@@ -9,7 +9,7 @@ import { default as YYt } from "./avatar.js";
9
9
  import dx from "./badge.js";
10
10
  import { default as JYt } from "./breadcrumb.js";
11
11
  import { default as QYt } from "./breadcrumb-item.js";
12
- import { C as $n, B as Il, a as Cc } from "../chunks/button.DDem_XZq.js";
12
+ import { C as $n, B as Il, a as Cc } from "../chunks/button.zWaIO1sl.js";
13
13
  import $4 from "./button-group.js";
14
14
  import nm from "./card.js";
15
15
  import jh from "./checkbox.js";
@@ -18,10 +18,10 @@ import eF from "./copy-button.js";
18
18
  import AZ from "./date-calendar.js";
19
19
  import px from "./details.js";
20
20
  import { default as tXt } from "./diff.js";
21
- import { C as Ia, D as Sf, O as tF, a as OZ, H as DZ, z as IZ, o as MZ } from "../chunks/dialog.B_v8598F.js";
21
+ import { C as Ia, D as Sf, O as tF, a as OZ, H as DZ, z as IZ, o as MZ } from "../chunks/dialog.BaHYOyYO.js";
22
22
  import Hs from "./divider.js";
23
- import { r as PZ, a as iF, b as NZ, c as LZ } from "../chunks/document-viewer.BT1kp8Ig.js";
24
- import { C as nXt } from "../chunks/document-viewer.BT1kp8Ig.js";
23
+ import { r as PZ, a as iF, b as NZ, c as LZ } from "../chunks/document-viewer.B89YB5oo.js";
24
+ import { C as nXt } from "../chunks/document-viewer.B89YB5oo.js";
25
25
  import { d as RZ, C as BZ } from "../chunks/dot-pagination.BqGFeFXK.js";
26
26
  import { default as oXt } from "./dot-status.js";
27
27
  import { default as sXt } from "./drawer.js";
@@ -53,7 +53,7 @@ import z4 from "./menu-label.js";
53
53
  import JZ from "./menu-section.js";
54
54
  import ZZ from "./mutation-observer.js";
55
55
  import { C as Zo, a as QZ } from "../chunks/option.Bvyag0r1.js";
56
- import { C as eQ } from "../chunks/pagination.TxcRv9BL.js";
56
+ import { C as eQ } from "../chunks/pagination.CwKlKOek.js";
57
57
  import ud from "./popup.js";
58
58
  import tQ from "./progress-bar.js";
59
59
  import { default as xXt } from "./progress-ring.js";
@@ -75,7 +75,7 @@ import { default as PXt } from "./step.js";
75
75
  import { default as LXt } from "./stepper.js";
76
76
  import ab from "./switch.js";
77
77
  import UC from "./tab.js";
78
- import { C as qC, T as oF, a as aF, b as sF, g as DI } from "../chunks/tab-group.BdWDbwBy.js";
78
+ import { C as qC, T as oF, a as aF, b as sF, g as DI } from "../chunks/tab-group.C_n0GEc_.js";
79
79
  import H4 from "./tab-panel.js";
80
80
  import { default as BXt } from "./tag.js";
81
81
  import V4 from "./textarea.js";
@@ -115,7 +115,7 @@ import { d as Ql } from "../chunks/debounce.DaHuiSGU.js";
115
115
  import { t as RS, c as FI, d as xQ, i as Wk, G as qg, j as hp, h as kQ, s as zI, T as q4, k as wi, l as gF, u as _Q, f as Gk, m as CQ, F as by, M as Wb, n as SQ, o as mF, q as jI } from "../chunks/string.BhJ0Zogu.js";
116
116
  import { b as PJt, e as NJt, g as LJt, p as RJt, z as BJt, y as $Jt, a as FJt, x as zJt, v as jJt, r as HJt, w as VJt } from "../chunks/string.BhJ0Zogu.js";
117
117
  import { c as pi } from "../chunks/repeat.CFjcER6_.js";
118
- import { a as Ny, F as Ly, i as W4, b as HI, c as VI, d as TQ, e as fF, f as vF, g as G4, h as Kk, C as EQ, j as UI, k as qI, l as WI, m as GI, n as KI, o as YI, O as XI, D as BS, p as AQ, q as JI, u as Yk } from "../chunks/asset-link-format.BSo7khRt.js";
118
+ import { a as Ny, F as Ly, i as W4, b as HI, c as VI, d as TQ, e as fF, f as vF, g as G4, h as Kk, C as EQ, j as UI, k as qI, l as WI, m as GI, n as KI, o as YI, O as XI, D as BS, p as AQ, q as JI, u as Yk } from "../chunks/asset-link-format.BATKDRgD.js";
119
119
  import { H as WC } from "../chunks/slot.j5oheLJC.js";
120
120
  import { a as qJt, g as WJt } from "../chunks/slot.j5oheLJC.js";
121
121
  import { c as Pr, d as OQ, H as Ii, e as Sa, f as gs, a as DQ, b as er } from "../chunks/resizable-component.styles.CAfXABBc.js";
@@ -128,7 +128,7 @@ import { j as QJt, f as eZt, e as tZt, i as iZt, a as nZt, h as rZt, m as oZt, d
128
128
  import bF from "./bicolor-picker.js";
129
129
  import wF from "./border-input-group.js";
130
130
  import { C as cZt } from "../chunks/color-swatch.DpzAGKQx.js";
131
- import { C as KC, a as xF } from "../chunks/confirm-popover.Cx6BUoTL.js";
131
+ import { C as KC, a as xF } from "../chunks/confirm-popover.hHcCIzpX.js";
132
132
  import PQ from "./corner-position-input-group.js";
133
133
  import NQ from "./cropper.js";
134
134
  import { h as ai, D as kF, e as i8, C as Vs, M as sb, T as YC, f as _F } from "../chunks/endpoints.CwgTrs4A.js";
@@ -141,9 +141,9 @@ import { g as SF, F as jQ } from "../chunks/form.CP9KLGjF.js";
141
141
  import { c as fZt, f as vZt, v as yZt, a as bZt } from "../chunks/form.CP9KLGjF.js";
142
142
  import { d as zS, c as o8, e as HQ, i as a8, h as VQ, p as UQ, t as qQ } from "../chunks/date.iWq_pkIk.js";
143
143
  import { b as xZt, f as kZt, g as _Zt, a as CZt, n as SZt } from "../chunks/date.iWq_pkIk.js";
144
- import { F as TF, a as WQ, b as JC, H as GQ, c as l0, d as KQ, o as _u } from "../chunks/color-swatch-group.C_PwK2oY.js";
145
- import { C as EZt, e as AZt, f as OZt } from "../chunks/color-swatch-group.C_PwK2oY.js";
146
- import { F as Wd, C as K4, s as ZC, a as jS } from "../chunks/folder-select.B9qqU1CQ.js";
144
+ import { F as TF, a as WQ, b as JC, H as GQ, c as l0, d as KQ, o as _u } from "../chunks/color-swatch-group.CQlgq_I5.js";
145
+ import { C as EZt, e as AZt, f as OZt } from "../chunks/color-swatch-group.CQlgq_I5.js";
146
+ import { F as Wd, C as K4, s as ZC, a as jS } from "../chunks/folder-select.C6Sv4jtu.js";
147
147
  import { b as QC, a as bw, c as YQ, r as Ue, j as _e, w as XQ, R as JQ } from "../chunks/jsx-runtime.CTpPVMxj.js";
148
148
  import { j as HS } from "../chunks/index.CrhRU5m8.js";
149
149
  import { i as Y4, T as VS, t as ZQ } from "../chunks/transform.BuqENXeT.js";
@@ -205,7 +205,7 @@ import { r as jF } from "../chunks/query-async.CTgXGyQ5.js";
205
205
  import { S as Pee } from "../chunks/sortable.esm.oSzf6C5Q.js";
206
206
  import { a as bQt, g as wQt } from "../chunks/active-elements.jTVWtBDp.js";
207
207
  import { f as kQt } from "../chunks/focus-when-visible.jWSw9ks0.js";
208
- import { g as CQt } from "../chunks/modal.jdGhujoh.js";
208
+ import { g as CQt } from "../chunks/modal.Ct0bJBSe.js";
209
209
  import { C as TQt } from "../chunks/calendar-grid.BWjcZL5W.js";
210
210
  import { c as AQt, f as OQt, e as DQt, b as IQt, g as MQt, d as PQt, i as NQt, r as LQt, a as RQt } from "../chunks/image.Y5c_hFx8.js";
211
211
  import { b as $Qt, e as FQt } from "../chunks/waveform.1U9U_0rd.js";
@@ -97942,8 +97942,8 @@ const d8t = {
97942
97942
  "data-grid-rows-desktop": 2,
97943
97943
  "data-grid-rows-mobile": 2,
97944
97944
  "default-folders": "",
97945
- "default-sort-order": "",
97946
- "default-view": "",
97945
+ "default-sort-order": "OR4ND000000063460",
97946
+ "default-view": "DamView_M_Grid_Unlabeled",
97947
97947
  "deploy-stacks": !0,
97948
97948
  "enable-asset-actions": !0,
97949
97949
  "expanded-folders": "",
@@ -98587,6 +98587,9 @@ const w8t = (i) => {
98587
98587
  label: i.term("defaultView"),
98588
98588
  name: "default-view",
98589
98589
  options: [],
98590
+ selectConfigs: {
98591
+ autoFallbackFirstOption: !0
98592
+ },
98590
98593
  tab: "appearance",
98591
98594
  type: "attribute"
98592
98595
  },
@@ -98617,6 +98620,9 @@ const w8t = (i) => {
98617
98620
  label: i.term("defaultSortOrder"),
98618
98621
  name: "default-sort-order",
98619
98622
  options: [],
98623
+ selectConfigs: {
98624
+ autoFallbackFirstOption: !0
98625
+ },
98620
98626
  tab: "appearance",
98621
98627
  type: "attribute"
98622
98628
  },
@@ -122447,7 +122453,7 @@ class XMt {
122447
122453
  let m = h.target.value;
122448
122454
  Array.isArray(m) ? m = m.join(" ") : m = String(m), await o(m);
122449
122455
  }, d = l.selectConfigs?.fullWidthPopup ? t?.value : void 0, u = l.tableSelectConfigs?.columns ?? [];
122450
- return l.api ? I`<cx-dynamic-select auto-size-padding=${u.length > 0 ? 100 : 10} class="config-form__select" data-label=${l.label ?? ""} hoist label=${l.inputConfigs?.label ?? ""} max-options-visible="0" placement=${Vi(l.selectConfigs?.placement)} value=${n ?? ""} .api=${l.api} .columns=${u} .syncElement=${Vi(d)} ?clearable=${l.clearable ?? !0} ?disabled=${r} ?free-width=${u.length > 0} ?multiple=${l.multiple ?? !1} ?required=${l.required ?? !1} ?use-search-term=${l.useSearchTerm ?? !1} @cx-change=${c}></cx-dynamic-select>` : I`<cx-select class="config-form__select" value=${n ?? ""} hoist label=${l.inputConfigs?.label ?? ""} ?clearable=${l.clearable ?? !0} ?disabled=${r} placement=${Vi(l.selectConfigs?.placement)} .syncElement=${Vi(d)} @cx-change=${c}>${pi(
122456
+ return l.api ? I`<cx-dynamic-select auto-size-padding=${u.length > 0 ? 100 : 10} class="config-form__select" data-label=${l.label ?? ""} hoist label=${l.inputConfigs?.label ?? ""} max-options-visible="0" placement=${Vi(l.selectConfigs?.placement)} value=${n ?? ""} .api=${l.api} .columns=${u} .syncElement=${Vi(d)} ?auto-fallback-first-option=${l.selectConfigs?.autoFallbackFirstOption ?? !1} ?clearable=${l.clearable ?? !0} ?disabled=${r} ?free-width=${u.length > 0} ?multiple=${l.multiple ?? !1} ?required=${l.required ?? !1} ?use-search-term=${l.useSearchTerm ?? !1} @cx-change=${c}></cx-dynamic-select>` : I`<cx-select class="config-form__select" value=${n ?? ""} hoist label=${l.inputConfigs?.label ?? ""} ?clearable=${l.clearable ?? !0} ?disabled=${r} placement=${Vi(l.selectConfigs?.placement)} .syncElement=${Vi(d)} @cx-change=${c}>${pi(
122451
122457
  l.options ?? [],
122452
122458
  (h) => h.value,
122453
122459
  (h) => I`<cx-option value=${h.value} show-check check-placement=${QZ.Right}>${h.name}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "2.170.0",
4
+ "version": "2.171.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {
@@ -209,6 +209,12 @@ export default class CxDynamicSelect extends CortexElement {
209
209
  */
210
210
  noFlip: boolean;
211
211
  customChangeEvent: string;
212
+ /**
213
+ * When set to true, after options are fetched, the select falls back to the first option's value
214
+ * when the current `value` does not match any fetched option (including when no `value` was provided).
215
+ * Has no effect when `multiple` is enabled.
216
+ */
217
+ autoFallbackFirstOption: boolean;
212
218
  options: Option[];
213
219
  start: number;
214
220
  searchTerm: string;
@@ -228,6 +234,7 @@ export default class CxDynamicSelect extends CortexElement {
228
234
  private tableFilterCallback;
229
235
  private getCellValue;
230
236
  private getColWidth;
237
+ private getFallbackValue;
231
238
  private handleInputChange;
232
239
  private handleLoadMore;
233
240
  private handleCustomChange;
@@ -59,6 +59,20 @@ export default class CxFolderSelect extends CortexElement {
59
59
  private handleSearchTermInputChange;
60
60
  private handleSearchTermSelectChange;
61
61
  private handleTreeLoadingChange;
62
+ /**
63
+ * Lazy-loaded tree children can grow the popup's content well past its
64
+ * original height. cx-popup only recomputes flip/placement on scroll,
65
+ * resize, or viewport changes (Floating UI's autoUpdate) — not on
66
+ * internal content mutations — so without this the popup can stay
67
+ * anchored below the trigger even after it no longer fits there.
68
+ *
69
+ * Clearing --auto-size-available-height/-width first matters as much as
70
+ * the reposition() call itself: cx-select's own auto-size CSS clamps the
71
+ * listbox to the *previous* available space, so flip's overflow check
72
+ * still measures the clamped (small) height and never decides to flip
73
+ * (see the same clear in cx-select's filterOptionsByInput()).
74
+ */
75
+ private handleTreeChildrenLoaded;
62
76
  private handleSelectClear;
63
77
  /**
64
78
  * cx-folder-select-tree owns `currentRootIDsSet` (the real source of
@@ -152,6 +152,7 @@ export default class StyleController {
152
152
  };
153
153
  required?: boolean;
154
154
  selectConfigs?: {
155
+ autoFallbackFirstOption?: boolean;
155
156
  fullWidthPopup?: boolean;
156
157
  placement?: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end" | "center";
157
158
  };
@@ -175,6 +175,11 @@ export type PropertyConfig<T = Record<string, any>> = Omit<TraitProperties, 'opt
175
175
  };
176
176
  required?: boolean;
177
177
  selectConfigs?: {
178
+ /**
179
+ * When true (dynamic select only), falls back to the first fetched option's value
180
+ * when the current value does not match any fetched option (or when no value is set).
181
+ */
182
+ autoFallbackFirstOption?: boolean;
178
183
  fullWidthPopup?: boolean;
179
184
  placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end' | 'center';
180
185
  };
@@ -17,6 +17,13 @@ export default class Modal {
17
17
  activateExternal(): void;
18
18
  /** Deactivates external modal behavior and re-enables focus trapping. */
19
19
  deactivateExternal(): void;
20
+ /**
21
+ * Focus counts as inside if either tree says so. `:focus-within` follows the
22
+ * render tree and covers content slotted in from elsewhere, but stops at the
23
+ * top layer (e.g. a hoisted listbox in a popover); the active element chain
24
+ * follows the DOM tree and covers that.
25
+ */
26
+ private hasFocusInside;
20
27
  private checkFocus;
21
28
  private handleFocusIn;
22
29
  private possiblyHasTabbableChildren;
@@ -5977,6 +5977,10 @@
5977
5977
  *
5978
5978
  */
5979
5979
  customChangeEvent?: string;
5980
+ /**
5981
+ * When set to true, after options are fetched, the select falls back to the first option's value when the current `value` does not match any fetched option (including when no `value` was provided). Has no effect when `multiple` is enabled.
5982
+ */
5983
+ autoFallbackFirstOption?: boolean;
5980
5984
  /**
5981
5985
  * Make localization attributes reactive eslint-disable-next-line lit/no-native-attributes
5982
5986
  */
package/library/utils.js CHANGED
@@ -15,7 +15,7 @@ import { f as k } from "./chunks/form.CP9KLGjF.js";
15
15
  import { F as Ue, c as _e, g as Pe, v as Xe, a as He } from "./chunks/form.CP9KLGjF.js";
16
16
  import { L as Be, r as $e } from "./chunks/i18n.DbXTTLXx.js";
17
17
  import { c as ze, q as qe } from "./chunks/math.DuKzLacZ.js";
18
- import { g as Ze } from "./chunks/modal.jdGhujoh.js";
18
+ import { g as Ze } from "./chunks/modal.Ct0bJBSe.js";
19
19
  import { g as Je, l as Ke, s as tr, u as er } from "./chunks/scroll.xtO5yojm.js";
20
20
  import { k as y } from "./chunks/dom.C5aVLhKS.js";
21
21
  import { c as ar, d as sr, h as or, m as nr, a as ir, g as lr, j as cr, b as ur, f as mr, i as fr, e as hr, l as gr, s as dr } from "./chunks/dom.C5aVLhKS.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "2.170.0",
4
+ "version": "2.171.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {