@public-ui/hydrate 2.2.11-rc.0 → 2.2.11-rc.2

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.js CHANGED
@@ -5335,11 +5335,9 @@ class KolButton {
5335
5335
  await ((_a = this.buttonWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
5336
5336
  }
5337
5337
  render() {
5338
- return (hAsync(Host, { key: '2cac05d30f6702e069cff37e7c5d98ec3051d029', class: "kol-button" }, hAsync(KolButtonWcTag, { key: '66045543c52d960eacd13fbafd78d0afc5a6aa38', ref: this.catchRef, class: {
5338
+ return (hAsync(Host, { key: '2cac05d30f6702e069cff37e7c5d98ec3051d029', class: "kol-button" }, hAsync(KolButtonWcTag, { key: 'af027f003e52c388d21a390e9c3757ef253c8cb8', ref: this.catchRef, class: {
5339
5339
  button: true,
5340
- [this._variant]: this._variant !== 'custom',
5341
- [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
5342
- }, _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: this._on, _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }, hAsync("slot", { key: '2af46572e2480c4b9ce5ec1cf9d57fb7e9ae898b', name: "expert", slot: "expert" }))));
5340
+ }, _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: this._on, _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }, hAsync("slot", { key: 'bb85820948d8ec3f2bcb3229d3ace056dacb9668', name: "expert", slot: "expert" }))));
5343
5341
  }
5344
5342
  static get delegatesFocus() { return true; }
5345
5343
  static get style() { return {
@@ -6438,6 +6436,8 @@ class KolCombobox {
6438
6436
  }, "data-index": index, tabIndex: -1, role: "option", "aria-selected": this.state._value === option ? 'true' : undefined, onClick: () => {
6439
6437
  this.selectOption(option);
6440
6438
  this.toggleListbox();
6439
+ this._isOpen = false;
6440
+ this._hasOpened = false;
6441
6441
  }, onMouseOver: () => {
6442
6442
  if (!this.blockSuggestionMouseOver) {
6443
6443
  this.focusOption(index);
@@ -6480,7 +6480,7 @@ class KolCombobox {
6480
6480
  }
6481
6481
  case 'Tab':
6482
6482
  if (this._isOpen) {
6483
- this._isOpen = !this._isOpen;
6483
+ this._isOpen = false;
6484
6484
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
6485
6485
  }
6486
6486
  break;
@@ -6488,13 +6488,21 @@ class KolCombobox {
6488
6488
  case 'Escape': {
6489
6489
  this._hasOpened = false;
6490
6490
  this._isOpen = false;
6491
- handleEvent(false);
6491
+ event.preventDefault();
6492
6492
  (_b = this.refInput) === null || _b === void 0 ? void 0 : _b.focus();
6493
6493
  break;
6494
6494
  }
6495
6495
  case 'NumpadEnter':
6496
6496
  case 'Enter': {
6497
- this.toggleListbox();
6497
+ if (this._isOpen && this._focusedOptionIndex >= 0) {
6498
+ this._filteredSuggestions && this.selectOption(this._filteredSuggestions[this._focusedOptionIndex]);
6499
+ this._isOpen = false;
6500
+ this._hasOpened = false;
6501
+ }
6502
+ else {
6503
+ this.toggleListbox();
6504
+ }
6505
+ event.preventDefault();
6498
6506
  break;
6499
6507
  }
6500
6508
  case 'Home': {
@@ -10813,11 +10821,9 @@ class KolLinkButton {
10813
10821
  await ((_a = this.linkWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
10814
10822
  }
10815
10823
  render() {
10816
- return (hAsync(Host, { key: '17537a98e3d3e082a833b0fd8970d8ed6d5121f0', class: "kol-link-button" }, hAsync(KolLinkWcTag, { key: '43c8c70e85b0bb2ef1db7b643ef0d7e5ee01023d', ref: this.catchRef, class: {
10824
+ return (hAsync(Host, { key: '17537a98e3d3e082a833b0fd8970d8ed6d5121f0', class: "kol-link-button" }, hAsync(KolLinkWcTag, { key: '12115da0c3ed106c7b2954296f5a2529e074897a', ref: this.catchRef, class: {
10817
10825
  button: true,
10818
- [this._variant]: this._variant !== 'custom',
10819
- [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
10820
- }, _accessKey: this._accessKey, _ariaCurrentValue: this._ariaCurrentValue, _ariaDescription: this._ariaDescription, _disabled: this._disabled, _download: this._download, _hideLabel: this._hideLabel, _href: this._href, _icons: this._icons, _label: this._label, _on: this._on, _role: "button", _shortKey: this._shortKey, _tabIndex: this._tabIndex, _target: this._target, _tooltipAlign: this._tooltipAlign }, hAsync("slot", { key: 'e151c7bb451e3a092885d7a41414084e9ffb58d3', name: "expert", slot: "expert" }))));
10826
+ }, _accessKey: this._accessKey, _ariaCurrentValue: this._ariaCurrentValue, _ariaDescription: this._ariaDescription, _customClass: this._customClass, _disabled: this._disabled, _download: this._download, _hideLabel: this._hideLabel, _href: this._href, _icons: this._icons, _label: this._label, _on: this._on, _role: "button", _shortKey: this._shortKey, _tabIndex: this._tabIndex, _target: this._target, _tooltipAlign: this._tooltipAlign, _variant: this._variant }, hAsync("slot", { key: '9fdb0b15c70fa8c22cfe4e5b28893c5d793a6d51', name: "expert", slot: "expert" }))));
10821
10827
  }
10822
10828
  static get delegatesFocus() { return true; }
10823
10829
  static get style() { return {
@@ -11009,6 +11015,7 @@ class KolLinkWc {
11009
11015
  this._ariaDescription = undefined;
11010
11016
  this._ariaExpanded = undefined;
11011
11017
  this._ariaOwns = undefined;
11018
+ this._customClass = undefined;
11012
11019
  this._disabled = false;
11013
11020
  this._download = undefined;
11014
11021
  this._hideLabel = false;
@@ -11021,6 +11028,7 @@ class KolLinkWc {
11021
11028
  this._tabIndex = undefined;
11022
11029
  this._target = undefined;
11023
11030
  this._tooltipAlign = 'right';
11031
+ this._variant = 'normal';
11024
11032
  this.state = {
11025
11033
  _ariaCurrentValue: 'page',
11026
11034
  _href: '',
@@ -11036,13 +11044,15 @@ class KolLinkWc {
11036
11044
  const { isExternal, tagAttrs } = this.getRenderValues();
11037
11045
  const hasExpertSlot = showExpertSlot(this.state._label);
11038
11046
  const hasAriaDescription = Boolean((_b = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.length);
11039
- return (hAsync(Host, { key: '5da2a89adb469aa00911016bf83da8bc811d6afb', class: "kol-link-wc" }, hAsync("a", Object.assign({ key: '5ba27442fb12021bcd40b2bbea3458ba90319ee7', ref: this.catchRef }, tagAttrs, { accessKey: this.state._accessKey, "aria-current": this.state._ariaCurrent, "aria-describedby": hasAriaDescription ? this.internalDescriptionById : undefined, "aria-disabled": this.state._disabled ? 'true' : undefined, "aria-expanded": typeof this.state._ariaExpanded === 'boolean' ? String(this.state._ariaExpanded) : undefined, "aria-owns": this.state._ariaOwns, "aria-label": this.state._hideLabel && typeof this.state._label === 'string'
11047
+ return (hAsync(Host, { key: '1d30bedcd820dec1c26c0eff106acc80bedb5cb3', class: "kol-link-wc" }, hAsync("a", Object.assign({ key: 'efc2b3393b67b4744cec4ea94b95014324d899f3', ref: this.catchRef }, tagAttrs, { accessKey: this.state._accessKey, "aria-current": this.state._ariaCurrent, "aria-describedby": hasAriaDescription ? this.internalDescriptionById : undefined, "aria-disabled": this.state._disabled ? 'true' : undefined, "aria-expanded": typeof this.state._ariaExpanded === 'boolean' ? String(this.state._ariaExpanded) : undefined, "aria-owns": this.state._ariaOwns, "aria-label": this.state._hideLabel && typeof this.state._label === 'string'
11040
11048
  ? `${this.state._label}${isExternal ? ` (${translate('kol-open-link-in-tab')})` : ''}`
11041
11049
  : undefined, class: {
11042
11050
  disabled: this.state._disabled === true,
11043
11051
  'external-link': isExternal,
11044
11052
  'hide-label': this.state._hideLabel === true,
11045
- } }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanWcTag, { key: 'cff45aabbf830b45a1606d21b310946fc4107c25', _badgeText: this.state._accessKey || this.state._shortKey, _icons: this.state._icons, _hideLabel: this.state._hideLabel, _label: hasExpertSlot ? '' : this.state._label || this.state._href }, hAsync("slot", { key: 'e1e4856db3aae514a7cfab6221171f64a9ad786e', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: '3baff63f0c231d434d7b7b00bd561ce9c4388c44', class: "external-link-icon", _label: this.state._hideLabel ? '' : translate('kol-open-link-in-tab'), _icons: 'codicon codicon-link-external', "aria-hidden": this.state._hideLabel }))), hAsync(KolTooltipWcTag, { key: 'e40f46350a2b28542eddc16bf75378cc66e5eb42', "aria-hidden": "true", hidden: hasExpertSlot || !this.state._hideLabel, _badgeText: this.state._accessKey || this.state._shortKey, _align: this.state._tooltipAlign, _label: this.state._label || this.state._href }), hasAriaDescription && (hAsync("span", { key: 'da48986516bb270a3077d5c98c5603e55f9a9f42', class: "visually-hidden", id: this.internalDescriptionById }, this.state._ariaDescription))));
11053
+ [this.state._variant]: this.state._variant !== 'custom',
11054
+ [this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
11055
+ } }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanWcTag, { key: '02c28b7d44741668ee5847e454769195810a0958', _badgeText: this.state._accessKey || this.state._shortKey, _icons: this.state._icons, _hideLabel: this.state._hideLabel, _label: hasExpertSlot ? '' : this.state._label || this.state._href }, hAsync("slot", { key: '14536938fdd95503bdfdc0bec1e56221a6e075f7', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: '6624f9d9590bedd38e696d322f988a7ab0d0a6e6', class: "external-link-icon", _label: this.state._hideLabel ? '' : translate('kol-open-link-in-tab'), _icons: 'codicon codicon-link-external', "aria-hidden": this.state._hideLabel }))), hAsync(KolTooltipWcTag, { key: 'c4aea7ed08c840b8352626122c7f5a2c44dbe01a', "aria-hidden": "true", hidden: hasExpertSlot || !this.state._hideLabel, _badgeText: this.state._accessKey || this.state._shortKey, _align: this.state._tooltipAlign, _label: this.state._label || this.state._href }), hasAriaDescription && (hAsync("span", { key: 'c2481878f8b0801390a63af0f33ce30ed9024f5e', class: "visually-hidden", id: this.internalDescriptionById }, this.state._ariaDescription))));
11046
11056
  }
11047
11057
  validateAccessKey(value) {
11048
11058
  validateAccessKey(this, value);
@@ -11060,6 +11070,9 @@ class KolLinkWc {
11060
11070
  validateAriaOwns(value) {
11061
11071
  validateAriaOwns(this, value);
11062
11072
  }
11073
+ validateCustomClass(value) {
11074
+ validateCustomClass(this, value);
11075
+ }
11063
11076
  validateDisabled(value) {
11064
11077
  validateDisabled(this, value);
11065
11078
  }
@@ -11099,12 +11112,16 @@ class KolLinkWc {
11099
11112
  validateTooltipAlign(value) {
11100
11113
  validateTooltipAlign(this, value);
11101
11114
  }
11115
+ validateVariant(value) {
11116
+ validateButtonVariant(this, value);
11117
+ }
11102
11118
  componentWillLoad() {
11103
11119
  this.validateAccessKey(this._accessKey);
11104
11120
  this.validateAriaCurrentValue(this._ariaCurrentValue);
11105
11121
  this.validateAriaDescription(this._ariaDescription);
11106
11122
  this.validateAriaExpanded(this._ariaExpanded);
11107
11123
  this.validateAriaOwns(this._ariaOwns);
11124
+ this.validateCustomClass(this._customClass);
11108
11125
  this.validateDisabled(this._disabled);
11109
11126
  this.validateDownload(this._download);
11110
11127
  this.validateHideLabel(this._hideLabel);
@@ -11117,6 +11134,7 @@ class KolLinkWc {
11117
11134
  this.validateTabIndex(this._tabIndex);
11118
11135
  this.validateTarget(this._target);
11119
11136
  this.validateTooltipAlign(this._tooltipAlign);
11137
+ this.validateVariant(this._variant);
11120
11138
  this.unsubscribeOnLocationChange = onLocationChange((location) => {
11121
11139
  this.state._ariaCurrent = location === this.state._href ? this.state._ariaCurrentValue : undefined;
11122
11140
  });
@@ -11133,6 +11151,7 @@ class KolLinkWc {
11133
11151
  "_ariaDescription": ["validateAriaDescription"],
11134
11152
  "_ariaExpanded": ["validateAriaExpanded"],
11135
11153
  "_ariaOwns": ["validateAriaOwns"],
11154
+ "_customClass": ["validateCustomClass"],
11136
11155
  "_disabled": ["validateDisabled"],
11137
11156
  "_download": ["validateDownload"],
11138
11157
  "_hideLabel": ["validateHideLabel"],
@@ -11144,7 +11163,8 @@ class KolLinkWc {
11144
11163
  "_shortKey": ["validateShortKey"],
11145
11164
  "_tabIndex": ["validateTabIndex"],
11146
11165
  "_target": ["validateTarget"],
11147
- "_tooltipAlign": ["validateTooltipAlign"]
11166
+ "_tooltipAlign": ["validateTooltipAlign"],
11167
+ "_variant": ["validateVariant"]
11148
11168
  }; }
11149
11169
  static get cmpMeta() { return {
11150
11170
  "$flags$": 4,
@@ -11155,6 +11175,7 @@ class KolLinkWc {
11155
11175
  "_ariaDescription": [1, "_aria-description"],
11156
11176
  "_ariaExpanded": [4, "_aria-expanded"],
11157
11177
  "_ariaOwns": [1, "_aria-owns"],
11178
+ "_customClass": [1, "_custom-class"],
11158
11179
  "_disabled": [4],
11159
11180
  "_download": [1],
11160
11181
  "_hideLabel": [4, "_hide-label"],
@@ -11167,6 +11188,7 @@ class KolLinkWc {
11167
11188
  "_tabIndex": [2, "_tab-index"],
11168
11189
  "_target": [1],
11169
11190
  "_tooltipAlign": [1, "_tooltip-align"],
11191
+ "_variant": [1],
11170
11192
  "state": [32],
11171
11193
  "kolFocus": [64]
11172
11194
  },
@@ -14340,13 +14362,11 @@ class KolPopoverButton {
14340
14362
  (_b = this.refPopover) === null || _b === void 0 ? void 0 : _b.removeEventListener('beforetoggle', this.handleBeforeToggle.bind(this));
14341
14363
  }
14342
14364
  render() {
14343
- return (hAsync("div", { key: 'e37abb8082b4a79421acf0d18d54088af227db75', class: "kol-popover-button" }, hAsync(KolButtonWcTag, { key: 'ce7f7a12aa80b3209a213f96f0798f3342821d00', _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: Object.assign(Object.assign({}, this._on), { onClick: (event, value) => {
14365
+ return (hAsync("div", { key: 'e37abb8082b4a79421acf0d18d54088af227db75', class: "kol-popover-button" }, hAsync(KolButtonWcTag, { key: 'e20b23b48f106137393b3bc47ea49c2d8b75f83a', _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: Object.assign(Object.assign({}, this._on), { onClick: (event, value) => {
14344
14366
  var _a, _b;
14345
14367
  this.handleButtonClick();
14346
14368
  (_b = (_a = this._on) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event, value);
14347
- } }), _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant, "data-testid": "popover-button", class: clsx('kol-popover-button__button', {
14348
- [this._variant]: this._variant !== 'custom',
14349
- }), ref: (element) => (this.refButton = element) }, hAsync("slot", { key: 'a5761c899b808a407bc33d45da89bfdc6b5b7c70', name: "expert", slot: "expert" })), hAsync("div", { key: 'ed889b69d3707834aa1e621d94d1889d277d84d3', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: '14e8af2ad55b838415564b7a576586435cb54a67' }))));
14369
+ } }), _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant, "data-testid": "popover-button", class: clsx('kol-popover-button__button'), ref: (element) => (this.refButton = element) }, hAsync("slot", { key: '4d0e91ca18454baa0dbbf215dfef99ab2c6a1884', name: "expert", slot: "expert" })), hAsync("div", { key: 'bc2ec76aa27e820cc1f3ff327a5465b9db402a10', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: '8f4c33b71619fd768142be64c928111e04889798' }))));
14350
14370
  }
14351
14371
  validatePopoverAlign(value) {
14352
14372
  validatePopoverAlign(this, value);
@@ -14952,6 +14972,9 @@ class SingleSelectController extends InputIconController {
14952
14972
  validateHideClearButton(value) {
14953
14973
  watchBoolean(this.component, '_hideClearButton', value);
14954
14974
  }
14975
+ validateRows(value) {
14976
+ watchNumber(this.component, '_rows', value);
14977
+ }
14955
14978
  componentWillLoad() {
14956
14979
  super.componentWillLoad();
14957
14980
  this.validateOptions(this.component._options);
@@ -14959,10 +14982,11 @@ class SingleSelectController extends InputIconController {
14959
14982
  this.validateValue(this.component._value);
14960
14983
  this.validatePlaceholder(this.component._placeholder);
14961
14984
  this.validateHideClearButton(this.component._hideClearButton);
14985
+ this.validateRows(this.component._rows);
14962
14986
  }
14963
14987
  }
14964
14988
 
14965
- const defaultStyleCss$c = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n overflow: hidden;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n overflow: hidden;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n align-items: center;\n background-color: white;\n cursor: pointer;\n display: flex;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n height: auto;\n width: var(--a11y-min-size);\n }\n .single-select__listbox {\n display: block;\n position: absolute;\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 2;\n background-color: white;\n max-height: calc(250rem / var(--kolibri-root-font-size, 16));\n }\n .single-select__item.highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__no-results-message {\n cursor: default;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n }\n}";
14989
+ const defaultStyleCss$c = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n overflow: hidden;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n overflow: hidden;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n align-items: center;\n background-color: white;\n cursor: pointer;\n display: flex;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n height: auto;\n width: var(--a11y-min-size);\n }\n .single-select__listbox {\n display: block;\n position: absolute;\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 2;\n background-color: white;\n max-height: calc((40rem / var(--kolibri-root-font-size, 16)) * var(--visible-options, 5) + (2rem / var(--kolibri-root-font-size, 16))) !important;\n }\n .single-select__item.highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__no-results-message {\n cursor: default;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n }\n}";
14966
14990
  var KolSingleSelectDefaultStyle0 = defaultStyleCss$c;
14967
14991
 
14968
14992
  class KolSingleSelect {
@@ -15058,19 +15082,20 @@ class KolSingleSelect {
15058
15082
  }
15059
15083
  }
15060
15084
  render() {
15085
+ var _a;
15061
15086
  const hasExpertSlot = showExpertSlot(this.state._label);
15062
15087
  const { ariaDescribedBy } = getRenderStates(this.state);
15063
- return (hAsync(Host, { key: '56cd55586282dc0300b0cd687e7ed7078b6cc4d1', class: "kol-single-select" }, hAsync("div", { key: '87d876850c5a1a85038155003f69fe5af46aaf16', class: `single-select ${this.state._disabled === true ? 'disabled' : ''} ` }, hAsync(KolInputTag, { key: '7a9e20a7496fa29b4ae5d5c68d3f1718374fc8d1', _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _disabled: this.state._disabled, _hideError: this.state._hideError, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _msg: this.state._msg, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, role: `presentation` }, hAsync("span", { key: '1f34d388c9286e1f279e7b6ec1b02611ed8837d6', slot: "label" }, hasExpertSlot ? (hAsync("slot", { name: "expert" })) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (hAsync(Fragment, null, hAsync(InternalUnderlinedBadgeText, { badgeText: buildBadgeTextString(this.state._accessKey || this.state._shortKey), label: this.state._label }), ' ', hAsync("span", { class: "badge-text-hint", "aria-hidden": "true" }, buildBadgeTextString(this.state._accessKey || this.state._shortKey)))) : (hAsync("span", null, this.state._label))), hAsync("div", { key: 'ab6f056ebdc865e69f973f836a026b8ac667fb06', slot: "input" }, hAsync("div", { key: 'b02c71d5f4ae92e4ab0bec55a2c7ff757a73975d', class: "single-select__group" }, hAsync("input", Object.assign({ key: 'a5a10c859eb5fa209eae281612e4fbe3dd3fcda5', ref: this.catchRef, class: "single-select__input", "data-testid": "single-select-input", type: "text", "aria-autocomplete": "both", "aria-controls": "listbox", value: this._inputValue, accessKey: this.state._accessKey, "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-activedescendant": this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, autoCapitalize: "off", autoCorrect: "off", disabled: this.state._disabled, name: this.state._name, required: this.state._required }, this.controller.onFacade, { onInput: this.onInput.bind(this), onChange: this.onChange.bind(this), onClick: this.toggleListbox.bind(this), onFocus: (event) => {
15088
+ return (hAsync(Host, { key: 'cc3133a2f097fab6e9c082d6f91d8fa1e74c21bf', class: "kol-single-select" }, hAsync("div", { key: '55ff97af5cbbe984e8400e844b6e5097b9f5235b', class: `single-select ${this.state._disabled === true ? 'disabled' : ''} ` }, hAsync(KolInputTag, { key: 'e879c998480f468b8b35c345085518665665d3c4', _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _disabled: this.state._disabled, _hideError: this.state._hideError, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _msg: this.state._msg, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, role: `presentation` }, hAsync("span", { key: 'd54ea356639f88482b0552b0358a81acb05039c5', slot: "label" }, hasExpertSlot ? (hAsync("slot", { name: "expert" })) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (hAsync(Fragment, null, hAsync(InternalUnderlinedBadgeText, { badgeText: buildBadgeTextString(this.state._accessKey || this.state._shortKey), label: this.state._label }), ' ', hAsync("span", { class: "badge-text-hint", "aria-hidden": "true" }, buildBadgeTextString(this.state._accessKey || this.state._shortKey)))) : (hAsync("span", null, this.state._label))), hAsync("div", { key: '63be6784d1c397d03d9587cd6d47b485333b171f', slot: "input" }, hAsync("div", { key: '5af3aef92dbf40921e10717bcf33bf6a76a65695', class: "single-select__group" }, hAsync("input", Object.assign({ key: 'e6c9f147ed7d121354832108cedc992c9cdec92a', ref: this.catchRef, class: "single-select__input", "data-testid": "single-select-input", type: "text", "aria-autocomplete": "both", "aria-controls": "listbox", value: this._inputValue, accessKey: this.state._accessKey, "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-activedescendant": this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, autoCapitalize: "off", autoCorrect: "off", disabled: this.state._disabled, name: this.state._name, required: this.state._required }, this.controller.onFacade, { onInput: this.onInput.bind(this), onChange: this.onChange.bind(this), onClick: this.toggleListbox.bind(this), onFocus: (event) => {
15064
15089
  this.controller.onFacade.onFocus(event);
15065
15090
  this.inputHasFocus = true;
15066
15091
  }, onBlur: (event) => {
15067
15092
  this.controller.onFacade.onBlur(event);
15068
15093
  this.inputHasFocus = false;
15069
- }, placeholder: this.state._placeholder })), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: '2db487657186cddf0d25df99ce2c8778661db041', _icons: "codicon codicon-close", _label: translate('kol-delete-selection'), onClick: () => {
15094
+ }, placeholder: this.state._placeholder })), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: 'f566da1880518328039aeafc028be7b06db6c686', _icons: "codicon codicon-close", _label: translate('kol-delete-selection'), onClick: () => {
15070
15095
  var _a;
15071
15096
  this.clearSelection();
15072
15097
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
15073
- }, class: "single-select__delete" })), hAsync("button", { key: '3c4039e574dbec48038ad01ddb49d5618ae92322', tabindex: "-1", class: "single-select__button", onClick: this.toggleListbox.bind(this), disabled: this.state._disabled }, hAsync(KolIconTag, { key: 'ff271f3d3126f5eb927da86272994cea44b6406c', _icons: "codicon codicon-triangle-down", _label: translate('kol-dropdown') }))), this._isOpen && !(this.state._disabled === true) && (hAsync("ul", { key: 'dff2b21212fcd38a10a6194c3d0b3b192fc329c5', role: "listbox", class: clsx('single-select__listbox', this.blockSuggestionMouseOver && 'single-select__listbox--cursor-hidden'), onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => (hAsync("li", { id: `option-${index}`, key: `-${index}`, ref: (el) => {
15098
+ }, class: "single-select__delete" })), hAsync("button", { key: 'ab50e96d8427167d4e0c9c8a636c5c8b3cd352cc', tabindex: "-1", class: "single-select__button", onClick: this.toggleListbox.bind(this), disabled: this.state._disabled }, hAsync(KolIconTag, { key: '42a1c2428ef79014282cc40fd937bd22a482a052', _icons: "codicon codicon-triangle-down", _label: translate('kol-dropdown') }))), this._isOpen && !(this.state._disabled === true) && (hAsync("ul", { key: 'dce5f46ed13d22f036c53ae5c0d73278d59ba91f', role: "listbox", class: clsx('single-select__listbox', this.blockSuggestionMouseOver && 'single-select__listbox--cursor-hidden'), style: { '--visible-options': `${(_a = this._rows) !== null && _a !== void 0 ? _a : 5}` }, onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => (hAsync("li", { id: `option-${index}`, key: `-${index}`, ref: (el) => {
15074
15099
  if (el)
15075
15100
  this.refOptions[index] = el;
15076
15101
  }, tabIndex: -1, role: "option", "aria-selected": this._value === option.value ? 'true' : undefined, onClick: (event) => {
@@ -15078,6 +15103,8 @@ class KolSingleSelect {
15078
15103
  this.selectOption(option);
15079
15104
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
15080
15105
  this.toggleListbox(event);
15106
+ this._isOpen = false;
15107
+ this._hasOpened = false;
15081
15108
  }, onMouseOver: () => {
15082
15109
  if (!this.blockSuggestionMouseOver) {
15083
15110
  this._focusedOptionIndex = index;
@@ -15162,6 +15189,8 @@ class KolSingleSelect {
15162
15189
  case 'NumpadEnter':
15163
15190
  case 'Enter': {
15164
15191
  this.toggleListbox(event);
15192
+ this._hasOpened = false;
15193
+ this._isOpen = false;
15165
15194
  break;
15166
15195
  }
15167
15196
  case 'Home': {
@@ -15248,6 +15277,7 @@ class KolSingleSelect {
15248
15277
  this._touched = false;
15249
15278
  this._value = undefined;
15250
15279
  this._hideClearButton = false;
15280
+ this._rows = undefined;
15251
15281
  this.state = {
15252
15282
  _hideError: false,
15253
15283
  _id: `id-${nonce()}`,
@@ -15331,6 +15361,9 @@ class KolSingleSelect {
15331
15361
  validateHideClearButton(value) {
15332
15362
  this.controller.validateHideClearButton(value);
15333
15363
  }
15364
+ validateRows(value) {
15365
+ this.controller.validateRows(value);
15366
+ }
15334
15367
  handleMouseEvent() {
15335
15368
  this.blockSuggestionMouseOver = false;
15336
15369
  }
@@ -15381,7 +15414,8 @@ class KolSingleSelect {
15381
15414
  "_tabIndex": ["validateTabIndex"],
15382
15415
  "_touched": ["validateTouched"],
15383
15416
  "_value": ["validateValue"],
15384
- "_hideClearButton ": ["validateHideClearButton"]
15417
+ "_hideClearButton ": ["validateHideClearButton"],
15418
+ "_rows": ["validateRows"]
15385
15419
  }; }
15386
15420
  static get style() { return {
15387
15421
  default: KolSingleSelectDefaultStyle0
@@ -15412,6 +15446,7 @@ class KolSingleSelect {
15412
15446
  "_touched": [1540],
15413
15447
  "_value": [1544],
15414
15448
  "_hideClearButton": [4, "_hide-clear-button"],
15449
+ "_rows": [2],
15415
15450
  "_isOpen": [32],
15416
15451
  "_hasOpened": [32],
15417
15452
  "_filteredOptions": [32],
@@ -23996,12 +24031,10 @@ class KolSplitButton {
23996
24031
  }
23997
24032
  render() {
23998
24033
  const i18nDropdownLabel = 'kol-split-button-dropdown-label';
23999
- return (hAsync(Host, { key: 'bf0b8bbd7c2dc4fc85d7277dd92d16e2ce288d76', class: "kol-split-button" }, hAsync("div", { key: '74daf437028dc1c2add23932d7cd52782ccc1e4c', class: "split-button-root" }, hAsync(KolButtonWcTag, { key: 'bbceebf8897931f5bcfe964fffcd574477265162', class: {
24034
+ return (hAsync(Host, { key: 'bf0b8bbd7c2dc4fc85d7277dd92d16e2ce288d76', class: "kol-split-button" }, hAsync("div", { key: '74daf437028dc1c2add23932d7cd52782ccc1e4c', class: "split-button-root" }, hAsync(KolButtonWcTag, { key: '3bf984a61b273d36574f0846a102bc35700c9caf', class: {
24000
24035
  'main-button': true,
24001
24036
  button: true,
24002
- [this._variant]: this._variant !== 'custom',
24003
- [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
24004
- }, _ariaControls: this._ariaControls, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _role: this._role, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: '9108c4d0319dd944bfb2ebd9d9c5cf4b6d08112b', class: "horizontal-line" }), hAsync(KolButtonWcTag, { key: '310f0b697003718509adfb6b0b702260856a486c', class: { 'secondary-button': true, [this._variant]: this._variant !== 'custom' }, _disabled: this._disabled, _hideLabel: true, _icons: "codicon codicon-triangle-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler, _variant: this._variant })), hAsync(KolPopoverWcTag, { key: 'f855e820d841dbe82103d882fcd18a904e183a91', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: '038addd2ccea0fa2d995957ef34805d715f943d1' }))));
24037
+ }, _ariaControls: this._ariaControls, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _role: this._role, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: 'a3f4b6dbd1a16d95024ab0825dcc5012b5ccd0af', class: "horizontal-line" }), hAsync(KolButtonWcTag, { key: 'd046ecef26cc8872fd17271258fd98b1daafa342', class: { 'secondary-button': true, [this._variant]: this._variant !== 'custom' }, _disabled: this._disabled, _hideLabel: true, _icons: "codicon codicon-triangle-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler, _variant: this._variant })), hAsync(KolPopoverWcTag, { key: '2b0eeafd1d2f2ef8960b932adb6a34315bce0910', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: 'f5eba083e4760144334a4ad225086781782f3809' }))));
24005
24038
  }
24006
24039
  async closePopup() {
24007
24040
  this.handleOnClose();
package/dist/index.mjs CHANGED
@@ -5331,11 +5331,9 @@ class KolButton {
5331
5331
  await ((_a = this.buttonWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
5332
5332
  }
5333
5333
  render() {
5334
- return (hAsync(Host, { key: '2cac05d30f6702e069cff37e7c5d98ec3051d029', class: "kol-button" }, hAsync(KolButtonWcTag, { key: '66045543c52d960eacd13fbafd78d0afc5a6aa38', ref: this.catchRef, class: {
5334
+ return (hAsync(Host, { key: '2cac05d30f6702e069cff37e7c5d98ec3051d029', class: "kol-button" }, hAsync(KolButtonWcTag, { key: 'af027f003e52c388d21a390e9c3757ef253c8cb8', ref: this.catchRef, class: {
5335
5335
  button: true,
5336
- [this._variant]: this._variant !== 'custom',
5337
- [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
5338
- }, _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: this._on, _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }, hAsync("slot", { key: '2af46572e2480c4b9ce5ec1cf9d57fb7e9ae898b', name: "expert", slot: "expert" }))));
5336
+ }, _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: this._on, _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }, hAsync("slot", { key: 'bb85820948d8ec3f2bcb3229d3ace056dacb9668', name: "expert", slot: "expert" }))));
5339
5337
  }
5340
5338
  static get delegatesFocus() { return true; }
5341
5339
  static get style() { return {
@@ -6434,6 +6432,8 @@ class KolCombobox {
6434
6432
  }, "data-index": index, tabIndex: -1, role: "option", "aria-selected": this.state._value === option ? 'true' : undefined, onClick: () => {
6435
6433
  this.selectOption(option);
6436
6434
  this.toggleListbox();
6435
+ this._isOpen = false;
6436
+ this._hasOpened = false;
6437
6437
  }, onMouseOver: () => {
6438
6438
  if (!this.blockSuggestionMouseOver) {
6439
6439
  this.focusOption(index);
@@ -6476,7 +6476,7 @@ class KolCombobox {
6476
6476
  }
6477
6477
  case 'Tab':
6478
6478
  if (this._isOpen) {
6479
- this._isOpen = !this._isOpen;
6479
+ this._isOpen = false;
6480
6480
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
6481
6481
  }
6482
6482
  break;
@@ -6484,13 +6484,21 @@ class KolCombobox {
6484
6484
  case 'Escape': {
6485
6485
  this._hasOpened = false;
6486
6486
  this._isOpen = false;
6487
- handleEvent(false);
6487
+ event.preventDefault();
6488
6488
  (_b = this.refInput) === null || _b === void 0 ? void 0 : _b.focus();
6489
6489
  break;
6490
6490
  }
6491
6491
  case 'NumpadEnter':
6492
6492
  case 'Enter': {
6493
- this.toggleListbox();
6493
+ if (this._isOpen && this._focusedOptionIndex >= 0) {
6494
+ this._filteredSuggestions && this.selectOption(this._filteredSuggestions[this._focusedOptionIndex]);
6495
+ this._isOpen = false;
6496
+ this._hasOpened = false;
6497
+ }
6498
+ else {
6499
+ this.toggleListbox();
6500
+ }
6501
+ event.preventDefault();
6494
6502
  break;
6495
6503
  }
6496
6504
  case 'Home': {
@@ -10809,11 +10817,9 @@ class KolLinkButton {
10809
10817
  await ((_a = this.linkWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
10810
10818
  }
10811
10819
  render() {
10812
- return (hAsync(Host, { key: '17537a98e3d3e082a833b0fd8970d8ed6d5121f0', class: "kol-link-button" }, hAsync(KolLinkWcTag, { key: '43c8c70e85b0bb2ef1db7b643ef0d7e5ee01023d', ref: this.catchRef, class: {
10820
+ return (hAsync(Host, { key: '17537a98e3d3e082a833b0fd8970d8ed6d5121f0', class: "kol-link-button" }, hAsync(KolLinkWcTag, { key: '12115da0c3ed106c7b2954296f5a2529e074897a', ref: this.catchRef, class: {
10813
10821
  button: true,
10814
- [this._variant]: this._variant !== 'custom',
10815
- [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
10816
- }, _accessKey: this._accessKey, _ariaCurrentValue: this._ariaCurrentValue, _ariaDescription: this._ariaDescription, _disabled: this._disabled, _download: this._download, _hideLabel: this._hideLabel, _href: this._href, _icons: this._icons, _label: this._label, _on: this._on, _role: "button", _shortKey: this._shortKey, _tabIndex: this._tabIndex, _target: this._target, _tooltipAlign: this._tooltipAlign }, hAsync("slot", { key: 'e151c7bb451e3a092885d7a41414084e9ffb58d3', name: "expert", slot: "expert" }))));
10822
+ }, _accessKey: this._accessKey, _ariaCurrentValue: this._ariaCurrentValue, _ariaDescription: this._ariaDescription, _customClass: this._customClass, _disabled: this._disabled, _download: this._download, _hideLabel: this._hideLabel, _href: this._href, _icons: this._icons, _label: this._label, _on: this._on, _role: "button", _shortKey: this._shortKey, _tabIndex: this._tabIndex, _target: this._target, _tooltipAlign: this._tooltipAlign, _variant: this._variant }, hAsync("slot", { key: '9fdb0b15c70fa8c22cfe4e5b28893c5d793a6d51', name: "expert", slot: "expert" }))));
10817
10823
  }
10818
10824
  static get delegatesFocus() { return true; }
10819
10825
  static get style() { return {
@@ -11005,6 +11011,7 @@ class KolLinkWc {
11005
11011
  this._ariaDescription = undefined;
11006
11012
  this._ariaExpanded = undefined;
11007
11013
  this._ariaOwns = undefined;
11014
+ this._customClass = undefined;
11008
11015
  this._disabled = false;
11009
11016
  this._download = undefined;
11010
11017
  this._hideLabel = false;
@@ -11017,6 +11024,7 @@ class KolLinkWc {
11017
11024
  this._tabIndex = undefined;
11018
11025
  this._target = undefined;
11019
11026
  this._tooltipAlign = 'right';
11027
+ this._variant = 'normal';
11020
11028
  this.state = {
11021
11029
  _ariaCurrentValue: 'page',
11022
11030
  _href: '',
@@ -11032,13 +11040,15 @@ class KolLinkWc {
11032
11040
  const { isExternal, tagAttrs } = this.getRenderValues();
11033
11041
  const hasExpertSlot = showExpertSlot(this.state._label);
11034
11042
  const hasAriaDescription = Boolean((_b = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.length);
11035
- return (hAsync(Host, { key: '5da2a89adb469aa00911016bf83da8bc811d6afb', class: "kol-link-wc" }, hAsync("a", Object.assign({ key: '5ba27442fb12021bcd40b2bbea3458ba90319ee7', ref: this.catchRef }, tagAttrs, { accessKey: this.state._accessKey, "aria-current": this.state._ariaCurrent, "aria-describedby": hasAriaDescription ? this.internalDescriptionById : undefined, "aria-disabled": this.state._disabled ? 'true' : undefined, "aria-expanded": typeof this.state._ariaExpanded === 'boolean' ? String(this.state._ariaExpanded) : undefined, "aria-owns": this.state._ariaOwns, "aria-label": this.state._hideLabel && typeof this.state._label === 'string'
11043
+ return (hAsync(Host, { key: '1d30bedcd820dec1c26c0eff106acc80bedb5cb3', class: "kol-link-wc" }, hAsync("a", Object.assign({ key: 'efc2b3393b67b4744cec4ea94b95014324d899f3', ref: this.catchRef }, tagAttrs, { accessKey: this.state._accessKey, "aria-current": this.state._ariaCurrent, "aria-describedby": hasAriaDescription ? this.internalDescriptionById : undefined, "aria-disabled": this.state._disabled ? 'true' : undefined, "aria-expanded": typeof this.state._ariaExpanded === 'boolean' ? String(this.state._ariaExpanded) : undefined, "aria-owns": this.state._ariaOwns, "aria-label": this.state._hideLabel && typeof this.state._label === 'string'
11036
11044
  ? `${this.state._label}${isExternal ? ` (${translate('kol-open-link-in-tab')})` : ''}`
11037
11045
  : undefined, class: {
11038
11046
  disabled: this.state._disabled === true,
11039
11047
  'external-link': isExternal,
11040
11048
  'hide-label': this.state._hideLabel === true,
11041
- } }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanWcTag, { key: 'cff45aabbf830b45a1606d21b310946fc4107c25', _badgeText: this.state._accessKey || this.state._shortKey, _icons: this.state._icons, _hideLabel: this.state._hideLabel, _label: hasExpertSlot ? '' : this.state._label || this.state._href }, hAsync("slot", { key: 'e1e4856db3aae514a7cfab6221171f64a9ad786e', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: '3baff63f0c231d434d7b7b00bd561ce9c4388c44', class: "external-link-icon", _label: this.state._hideLabel ? '' : translate('kol-open-link-in-tab'), _icons: 'codicon codicon-link-external', "aria-hidden": this.state._hideLabel }))), hAsync(KolTooltipWcTag, { key: 'e40f46350a2b28542eddc16bf75378cc66e5eb42', "aria-hidden": "true", hidden: hasExpertSlot || !this.state._hideLabel, _badgeText: this.state._accessKey || this.state._shortKey, _align: this.state._tooltipAlign, _label: this.state._label || this.state._href }), hasAriaDescription && (hAsync("span", { key: 'da48986516bb270a3077d5c98c5603e55f9a9f42', class: "visually-hidden", id: this.internalDescriptionById }, this.state._ariaDescription))));
11049
+ [this.state._variant]: this.state._variant !== 'custom',
11050
+ [this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
11051
+ } }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanWcTag, { key: '02c28b7d44741668ee5847e454769195810a0958', _badgeText: this.state._accessKey || this.state._shortKey, _icons: this.state._icons, _hideLabel: this.state._hideLabel, _label: hasExpertSlot ? '' : this.state._label || this.state._href }, hAsync("slot", { key: '14536938fdd95503bdfdc0bec1e56221a6e075f7', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: '6624f9d9590bedd38e696d322f988a7ab0d0a6e6', class: "external-link-icon", _label: this.state._hideLabel ? '' : translate('kol-open-link-in-tab'), _icons: 'codicon codicon-link-external', "aria-hidden": this.state._hideLabel }))), hAsync(KolTooltipWcTag, { key: 'c4aea7ed08c840b8352626122c7f5a2c44dbe01a', "aria-hidden": "true", hidden: hasExpertSlot || !this.state._hideLabel, _badgeText: this.state._accessKey || this.state._shortKey, _align: this.state._tooltipAlign, _label: this.state._label || this.state._href }), hasAriaDescription && (hAsync("span", { key: 'c2481878f8b0801390a63af0f33ce30ed9024f5e', class: "visually-hidden", id: this.internalDescriptionById }, this.state._ariaDescription))));
11042
11052
  }
11043
11053
  validateAccessKey(value) {
11044
11054
  validateAccessKey(this, value);
@@ -11056,6 +11066,9 @@ class KolLinkWc {
11056
11066
  validateAriaOwns(value) {
11057
11067
  validateAriaOwns(this, value);
11058
11068
  }
11069
+ validateCustomClass(value) {
11070
+ validateCustomClass(this, value);
11071
+ }
11059
11072
  validateDisabled(value) {
11060
11073
  validateDisabled(this, value);
11061
11074
  }
@@ -11095,12 +11108,16 @@ class KolLinkWc {
11095
11108
  validateTooltipAlign(value) {
11096
11109
  validateTooltipAlign(this, value);
11097
11110
  }
11111
+ validateVariant(value) {
11112
+ validateButtonVariant(this, value);
11113
+ }
11098
11114
  componentWillLoad() {
11099
11115
  this.validateAccessKey(this._accessKey);
11100
11116
  this.validateAriaCurrentValue(this._ariaCurrentValue);
11101
11117
  this.validateAriaDescription(this._ariaDescription);
11102
11118
  this.validateAriaExpanded(this._ariaExpanded);
11103
11119
  this.validateAriaOwns(this._ariaOwns);
11120
+ this.validateCustomClass(this._customClass);
11104
11121
  this.validateDisabled(this._disabled);
11105
11122
  this.validateDownload(this._download);
11106
11123
  this.validateHideLabel(this._hideLabel);
@@ -11113,6 +11130,7 @@ class KolLinkWc {
11113
11130
  this.validateTabIndex(this._tabIndex);
11114
11131
  this.validateTarget(this._target);
11115
11132
  this.validateTooltipAlign(this._tooltipAlign);
11133
+ this.validateVariant(this._variant);
11116
11134
  this.unsubscribeOnLocationChange = onLocationChange((location) => {
11117
11135
  this.state._ariaCurrent = location === this.state._href ? this.state._ariaCurrentValue : undefined;
11118
11136
  });
@@ -11129,6 +11147,7 @@ class KolLinkWc {
11129
11147
  "_ariaDescription": ["validateAriaDescription"],
11130
11148
  "_ariaExpanded": ["validateAriaExpanded"],
11131
11149
  "_ariaOwns": ["validateAriaOwns"],
11150
+ "_customClass": ["validateCustomClass"],
11132
11151
  "_disabled": ["validateDisabled"],
11133
11152
  "_download": ["validateDownload"],
11134
11153
  "_hideLabel": ["validateHideLabel"],
@@ -11140,7 +11159,8 @@ class KolLinkWc {
11140
11159
  "_shortKey": ["validateShortKey"],
11141
11160
  "_tabIndex": ["validateTabIndex"],
11142
11161
  "_target": ["validateTarget"],
11143
- "_tooltipAlign": ["validateTooltipAlign"]
11162
+ "_tooltipAlign": ["validateTooltipAlign"],
11163
+ "_variant": ["validateVariant"]
11144
11164
  }; }
11145
11165
  static get cmpMeta() { return {
11146
11166
  "$flags$": 4,
@@ -11151,6 +11171,7 @@ class KolLinkWc {
11151
11171
  "_ariaDescription": [1, "_aria-description"],
11152
11172
  "_ariaExpanded": [4, "_aria-expanded"],
11153
11173
  "_ariaOwns": [1, "_aria-owns"],
11174
+ "_customClass": [1, "_custom-class"],
11154
11175
  "_disabled": [4],
11155
11176
  "_download": [1],
11156
11177
  "_hideLabel": [4, "_hide-label"],
@@ -11163,6 +11184,7 @@ class KolLinkWc {
11163
11184
  "_tabIndex": [2, "_tab-index"],
11164
11185
  "_target": [1],
11165
11186
  "_tooltipAlign": [1, "_tooltip-align"],
11187
+ "_variant": [1],
11166
11188
  "state": [32],
11167
11189
  "kolFocus": [64]
11168
11190
  },
@@ -14336,13 +14358,11 @@ class KolPopoverButton {
14336
14358
  (_b = this.refPopover) === null || _b === void 0 ? void 0 : _b.removeEventListener('beforetoggle', this.handleBeforeToggle.bind(this));
14337
14359
  }
14338
14360
  render() {
14339
- return (hAsync("div", { key: 'e37abb8082b4a79421acf0d18d54088af227db75', class: "kol-popover-button" }, hAsync(KolButtonWcTag, { key: 'ce7f7a12aa80b3209a213f96f0798f3342821d00', _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: Object.assign(Object.assign({}, this._on), { onClick: (event, value) => {
14361
+ return (hAsync("div", { key: 'e37abb8082b4a79421acf0d18d54088af227db75', class: "kol-popover-button" }, hAsync(KolButtonWcTag, { key: 'e20b23b48f106137393b3bc47ea49c2d8b75f83a', _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _label: this._label, _name: this._name, _on: Object.assign(Object.assign({}, this._on), { onClick: (event, value) => {
14340
14362
  var _a, _b;
14341
14363
  this.handleButtonClick();
14342
14364
  (_b = (_a = this._on) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event, value);
14343
- } }), _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant, "data-testid": "popover-button", class: clsx('kol-popover-button__button', {
14344
- [this._variant]: this._variant !== 'custom',
14345
- }), ref: (element) => (this.refButton = element) }, hAsync("slot", { key: 'a5761c899b808a407bc33d45da89bfdc6b5b7c70', name: "expert", slot: "expert" })), hAsync("div", { key: 'ed889b69d3707834aa1e621d94d1889d277d84d3', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: '14e8af2ad55b838415564b7a576586435cb54a67' }))));
14365
+ } }), _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant, "data-testid": "popover-button", class: clsx('kol-popover-button__button'), ref: (element) => (this.refButton = element) }, hAsync("slot", { key: '4d0e91ca18454baa0dbbf215dfef99ab2c6a1884', name: "expert", slot: "expert" })), hAsync("div", { key: 'bc2ec76aa27e820cc1f3ff327a5465b9db402a10', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: '8f4c33b71619fd768142be64c928111e04889798' }))));
14346
14366
  }
14347
14367
  validatePopoverAlign(value) {
14348
14368
  validatePopoverAlign(this, value);
@@ -14948,6 +14968,9 @@ class SingleSelectController extends InputIconController {
14948
14968
  validateHideClearButton(value) {
14949
14969
  watchBoolean(this.component, '_hideClearButton', value);
14950
14970
  }
14971
+ validateRows(value) {
14972
+ watchNumber(this.component, '_rows', value);
14973
+ }
14951
14974
  componentWillLoad() {
14952
14975
  super.componentWillLoad();
14953
14976
  this.validateOptions(this.component._options);
@@ -14955,10 +14978,11 @@ class SingleSelectController extends InputIconController {
14955
14978
  this.validateValue(this.component._value);
14956
14979
  this.validatePlaceholder(this.component._placeholder);
14957
14980
  this.validateHideClearButton(this.component._hideClearButton);
14981
+ this.validateRows(this.component._rows);
14958
14982
  }
14959
14983
  }
14960
14984
 
14961
- const defaultStyleCss$c = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n overflow: hidden;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n overflow: hidden;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n align-items: center;\n background-color: white;\n cursor: pointer;\n display: flex;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n height: auto;\n width: var(--a11y-min-size);\n }\n .single-select__listbox {\n display: block;\n position: absolute;\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 2;\n background-color: white;\n max-height: calc(250rem / var(--kolibri-root-font-size, 16));\n }\n .single-select__item.highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__no-results-message {\n cursor: default;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n }\n}";
14985
+ const defaultStyleCss$c = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n overflow: hidden;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n overflow: hidden;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n align-items: center;\n background-color: white;\n cursor: pointer;\n display: flex;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n height: auto;\n width: var(--a11y-min-size);\n }\n .single-select__listbox {\n display: block;\n position: absolute;\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 2;\n background-color: white;\n max-height: calc((40rem / var(--kolibri-root-font-size, 16)) * var(--visible-options, 5) + (2rem / var(--kolibri-root-font-size, 16))) !important;\n }\n .single-select__item.highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__no-results-message {\n cursor: default;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n }\n}";
14962
14986
  var KolSingleSelectDefaultStyle0 = defaultStyleCss$c;
14963
14987
 
14964
14988
  class KolSingleSelect {
@@ -15054,19 +15078,20 @@ class KolSingleSelect {
15054
15078
  }
15055
15079
  }
15056
15080
  render() {
15081
+ var _a;
15057
15082
  const hasExpertSlot = showExpertSlot(this.state._label);
15058
15083
  const { ariaDescribedBy } = getRenderStates(this.state);
15059
- return (hAsync(Host, { key: '56cd55586282dc0300b0cd687e7ed7078b6cc4d1', class: "kol-single-select" }, hAsync("div", { key: '87d876850c5a1a85038155003f69fe5af46aaf16', class: `single-select ${this.state._disabled === true ? 'disabled' : ''} ` }, hAsync(KolInputTag, { key: '7a9e20a7496fa29b4ae5d5c68d3f1718374fc8d1', _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _disabled: this.state._disabled, _hideError: this.state._hideError, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _msg: this.state._msg, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, role: `presentation` }, hAsync("span", { key: '1f34d388c9286e1f279e7b6ec1b02611ed8837d6', slot: "label" }, hasExpertSlot ? (hAsync("slot", { name: "expert" })) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (hAsync(Fragment, null, hAsync(InternalUnderlinedBadgeText, { badgeText: buildBadgeTextString(this.state._accessKey || this.state._shortKey), label: this.state._label }), ' ', hAsync("span", { class: "badge-text-hint", "aria-hidden": "true" }, buildBadgeTextString(this.state._accessKey || this.state._shortKey)))) : (hAsync("span", null, this.state._label))), hAsync("div", { key: 'ab6f056ebdc865e69f973f836a026b8ac667fb06', slot: "input" }, hAsync("div", { key: 'b02c71d5f4ae92e4ab0bec55a2c7ff757a73975d', class: "single-select__group" }, hAsync("input", Object.assign({ key: 'a5a10c859eb5fa209eae281612e4fbe3dd3fcda5', ref: this.catchRef, class: "single-select__input", "data-testid": "single-select-input", type: "text", "aria-autocomplete": "both", "aria-controls": "listbox", value: this._inputValue, accessKey: this.state._accessKey, "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-activedescendant": this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, autoCapitalize: "off", autoCorrect: "off", disabled: this.state._disabled, name: this.state._name, required: this.state._required }, this.controller.onFacade, { onInput: this.onInput.bind(this), onChange: this.onChange.bind(this), onClick: this.toggleListbox.bind(this), onFocus: (event) => {
15084
+ return (hAsync(Host, { key: 'cc3133a2f097fab6e9c082d6f91d8fa1e74c21bf', class: "kol-single-select" }, hAsync("div", { key: '55ff97af5cbbe984e8400e844b6e5097b9f5235b', class: `single-select ${this.state._disabled === true ? 'disabled' : ''} ` }, hAsync(KolInputTag, { key: 'e879c998480f468b8b35c345085518665665d3c4', _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _disabled: this.state._disabled, _hideError: this.state._hideError, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _msg: this.state._msg, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, role: `presentation` }, hAsync("span", { key: 'd54ea356639f88482b0552b0358a81acb05039c5', slot: "label" }, hasExpertSlot ? (hAsync("slot", { name: "expert" })) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (hAsync(Fragment, null, hAsync(InternalUnderlinedBadgeText, { badgeText: buildBadgeTextString(this.state._accessKey || this.state._shortKey), label: this.state._label }), ' ', hAsync("span", { class: "badge-text-hint", "aria-hidden": "true" }, buildBadgeTextString(this.state._accessKey || this.state._shortKey)))) : (hAsync("span", null, this.state._label))), hAsync("div", { key: '63be6784d1c397d03d9587cd6d47b485333b171f', slot: "input" }, hAsync("div", { key: '5af3aef92dbf40921e10717bcf33bf6a76a65695', class: "single-select__group" }, hAsync("input", Object.assign({ key: 'e6c9f147ed7d121354832108cedc992c9cdec92a', ref: this.catchRef, class: "single-select__input", "data-testid": "single-select-input", type: "text", "aria-autocomplete": "both", "aria-controls": "listbox", value: this._inputValue, accessKey: this.state._accessKey, "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-activedescendant": this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, autoCapitalize: "off", autoCorrect: "off", disabled: this.state._disabled, name: this.state._name, required: this.state._required }, this.controller.onFacade, { onInput: this.onInput.bind(this), onChange: this.onChange.bind(this), onClick: this.toggleListbox.bind(this), onFocus: (event) => {
15060
15085
  this.controller.onFacade.onFocus(event);
15061
15086
  this.inputHasFocus = true;
15062
15087
  }, onBlur: (event) => {
15063
15088
  this.controller.onFacade.onBlur(event);
15064
15089
  this.inputHasFocus = false;
15065
- }, placeholder: this.state._placeholder })), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: '2db487657186cddf0d25df99ce2c8778661db041', _icons: "codicon codicon-close", _label: translate('kol-delete-selection'), onClick: () => {
15090
+ }, placeholder: this.state._placeholder })), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: 'f566da1880518328039aeafc028be7b06db6c686', _icons: "codicon codicon-close", _label: translate('kol-delete-selection'), onClick: () => {
15066
15091
  var _a;
15067
15092
  this.clearSelection();
15068
15093
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
15069
- }, class: "single-select__delete" })), hAsync("button", { key: '3c4039e574dbec48038ad01ddb49d5618ae92322', tabindex: "-1", class: "single-select__button", onClick: this.toggleListbox.bind(this), disabled: this.state._disabled }, hAsync(KolIconTag, { key: 'ff271f3d3126f5eb927da86272994cea44b6406c', _icons: "codicon codicon-triangle-down", _label: translate('kol-dropdown') }))), this._isOpen && !(this.state._disabled === true) && (hAsync("ul", { key: 'dff2b21212fcd38a10a6194c3d0b3b192fc329c5', role: "listbox", class: clsx('single-select__listbox', this.blockSuggestionMouseOver && 'single-select__listbox--cursor-hidden'), onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => (hAsync("li", { id: `option-${index}`, key: `-${index}`, ref: (el) => {
15094
+ }, class: "single-select__delete" })), hAsync("button", { key: 'ab50e96d8427167d4e0c9c8a636c5c8b3cd352cc', tabindex: "-1", class: "single-select__button", onClick: this.toggleListbox.bind(this), disabled: this.state._disabled }, hAsync(KolIconTag, { key: '42a1c2428ef79014282cc40fd937bd22a482a052', _icons: "codicon codicon-triangle-down", _label: translate('kol-dropdown') }))), this._isOpen && !(this.state._disabled === true) && (hAsync("ul", { key: 'dce5f46ed13d22f036c53ae5c0d73278d59ba91f', role: "listbox", class: clsx('single-select__listbox', this.blockSuggestionMouseOver && 'single-select__listbox--cursor-hidden'), style: { '--visible-options': `${(_a = this._rows) !== null && _a !== void 0 ? _a : 5}` }, onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => (hAsync("li", { id: `option-${index}`, key: `-${index}`, ref: (el) => {
15070
15095
  if (el)
15071
15096
  this.refOptions[index] = el;
15072
15097
  }, tabIndex: -1, role: "option", "aria-selected": this._value === option.value ? 'true' : undefined, onClick: (event) => {
@@ -15074,6 +15099,8 @@ class KolSingleSelect {
15074
15099
  this.selectOption(option);
15075
15100
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
15076
15101
  this.toggleListbox(event);
15102
+ this._isOpen = false;
15103
+ this._hasOpened = false;
15077
15104
  }, onMouseOver: () => {
15078
15105
  if (!this.blockSuggestionMouseOver) {
15079
15106
  this._focusedOptionIndex = index;
@@ -15158,6 +15185,8 @@ class KolSingleSelect {
15158
15185
  case 'NumpadEnter':
15159
15186
  case 'Enter': {
15160
15187
  this.toggleListbox(event);
15188
+ this._hasOpened = false;
15189
+ this._isOpen = false;
15161
15190
  break;
15162
15191
  }
15163
15192
  case 'Home': {
@@ -15244,6 +15273,7 @@ class KolSingleSelect {
15244
15273
  this._touched = false;
15245
15274
  this._value = undefined;
15246
15275
  this._hideClearButton = false;
15276
+ this._rows = undefined;
15247
15277
  this.state = {
15248
15278
  _hideError: false,
15249
15279
  _id: `id-${nonce()}`,
@@ -15327,6 +15357,9 @@ class KolSingleSelect {
15327
15357
  validateHideClearButton(value) {
15328
15358
  this.controller.validateHideClearButton(value);
15329
15359
  }
15360
+ validateRows(value) {
15361
+ this.controller.validateRows(value);
15362
+ }
15330
15363
  handleMouseEvent() {
15331
15364
  this.blockSuggestionMouseOver = false;
15332
15365
  }
@@ -15377,7 +15410,8 @@ class KolSingleSelect {
15377
15410
  "_tabIndex": ["validateTabIndex"],
15378
15411
  "_touched": ["validateTouched"],
15379
15412
  "_value": ["validateValue"],
15380
- "_hideClearButton ": ["validateHideClearButton"]
15413
+ "_hideClearButton ": ["validateHideClearButton"],
15414
+ "_rows": ["validateRows"]
15381
15415
  }; }
15382
15416
  static get style() { return {
15383
15417
  default: KolSingleSelectDefaultStyle0
@@ -15408,6 +15442,7 @@ class KolSingleSelect {
15408
15442
  "_touched": [1540],
15409
15443
  "_value": [1544],
15410
15444
  "_hideClearButton": [4, "_hide-clear-button"],
15445
+ "_rows": [2],
15411
15446
  "_isOpen": [32],
15412
15447
  "_hasOpened": [32],
15413
15448
  "_filteredOptions": [32],
@@ -23992,12 +24027,10 @@ class KolSplitButton {
23992
24027
  }
23993
24028
  render() {
23994
24029
  const i18nDropdownLabel = 'kol-split-button-dropdown-label';
23995
- return (hAsync(Host, { key: 'bf0b8bbd7c2dc4fc85d7277dd92d16e2ce288d76', class: "kol-split-button" }, hAsync("div", { key: '74daf437028dc1c2add23932d7cd52782ccc1e4c', class: "split-button-root" }, hAsync(KolButtonWcTag, { key: 'bbceebf8897931f5bcfe964fffcd574477265162', class: {
24030
+ return (hAsync(Host, { key: 'bf0b8bbd7c2dc4fc85d7277dd92d16e2ce288d76', class: "kol-split-button" }, hAsync("div", { key: '74daf437028dc1c2add23932d7cd52782ccc1e4c', class: "split-button-root" }, hAsync(KolButtonWcTag, { key: '3bf984a61b273d36574f0846a102bc35700c9caf', class: {
23996
24031
  'main-button': true,
23997
24032
  button: true,
23998
- [this._variant]: this._variant !== 'custom',
23999
- [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
24000
- }, _ariaControls: this._ariaControls, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _role: this._role, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: '9108c4d0319dd944bfb2ebd9d9c5cf4b6d08112b', class: "horizontal-line" }), hAsync(KolButtonWcTag, { key: '310f0b697003718509adfb6b0b702260856a486c', class: { 'secondary-button': true, [this._variant]: this._variant !== 'custom' }, _disabled: this._disabled, _hideLabel: true, _icons: "codicon codicon-triangle-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler, _variant: this._variant })), hAsync(KolPopoverWcTag, { key: 'f855e820d841dbe82103d882fcd18a904e183a91', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: '038addd2ccea0fa2d995957ef34805d715f943d1' }))));
24033
+ }, _ariaControls: this._ariaControls, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _role: this._role, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: 'a3f4b6dbd1a16d95024ab0825dcc5012b5ccd0af', class: "horizontal-line" }), hAsync(KolButtonWcTag, { key: 'd046ecef26cc8872fd17271258fd98b1daafa342', class: { 'secondary-button': true, [this._variant]: this._variant !== 'custom' }, _disabled: this._disabled, _hideLabel: true, _icons: "codicon codicon-triangle-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler, _variant: this._variant })), hAsync(KolPopoverWcTag, { key: '2b0eeafd1d2f2ef8960b932adb6a34315bce0910', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: 'f5eba083e4760144334a4ad225086781782f3809' }))));
24001
24034
  }
24002
24035
  async closePopup() {
24003
24036
  this.handleOnClose();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@public-ui/hydrate",
3
- "version": "2.2.11-rc.0",
3
+ "version": "2.2.11-rc.2",
4
4
  "license": "EUPL-1.2",
5
5
  "homepage": "https://public-ui.github.io",
6
6
  "repository": {
@@ -46,10 +46,10 @@
46
46
  ],
47
47
  "devDependencies": {
48
48
  "rimraf": "6.0.1",
49
- "@public-ui/components": "2.2.11-rc.0"
49
+ "@public-ui/components": "2.2.11-rc.2"
50
50
  },
51
51
  "peerDependencies": {
52
- "@public-ui/components": "2.2.11-rc.0"
52
+ "@public-ui/components": "2.2.11-rc.2"
53
53
  },
54
54
  "sideEffects": false,
55
55
  "type": "commonjs",