@emuanalytics/flow-rdf-ui 4.0.3 → 4.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1776,6 +1776,32 @@ function waitForEvent(el, eventName) {
1776
1776
  });
1777
1777
  }
1778
1778
 
1779
+ function watch(propertyName, options) {
1780
+ const resolvedOptions = {
1781
+ waitUntilFirstUpdate: false,
1782
+ ...options
1783
+ };
1784
+ return (proto, decoratedFnName) => {
1785
+ const { update } = proto;
1786
+ const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];
1787
+ proto.update = function(changedProps) {
1788
+ watchedProperties.forEach((property) => {
1789
+ const key = property;
1790
+ if (changedProps.has(key)) {
1791
+ const oldValue = changedProps.get(key);
1792
+ const newValue = this[key];
1793
+ if (oldValue !== newValue) {
1794
+ if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
1795
+ this[decoratedFnName](oldValue, newValue);
1796
+ }
1797
+ }
1798
+ }
1799
+ });
1800
+ update.call(this, changedProps);
1801
+ };
1802
+ };
1803
+ }
1804
+
1779
1805
  var __defProp$Z = Object.defineProperty;
1780
1806
  var __getOwnPropDesc$Z = Object.getOwnPropertyDescriptor;
1781
1807
  var __decorateClass$Z = (decorators, target, key, kind) => {
@@ -1814,6 +1840,23 @@ __decorateClass$Z([
1814
1840
  __decorateClass$Z([
1815
1841
  property()
1816
1842
  ], FlowRdfElement.prototype, "lang", 2);
1843
+ const _FlowRdfFormControl = class _FlowRdfFormControl extends FlowRdfElement {
1844
+ handleClassChange() {
1845
+ this.classList.add(_FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
1846
+ }
1847
+ connectedCallback() {
1848
+ super.connectedCallback();
1849
+ this.classList.add(_FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
1850
+ }
1851
+ };
1852
+ _FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS = "flow-ui-form-control";
1853
+ __decorateClass$Z([
1854
+ property({ reflect: true })
1855
+ ], _FlowRdfFormControl.prototype, "class", 2);
1856
+ __decorateClass$Z([
1857
+ watch("class")
1858
+ ], _FlowRdfFormControl.prototype, "handleClassChange", 1);
1859
+ let FlowRdfFormControl = _FlowRdfFormControl;
1817
1860
 
1818
1861
  class HasSlotController {
1819
1862
  constructor(host, ...slotNames) {
@@ -1873,32 +1916,6 @@ function getTextContent(slot) {
1873
1916
  return text;
1874
1917
  }
1875
1918
 
1876
- function watch(propertyName, options) {
1877
- const resolvedOptions = {
1878
- waitUntilFirstUpdate: false,
1879
- ...options
1880
- };
1881
- return (proto, decoratedFnName) => {
1882
- const { update } = proto;
1883
- const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];
1884
- proto.update = function(changedProps) {
1885
- watchedProperties.forEach((property) => {
1886
- const key = property;
1887
- if (changedProps.has(key)) {
1888
- const oldValue = changedProps.get(key);
1889
- const newValue = this[key];
1890
- if (oldValue !== newValue) {
1891
- if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
1892
- this[decoratedFnName](oldValue, newValue);
1893
- }
1894
- }
1895
- }
1896
- });
1897
- update.call(this, changedProps);
1898
- };
1899
- };
1900
- }
1901
-
1902
1919
  const defaultAnimationRegistry = /* @__PURE__ */ new Map();
1903
1920
  const customAnimationRegistry = /* @__PURE__ */ new WeakMap();
1904
1921
  function ensureAnimation(animation) {
@@ -5505,7 +5522,7 @@ var __decorateClass$N = (decorators, target, key, kind) => {
5505
5522
  __defProp$N(target, key, result);
5506
5523
  return result;
5507
5524
  };
5508
- let FlowUiButton = class extends FlowRdfElement {
5525
+ let FlowUiButton = class extends FlowRdfFormControl {
5509
5526
  constructor() {
5510
5527
  super(...arguments);
5511
5528
  this.formControlController = new FormControlController(this, {
@@ -7340,6 +7357,7 @@ const styles$K = css`
7340
7357
  cursor: pointer;
7341
7358
  }
7342
7359
 
7360
+ /* Sizes */
7343
7361
  .checkbox--small {
7344
7362
  --toggle-size: var(--flow-ui-toggle-size-small);
7345
7363
  font-size: var(--flow-ui-input-font-size-small);
@@ -7355,6 +7373,7 @@ const styles$K = css`
7355
7373
  font-size: var(--flow-ui-input-font-size-large);
7356
7374
  }
7357
7375
 
7376
+ /* Color variants */
7358
7377
  .checkbox--primary {
7359
7378
  --checkbox-color: var(--flow-ui-color-primary-500);
7360
7379
  --checkbox-hover-color: var(--flow-ui-color-primary-400);
@@ -7385,6 +7404,23 @@ const styles$K = css`
7385
7404
  --checkbox-hover-color: var(--flow-ui-color-neutral-400);
7386
7405
  }
7387
7406
 
7407
+ /* Alternative 'full-width' style */
7408
+ :host([full-width]) {
7409
+ display: block;
7410
+ margin-top: var(--flow-ui-spacing-small);
7411
+ }
7412
+
7413
+ .checkbox--full-width {
7414
+ display: flex;
7415
+ flex-direction: row-reverse;
7416
+ align-items: center;
7417
+ }
7418
+
7419
+ .checkbox--full-width .checkbox__label {
7420
+ flex: 1;
7421
+ margin: 0;
7422
+ }
7423
+
7388
7424
  .checkbox__control {
7389
7425
  flex: 0 0 auto;
7390
7426
  position: relative;
@@ -7483,7 +7519,7 @@ var __decorateClass$I = (decorators, target, key, kind) => {
7483
7519
  __defProp$I(target, key, result);
7484
7520
  return result;
7485
7521
  };
7486
- let FlowUiCheckbox = class extends FlowRdfElement {
7522
+ let FlowUiCheckbox = class extends FlowRdfFormControl {
7487
7523
  constructor() {
7488
7524
  super(...arguments);
7489
7525
  this.hasSlotController = new HasSlotController(this, "[default]");
@@ -7502,6 +7538,7 @@ let FlowUiCheckbox = class extends FlowRdfElement {
7502
7538
  this.defaultChecked = false;
7503
7539
  this.form = "";
7504
7540
  this.required = false;
7541
+ this.fullWidth = false;
7505
7542
  }
7506
7543
  connectedCallback() {
7507
7544
  super.connectedCallback();
@@ -7509,6 +7546,7 @@ let FlowUiCheckbox = class extends FlowRdfElement {
7509
7546
  this.indeterminate = boolean(this.indeterminate, true);
7510
7547
  this.disabled = boolean(this.disabled, true);
7511
7548
  this.required = boolean(this.required, true);
7549
+ this.fullWidth = boolean(this.fullWidth, true);
7512
7550
  }
7513
7551
  /** Gets the validity state object */
7514
7552
  get validity() {
@@ -7599,7 +7637,8 @@ let FlowUiCheckbox = class extends FlowRdfElement {
7599
7637
  "checkbox--success": this.variant === "success",
7600
7638
  "checkbox--warning": this.variant === "warning",
7601
7639
  "checkbox--danger": this.variant === "danger",
7602
- "checkbox--neutral": this.variant === "neutral"
7640
+ "checkbox--neutral": this.variant === "neutral",
7641
+ "checkbox--full-width": this.fullWidth
7603
7642
  })}
7604
7643
  >
7605
7644
  <input
@@ -7691,6 +7730,9 @@ __decorateClass$I([
7691
7730
  __decorateClass$I([
7692
7731
  property()
7693
7732
  ], FlowUiCheckbox.prototype, "variant", 2);
7733
+ __decorateClass$I([
7734
+ property({ type: Boolean, reflect: true, attribute: "full-width" })
7735
+ ], FlowUiCheckbox.prototype, "fullWidth", 2);
7694
7736
  __decorateClass$I([
7695
7737
  watch("disabled", { waitUntilFirstUpdate: true })
7696
7738
  ], FlowUiCheckbox.prototype, "handleDisabledChange", 1);
@@ -7854,8 +7896,12 @@ class FlowUiColorMapper extends FlowRdfElement {
7854
7896
  }
7855
7897
  connectedCallback() {
7856
7898
  super.connectedCallback();
7899
+ this.classList.add(FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
7857
7900
  this.defaultColorStop = boolean(this.defaultColorStop, true);
7858
7901
  }
7902
+ handleClassChange() {
7903
+ this.classList.add(FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
7904
+ }
7859
7905
  handleFixedPickerClick(event) {
7860
7906
  event.stopPropagation();
7861
7907
  }
@@ -8037,6 +8083,9 @@ __decorateClass$H([
8037
8083
  __decorateClass$H([
8038
8084
  query(".dialog-info")
8039
8085
  ], FlowUiColorMapper.prototype, "infoDialog", 2);
8086
+ __decorateClass$H([
8087
+ property({ reflect: true })
8088
+ ], FlowUiColorMapper.prototype, "class", 2);
8040
8089
  __decorateClass$H([
8041
8090
  property({ type: Object })
8042
8091
  ], FlowUiColorMapper.prototype, "options", 2);
@@ -8052,6 +8101,9 @@ __decorateClass$H([
8052
8101
  __decorateClass$H([
8053
8102
  property()
8054
8103
  ], FlowUiColorMapper.prototype, "swatches", 2);
8104
+ __decorateClass$H([
8105
+ watch("class")
8106
+ ], FlowUiColorMapper.prototype, "handleClassChange", 1);
8055
8107
  __decorateClass$H([
8056
8108
  throttle(100)
8057
8109
  ], FlowUiColorMapper.prototype, "emitChange", 1);
@@ -8933,7 +8985,7 @@ const d3Format = formatLocale({
8933
8985
  currency: ["\xA3", ""]
8934
8986
  }).format;
8935
8987
  const DEFAULT_FORMATTER$1 = (val) => isNil(val) ? "--" : val.toString();
8936
- class FlowUiInput extends FlowRdfElement {
8988
+ class FlowUiInput extends FlowRdfFormControl {
8937
8989
  constructor() {
8938
8990
  super(...arguments);
8939
8991
  this.formControlController = new FormControlController(this, {
@@ -9816,7 +9868,7 @@ var __decorateClass$E = (decorators, target, key, kind) => {
9816
9868
  return result;
9817
9869
  };
9818
9870
  const hasEyeDropper = typeof window !== "undefined" && "EyeDropper" in window;
9819
- class FlowUiColorPicker extends FlowRdfElement {
9871
+ class FlowUiColorPicker extends FlowRdfFormControl {
9820
9872
  constructor() {
9821
9873
  super(...arguments);
9822
9874
  this.formControlController = new FormControlController(this);
@@ -10816,7 +10868,7 @@ var __decorateClass$D = (decorators, target, key, kind) => {
10816
10868
  __defProp$D(target, key, result);
10817
10869
  return result;
10818
10870
  };
10819
- class FlowUiColorStop extends FlowRdfElement {
10871
+ class FlowUiColorStop extends FlowRdfFormControl {
10820
10872
  constructor() {
10821
10873
  super(...arguments);
10822
10874
  // private readonly localize = new LocalizeController(this);
@@ -11563,7 +11615,7 @@ const popupOptions = {
11563
11615
  medium: { distance: -3, skidding: -9 },
11564
11616
  large: { distance: -5, skidding: -15 }
11565
11617
  };
11566
- class FlowUiDateTimePicker extends FlowRdfElement {
11618
+ class FlowUiDateTimePicker extends FlowRdfFormControl {
11567
11619
  constructor() {
11568
11620
  super(...arguments);
11569
11621
  this.formControlController = new FormControlController(this, {
@@ -15616,7 +15668,7 @@ const styles$n = css`
15616
15668
  /* Footer */
15617
15669
  .query-builder__footer {
15618
15670
  text-align: right;
15619
- padding-block: var(--footer-spacing);
15671
+ padding-top: var(--footer-spacing);
15620
15672
  }
15621
15673
 
15622
15674
  .query-builder__footer ::slotted(flow-ui-button:not(:first-of-type)) {
@@ -15643,7 +15695,7 @@ const _FlowUiQueryBuilder = class _FlowUiQueryBuilder extends FlowRdfElement {
15643
15695
  constructor() {
15644
15696
  super(...arguments);
15645
15697
  this._value = { condition: "and", rules: [] };
15646
- this.hasSlotController = new HasSlotController(this, "help-text", "label");
15698
+ this.hasSlotController = new HasSlotController(this, "help-text", "label", "footer");
15647
15699
  this.value = { condition: "and", rules: [] };
15648
15700
  this.config = { fields: {} };
15649
15701
  this.size = "medium";
@@ -15670,8 +15722,12 @@ const _FlowUiQueryBuilder = class _FlowUiQueryBuilder extends FlowRdfElement {
15670
15722
  }
15671
15723
  connectedCallback() {
15672
15724
  super.connectedCallback();
15725
+ this.classList.add(FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
15673
15726
  this.disabled = boolean(this.disabled, true);
15674
15727
  }
15728
+ handleClassChange() {
15729
+ this.classList.add(FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
15730
+ }
15675
15731
  handleValueChange() {
15676
15732
  this._value = this.subQueryBuilder ? this.value : cloneDeep(this.value);
15677
15733
  if (isNil(this._value)) {
@@ -16001,9 +16057,11 @@ const _FlowUiQueryBuilder = class _FlowUiQueryBuilder extends FlowRdfElement {
16001
16057
  ${this.helpText}
16002
16058
  </slot>
16003
16059
 
16004
- <footer part="footer" class="query-builder__footer">
16005
- <slot name="footer"></slot>
16006
- </footer>
16060
+ ${this.hasSlotController.test("footer") ? html`
16061
+ <footer part="footer" class="query-builder__footer">
16062
+ <slot name="footer"></slot>
16063
+ </footer>
16064
+ ` : nothing}
16007
16065
  </div>
16008
16066
  </div>
16009
16067
  `;
@@ -16014,6 +16072,9 @@ _FlowUiQueryBuilder.fieldDefinitions = /* @__PURE__ */ new Map();
16014
16072
  __decorateClass$m([
16015
16073
  state()
16016
16074
  ], _FlowUiQueryBuilder.prototype, "_value", 2);
16075
+ __decorateClass$m([
16076
+ property({ reflect: true })
16077
+ ], _FlowUiQueryBuilder.prototype, "class", 2);
16017
16078
  __decorateClass$m([
16018
16079
  property({ attribute: false })
16019
16080
  ], _FlowUiQueryBuilder.prototype, "value", 2);
@@ -16038,6 +16099,9 @@ __decorateClass$m([
16038
16099
  __decorateClass$m([
16039
16100
  property({ type: Boolean, attribute: "sub-query-builder" })
16040
16101
  ], _FlowUiQueryBuilder.prototype, "subQueryBuilder", 2);
16102
+ __decorateClass$m([
16103
+ watch("class")
16104
+ ], _FlowUiQueryBuilder.prototype, "handleClassChange", 1);
16041
16105
  __decorateClass$m([
16042
16106
  watch("value")
16043
16107
  ], _FlowUiQueryBuilder.prototype, "handleValueChange", 1);
@@ -16075,6 +16139,14 @@ const styles$m = css`
16075
16139
  display: block;
16076
16140
  }
16077
16141
 
16142
+ .form-control-input {
16143
+ line-height: 1;
16144
+ }
16145
+
16146
+ ::slotted(flow-ui-radio:not(:first-child)) {
16147
+ margin-top: var(--flow-ui-form-spacing, var(--flow-ui-form-spacing-dense));
16148
+ }
16149
+
16078
16150
  .form-control {
16079
16151
  border: none;
16080
16152
  padding: 0;
@@ -16114,7 +16186,7 @@ var __decorateClass$l = (decorators, target, key, kind) => {
16114
16186
  __defProp$l(target, key, result);
16115
16187
  return result;
16116
16188
  };
16117
- class FlowUiRadioGroup extends FlowRdfElement {
16189
+ class FlowUiRadioGroup extends FlowRdfFormControl {
16118
16190
  constructor() {
16119
16191
  super(...arguments);
16120
16192
  this.formControlController = new FormControlController(this);
@@ -16130,7 +16202,7 @@ class FlowUiRadioGroup extends FlowRdfElement {
16130
16202
  this.variant = "secondary";
16131
16203
  this.form = "";
16132
16204
  this.required = false;
16133
- this.vertical = false;
16205
+ this.fullWidth = false;
16134
16206
  }
16135
16207
  /** Gets the validity state object */
16136
16208
  get validity() {
@@ -16157,7 +16229,7 @@ class FlowUiRadioGroup extends FlowRdfElement {
16157
16229
  connectedCallback() {
16158
16230
  super.connectedCallback();
16159
16231
  this.required = boolean(this.required, true);
16160
- this.vertical = boolean(this.vertical, true);
16232
+ this.fullWidth = boolean(this.fullWidth, true);
16161
16233
  this.defaultValue = this.value;
16162
16234
  }
16163
16235
  firstUpdated() {
@@ -16228,6 +16300,7 @@ class FlowUiRadioGroup extends FlowRdfElement {
16228
16300
  radio.checked = radio.value === this.value;
16229
16301
  radio.size = this.size;
16230
16302
  radio.variant = this.variant;
16303
+ radio.fullWidth = this.fullWidth;
16231
16304
  });
16232
16305
  if (!radios.some((radio) => radio.checked)) {
16233
16306
  radios[0].tabIndex = 0;
@@ -16241,10 +16314,7 @@ class FlowUiRadioGroup extends FlowRdfElement {
16241
16314
  radios.forEach((radio) => radio.checked = radio.value === this.value);
16242
16315
  this.formControlController.setValidity(this.validity.valid);
16243
16316
  }
16244
- handleSizeChange() {
16245
- this.syncRadios();
16246
- }
16247
- handleVariantChange() {
16317
+ handleStyleChange() {
16248
16318
  this.syncRadios();
16249
16319
  }
16250
16320
  handleValueChange() {
@@ -16395,14 +16465,11 @@ __decorateClass$l([
16395
16465
  property({ type: Boolean, reflect: true })
16396
16466
  ], FlowUiRadioGroup.prototype, "required", 2);
16397
16467
  __decorateClass$l([
16398
- property({ type: Boolean, reflect: true })
16399
- ], FlowUiRadioGroup.prototype, "vertical", 2);
16468
+ property({ type: Boolean, reflect: true, attribute: "full-width" })
16469
+ ], FlowUiRadioGroup.prototype, "fullWidth", 2);
16400
16470
  __decorateClass$l([
16401
- watch("size", { waitUntilFirstUpdate: true })
16402
- ], FlowUiRadioGroup.prototype, "handleSizeChange", 1);
16403
- __decorateClass$l([
16404
- watch("variant", { waitUntilFirstUpdate: true })
16405
- ], FlowUiRadioGroup.prototype, "handleVariantChange", 1);
16471
+ watch(["size", "variant", "fullWidth"], { waitUntilFirstUpdate: true })
16472
+ ], FlowUiRadioGroup.prototype, "handleStyleChange", 1);
16406
16473
  __decorateClass$l([
16407
16474
  watch("value")
16408
16475
  ], FlowUiRadioGroup.prototype, "handleValueChange", 1);
@@ -16431,6 +16498,19 @@ const styles$l = css`
16431
16498
  cursor: pointer;
16432
16499
  }
16433
16500
 
16501
+ /* Alternative 'full-width' style */
16502
+ .radio--full-width {
16503
+ display: flex;
16504
+ flex-direction: row-reverse;
16505
+ align-items: center;
16506
+ }
16507
+
16508
+ .radio--full-width .radio__label {
16509
+ flex: 1;
16510
+ margin: 0;
16511
+ }
16512
+
16513
+ /* Variants */
16434
16514
  .radio--primary {
16435
16515
  --radio-color: var(--flow-ui-color-primary-500);
16436
16516
  --radio-hover-color: var(--flow-ui-color-primary-400);
@@ -16573,10 +16653,12 @@ class FlowUiRadio extends FlowRdfElement {
16573
16653
  this.size = "medium";
16574
16654
  this.variant = "secondary";
16575
16655
  this.disabled = false;
16656
+ this.fullWidth = false;
16576
16657
  }
16577
16658
  connectedCallback() {
16578
16659
  super.connectedCallback();
16579
16660
  this.disabled = boolean(this.disabled, true);
16661
+ this.fullWidth = boolean(this.fullWidth, true);
16580
16662
  this.handleBlur = this.handleBlur.bind(this);
16581
16663
  this.handleClick = this.handleClick.bind(this);
16582
16664
  this.handleFocus = this.handleFocus.bind(this);
@@ -16638,7 +16720,8 @@ class FlowUiRadio extends FlowRdfElement {
16638
16720
  "radio--success": this.variant === "success",
16639
16721
  "radio--warning": this.variant === "warning",
16640
16722
  "radio--danger": this.variant === "danger",
16641
- "radio--neutral": this.variant === "neutral"
16723
+ "radio--neutral": this.variant === "neutral",
16724
+ "radio--full-width": this.fullWidth
16642
16725
  })}
16643
16726
  >
16644
16727
  <span part="${`control${this.checked ? " control--checked" : ""}`}" class="radio__control">
@@ -16676,6 +16759,9 @@ __decorateClass$k([
16676
16759
  __decorateClass$k([
16677
16760
  property({ type: Boolean, reflect: true })
16678
16761
  ], FlowUiRadio.prototype, "disabled", 2);
16762
+ __decorateClass$k([
16763
+ property({ type: Boolean, reflect: true, attribute: "full-width" })
16764
+ ], FlowUiRadio.prototype, "fullWidth", 2);
16679
16765
  __decorateClass$k([
16680
16766
  watch("checked")
16681
16767
  ], FlowUiRadio.prototype, "handleCheckedChange", 1);
@@ -16922,7 +17008,7 @@ var __decorateClass$j = (decorators, target, key, kind) => {
16922
17008
  __defProp$j(target, key, result);
16923
17009
  return result;
16924
17010
  };
16925
- class FlowUiRange extends FlowRdfElement {
17011
+ class FlowUiRange extends FlowRdfFormControl {
16926
17012
  constructor() {
16927
17013
  super(...arguments);
16928
17014
  this.formControlController = new FormControlController(this);
@@ -18499,7 +18585,7 @@ var __decorateClass$g = (decorators, target, key, kind) => {
18499
18585
  __defProp$g(target, key, result);
18500
18586
  return result;
18501
18587
  };
18502
- class FlowUiSelect extends FlowRdfElement {
18588
+ class FlowUiSelect extends FlowRdfFormControl {
18503
18589
  constructor() {
18504
18590
  super(...arguments);
18505
18591
  this.formControlController = new FormControlController(this, {
@@ -20702,7 +20788,7 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
20702
20788
  __defProp$9(target, key, result);
20703
20789
  return result;
20704
20790
  };
20705
- class FlowUiSwitch extends FlowRdfElement {
20791
+ class FlowUiSwitch extends FlowRdfFormControl {
20706
20792
  constructor() {
20707
20793
  super(...arguments);
20708
20794
  this.formControlController = new FormControlController(this, {
@@ -22202,7 +22288,7 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
22202
22288
  __defProp$5(target, key, result);
22203
22289
  return result;
22204
22290
  };
22205
- class FlowUiTextarea extends FlowRdfElement {
22291
+ class FlowUiTextarea extends FlowRdfFormControl {
22206
22292
  constructor() {
22207
22293
  super(...arguments);
22208
22294
  this.formControlController = new FormControlController(this, {
@@ -23107,7 +23193,7 @@ var __decorateClass$3 = (decorators, target, key, kind) => {
23107
23193
  __defProp$3(target, key, result);
23108
23194
  return result;
23109
23195
  };
23110
- class FlowUiToolButtonGroup extends FlowRdfElement {
23196
+ class FlowUiToolButtonGroup extends FlowRdfFormControl {
23111
23197
  constructor() {
23112
23198
  super(...arguments);
23113
23199
  /** @internal */
@@ -24460,6 +24546,7 @@ class FlowUiTree extends FlowRdfElement {
24460
24546
  }
24461
24547
  async connectedCallback() {
24462
24548
  super.connectedCallback();
24549
+ this.classList.add(FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
24463
24550
  this.handleTreeChanged = this.handleTreeChanged.bind(this);
24464
24551
  this.handleFocusIn = this.handleFocusIn.bind(this);
24465
24552
  this.handleFocusOut = this.handleFocusOut.bind(this);
@@ -24479,6 +24566,9 @@ class FlowUiTree extends FlowRdfElement {
24479
24566
  this.removeEventListener("focusout", this.handleFocusOut);
24480
24567
  this.removeEventListener("flow-ui-lazy-change", this.handleSlotChange);
24481
24568
  }
24569
+ handleClassChange() {
24570
+ this.classList.add(FlowRdfFormControl.FLOW_UI_FORM_CONTROL_CLASS);
24571
+ }
24482
24572
  // Generates a clone of the expand icon element to use for each tree item
24483
24573
  getExpandButtonIcon(status) {
24484
24574
  const slot = status === "expand" ? this.expandedIconSlot : this.collapsedIconSlot;
@@ -24717,6 +24807,9 @@ __decorateClass([
24717
24807
  __decorateClass([
24718
24808
  query("slot[name=collapse-icon]")
24719
24809
  ], FlowUiTree.prototype, "collapsedIconSlot", 2);
24810
+ __decorateClass([
24811
+ property({ reflect: true })
24812
+ ], FlowUiTree.prototype, "class", 2);
24720
24813
  __decorateClass([
24721
24814
  property({
24722
24815
  converter: {
@@ -24731,6 +24824,9 @@ __decorateClass([
24731
24824
  __decorateClass([
24732
24825
  property({ reflect: true })
24733
24826
  ], FlowUiTree.prototype, "size", 2);
24827
+ __decorateClass([
24828
+ watch("class")
24829
+ ], FlowUiTree.prototype, "handleClassChange", 1);
24734
24830
  __decorateClass([
24735
24831
  watch("size", { waitUntilFirstUpdate: true })
24736
24832
  ], FlowUiTree.prototype, "handleSizeChange", 1);
@@ -24902,7 +24998,7 @@ async function registerComponents() {
24902
24998
  });
24903
24999
  }
24904
25000
 
24905
- const version = "4.0.3";
25001
+ const version = "4.0.5";
24906
25002
 
24907
25003
  const CONSOLE_HIGHLIGHT_STYLE = `
24908
25004
  padding: 2px 4px;