@public-ui/hydrate 3.0.2-rc.0 → 3.0.2-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.
Files changed (3) hide show
  1. package/dist/index.js +332 -181
  2. package/dist/index.mjs +332 -181
  3. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -4294,13 +4294,31 @@ const validateMsg = (component, value) => {
4294
4294
  }
4295
4295
  catch (e) {
4296
4296
  }
4297
- watchValidator(component, `_msg`, (value) => (isObject$2(value) && isString$3(value === null || value === void 0 ? void 0 : value._description, 1)) || (value === null || value === void 0 ? void 0 : value._type) === undefined, new Set(['MsgPropType']), value);
4297
+ watchValidator(component, `_msg`, (value) => {
4298
+ if (value === undefined) {
4299
+ return true;
4300
+ }
4301
+ if (typeof value === 'string' && value.length > 0) {
4302
+ return true;
4303
+ }
4304
+ if (isObject$2(value) && value !== null) {
4305
+ const objValue = value;
4306
+ return isString$3(objValue._description, 1);
4307
+ }
4308
+ return false;
4309
+ }, new Set(['MsgPropType', 'string']), value);
4298
4310
  });
4299
4311
  };
4300
4312
  function convertMsgToInternMsg(msg) {
4301
4313
  if (!msg) {
4302
4314
  return undefined;
4303
4315
  }
4316
+ if (typeof msg === 'string') {
4317
+ return {
4318
+ description: msg,
4319
+ type: 'error',
4320
+ };
4321
+ }
4304
4322
  return transformObjectProperties(msg);
4305
4323
  }
4306
4324
  function checkHasMsg(msg, touched) {
@@ -4522,7 +4540,7 @@ let KolInputCheckboxTag = 'kol-input-checkbox';
4522
4540
  let KolInputNumberTag = 'kol-input-number';
4523
4541
  let KolLinkTag = 'kol-link';
4524
4542
  let KolLinkWcTag = 'kol-link-wc';
4525
- let KolPaginationTag = 'kol-pagination';
4543
+ let KolPaginationWcTag = 'kol-pagination-wc';
4526
4544
  let KolPopoverWcTag = 'kol-popover-wc';
4527
4545
  let KolPopoverButtonWcTag = 'kol-popover-button-wc';
4528
4546
  let KolSelectTag = 'kol-select';
@@ -4629,18 +4647,14 @@ function isValidHeadingLevel(level) {
4629
4647
  function getHeadlineTag(level) {
4630
4648
  return isValidHeadingLevel(level) ? `h${level}` : 'strong';
4631
4649
  }
4632
- function getSubHeadlineTag(level) {
4633
- return level === 1 ? 'span' : getHeadlineTag(level);
4634
- }
4635
4650
  const KolHeadlineFc = (_a, children) => {
4636
4651
  var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
4637
4652
  const HeadlineTag = getHeadlineTag(level);
4638
4653
  return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline', `kol-headline--${HeadlineTag}`, classNames) }, other), children));
4639
4654
  };
4640
4655
  const KolSecondaryHeadlineFc = (_a, children) => {
4641
- var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
4642
- const HeadlineTag = getSubHeadlineTag(level + 1);
4643
- return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline kol-headline--group kol-headline--secondary', classNames) }, other), children));
4656
+ var { class: classNames } = _a, other = __rest(_a, ["class"]);
4657
+ return (hAsync("p", Object.assign({ class: clsx('kol-headline kol-headline--group kol-headline--secondary', classNames) }, other), children));
4644
4658
  };
4645
4659
  const KolHeadingFc = (_a, children) => {
4646
4660
  var { secondaryHeadline, level = MIN_HEADING_LEVEL, class: classNames, HeadingGroupProps = {}, SecondaryHeadlineProps = {} } = _a, other = __rest(_a, ["secondaryHeadline", "level", "class", "HeadingGroupProps", "SecondaryHeadlineProps"]);
@@ -4652,7 +4666,7 @@ const KolHeadingFc = (_a, children) => {
4652
4666
  const headlineGroupProps = Object.assign({ class: clsx('kol-heading-group', groupClassNames) }, groupOthers);
4653
4667
  return (hAsync("hgroup", Object.assign({}, headlineGroupProps),
4654
4668
  hAsync(KolHeadlineFc, Object.assign({ class: clsx(classNames, 'kol-headline--group', 'kol-headline--primary') }, headlineProps), children),
4655
- hAsync(KolSecondaryHeadlineFc, Object.assign({ level: level }, SecondaryHeadlineProps), secondaryHeadline)));
4669
+ hAsync(KolSecondaryHeadlineFc, Object.assign({}, SecondaryHeadlineProps), secondaryHeadline)));
4656
4670
  };
4657
4671
 
4658
4672
  const KolCollapsibleFc = (props, children) => {
@@ -5181,7 +5195,7 @@ const KolAlertFc = (props, children) => {
5181
5195
  [`h${level}`]: true,
5182
5196
  });
5183
5197
  const rootProps = Object.assign({ class: clsx(classNames, BEM_CLASS_ROOT), role: alert ? (type === 'error' ? 'alert' : 'status') : undefined }, other);
5184
- return (hAsync("div", Object.assign({}, rootProps),
5198
+ return (hAsync("div", Object.assign({}, rootProps, { "data-testid": "alert" }),
5185
5199
  hAsync("div", { class: "kol-alert__container" },
5186
5200
  hAsync(AlertIcon, { label: label, type: type }),
5187
5201
  hAsync("div", { class: "kol-alert__container-content" },
@@ -16632,25 +16646,28 @@ class KolButtonWc {
16632
16646
  var _a;
16633
16647
  (_a = this.buttonRef) === null || _a === void 0 ? void 0 : _a.focus();
16634
16648
  }
16649
+ async hideTooltip() {
16650
+ var _a;
16651
+ void ((_a = this.tooltipRef) === null || _a === void 0 ? void 0 : _a.hideTooltip());
16652
+ }
16635
16653
  render() {
16636
16654
  var _a, _b;
16637
16655
  const hasExpertSlot = showExpertSlot(this.state._label);
16638
16656
  const hasAriaDescription = Boolean((_b = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.length);
16639
16657
  const badgeText = this.state._accessKey || this.state._shortKey;
16640
- return (hAsync(Host, { key: '2b703fead6b1346566b8ba69fb37c3cdc5a5a537' }, hAsync("button", { key: 'eb4f2749f914c1dfcc37e1127b9af301f2e0c2f2', ref: this.catchRef, accessKey: this.state._accessKey || undefined, "aria-controls": this.state._ariaControls, "aria-describedby": hasAriaDescription ? this.internalDescriptionById : undefined, "aria-expanded": mapBoolean2String(this.state._ariaExpanded), "aria-haspopup": this._ariaHasPopup, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-selected": mapStringOrBoolean2String(this.state._ariaSelected), class: clsx('kol-button', {
16641
- 'kol-button--disabled': this.state._disabled === true,
16658
+ const isDisabled = this.state._disabled === true;
16659
+ const hideLabel = this.state._hideLabel === true;
16660
+ return (hAsync(Host, { key: '6a9f8d7a855452a4b414648a221df6cf5dcfa749' }, hAsync("button", { key: '3f09ae09eb8c046026337886dafbc625b76e8394', ref: (ref) => (this.buttonRef = ref), accessKey: this.state._accessKey || undefined, "aria-controls": this.state._ariaControls, "aria-describedby": hasAriaDescription ? this.internalDescriptionById : undefined, "aria-expanded": mapBoolean2String(this.state._ariaExpanded), "aria-haspopup": this._ariaHasPopup, "aria-label": hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-selected": mapStringOrBoolean2String(this.state._ariaSelected), class: clsx('kol-button', {
16661
+ 'kol-button--disabled': isDisabled,
16642
16662
  [`kol-button--${this.state._buttonVariant}`]: this.state._buttonVariant !== 'custom',
16643
16663
  [`kol-button--${this.state._linkVariant}`]: this.state._linkVariant,
16644
- 'kol-button--hide-label': this.state._hideLabel === true,
16664
+ 'kol-button--hide-label': hideLabel,
16645
16665
  [this.state._customClass]: this.state._buttonVariant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
16646
- }), disabled: this.state._disabled, id: this.state._id, name: this.state._name, onClick: this.onClick, onMouseDown: this.onMouseDown, role: this.state._role, tabIndex: this.state._tabIndex, type: this.state._type }, hAsync(KolSpanFc, { key: '2efcf0481450a17adeff115deb1d5f4dd401d450', class: "kol-button__text", badgeText: badgeText, icons: this.state._icons, hideLabel: this.state._hideLabel, label: hasExpertSlot ? '' : this.state._label }, hAsync("slot", { key: 'c0b27f62c80ac0f5ea5c90033e715e9519776f67', name: "expert", slot: "expert" }))), hAsync(KolTooltipWcTag, { key: '127bacca5614982dcd5ad452230b7be6f273de0d', "aria-hidden": "true", hidden: hasExpertSlot || !this.state._hideLabel, class: "kol-button__tooltip", _badgeText: badgeText, _align: this.state._tooltipAlign, _label: typeof this.state._label === 'string' ? this.state._label : '' }), hasAriaDescription && (hAsync("span", { key: 'a16e0c834c2ffb061402ca75ae5610b26042877c', class: "visually-hidden", id: this.internalDescriptionById }, this.state._ariaDescription))));
16666
+ }), disabled: isDisabled, id: this.state._id, name: this.state._name, onClick: this.onClick, onMouseDown: this.onMouseDown, role: this.state._role, tabIndex: this.state._tabIndex, type: this.state._type }, hAsync(KolSpanFc, { key: 'a1a9eb0f603577289872b455d2b829dc16059a5d', class: "kol-button__text", badgeText: badgeText, icons: this.state._icons, hideLabel: hideLabel, label: hasExpertSlot ? '' : this.state._label }, hAsync("slot", { key: '3736fd6e4afbcd32e5df4305bbac7cc50e42804b', name: "expert", slot: "expert" }))), hAsync(KolTooltipWcTag, { key: 'f44c22709f4a8eb6946c036abd05edd6158cbcb0', ref: (ref) => (this.tooltipRef = ref), "aria-hidden": "true", hidden: hasExpertSlot || !hideLabel, class: "kol-button__tooltip", _badgeText: badgeText, _align: this.state._tooltipAlign, _label: typeof this.state._label === 'string' ? this.state._label : '' }), hasAriaDescription && (hAsync("span", { key: 'babe6def97a72c16f9a21d595d02cd74f4450d68', class: "visually-hidden", id: this.internalDescriptionById }, this.state._ariaDescription))));
16647
16667
  }
16648
16668
  constructor(hostRef) {
16649
16669
  registerInstance(this, hostRef);
16650
16670
  this.internalDescriptionById = nonce();
16651
- this.catchRef = (ref) => {
16652
- this.buttonRef = ref;
16653
- };
16654
16671
  this.onClick = (event) => {
16655
16672
  var _a, _b;
16656
16673
  if (this.state._type === 'submit') {
@@ -16864,7 +16881,8 @@ class KolButtonWc {
16864
16881
  "_value": [8],
16865
16882
  "_buttonVariant": [1, "_button-variant"],
16866
16883
  "state": [32],
16867
- "kolFocus": [64]
16884
+ "kolFocus": [64],
16885
+ "hideTooltip": [64]
16868
16886
  },
16869
16887
  "$listeners$": undefined,
16870
16888
  "$lazyBundleId$": "-",
@@ -16929,7 +16947,7 @@ class KolCard {
16929
16947
  };
16930
16948
  }
16931
16949
  render() {
16932
- return (hAsync("div", { key: '459b910b39a061357474b7eb1a500bb08efe8b89', class: "kol-card" }, hAsync("div", { key: '564f7fcd86c1aa3d5a4a452b2e2502536706de8b', class: "kol-card__header" }, hAsync(KolHeadingFc, { key: '39f035c5c3ed1a28eaadf699a70ef90dfec6eba6', class: "kol-card__headline", level: this.state._level }, this.state._label)), hAsync("div", { key: '7cbe3a9d08443e2c15484d8e7c1c802c98798c67', class: "kol-card__content" }, hAsync("slot", { key: '09aabe1eec2f48032544bcfe9e563ed927204cd1' })), this.state._hasCloser && (hAsync(KolButtonWcTag, { key: 'f06b010aca26af488a67366493b9aceced466ef9', class: "kol-card__close-button", "data-testid": "card-close-button", _hideLabel: true, _icons: {
16950
+ return (hAsync("div", { key: '2c4c6ed4ad7ae1a4d94a2bce4b8112074407d3a4', class: "kol-card" }, hAsync("div", { key: '8d67307ad2d604f8385cf8324d4d2ca2ea8f3f59', class: "kol-card__header" }, hAsync(KolHeadingFc, { key: '0882673acb41e456947baba8f6ecd214c9ec14f6', class: "kol-card__headline", level: this.state._level }, this.state._label)), hAsync("div", { key: '707ac4c953039736573ed871b166938134e3e5db', class: "kol-card__content" }, hAsync("slot", { key: '6d3a0811b939a80ffb0665c113127a729b2c7a5c' })), this.state._hasCloser && (hAsync(KolButtonWcTag, { key: 'bb9c98cc3934e0f2d1507afbd6d1fd6368e3f3c8', class: "kol-card__close-button", "data-testid": "card-close-button", _hideLabel: true, _icons: {
16933
16951
  left: {
16934
16952
  icon: 'codicon codicon-close',
16935
16953
  },
@@ -17259,25 +17277,10 @@ class ComboboxController extends InputIconController {
17259
17277
  }
17260
17278
  }
17261
17279
 
17262
- const getRenderStates$1 = (state) => {
17263
- var _a;
17264
- const isMessageValid = ((_a = state._msg) === null || _a === void 0 ? void 0 : _a._type) === 'error';
17265
- const hasMsg = isMessageValid && state._touched === true;
17266
- const hasHint = typeof state._hint === 'string' && state._hint.length > 0;
17267
- const ariaDescribedBy = [];
17268
- if (hasMsg === true) {
17269
- ariaDescribedBy.push(`${state._id}-error`);
17270
- }
17271
- if (hasHint === true) {
17272
- ariaDescribedBy.push(`${state._id}-hint`);
17273
- }
17274
- return { hasMsg, hasHint, ariaDescribedBy };
17275
- };
17276
-
17277
17280
  const getRenderStates = (state) => {
17278
- var _a, _b, _c;
17279
- const hasMessage = Boolean(((_a = state === null || state === void 0 ? void 0 : state._msg) === null || _a === void 0 ? void 0 : _a._description) && ((_b = state._msg._description) === null || _b === void 0 ? void 0 : _b.length) > 0);
17280
- const isMessageValidError = ((_c = state._msg) === null || _c === void 0 ? void 0 : _c._type) === 'error' && hasMessage;
17281
+ const internMsg = convertMsgToInternMsg(state._msg);
17282
+ const hasMessage = Boolean((internMsg === null || internMsg === void 0 ? void 0 : internMsg.description) && internMsg.description.length > 0);
17283
+ const isMessageValidError = (internMsg === null || internMsg === void 0 ? void 0 : internMsg.type) === 'error' && hasMessage;
17281
17284
  const hasError = isMessageValidError && state._touched === true;
17282
17285
  const hasHint = typeof state._hint === 'string' && state._hint.length > 0;
17283
17286
  const ariaDescribedBy = [];
@@ -17414,8 +17417,15 @@ const CustomSuggestionsToggleFc = ({ onClick, disabled }) => {
17414
17417
  hAsync(KolIconTag, { _icons: "codicon codicon-triangle-down", _label: translate('kol-dropdown') })));
17415
17418
  };
17416
17419
 
17417
- const CustomSuggestionsOptionFc = ({ index, ref, selected, onClick, onMouseOver, onFocus, onKeyDown, option }) => {
17418
- return (hAsync("li", { id: `option-${index}`, key: `-${index}`, ref: ref, "data-index": index, tabIndex: -1, role: "option", "aria-selected": selected ? 'true' : undefined, onClick: onClick, onMouseOver: onMouseOver, onFocus: onFocus, class: "kol-custom-suggestions-option", onKeyDown: onKeyDown }, option));
17420
+ const CustomSuggestionsOptionFc = ({ index, ref, selected, onClick, onMouseOver, onFocus, onKeyDown, option, searchTerm }) => {
17421
+ const highlightSearchTerm = (text, searchTerm) => {
17422
+ if (!(searchTerm === null || searchTerm === void 0 ? void 0 : searchTerm.trim()))
17423
+ return text;
17424
+ const regex = new RegExp(`(${searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`, 'gi');
17425
+ const parts = text.split(regex);
17426
+ return parts.map((part, partIndex) => (regex.test(part) ? hAsync("mark", { key: partIndex }, part) : part));
17427
+ };
17428
+ return (hAsync("li", { id: `option-${index}`, key: `-${index}`, ref: ref, "data-index": index, tabIndex: -1, role: "option", "aria-selected": selected ? 'true' : undefined, onClick: onClick, onMouseOver: onMouseOver, onFocus: onFocus, class: "kol-custom-suggestions-option", onKeyDown: onKeyDown }, highlightSearchTerm(String(option), searchTerm || '')));
17419
17429
  };
17420
17430
 
17421
17431
  const CustomSuggestionsOptionsGroupFc = ({ blockSuggestionMouseOver, onKeyDown, style }, children) => {
@@ -17511,8 +17521,9 @@ class KolCombobox {
17511
17521
  };
17512
17522
  }
17513
17523
  getInputProps() {
17514
- const { ariaDescribedBy } = getRenderStates$1(this.state);
17515
- return Object.assign(Object.assign({ ref: this.catchRef, state: this.state, class: 'kol-combobox__input', type: 'text', role: 'combobox', 'aria-autocomplete': 'both', 'aria-expanded': this._isOpen ? 'true' : 'false', 'aria-controls': 'listbox', 'aria-describedby': ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, 'aria-label': this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, 'aria-labelledby': this.state._id, 'aria-activedescendant': this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, value: this.state._value, accessKey: this.state._accessKey, autocapitalize: 'off', autocorrect: 'off', disabled: this.state._disabled, customSuggestions: true, id: this.state._id, name: this.state._name, required: this.state._required }, this.controller.onFacade), { onFocus: (event) => {
17524
+ const { ariaDescribedBy } = getRenderStates(this.state);
17525
+ const isDisabled = this.state._disabled === true;
17526
+ return Object.assign(Object.assign({ ref: this.catchRef, state: this.state, class: 'kol-combobox__input', type: 'text', role: 'combobox', 'aria-autocomplete': 'both', 'aria-expanded': this._isOpen ? 'true' : 'false', 'aria-controls': 'listbox', 'aria-describedby': ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, 'aria-label': this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, 'aria-labelledby': this.state._id, 'aria-activedescendant': this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, value: this.state._value, accessKey: this.state._accessKey, autocapitalize: 'off', autocorrect: 'off', disabled: isDisabled, customSuggestions: true, id: this.state._id, name: this.state._name, required: this.state._required }, this.controller.onFacade), { onFocus: (event) => {
17516
17527
  this.controller.onFacade.onFocus(event);
17517
17528
  this.inputHasFocus = true;
17518
17529
  }, onBlur: (event) => {
@@ -17521,9 +17532,10 @@ class KolCombobox {
17521
17532
  }, onChange: this.onChange.bind(this), onInput: this.onInput.bind(this), placeholder: this.state._placeholder });
17522
17533
  }
17523
17534
  render() {
17524
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '44bc85c62caa382896b635dbc743f16d24863644' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'fd4b270034c88219b2f7f7eae2591334906ece02', state: this.state }, hAsync("div", { key: 'd4510edc466749cef9b6291afd9c282c77b88f8f', class: "kol-combobox__group" }, hAsync(InputStateWrapper, Object.assign({ key: 'ddc7d75b247724e081da3b8360238e271110cdca' }, this.getInputProps())), hAsync(CustomSuggestionsToggleFc, { key: '4531ca610c2f04d45072823222cac12c49c3ab74', onClick: this.toggleListbox.bind(this), disabled: this.state._disabled })), this._isOpen && !(this.state._disabled === true) && (hAsync(CustomSuggestionsOptionsGroupFc, { key: 'd995a87095216c4f1cf32b8e6c789dffffcf2572', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredSuggestions) &&
17535
+ const isDisabled = this.state._disabled === true;
17536
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '9f89099d13288a5cd29d465997f981af87f3ea78' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'a1a36eba79cd2806183335a2508b6cb7b0ba30d9', state: this.state }, hAsync("div", { key: 'e6728f39b4110f36660a5a4ff03675633182f6cd', class: "kol-combobox__group" }, hAsync(InputStateWrapper, Object.assign({ key: '2862ab237a6f51285017f1600fec89b42c6af92e' }, this.getInputProps())), hAsync(CustomSuggestionsToggleFc, { key: '143ca365fb53ba8c696571009e752115a25e6c44', onClick: this.toggleListbox.bind(this), disabled: isDisabled })), this._isOpen && !isDisabled && (hAsync(CustomSuggestionsOptionsGroupFc, { key: 'c72050779519042f4e1749e63af8637b46ba98be', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredSuggestions) &&
17525
17537
  this._filteredSuggestions.length > 0 &&
17526
- this._filteredSuggestions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { index: index, option: option, ref: (el) => {
17538
+ this._filteredSuggestions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { index: index, option: option, searchTerm: this.state._value, ref: (el) => {
17527
17539
  if (el)
17528
17540
  this.refSuggestions[index] = el;
17529
17541
  }, selected: this.state._value === option, onClick: () => {
@@ -17639,7 +17651,8 @@ class KolCombobox {
17639
17651
  this._focusedOptionIndex = -1;
17640
17652
  this.toggleListbox = () => {
17641
17653
  var _a;
17642
- if (this.state._disabled === true) {
17654
+ const isDisabled = this.state._disabled === true;
17655
+ if (isDisabled) {
17643
17656
  this._isOpen = false;
17644
17657
  }
17645
17658
  else {
@@ -18228,7 +18241,7 @@ class KolForm {
18228
18241
  }; }
18229
18242
  }
18230
18243
 
18231
- const defaultStyleCss$z = "/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}";
18244
+ const defaultStyleCss$z = "/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n.kol-headline--secondary {\n margin: 0;\n}";
18232
18245
  var KolHeadingDefaultStyle0 = defaultStyleCss$z;
18233
18246
 
18234
18247
  class KolHeading {
@@ -22300,6 +22313,7 @@ class KolNav {
22300
22313
  }), key: index }, this.entry(collapsible, hideLabel, hasChildren, link, expanded), expanded && hAsync(this.linkList, { collapsible: collapsible, hideLabel: hideLabel, deep: deep + 1, links: link._children || [], orientation: orientation })));
22301
22314
  }
22302
22315
  initializeExpandedChildren() {
22316
+ this.state = Object.assign(Object.assign({}, this.state), { _expandedChildren: [] });
22303
22317
  const handleBranch = (branch) => {
22304
22318
  if (branch._active) {
22305
22319
  if (branch._children) {
@@ -22328,9 +22342,9 @@ class KolNav {
22328
22342
  const collapsible = this.state._collapsible === true;
22329
22343
  const hideLabel = this.state._hideLabel === true;
22330
22344
  const orientation = this.state._orientation;
22331
- return (hAsync("div", { key: '41b5171c34c2c740b8b4dd8449e6334721e7cb19', class: clsx('kol-nav', `kol-nav--${orientation}`, {
22345
+ return (hAsync("div", { key: '1768f2d1d6794f07607ad8a9f3953a4f17d3cd06', class: clsx('kol-nav', `kol-nav--${orientation}`, {
22332
22346
  'kol-nav--is-compact': this.state._hideLabel,
22333
- }) }, hAsync("nav", { key: 'b0604a9fda51cb5e6435eb6187f3b461acc6743c', class: "kol-nav__navigation", "aria-label": this.state._label, id: "nav" }, hAsync(this.linkList, { key: 'ef7b63a443cf20b1ae7dfe96ce4561da14e26ef6', collapsible: collapsible, hideLabel: hideLabel, deep: 0, links: this.state._links, orientation: orientation })), hasCompactButton && (hAsync("div", { key: 'b65cdbaa29dbb9c490223969949eeaa28e9ad99e', class: "kol-nav__compact" }, hAsync(KolButtonWcTag, { key: '06923cae2ce196795887157deb943ce2009bddaf', class: "kol-nav__toggle-button", _ariaControls: "nav", _ariaExpanded: !hideLabel, _icons: hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left', _hideLabel: true, _label: translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize'), _on: {
22347
+ }) }, hAsync("nav", { key: '6fceaf6abe991a38a3c4bb98741c9e1c5ad2f11a', class: "kol-nav__navigation", "aria-label": this.state._label, id: "nav" }, hAsync(this.linkList, { key: '5ee2d35517877fad58f3c37446a88a4753a80bf5', collapsible: collapsible, hideLabel: hideLabel, deep: 0, links: this.state._links, orientation: orientation })), hasCompactButton && (hAsync("div", { key: 'd8b7bcb8d56bad5fadc02fc6362d84c597c5f0c8', class: "kol-nav__compact" }, hAsync(KolButtonWcTag, { key: 'a6e055cb523095f7dfeed9edc1fd4a847973cc55', class: "kol-nav__toggle-button", _ariaControls: "nav", _ariaExpanded: !hideLabel, _icons: hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left', _hideLabel: true, _label: translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize'), _on: {
22334
22348
  onClick: () => {
22335
22349
  this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: this.state._hideLabel === false });
22336
22350
  },
@@ -22361,6 +22375,7 @@ class KolNav {
22361
22375
  validateLinks(value) {
22362
22376
  watchNavLinks('KolNav', this, value);
22363
22377
  devHint(`[KolNav] The navigation structure is not yet validated recursively.`);
22378
+ this.initializeExpandedChildren();
22364
22379
  }
22365
22380
  validateOrientation(value) {
22366
22381
  watchValidator(this, '_orientation', (value) => value === 'horizontal' || value === 'vertical', new Set(['Orientation {horizontal, vertical}']), value, {
@@ -22411,9 +22426,52 @@ class KolNav {
22411
22426
  }; }
22412
22427
  }
22413
22428
 
22414
- const defaultStyleCss$h = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 /* TODO. Once #7126 is completed, move :host block into .kol-pagination */\n :host {\n align-items: center;\n display: grid;\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n grid-template-columns: 1fr auto;\n }\n .kol-pagination__navigation-list {\n align-items: center;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 0.5em;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n}";
22429
+ const defaultStyleCss$h = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 .kol-pagination {\n align-items: center;\n display: grid;\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n grid-template-columns: 1fr auto;\n }\n .kol-pagination__navigation-list {\n align-items: center;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 0.5em;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n}";
22415
22430
  var KolPaginationDefaultStyle0 = defaultStyleCss$h;
22416
22431
 
22432
+ class KolPagination {
22433
+ constructor(hostRef) {
22434
+ registerInstance(this, hostRef);
22435
+ this._boundaryCount = 1;
22436
+ this._customClass = undefined;
22437
+ this._label = undefined;
22438
+ this._hasButtons = true;
22439
+ this._page = undefined;
22440
+ this._pageSize = 1;
22441
+ this._pageSizeOptions = [];
22442
+ this._on = undefined;
22443
+ this._siblingCount = 1;
22444
+ this._tooltipAlign = 'top';
22445
+ this._max = undefined;
22446
+ }
22447
+ render() {
22448
+ return (hAsync(KolPaginationWcTag, { key: '14b17e953d67caaa9892271b9c19d40044558418', _boundaryCount: this._boundaryCount, _label: this._label, _customClass: this._customClass, _on: this._on, _hasButtons: this._hasButtons, _page: this._page, _pageSize: this._pageSize, _pageSizeOptions: this._pageSizeOptions, _siblingCount: this._siblingCount, _tooltipAlign: this._tooltipAlign, _max: this._max }));
22449
+ }
22450
+ static get style() { return {
22451
+ default: KolPaginationDefaultStyle0
22452
+ }; }
22453
+ static get cmpMeta() { return {
22454
+ "$flags$": 41,
22455
+ "$tagName$": "kol-pagination",
22456
+ "$members$": {
22457
+ "_boundaryCount": [2, "_boundary-count"],
22458
+ "_customClass": [1, "_custom-class"],
22459
+ "_label": [1],
22460
+ "_hasButtons": [8, "_has-buttons"],
22461
+ "_page": [2],
22462
+ "_pageSize": [1026, "_page-size"],
22463
+ "_pageSizeOptions": [1, "_page-size-options"],
22464
+ "_on": [16],
22465
+ "_siblingCount": [2, "_sibling-count"],
22466
+ "_tooltipAlign": [1, "_tooltip-align"],
22467
+ "_max": [2]
22468
+ },
22469
+ "$listeners$": undefined,
22470
+ "$lazyBundleId$": "-",
22471
+ "$attrsToReflect$": []
22472
+ }; }
22473
+ }
22474
+
22417
22475
  const leftDoubleArrowIcon = {
22418
22476
  left: 'codicon codicon-debug-reverse-continue',
22419
22477
  };
@@ -22437,7 +22495,7 @@ const NUMBER_FORMATTER = new Intl.NumberFormat(userLanguage, {
22437
22495
  minimumFractionDigits: 0,
22438
22496
  maximumFractionDigits: 0,
22439
22497
  });
22440
- class KolPagination {
22498
+ class KolPaginationWc {
22441
22499
  constructor(hostRef) {
22442
22500
  registerInstance(this, hostRef);
22443
22501
  this.nonce = nonce();
@@ -22464,7 +22522,7 @@ class KolPagination {
22464
22522
  });
22465
22523
  };
22466
22524
  this.onChangePageSize = (event, value) => {
22467
- value = parseInt(value[0]);
22525
+ value = parseInt(value);
22468
22526
  if (typeof value === 'number' && value > 0 && this._pageSize !== value) {
22469
22527
  this._pageSize = value;
22470
22528
  const timeout = setTimeout(() => {
@@ -22603,7 +22661,7 @@ class KolPagination {
22603
22661
  });
22604
22662
  return (hAsync(Host, { class: "kol-pagination" }, hAsync("nav", { class: "kol-pagination__navigation", "aria-label": this.state._label }, hAsync("ul", { class: "kol-pagination__navigation-list" }, this.state._hasButtons.first && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--first", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-first'), _on: this.onGoToFirst, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.previous && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--previous", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftSingleArrow, _hideLabel: true, _label: translate('kol-page-back'), _on: this.onGoBackward, _tooltipAlign: this.state._tooltipAlign }))), pageButtons, this.state._hasButtons.next && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--next", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightSingleArrowIcon, _hideLabel: true, _label: translate('kol-page-next'), _on: this.onGoForward, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.last && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--last", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-last'), _on: this.onGoToEnd, _tooltipAlign: this.state._tooltipAlign }))))), ((_a = this.state._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) > 0 && (hAsync(KolSelectTag, { class: "kol-pagination__page-size-select", _hideLabel: true, _id: `pagination-size-${this.nonce}`, _label: translate('kol-entries-per-site'), _options: this.state._pageSizeOptions, _on: {
22605
22663
  onChange: this.onChangePageSize,
22606
- }, _value: [this.state._pageSize] }))));
22664
+ }, _value: this.state._pageSize }))));
22607
22665
  }
22608
22666
  getUnselectedPageButton(page) {
22609
22667
  return (hAsync("li", { key: nonce() }, hAsync(KolButtonWcTag, { exportparts: "icon", _customClass: this.state._customClass, _label: "", _on: {
@@ -22743,12 +22801,9 @@ class KolPagination {
22743
22801
  "_max": ["validateMax"],
22744
22802
  "_tooltipAlign": ["validateTooltipAlign"]
22745
22803
  }; }
22746
- static get style() { return {
22747
- default: KolPaginationDefaultStyle0
22748
- }; }
22749
22804
  static get cmpMeta() { return {
22750
- "$flags$": 41,
22751
- "$tagName$": "kol-pagination",
22805
+ "$flags$": 0,
22806
+ "$tagName$": "kol-pagination-wc",
22752
22807
  "$members$": {
22753
22808
  "_boundaryCount": [2, "_boundary-count"],
22754
22809
  "_customClass": [1, "_custom-class"],
@@ -22813,8 +22868,9 @@ function getOppositeAxis(axis) {
22813
22868
  function getAxisLength(axis) {
22814
22869
  return axis === 'y' ? 'height' : 'width';
22815
22870
  }
22871
+ const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
22816
22872
  function getSideAxis(placement) {
22817
- return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
22873
+ return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
22818
22874
  }
22819
22875
  function getAlignmentAxis(placement) {
22820
22876
  return getOppositeAxis(getSideAxis(placement));
@@ -22839,19 +22895,19 @@ function getExpandedPlacements(placement) {
22839
22895
  function getOppositeAlignmentPlacement(placement) {
22840
22896
  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
22841
22897
  }
22898
+ const lrPlacement = ['left', 'right'];
22899
+ const rlPlacement = ['right', 'left'];
22900
+ const tbPlacement = ['top', 'bottom'];
22901
+ const btPlacement = ['bottom', 'top'];
22842
22902
  function getSideList(side, isStart, rtl) {
22843
- const lr = ['left', 'right'];
22844
- const rl = ['right', 'left'];
22845
- const tb = ['top', 'bottom'];
22846
- const bt = ['bottom', 'top'];
22847
22903
  switch (side) {
22848
22904
  case 'top':
22849
22905
  case 'bottom':
22850
- if (rtl) return isStart ? rl : lr;
22851
- return isStart ? lr : rl;
22906
+ if (rtl) return isStart ? rlPlacement : lrPlacement;
22907
+ return isStart ? lrPlacement : rlPlacement;
22852
22908
  case 'left':
22853
22909
  case 'right':
22854
- return isStart ? tb : bt;
22910
+ return isStart ? tbPlacement : btPlacement;
22855
22911
  default:
22856
22912
  return [];
22857
22913
  }
@@ -23635,6 +23691,8 @@ const inline = function (options) {
23635
23691
  };
23636
23692
  };
23637
23693
 
23694
+ const originSides = /*#__PURE__*/new Set(['left', 'top']);
23695
+
23638
23696
  // For type backwards-compatibility, the `OffsetOptions` type was also
23639
23697
  // Derivable.
23640
23698
 
@@ -23648,7 +23706,7 @@ async function convertValueToCoords(state, options) {
23648
23706
  const side = getSide(placement);
23649
23707
  const alignment = getAlignment(placement);
23650
23708
  const isVertical = getSideAxis(placement) === 'y';
23651
- const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
23709
+ const mainAxisMulti = originSides.has(side) ? -1 : 1;
23652
23710
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
23653
23711
  const rawValue = evaluate(options, state);
23654
23712
 
@@ -23848,7 +23906,7 @@ const limitShift = function (options) {
23848
23906
  if (checkCrossAxis) {
23849
23907
  var _middlewareData$offse, _middlewareData$offse2;
23850
23908
  const len = mainAxis === 'y' ? 'width' : 'height';
23851
- const isOriginSide = ['top', 'left'].includes(getSide(placement));
23909
+ const isOriginSide = originSides.has(getSide(placement));
23852
23910
  const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
23853
23911
  const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
23854
23912
  if (crossAxisCoord < limitMin) {
@@ -23993,6 +24051,7 @@ function isShadowRoot(value) {
23993
24051
  }
23994
24052
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
23995
24053
  }
24054
+ const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
23996
24055
  function isOverflowElement(element) {
23997
24056
  const {
23998
24057
  overflow,
@@ -24000,27 +24059,32 @@ function isOverflowElement(element) {
24000
24059
  overflowY,
24001
24060
  display
24002
24061
  } = getComputedStyle(element);
24003
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
24062
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
24004
24063
  }
24064
+ const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
24005
24065
  function isTableElement(element) {
24006
- return ['table', 'td', 'th'].includes(getNodeName(element));
24066
+ return tableElements.has(getNodeName(element));
24007
24067
  }
24068
+ const topLayerSelectors = [':popover-open', ':modal'];
24008
24069
  function isTopLayer(element) {
24009
- return [':popover-open', ':modal'].some(selector => {
24070
+ return topLayerSelectors.some(selector => {
24010
24071
  try {
24011
24072
  return element.matches(selector);
24012
- } catch (e) {
24073
+ } catch (_e) {
24013
24074
  return false;
24014
24075
  }
24015
24076
  });
24016
24077
  }
24078
+ const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
24079
+ const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
24080
+ const containValues = ['paint', 'layout', 'strict', 'content'];
24017
24081
  function isContainingBlock(elementOrCss) {
24018
24082
  const webkit = isWebKit();
24019
24083
  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
24020
24084
 
24021
24085
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
24022
24086
  // https://drafts.csswg.org/css-transforms-2/#individual-transforms
24023
- return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
24087
+ return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));
24024
24088
  }
24025
24089
  function getContainingBlock(element) {
24026
24090
  let currentNode = getParentNode(element);
@@ -24038,8 +24102,9 @@ function isWebKit() {
24038
24102
  if (typeof CSS === 'undefined' || !CSS.supports) return false;
24039
24103
  return CSS.supports('-webkit-backdrop-filter', 'none');
24040
24104
  }
24105
+ const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
24041
24106
  function isLastTraversableNode(node) {
24042
- return ['html', 'body', '#document'].includes(getNodeName(node));
24107
+ return lastTraversableNodeNames.has(getNodeName(node));
24043
24108
  }
24044
24109
  function getComputedStyle(element) {
24045
24110
  return getWindow(element).getComputedStyle(element);
@@ -24957,7 +25022,7 @@ class KolPopover {
24957
25022
  });
24958
25023
  }
24959
25024
  render() {
24960
- return (hAsync(Host, { key: '0e4417b04026533fed39e55e37c4b0257d1619ed', ref: this.catchHostAndTriggerElement, class: "kol-popover" }, hAsync("div", { key: '3135a074c8effed62444d63f72b17f4857532f21', class: clsx('kol-popover__content', { 'kol-popover__content--visible': this.state._visible }), ref: this.catchPopoverElement, hidden: !this.state._show }, hAsync("div", { key: 'f058aefc95d866b4fdb21b13ea1ca865b9e27106', class: clsx('kol-popover__arrow', `kol-popover__arrow--${this.state._align}`), ref: this.catchArrowElement }), hAsync("slot", { key: '9828753438fb3c917db8fd27ca1063b8acc09d84' }))));
25025
+ return (hAsync(Host, { key: '53179ace5c0dfabbe1dd00ba8ddfe453ef55ccd5', ref: this.catchHostAndTriggerElement, class: "kol-popover" }, hAsync("div", { key: 'f42aafe81aaa0a09526b4e9923a96133ee81c5d2', class: clsx('kol-popover__content', { 'kol-popover__content--visible': this.state._visible }), ref: this.catchPopoverElement, hidden: !this.state._show }, hAsync("div", { key: '25719436c820c214a2e3c0fac47449f842c4f68c', class: clsx('kol-popover__arrow', `kol-popover__arrow--${this.state._align}`), ref: this.catchArrowElement }), hAsync("slot", { key: 'fff04758761fb36389c6698b17730b604981ca66' }))));
24961
25026
  }
24962
25027
  validateAlign(value) {
24963
25028
  validateAlign(this, value);
@@ -24994,7 +25059,7 @@ class KolPopover {
24994
25059
  }; }
24995
25060
  }
24996
25061
 
24997
- const defaultStyleCss$g = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 :host {\n display: inline-block;\n }\n .kol-button {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"​\";\n }\n .kol-button__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n border: 1px solid #000;\n margin: 0;\n padding: 0;\n }\n}";
25062
+ const defaultStyleCss$g = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 :host {\n display: inline-block;\n }\n .kol-button {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"​\";\n }\n .kol-button__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n border: 0;\n margin: 0;\n padding: 0;\n }\n}";
24998
25063
  var KolPopoverButtonDefaultStyle0 = defaultStyleCss$g;
24999
25064
 
25000
25065
  class KolPopoverButton$1 {
@@ -25027,7 +25092,7 @@ class KolPopoverButton$1 {
25027
25092
  void ((_a = this.ref) === null || _a === void 0 ? void 0 : _a.hidePopover());
25028
25093
  }
25029
25094
  render() {
25030
- return (hAsync(KolPopoverButtonWcTag, { key: 'f116338f1f3cd8bb93907e4609d0fcbfea9992c4', ref: (element) => (this.ref = element), _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _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, _popoverAlign: this._popoverAlign, _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: '93fe9317598006721f26047934b261bdcb6274b2', name: "expert", slot: "expert" }), hAsync("slot", { key: 'ec45ecc130d0d980a933fc83a01ef2d5d61b7a93' })));
25095
+ return (hAsync(KolPopoverButtonWcTag, { key: '0a44e73709e339e865b30179bf6fb9ae3c43450e', ref: (element) => (this.ref = element), _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _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, _popoverAlign: this._popoverAlign, _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: 'd23b56ded35b20e1449d1cff05b6ad8bafb02a0b', name: "expert", slot: "expert" }), hAsync("slot", { key: '70ec7287f91d0333c2849a3a2deb259d13a19d09' })));
25031
25096
  }
25032
25097
  static get style() { return {
25033
25098
  default: KolPopoverButtonDefaultStyle0
@@ -25101,14 +25166,18 @@ class KolPopoverButton {
25101
25166
  void ((_a = this.refPopover) === null || _a === void 0 ? void 0 : _a.hidePopover());
25102
25167
  }
25103
25168
  handleBeforeToggle(event) {
25169
+ var _a;
25104
25170
  if (event.newState === 'closed') {
25105
25171
  this.justClosed = true;
25106
25172
  setTimeout(() => {
25107
25173
  this.justClosed = false;
25108
25174
  }, 10);
25109
25175
  }
25110
- else if (this.refPopover) {
25111
- this.refPopover.style.visibility = 'hidden';
25176
+ else {
25177
+ if (this.refPopover) {
25178
+ this.refPopover.style.visibility = 'hidden';
25179
+ }
25180
+ void ((_a = this.refButton) === null || _a === void 0 ? void 0 : _a.hideTooltip());
25112
25181
  }
25113
25182
  }
25114
25183
  alignPopover() {
@@ -25152,7 +25221,7 @@ class KolPopoverButton {
25152
25221
  (_c = this.cleanupAutoPositioning) === null || _c === void 0 ? void 0 : _c.call(this);
25153
25222
  }
25154
25223
  render() {
25155
- return (hAsync("div", { key: '2dacb79a5409c806df4d034ae9cd6aa3decb9a63', class: "kol-popover-button" }, hAsync(KolButtonWcTag, { key: 'd514f8f8e3208f140aed7ed14b263467e6f6b065', _accessKey: this._accessKey, "_aria-controls": "popover", _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this.popoverOpen, _ariaHasPopup: 'dialog', _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, _buttonVariant: this._variant, "data-testid": "popover-button", class: "kol-popover-button__button", ref: (element) => (this.refButton = element), onClick: this.handleButtonClick.bind(this) }, hAsync("slot", { key: 'e052e61aff815944f46363f663df0f1db3b0da24', name: "expert", slot: "expert" })), hAsync("div", { key: '82aa1f6d4bfc555726160e50a2dd0000e4324847', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: 'fa8ac92afc9062d727dfc8599f83515b1523d9ba' }))));
25224
+ return (hAsync("div", { key: 'ce2a09abe5795087e57d9b31917aace9f3588787', class: "kol-popover-button" }, hAsync(KolButtonWcTag, { key: '78ff052dd94da52e982894dd12e18e3cbbecf8e9', _accessKey: this._accessKey, "_aria-controls": "popover", _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this.popoverOpen, _ariaHasPopup: 'dialog', _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, _buttonVariant: this._variant, "data-testid": "popover-button", class: "kol-popover-button__button", ref: (element) => (this.refButton = element), onClick: this.handleButtonClick.bind(this) }, hAsync("slot", { key: '4f23e6cbf0560b8c009e735dd595fc938639446b', name: "expert", slot: "expert" })), hAsync("div", { key: '393e9b2cfa9e258db6a502d375d1d87283ddf090', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: 'cf20c5da537291c96882eeb5720527704ca421c8' }))));
25156
25225
  }
25157
25226
  validatePopoverAlign(value) {
25158
25227
  validatePopoverAlign(this, value);
@@ -25209,7 +25278,7 @@ const CycleSvg = ({ state }) => {
25209
25278
  };
25210
25279
  const BarSvg = ({ state }) => {
25211
25280
  const percentage = 100 * (state._value / state._max);
25212
- return (hAsync("svg", { xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "12", overflow: "visible" }, hAsync("rect", { class: "kol-progress__bar-background", x: "1", y: "1", height: "11", rx: "5", fill: "currentColor", stroke: "currentColor", "stroke-width": "3", style: { width: `100%` } }), hAsync("rect", { class: "kol-progress__bar-border", x: "1", y: "1", height: "11", rx: "5", fill: "currentColor", stroke: "currentColor", "stroke-width": "1", style: { width: `100%` } }), hAsync("rect", { class: "kol-progress__bar-progress", x: "3", y: "3", height: "7", rx: "3.5", fill: "currentColor", stroke: "currentColor", "stroke-width": "3", style: { width: `calc(${percentage}% - 4px)` } })));
25281
+ return (hAsync("svg", { xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "12", overflow: "visible" }, hAsync("rect", { class: "kol-progress__bar-background", x: "1", y: "1", height: "11", rx: "5", fill: "currentColor", stroke: "currentColor", "stroke-width": "3", width: "100%" }), hAsync("rect", { class: "kol-progress__bar-border", x: "1", y: "1", height: "11", rx: "5", fill: "currentColor", stroke: "currentColor", "stroke-width": "1", width: "100%" }), hAsync("rect", { class: "kol-progress__bar-progress", x: "3", y: "3", height: "7", rx: "3.5", fill: "currentColor", stroke: "currentColor", "stroke-width": "3", style: { width: `calc(${percentage}% - 4px)` } })));
25213
25282
  };
25214
25283
  const createProgressSVG = (state) => {
25215
25284
  switch (state._variant) {
@@ -25241,10 +25310,10 @@ class KolProgress {
25241
25310
  const isPercentage = this.state._unit === '%';
25242
25311
  const liveProgressValue = isPercentage ? `${Math.round((this.state._liveValue / this.state._max) * 100)}` : this.state._liveValue;
25243
25312
  const displayValue = isPercentage ? Math.round((this.state._value / this.state._max) * 100) : this.state._value;
25244
- return (hAsync("div", { key: 'c48ac85de814b2b78da6ec99a26c299bdb5d4022', class: "kol-progress" }, hAsync("div", { key: '78ea68e2f7f167fe2fa3602dad06d81d109e2521', "aria-hidden": "true", class: {
25313
+ return (hAsync("div", { key: '821bf1d4fece816591e8b567cf2026b44eb4b278', class: "kol-progress" }, hAsync("div", { key: '59bcae97c107e7b369ceb28a96b70215cfff498b', "aria-hidden": "true", class: {
25245
25314
  'kol-progress__cycle': this.state._variant === 'cycle',
25246
25315
  'kol-progress__bar': this.state._variant === 'bar',
25247
- } }, this.state._variant === 'bar' && this.state._label && hAsync("div", { key: '5279fbb55640dea2f99b04fb4a0ef1eea60c10eb', class: "kol-progress__bar-label" }, this.state._label), createProgressSVG(this.state), this.state._variant === 'cycle' && (hAsync("div", { key: '650a0b648e2bb305fb3a1bdb69844b3ca6d5ee3b', class: "kol-progress__cycle-text" }, this.state._label && hAsync("div", { key: '0b9b4f87b7f5b3db52c68cf0086f1fd66d44ef06', class: "kol-progress__cycle-label" }, this.state._label), hAsync("div", { key: '05cfafd57913ac9f320de511574fd2352eafb26b', class: "kol-progress__cycle-value" }, `${displayValue} ${this.state._unit}`))), this.state._variant === 'bar' && (hAsync("div", { key: '840ba597045f909ef61e3c4e68582258609fa8b7', class: "kol-progress__bar-value", style: { width: `${`${(isPercentage ? 100 : this.state._max) + 1}`.length}ch` } }, displayValue)), this.state._variant === 'bar' && hAsync("div", { key: '4bfe04e8e60c7414b8330271cc99bcbaf0d70b01', class: "kol-progress__bar-unit" }, this.state._unit)), hAsync("progress", { key: '63a9fc04563bb96e968bbf9ae7aa7ebd2c41f846', class: "visually-hidden", "aria-busy": this.state._value < this.state._max ? 'true' : 'false', max: this.state._max, value: this.state._value }), hAsync("span", { key: 'a316bbf889b073525bd53b32138710ff7d7d6c4c', "aria-live": "polite", "aria-relevant": "removals text", class: "visually-hidden" }, isPercentage ? `${liveProgressValue} %` : `${liveProgressValue} von ${this.state._max} ${this.state._unit}`)));
25316
+ } }, this.state._variant === 'bar' && this.state._label && hAsync("div", { key: '72598c6fb849503f400b75fdb3789673c580886e', class: "kol-progress__bar-label" }, this.state._label), createProgressSVG(this.state), this.state._variant === 'cycle' && (hAsync("div", { key: '18c2541fe253d1c823734d845122827e2953a04e', class: "kol-progress__cycle-text" }, this.state._label && hAsync("div", { key: '74c81b2090e32b4d9eaa16636cb9c5c5114c46ad', class: "kol-progress__cycle-label" }, this.state._label), hAsync("div", { key: '3a32c98fca4adc2658c36ec72249f297dc1175c3', class: "kol-progress__cycle-value" }, `${displayValue} ${this.state._unit}`))), this.state._variant === 'bar' && (hAsync("div", { key: '4fc52d6d486fc97becfb8d1a45a1ba98975abafd', class: "kol-progress__bar-value", style: { width: `${`${(isPercentage ? 100 : this.state._max) + 1}`.length}ch` } }, displayValue)), this.state._variant === 'bar' && hAsync("div", { key: 'a21584bb20a71bc0931a08e7d98ed358748c4685', class: "kol-progress__bar-unit" }, this.state._unit)), hAsync("progress", { key: 'de96c7da155a8b40d393601abfd8854c4b195a68', class: "visually-hidden", "aria-busy": this.state._value < this.state._max ? 'true' : 'false', max: this.state._max, value: this.state._value }), hAsync("span", { key: '85870eee4599c14b3124f211539fecbdfa605dab', "aria-live": "polite", "aria-relevant": "removals text", class: "visually-hidden" }, isPercentage ? `${liveProgressValue} %` : `${liveProgressValue} von ${this.state._max} ${this.state._unit}`)));
25248
25317
  }
25249
25318
  validateLabel(value) {
25250
25319
  validateLabel(this, value);
@@ -25354,7 +25423,7 @@ class KolQuote {
25354
25423
  }
25355
25424
  render() {
25356
25425
  const hasExpertSlot = showExpertSlot(this.state._quote);
25357
- return (hAsync("figure", { key: '78d631f0d5dd0dad6b89eae8b0dc4dbaf4ead851', class: clsx('kol-quote', `kol-quote--${this.state._variant}`) }, this.state._variant === 'block' ? (hAsync("blockquote", { class: "kol-quote__blockquote", cite: this.state._href }, this.state._quote, hAsync("span", { "aria-hidden": !hasExpertSlot ? 'true' : undefined, hidden: !hasExpertSlot }, hAsync("slot", { name: "expert" })))) : (hAsync("q", { class: "kol-quote__quote", cite: this.state._href }, this.state._quote, hAsync("span", { "aria-hidden": !hasExpertSlot ? 'true' : undefined, hidden: !hasExpertSlot }, hAsync("slot", { name: "expert" })))), typeof this.state._label === 'string' && this.state._label.length > 0 && (hAsync("figcaption", { key: 'c4d64d8ac6593ac6dcd153c2f4fbb18b7c327278', class: "kol-quote__figcaption" }, hAsync("cite", { key: 'a7d71571245e7110e97cf9e37bd0560ed5f67a88', class: "kol-quote__cite" }, hAsync(KolLinkTag, { key: '295878eecc876a4e9864dd87e779318f30a0dd63', _href: this.state._href, _label: this.state._label, _target: "_blank" }))))));
25426
+ return (hAsync("figure", { key: 'e68968696617503220e774f6b0a11c6c7f256582', class: clsx('kol-quote', `kol-quote--${this.state._variant}`) }, this.state._variant === 'block' ? (hAsync("blockquote", { class: "kol-quote__blockquote", cite: this.state._href }, this.state._quote, hAsync("span", { "aria-hidden": !hasExpertSlot ? 'true' : undefined, hidden: !hasExpertSlot }, hAsync("slot", { name: "expert" })))) : (hAsync("q", { class: "kol-quote__quote", cite: this.state._href }, this.state._quote, hAsync("span", { "aria-hidden": !hasExpertSlot ? 'true' : undefined, hidden: !hasExpertSlot }, hAsync("slot", { name: "expert" })))), typeof this.state._label === 'string' && this.state._label.length > 0 && (hAsync("figcaption", { key: '918f5c9884c03b3275473276624f4585490a2069', class: "kol-quote__figcaption" }, hAsync("cite", { key: '609c527c94b38135a0fb2af474f39b61ce69bc74', class: "kol-quote__cite" }, hAsync(KolLinkTag, { key: 'ade63d54115b41bfaa130c054023b0004e49dda5', _href: this.state._href, _label: this.state._label, _target: "_blank" }))))));
25358
25427
  }
25359
25428
  static get watchers() { return {
25360
25429
  "_label": ["validateLabel"],
@@ -25402,6 +25471,10 @@ class SelectController extends InputIconController {
25402
25471
  }
25403
25472
  };
25404
25473
  this.beforePatchOptions = (_value, nextState) => {
25474
+ const raw = nextState.get('_value');
25475
+ if (raw !== undefined && !Array.isArray(raw)) {
25476
+ nextState.set('_value', [raw]);
25477
+ }
25405
25478
  const options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;
25406
25479
  if (Array.isArray(options) && options.length > 0) {
25407
25480
  this.keyOptionMap.clear();
@@ -25429,6 +25502,7 @@ class SelectController extends InputIconController {
25429
25502
  });
25430
25503
  }
25431
25504
  validateMultiple(value) {
25505
+ this.assertComponentValueMatchesMultiplicity(value === true);
25432
25506
  watchBoolean(this.component, '_multiple', value, {
25433
25507
  hooks: {
25434
25508
  afterPatch: this.afterPatchOptions,
@@ -25443,7 +25517,8 @@ class SelectController extends InputIconController {
25443
25517
  validateRows(this.component, value);
25444
25518
  }
25445
25519
  validateValue(value) {
25446
- watchJsonArrayString(this.component, '_value', () => true, value, undefined, {
25520
+ this.assertValueMatchesMultiplicity(value);
25521
+ watchJsonArrayString(this.component, '_value', () => true, value === undefined ? [] : Array.isArray(value) ? value : [value], undefined, {
25447
25522
  hooks: {
25448
25523
  afterPatch: this.afterPatchOptions,
25449
25524
  beforePatch: this.beforePatchOptions,
@@ -25458,6 +25533,33 @@ class SelectController extends InputIconController {
25458
25533
  this.validateRows(this.component._rows);
25459
25534
  this.validateValue(this.component._value);
25460
25535
  }
25536
+ assertValueMatchesMultiplicity(value) {
25537
+ const isArray = Array.isArray(value);
25538
+ const isMultiple = this.component._multiple === true;
25539
+ if (isMultiple) {
25540
+ if (value !== undefined && !isArray) {
25541
+ throw new Error(`↑ The schema for the property (_value) is not valid for multiple mode. Expected an array. The value will not be changed. (received = ${JSON.stringify(value)})`);
25542
+ }
25543
+ }
25544
+ else {
25545
+ if (isArray) {
25546
+ throw new Error(`↑ The schema for the property (_value) is not valid for single mode. Expected a single value. The value will not be changed. (received = ${JSON.stringify(value)})`);
25547
+ }
25548
+ }
25549
+ }
25550
+ assertComponentValueMatchesMultiplicity(isMultiple) {
25551
+ const rawValue = this.component._value;
25552
+ if (isMultiple) {
25553
+ if (rawValue !== undefined && !Array.isArray(rawValue)) {
25554
+ throw new Error(`↑ The schema for the property (_value) is not valid for multiple mode. Expected an array. The value will not be changed. (current = ${JSON.stringify(rawValue)})`);
25555
+ }
25556
+ }
25557
+ else {
25558
+ if (Array.isArray(rawValue)) {
25559
+ throw new Error(`↑ The schema for the property (_value) is not valid for single mode. Expected a single value. The value will not be changed. (current = ${JSON.stringify(rawValue)})`);
25560
+ }
25561
+ }
25562
+ }
25461
25563
  }
25462
25564
 
25463
25565
  const NativeOptionFc = (_a) => {
@@ -25540,7 +25642,12 @@ var KolSelectDefaultStyle0 = defaultStyleCss$d;
25540
25642
 
25541
25643
  class KolSelect {
25542
25644
  async getValue() {
25543
- return this.state._value;
25645
+ if (this._multiple) {
25646
+ return this.state._value;
25647
+ }
25648
+ else {
25649
+ return Array.isArray(this.state._value) && this.state._value.length > 0 ? this.state._value[0] : this.state._value;
25650
+ }
25544
25651
  }
25545
25652
  async kolFocus() {
25546
25653
  var _a;
@@ -25567,13 +25674,13 @@ class KolSelect {
25567
25674
  } });
25568
25675
  }
25569
25676
  render() {
25570
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'cefd579b38a495e4000cbabb3b929357b7139efc' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '5185f5ca0cde756999e6c57b1b200c8b2030a78b', state: this.state }, hAsync("form", { key: '74cdb0d8519acd611debfdb5338a6f398bedce27', onSubmit: (event) => {
25677
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'ee750f61ab5efaaeab5ce0d12f1e3245d247754d' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '6de71358b80c74c26932b9fc10646d875bf30604', state: this.state }, hAsync("form", { key: '18fa34b10cf838d759485a347815f41d5dca4107', onSubmit: (event) => {
25571
25678
  event.preventDefault();
25572
25679
  propagateSubmitEventToForm({
25573
25680
  form: this.host,
25574
25681
  ref: this.selectRef,
25575
25682
  });
25576
- } }, hAsync("input", { key: '5cb7da582c0711714ebe1400cd51c0cea4f26303', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: 'c8454ca15f481efc2d30426d09d3a946e736773a' }, this.getSelectProps()))))));
25683
+ } }, hAsync("input", { key: 'ee1aaa654136323417f2c422ecb7c338d00e6f71', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: '8a734360f69205b8d4da153962b70ad832e552de' }, this.getSelectProps()))))));
25577
25684
  }
25578
25685
  constructor(hostRef) {
25579
25686
  registerInstance(this, hostRef);
@@ -25684,13 +25791,26 @@ class KolSelect {
25684
25791
  }
25685
25792
  onInput(event) {
25686
25793
  var _a;
25687
- this._value = Array.from(((_a = this.selectRef) === null || _a === void 0 ? void 0 : _a.options) || [])
25688
- .filter((option) => option.selected === true)
25794
+ const selectedValues = Array.from(((_a = this.selectRef) === null || _a === void 0 ? void 0 : _a.options) || [])
25795
+ .filter((option) => option.selected)
25689
25796
  .map((option) => { var _a; return (_a = this.controller.getOptionByKey(option.value)) === null || _a === void 0 ? void 0 : _a.value; });
25690
- this.controller.onFacade.onInput(event, true, this._value);
25797
+ if (this._multiple) {
25798
+ this._value = selectedValues;
25799
+ this.controller.onFacade.onInput(event, true, selectedValues);
25800
+ }
25801
+ else {
25802
+ const singleValue = selectedValues.length > 0 ? selectedValues[0] : undefined;
25803
+ this._value = singleValue;
25804
+ this.controller.onFacade.onInput(event, true, singleValue);
25805
+ }
25691
25806
  }
25692
25807
  onChange(event) {
25693
- this.controller.onFacade.onChange(event, this._value);
25808
+ if (this._multiple) {
25809
+ this.controller.onFacade.onChange(event, this._value);
25810
+ }
25811
+ else {
25812
+ this.controller.onFacade.onChange(event, this._value);
25813
+ }
25694
25814
  }
25695
25815
  get host() { return getElement(this); }
25696
25816
  static get watchers() { return {
@@ -25742,7 +25862,7 @@ class KolSelect {
25742
25862
  "_tabIndex": [2, "_tab-index"],
25743
25863
  "_tooltipAlign": [1, "_tooltip-align"],
25744
25864
  "_touched": [1540],
25745
- "_value": [1537],
25865
+ "_value": [1544],
25746
25866
  "state": [32],
25747
25867
  "inputHasFocus": [32],
25748
25868
  "getValue": [64],
@@ -25818,16 +25938,21 @@ class KolSingleSelect {
25818
25938
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
25819
25939
  }
25820
25940
  onBlur() {
25821
- var _a;
25822
- if (Array.isArray(this.state._options) && this.state._options.length > 0 && !this.state._options.some((option) => option.label === this._inputValue)) {
25823
- this._inputValue = (_a = this.state._options.find((option) => option.value === this._value)) === null || _a === void 0 ? void 0 : _a.label;
25941
+ var _a, _b, _c;
25942
+ const matchingOption = (_a = this.state._options) === null || _a === void 0 ? void 0 : _a.find((option) => { var _a, _b; return ((_a = option.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = this._inputValue) === null || _b === void 0 ? void 0 : _b.toLowerCase()); });
25943
+ if (matchingOption) {
25944
+ this.selectOption(matchingOption);
25945
+ }
25946
+ else {
25947
+ this._inputValue = (_c = (_b = this.state._options) === null || _b === void 0 ? void 0 : _b.find((option) => option.value === this._value)) === null || _c === void 0 ? void 0 : _c.label;
25824
25948
  this._filteredOptions = [...this.state._options];
25825
25949
  }
25826
25950
  this._isOpen = false;
25827
25951
  this._hasOpened = false;
25828
25952
  }
25829
25953
  clearSelection() {
25830
- if (this.state._disabled) {
25954
+ const isDisabled = this.state._disabled === true;
25955
+ if (isDisabled) {
25831
25956
  return;
25832
25957
  }
25833
25958
  else {
@@ -25836,8 +25961,8 @@ class KolSingleSelect {
25836
25961
  this._value = emptyValue;
25837
25962
  this._inputValue = '';
25838
25963
  this._filteredOptions = [...this.state._options];
25839
- this.controller.onFacade.onInput(new CustomEvent('input', { bubbles: true, detail: { name: this.state._name, value: emptyValue } }), true, emptyValue);
25840
- this.controller.onFacade.onChange(new CustomEvent('change', { bubbles: true, detail: { name: this.state._name, value: emptyValue } }), emptyValue);
25964
+ this.controller.onFacade.onInput(new CustomEvent('input', { bubbles: true, detail: { name: this.state._name, value: emptyValue } }), true, { value: emptyValue });
25965
+ this.controller.onFacade.onChange(new CustomEvent('change', { bubbles: true, detail: { name: this.state._name, value: emptyValue } }), { value: emptyValue });
25841
25966
  }
25842
25967
  }
25843
25968
  selectOption(option) {
@@ -25911,8 +26036,9 @@ class KolSingleSelect {
25911
26036
  };
25912
26037
  }
25913
26038
  getInputProps() {
25914
- const { ariaDescribedBy } = getRenderStates$1(this.state);
25915
- return Object.assign(Object.assign({ 'aria-activedescendant': this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, 'aria-autocomplete': 'both', 'aria-controls': 'listbox', 'aria-describedby': ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, 'aria-label': this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, accessKey: this.state._accessKey, autocapitalize: 'off', autocorrect: 'off', class: 'kol-single-select__input', disabled: this.state._disabled, name: this.state._name, placeholder: this.state._placeholder, ref: this.catchRef, required: this.state._required, state: this.state, type: 'text', value: this._inputValue }, this.controller.onFacade), { onChange: this.onChange.bind(this), onClick: this.onClick.bind(this), onInput: this.onInput.bind(this), onFocus: (event) => {
26039
+ const { ariaDescribedBy } = getRenderStates(this.state);
26040
+ const isDisabled = this.state._disabled === true;
26041
+ return Object.assign(Object.assign({ 'aria-activedescendant': this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, 'aria-autocomplete': 'both', 'aria-controls': 'listbox', 'aria-describedby': ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, 'aria-label': this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, accessKey: this.state._accessKey, autocapitalize: 'off', autocorrect: 'off', class: 'kol-single-select__input', disabled: isDisabled, name: this.state._name, placeholder: this.state._placeholder, ref: this.catchRef, required: this.state._required, state: this.state, type: 'text', value: this._inputValue }, this.controller.onFacade), { onChange: this.onChange.bind(this), onClick: this.onClick.bind(this), onInput: this.onInput.bind(this), onFocus: (event) => {
25916
26042
  this.controller.onFacade.onFocus(event);
25917
26043
  this.inputHasFocus = true;
25918
26044
  }, onBlur: (event) => {
@@ -25922,13 +26048,14 @@ class KolSingleSelect {
25922
26048
  }
25923
26049
  render() {
25924
26050
  var _a;
25925
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '23fc505e38f0d76c21eba472c85143cf15230f70' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'ef29ccf5ff6f6aa206c8e55b1eb534d4ade29617', state: this.state }, hAsync("div", { key: '4caf86c5feb559d8067f2c6fc9d8cf1d5809e62f', class: "kol-single-select__group" }, hAsync(InputStateWrapper, Object.assign({ key: 'a6a72c275cbb6c944f635738190d5075dae6dde8' }, this.getInputProps())), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: 'da7bb5a28584183085464e1c870bd1b1e9f5a54d', _icons: "codicon codicon-close", "data-testid": "single-select-delete", _label: translate('kol-delete-selection'), onClick: () => {
26051
+ const isDisabled = this.state._disabled === true;
26052
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '39b2848c0636fbafd9bfa27ad64a656a1cc52e8d' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'cd32fb229cc56a6dbf215f36bd8d4a844d82544b', state: this.state }, hAsync("div", { key: '32d4e95487ce6ea9bbd3f06ad4a322d18c7cefa1', class: "kol-single-select__group" }, hAsync(InputStateWrapper, Object.assign({ key: 'e7bae179cfa26e53ee953d1ee1ac2ae90f102797' }, this.getInputProps())), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: '736590a943c6f67651ccfa8baa960d25eadcc481', _icons: "codicon codicon-close", "data-testid": "single-select-delete", _label: translate('kol-delete-selection'), onClick: () => {
25926
26053
  var _a;
25927
26054
  this.clearSelection();
25928
26055
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
25929
26056
  }, class: clsx('kol-single-select__delete', {
25930
- 'kol-single-select__delete--disabled': this.state._disabled,
25931
- }) })), hAsync(CustomSuggestionsToggleFc, { key: '6ed5dfdd0465c0aa15745ed3b0210eec01f769e2', onClick: this.toggleListbox.bind(this), disabled: this.state._disabled })), this._isOpen && !(this.state._disabled === true) && (hAsync(CustomSuggestionsOptionsGroupFc, { key: 'f6caab6259e0928ecdff02385e690ff6aba9bbb4', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this), style: { '--visible-options': `${(_a = this._rows) !== null && _a !== void 0 ? _a : 5}` } }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { index: index, option: option.label, ref: (el) => {
26057
+ 'kol-single-select__delete--disabled': isDisabled,
26058
+ }) })), hAsync(CustomSuggestionsToggleFc, { key: '34d7ddddda47097b0cdc607e5db0c9afa9e4ae1c', onClick: this.toggleListbox.bind(this), disabled: isDisabled })), this._isOpen && !isDisabled && (hAsync(CustomSuggestionsOptionsGroupFc, { key: '4ce6e47c707649893ec1c10ec0cb89e81a363b31', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this), style: { '--visible-options': `${(_a = this._rows) !== null && _a !== void 0 ? _a : 5}` } }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { index: index, option: option.label, searchTerm: this._inputValue, ref: (el) => {
25932
26059
  if (el)
25933
26060
  this.refOptions[index] = el;
25934
26061
  }, selected: this._value === option.value, onClick: (event) => {
@@ -26067,7 +26194,8 @@ class KolSingleSelect {
26067
26194
  this.toggleListbox = (event) => {
26068
26195
  var _a;
26069
26196
  event === null || event === void 0 ? void 0 : event.preventDefault();
26070
- if (this.state._disabled) {
26197
+ const isDisabled = this.state._disabled === true;
26198
+ if (isDisabled) {
26071
26199
  return;
26072
26200
  }
26073
26201
  else {
@@ -26297,7 +26425,7 @@ class KolSkipNav {
26297
26425
  };
26298
26426
  }
26299
26427
  render() {
26300
- return (hAsync("nav", { key: 'fc580f9edeb7512ee0a0aafc3fdc5abbd805d90a', class: "kol-skip-nav", "aria-label": this.state._label }, hAsync("ul", { key: '821ae6e29469bf0a078742202e18a2c8f80d9f71', class: "kol-skip-nav__list" }, this.state._links.map((link, index) => {
26428
+ return (hAsync("nav", { key: '912f8ac6ce63cddd0fa738db9ef6ff987b2a2db9', class: "kol-skip-nav", "aria-label": this.state._label }, hAsync("ul", { key: '79991f7d918e9bbf6891d479804f2520356f2a41', class: "kol-skip-nav__list" }, this.state._links.map((link, index) => {
26301
26429
  return (hAsync("li", { class: "kol-skip-nav__list-item", key: index }, hAsync(KolLinkWcTag, Object.assign({}, link))));
26302
26430
  }))));
26303
26431
  }
@@ -26365,7 +26493,7 @@ class KolSpin {
26365
26493
  };
26366
26494
  }
26367
26495
  render() {
26368
- return (hAsync(Host, { key: 'b862ca1a3c7cdc1ffbd8148e095fbd601c875ecb', class: "kol-spin" }, this.state._show ? (hAsync("span", { "aria-busy": "true", "aria-label": translate('kol-action-running'), "aria-live": "polite", class: clsx('kol-spin__spinner', `kol-spin__spinner--${this.state._variant}`), role: "alert" }, renderSpin(this.state._variant))) : (this.showToggled && hAsync("span", { "aria-label": translate('kol-action-done'), "aria-busy": "false", "aria-live": "polite", role: "alert" }))));
26496
+ return (hAsync(Host, { key: 'e1cc9c4961a7a43913cf6386c2c6ce4414afe256', class: "kol-spin" }, this.state._show ? (hAsync("span", { "aria-busy": "true", "aria-label": translate('kol-action-running'), "aria-live": "polite", class: clsx('kol-spin__spinner', `kol-spin__spinner--${this.state._variant}`), role: "alert" }, renderSpin(this.state._variant))) : (this.showToggled && hAsync("span", { "aria-label": translate('kol-action-done'), "aria-busy": "false", "aria-live": "polite", role: "alert" }))));
26369
26497
  }
26370
26498
  validateShow(value) {
26371
26499
  this.showToggled = this.state._show === true && this._show === false;
@@ -26405,6 +26533,9 @@ var KolSplitButtonDefaultStyle0 = defaultStyleCss$9;
26405
26533
  class KolSplitButton {
26406
26534
  constructor(hostRef) {
26407
26535
  registerInstance(this, hostRef);
26536
+ this.catchPrimaryRef = (ref) => {
26537
+ this.primaryButtonWcRef = ref;
26538
+ };
26408
26539
  this.clickButtonHandler = {
26409
26540
  onClick: (event) => {
26410
26541
  var _a, _b;
@@ -26412,9 +26543,6 @@ class KolSplitButton {
26412
26543
  if (typeof ((_a = this._on) === null || _a === void 0 ? void 0 : _a.onClick) === 'function') {
26413
26544
  (_b = this._on) === null || _b === void 0 ? void 0 : _b.onClick(event, this._value);
26414
26545
  }
26415
- else {
26416
- this.toggleDropdown();
26417
- }
26418
26546
  },
26419
26547
  };
26420
26548
  this.clickToggleHandler = {
@@ -26429,7 +26557,9 @@ class KolSplitButton {
26429
26557
  this.handleOnClose = () => {
26430
26558
  this.state = Object.assign(Object.assign({}, this.state), { _show: false });
26431
26559
  };
26560
+ this._accessKey = undefined;
26432
26561
  this._ariaControls = undefined;
26562
+ this._ariaDescription = undefined;
26433
26563
  this._ariaExpanded = undefined;
26434
26564
  this._ariaSelected = undefined;
26435
26565
  this._customClass = undefined;
@@ -26441,6 +26571,7 @@ class KolSplitButton {
26441
26571
  this._name = undefined;
26442
26572
  this._on = undefined;
26443
26573
  this._role = undefined;
26574
+ this._shortKey = undefined;
26444
26575
  this._syncValueBySelector = undefined;
26445
26576
  this._tooltipAlign = 'top';
26446
26577
  this._type = 'button';
@@ -26450,12 +26581,19 @@ class KolSplitButton {
26450
26581
  _show: false,
26451
26582
  };
26452
26583
  }
26584
+ async getValue() {
26585
+ return this._value;
26586
+ }
26587
+ async kolFocus() {
26588
+ var _a;
26589
+ await ((_a = this.primaryButtonWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
26590
+ }
26453
26591
  render() {
26454
26592
  const i18nDropdownLabel = 'kol-split-button-dropdown-label';
26455
- return (hAsync("div", { key: 'adfeb36fc1c13115648cab2c692dcf28ede4f663', class: "kol-split-button" }, hAsync("div", { key: '6ddddfa00a901d7a1c02a242384ba6478955c13b', class: "kol-split-button__root" }, hAsync(KolButtonWcTag, { key: '73295b6c589ee559c4e301c6685568e0aa6359de', class: clsx('kol-split-button__button', {
26593
+ return (hAsync("div", { key: '66a929dff8d069efce9546856d5d4c86e49320a5', class: "kol-split-button" }, hAsync("div", { key: '85505f259071971082af5d60bc838e541663c3da', class: "kol-split-button__root" }, hAsync(KolButtonWcTag, { key: 'c4a089a9afce71f21a96b236f2a8c91662ad78f0', class: clsx('kol-split-button__button', {
26456
26594
  [this._variant]: this._variant !== 'custom',
26457
26595
  [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
26458
- }), _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, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _buttonVariant: this._variant }), hAsync("div", { key: '29f15b767934692234c76d6738696ea225488d24', class: "kol-split-button__horizontal-line" }), hAsync(KolButtonWcTag, { key: '689696759403849639ec892383aad2d055ac1482', class: "kol-split-button__secondary-button", _disabled: this._disabled, _hideLabel: true, _icons: "codicon codicon-triangle-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler })), hAsync(KolPopoverWcTag, { key: 'ba4151408b5ea8295eaee3f680ccd394e081464b', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: '88c02a85478c3cedae8272e2f3f4848bbf031488' }))));
26596
+ }), ref: this.catchPrimaryRef, _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _id: this._id, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _role: this._role, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _buttonVariant: this._variant }), hAsync("div", { key: 'e8612f334a399f23bbc9e3a257bd5e56dc26ca71', class: "kol-split-button__horizontal-line" }), hAsync(KolButtonWcTag, { key: '168c422e85261c679a7563b267cdbf25555b1385', class: "kol-split-button__secondary-button", _disabled: this._disabled, _hideLabel: true, _icons: "codicon codicon-triangle-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler })), hAsync(KolPopoverWcTag, { key: '34083ba6afef3fc9e04397800552a5e9755d3f00', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: '659cd50ab13bfdb752d0d2930e7b53737a499e40' }))));
26459
26597
  }
26460
26598
  async closePopup() {
26461
26599
  this.handleOnClose();
@@ -26469,7 +26607,9 @@ class KolSplitButton {
26469
26607
  "$flags$": 57,
26470
26608
  "$tagName$": "kol-split-button",
26471
26609
  "$members$": {
26610
+ "_accessKey": [1, "_access-key"],
26472
26611
  "_ariaControls": [1, "_aria-controls"],
26612
+ "_ariaDescription": [1, "_aria-description"],
26473
26613
  "_ariaExpanded": [4, "_aria-expanded"],
26474
26614
  "_ariaSelected": [4, "_aria-selected"],
26475
26615
  "_customClass": [1, "_custom-class"],
@@ -26481,12 +26621,15 @@ class KolSplitButton {
26481
26621
  "_name": [1],
26482
26622
  "_on": [16],
26483
26623
  "_role": [1],
26624
+ "_shortKey": [1, "_short-key"],
26484
26625
  "_syncValueBySelector": [1, "_sync-value-by-selector"],
26485
26626
  "_tooltipAlign": [1, "_tooltip-align"],
26486
26627
  "_type": [1],
26487
26628
  "_value": [8],
26488
26629
  "_variant": [1],
26489
26630
  "state": [32],
26631
+ "getValue": [64],
26632
+ "kolFocus": [64],
26490
26633
  "closePopup": [64]
26491
26634
  },
26492
26635
  "$listeners$": undefined,
@@ -26552,7 +26695,7 @@ class KolTableSettings {
26552
26695
  }
26553
26696
  render() {
26554
26697
  const sortedColumns = [...this.tableSettings.columns].sort((a, b) => a.position - b.position);
26555
- return (hAsync(KolPopoverButtonWcTag, { key: 'efbe65355597dcc6a5b5b5e23077b037ab90318c', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "codicon codicon-settings-gear", _label: translate('kol-table-settings'), _popoverAlign: "top", _hideLabel: true }, hAsync("div", { key: '5b149682787c1fb1fb73faab858b7ec7d4d753e4', class: "kol-table-settings__content" }, hAsync(KolHeadingTag, { key: '3e651488c0b04dfcd1acf8a32a4f060e4b08d0a6', _label: translate('kol-table-settings'), _level: 0 }), this.errorMessage && hAsync(KolAlertWcTag, { key: '5b5cfdfdce5ae3da8b378a574abfea48b0c04460', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), hAsync("form", { key: 'b9b80cd51c8ec1e89c1559201e6e0f0287c48c86', onSubmit: this.handleSubmit.bind(this) }, hAsync("div", { key: '0675d6796ab9e94592dad2649933e5c3905026b6', class: "kol-table-settings__columns-container" }, hAsync("div", { key: '76eca8bcb960febf13c5ecd7f64cb1b8c295edc7', class: "kol-table-settings__columns" }, sortedColumns.map((column, index) => (hAsync("div", { key: column.key, class: "kol-table-settings__column" }, hAsync(KolInputCheckboxTag, { _checked: column.visible, _label: translate('kol-table-settings-show-column', { placeholders: { column: column.label } }), _value: true, _hideLabel: true, _on: { onInput: (_, value) => this.handleVisibilityChange(column.key, value) } }), hAsync("span", null, column.label), hAsync(KolInputNumberTag, { _hideLabel: true, _value: column.width, _label: translate('kol-table-settings-column-width', { placeholders: { column: column.label } }), _min: 1, _on: { onInput: (_, value) => this.handleWidthChange(column.key, value) } }), hAsync(KolButtonWcTag, { _icons: "codicon codicon-arrow-up", _label: translate('kol-table-settings-move-up', { placeholders: { column: column.label } }), _hideLabel: true, _buttonVariant: "ghost", _on: { onClick: () => this.moveColumn(column.key, 'up') }, _disabled: index === 0, "data-testid": "table-settings-move-up" }), hAsync(KolButtonWcTag, { _icons: "codicon codicon-arrow-down", _label: translate('kol-table-settings-move-down', { placeholders: { column: column.label } }), _hideLabel: true, _buttonVariant: "ghost", _on: { onClick: () => this.moveColumn(column.key, 'down') }, _disabled: index === sortedColumns.length - 1, "data-testid": "table-settings-move-down" })))))), hAsync("div", { key: 'b48eb18949304209ed611de05ce4ea26f4035fd5', class: "kol-table-settings__actions" }, hAsync(KolButtonWcTag, { key: '6a5ec1307960f14e0c3fbb513ccf7ea79914793a', _label: translate('kol-table-settings-cancel'), _buttonVariant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), hAsync(KolButtonWcTag, { key: '4f40c7f57985ee0f9264a3f33fe819bd9e9467cc', _label: translate('kol-table-settings-apply'), _buttonVariant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
26698
+ return (hAsync(KolPopoverButtonWcTag, { key: '0ca51ae3cc20e2c0a3e8af8d287ec0a0414139bc', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "codicon codicon-settings-gear", _label: translate('kol-table-settings'), _popoverAlign: "top", _hideLabel: true }, hAsync("div", { key: 'e5fbc57fd59529262b64192a8013d84be69f0f9b', class: "kol-table-settings__content" }, hAsync(KolHeadingTag, { key: 'f15bdeface7b959ddd25ed3fe76d5ad262954091', _label: translate('kol-table-settings'), _level: 0 }), this.errorMessage && hAsync(KolAlertWcTag, { key: '286889a668bc874f1688b06ad145c71bdc5cde6b', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), hAsync("form", { key: 'de4d015a4bf8123a0f61cb94a6d546b7fc2a947c', onSubmit: this.handleSubmit.bind(this) }, hAsync("div", { key: '5f59e3f62159570ce663ee4946c45305064c47f0', class: "kol-table-settings__columns-container" }, hAsync("div", { key: '316fc127e3d68faa71e57c055cabfa6635ce7732', class: "kol-table-settings__columns" }, sortedColumns.map((column, index) => (hAsync("div", { key: column.key, class: "kol-table-settings__column" }, hAsync(KolInputCheckboxTag, { _checked: column.visible, _label: translate('kol-table-settings-show-column', { placeholders: { column: column.label } }), _value: true, _hideLabel: true, _on: { onInput: (_, value) => this.handleVisibilityChange(column.key, value) } }), hAsync("span", null, column.label), hAsync(KolInputNumberTag, { _hideLabel: true, _value: column.width, _label: translate('kol-table-settings-column-width', { placeholders: { column: column.label } }), _min: 1, _on: { onInput: (_, value) => this.handleWidthChange(column.key, value) } }), hAsync(KolButtonWcTag, { _icons: "codicon codicon-arrow-up", _label: translate('kol-table-settings-move-up', { placeholders: { column: column.label } }), _hideLabel: true, _buttonVariant: "ghost", _on: { onClick: () => this.moveColumn(column.key, 'up') }, _disabled: index === 0, "data-testid": "table-settings-move-up" }), hAsync(KolButtonWcTag, { _icons: "codicon codicon-arrow-down", _label: translate('kol-table-settings-move-down', { placeholders: { column: column.label } }), _hideLabel: true, _buttonVariant: "ghost", _on: { onClick: () => this.moveColumn(column.key, 'down') }, _disabled: index === sortedColumns.length - 1, "data-testid": "table-settings-move-down" })))))), hAsync("div", { key: '4e7a2481531e1cf0c387df5476efd5b9044f27d5', class: "kol-table-settings__actions" }, hAsync(KolButtonWcTag, { key: 'b4ad0c611d272a9e4f29d93ebcf018febb16cf83', _label: translate('kol-table-settings-cancel'), _buttonVariant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), hAsync(KolButtonWcTag, { key: 'b46efad370ce482f80e181acab237ce0a8433711', _label: translate('kol-table-settings-apply'), _buttonVariant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
26556
26699
  }
26557
26700
  get host() { return getElement(this); }
26558
26701
  static get watchers() { return {
@@ -26613,7 +26756,7 @@ const validateTableSettings = (component, value) => {
26613
26756
  watchValidator(component, `_tableSettings`, (value) => typeof value === 'object' && value !== null, new Set(['TableSettings']), value);
26614
26757
  };
26615
26758
 
26616
- const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n place-items: center;\n display: flex;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-button {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"​\";\n }\n .kol-button__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n border: 1px solid #000;\n margin: 0;\n padding: 0;\n }\n}\n@layer kol-component {\n .kol-table-settings {\n background: #fff;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n }\n .kol-table-settings__columns-container {\n margin-top: calc(16rem / var(--kolibri-root-font-size, 16));\n max-height: calc(200rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n align-items: center;\n display: grid;\n gap: calc(8rem / var(--kolibri-root-font-size, 16));\n grid-auto-rows: min-content;\n grid-template-columns: min-content 1fr calc(100rem / var(--kolibri-root-font-size, 16)) auto auto;\n overflow: hidden;\n }\n .kol-table-settings__column {\n display: contents;\n }\n}\n@layer kol-component {\n .kol-table {\n display: block;\n max-width: 100%;\n position: relative;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n text-align: start;\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n }\n .kol-table__focus-element {\n font-size: 0;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n justify-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n justify-items: end;\n }\n .kol-table__cell--selection {\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n align-items: center;\n cursor: pointer;\n display: flex;\n height: var(--a11y-min-size);\n justify-content: center;\n position: relative;\n width: var(--a11y-min-size);\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n inset: auto;\n position: absolute;\n z-index: 1;\n }\n .kol-table__selection-input {\n appearance: none;\n border-style: solid;\n cursor: pointer;\n margin: 0;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n position: relative;\n display: flex;\n height: calc(var(--a11y-min-size) / 2);\n width: calc(var(--a11y-min-size) / 2);\n align-items: center;\n justify-content: center;\n background-color: rgb(255, 255, 255);\n border-width: 2px;\n line-height: 1.5;\n transition: all 0.5s ease 0s;\n }\n .kol-table__selection-input--radio {\n display: flex;\n border-width: 2px;\n border-radius: 100%;\n height: 1.5em;\n min-height: 1.5em;\n min-width: 1.5em;\n padding: 0;\n width: 1.5em;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n margin: auto;\n height: 0.75em;\n width: 0.75em;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n}\n@layer kol-component {\n .kol-table-stateful__pagination, .kol-table-stateful__pagination-wrapper {\n display: grid;\n place-items: center;\n }\n @media (min-width: 1024px) {\n .kol-table-stateful__pagination, .kol-table-stateful__pagination-wrapper {\n grid-auto-flow: column;\n }\n }\n .kol-pagination {\n display: flex;\n flex-wrap: wrap;\n }\n @media (min-width: 1024px) {\n .kol-pagination {\n display: flex;\n }\n }\n @media (max-width: 1024px) {\n .kol-pagination {\n flex-direction: column;\n }\n }\n}";
26759
+ const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n place-items: center;\n display: flex;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-button {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"​\";\n }\n .kol-button__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n border: 0;\n margin: 0;\n padding: 0;\n }\n}\n@layer kol-component {\n .kol-table-settings {\n background: #fff;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n }\n .kol-table-settings__columns-container {\n margin-top: calc(16rem / var(--kolibri-root-font-size, 16));\n max-height: calc(200rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n align-items: center;\n display: grid;\n gap: calc(8rem / var(--kolibri-root-font-size, 16));\n grid-auto-rows: min-content;\n grid-template-columns: min-content 1fr calc(100rem / var(--kolibri-root-font-size, 16)) auto auto;\n overflow: hidden;\n }\n .kol-table-settings__column {\n display: contents;\n }\n}\n@layer kol-component {\n .kol-table {\n display: block;\n max-width: 100%;\n position: relative;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n text-align: start;\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n }\n .kol-table__focus-element {\n font-size: 0;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n justify-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n justify-items: end;\n }\n .kol-table__cell--selection {\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n align-items: center;\n cursor: pointer;\n display: flex;\n height: var(--a11y-min-size);\n justify-content: center;\n position: relative;\n width: var(--a11y-min-size);\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n inset: auto;\n position: absolute;\n z-index: 1;\n }\n .kol-table__selection-input {\n appearance: none;\n border-style: solid;\n cursor: pointer;\n margin: 0;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n position: relative;\n display: flex;\n height: calc(var(--a11y-min-size) / 2);\n width: calc(var(--a11y-min-size) / 2);\n align-items: center;\n justify-content: center;\n background-color: rgb(255, 255, 255);\n border-width: 2px;\n line-height: 1.5;\n transition: all 0.5s ease 0s;\n }\n .kol-table__selection-input--radio {\n display: flex;\n border-width: 2px;\n border-radius: 100%;\n height: 1.5em;\n min-height: 1.5em;\n min-width: 1.5em;\n padding: 0;\n width: 1.5em;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n margin: auto;\n height: 0.75em;\n width: 0.75em;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n}\n@layer kol-component {\n .kol-pagination {\n align-items: center;\n display: grid;\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n grid-template-columns: 1fr auto;\n }\n .kol-pagination__navigation-list {\n align-items: center;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 0.5em;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n}\n@layer kol-component {\n .kol-table-stateful__pagination, .kol-table-stateful__pagination-wrapper {\n display: grid;\n place-items: center;\n }\n @media (min-width: 1024px) {\n .kol-table-stateful__pagination, .kol-table-stateful__pagination-wrapper {\n grid-auto-flow: column;\n }\n }\n .kol-pagination {\n display: flex;\n flex-wrap: wrap;\n }\n @media (min-width: 1024px) {\n .kol-pagination {\n display: flex;\n }\n }\n @media (max-width: 1024px) {\n .kol-pagination {\n flex-direction: column;\n }\n }\n}";
26617
26760
  var KolTableStatefulDefaultStyle0 = defaultStyleCss$8;
26618
26761
 
26619
26762
  const PAGINATION_OPTIONS = [10, 20, 50, 100];
@@ -26889,7 +27032,7 @@ class KolTableStateful {
26889
27032
  ? this.state._data.length.toString()
26890
27033
  : '0',
26891
27034
  },
26892
- })), hAsync("div", { class: "kol-table-stateful__pagination-wrapper" }, hAsync(KolPaginationTag, { class: "test", _boundaryCount: this.state._pagination._boundaryCount, _customClass: this.state._pagination._customClass, _on: this.handlePagination, _page: this.state._pagination._page, _pageSize: this.state._pagination._pageSize, _pageSizeOptions: this.state._pagination._pageSizeOptions || PAGINATION_OPTIONS, _siblingCount: this.state._pagination._siblingCount, _tooltipAlign: "bottom", _max: this.state._pagination._max || this.state._pagination._max || this.state._data.length, _label: label }))));
27035
+ })), hAsync("div", { class: "kol-table-stateful__pagination-wrapper" }, hAsync(KolPaginationWcTag, { class: "test", _boundaryCount: this.state._pagination._boundaryCount, _customClass: this.state._pagination._customClass, _on: this.handlePagination, _page: this.state._pagination._page, _pageSize: this.state._pagination._pageSize, _pageSizeOptions: this.state._pagination._pageSizeOptions || PAGINATION_OPTIONS, _siblingCount: this.state._pagination._siblingCount, _tooltipAlign: "bottom", _max: this.state._pagination._max || this.state._pagination._max || this.state._data.length, _label: label }))));
26893
27036
  }
26894
27037
  getHeaderCellSortState(headerCell) {
26895
27038
  if (!this.disableSort && typeof headerCell.compareFn === 'function') {
@@ -26949,7 +27092,7 @@ class KolTableStateful {
26949
27092
  horizontal: (_d = (_c = this.state._headers.horizontal) === null || _c === void 0 ? void 0 : _c.map((row) => row.map((cell) => (Object.assign(Object.assign({}, cell), { sortDirection: this.getHeaderCellSortState(cell) }))))) !== null && _d !== void 0 ? _d : [],
26950
27093
  vertical: (_f = (_e = this.state._headers.vertical) === null || _e === void 0 ? void 0 : _e.map((column) => column.map((cell) => (Object.assign(Object.assign({}, cell), { sortDirection: this.getHeaderCellSortState(cell) }))))) !== null && _f !== void 0 ? _f : [],
26951
27094
  };
26952
- return (hAsync(Host, { key: '807cc711bfe34ca458ec8aecb858234761e8a1de', class: "kol-table-stateful" }, this.pageEndSlice > 0 && this.showPagination && paginationTop, hAsync(KolTableStatelessWcTag, { key: '2d5f259e75c6f178a06237bef92bc72d3b182ec5', ref: this.catchRef, _data: displayedData, _headerCells: headerCells, _label: this.state._label, _dataFoot: this.state._dataFoot, _minWidth: this.state._minWidth, _on: {
27095
+ return (hAsync(Host, { key: 'ae9fe552c93f1ef8273be72a54865e524abc550d', class: "kol-table-stateful" }, this.pageEndSlice > 0 && this.showPagination && paginationTop, hAsync(KolTableStatelessWcTag, { key: '4409842d643b60aa5a19e31394e7ec40823d10e8', ref: this.catchRef, _data: displayedData, _headerCells: headerCells, _label: this.state._label, _dataFoot: this.state._dataFoot, _minWidth: this.state._minWidth, _on: {
26953
27096
  onSort: (_, payload) => {
26954
27097
  this.handleSort(payload);
26955
27098
  },
@@ -26999,7 +27142,7 @@ class KolTableStateful {
26999
27142
  }; }
27000
27143
  }
27001
27144
 
27002
- const defaultStyleCss$7 = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n place-items: center;\n display: flex;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-button {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"​\";\n }\n .kol-button__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n border: 1px solid #000;\n margin: 0;\n padding: 0;\n }\n}\n@layer kol-component {\n .kol-table-settings {\n background: #fff;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n }\n .kol-table-settings__columns-container {\n margin-top: calc(16rem / var(--kolibri-root-font-size, 16));\n max-height: calc(200rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n align-items: center;\n display: grid;\n gap: calc(8rem / var(--kolibri-root-font-size, 16));\n grid-auto-rows: min-content;\n grid-template-columns: min-content 1fr calc(100rem / var(--kolibri-root-font-size, 16)) auto auto;\n overflow: hidden;\n }\n .kol-table-settings__column {\n display: contents;\n }\n}\n@layer kol-component {\n .kol-table {\n display: block;\n max-width: 100%;\n position: relative;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n text-align: start;\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n }\n .kol-table__focus-element {\n font-size: 0;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n justify-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n justify-items: end;\n }\n .kol-table__cell--selection {\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n align-items: center;\n cursor: pointer;\n display: flex;\n height: var(--a11y-min-size);\n justify-content: center;\n position: relative;\n width: var(--a11y-min-size);\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n inset: auto;\n position: absolute;\n z-index: 1;\n }\n .kol-table__selection-input {\n appearance: none;\n border-style: solid;\n cursor: pointer;\n margin: 0;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n position: relative;\n display: flex;\n height: calc(var(--a11y-min-size) / 2);\n width: calc(var(--a11y-min-size) / 2);\n align-items: center;\n justify-content: center;\n background-color: rgb(255, 255, 255);\n border-width: 2px;\n line-height: 1.5;\n transition: all 0.5s ease 0s;\n }\n .kol-table__selection-input--radio {\n display: flex;\n border-width: 2px;\n border-radius: 100%;\n height: 1.5em;\n min-height: 1.5em;\n min-width: 1.5em;\n padding: 0;\n width: 1.5em;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n margin: auto;\n height: 0.75em;\n width: 0.75em;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n}";
27145
+ const defaultStyleCss$7 = "@charset \"UTF-8\";\n/*\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 * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n font-size: rem(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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\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__content {\n background-color: #fff;\n color: #000;\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 .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n place-items: center;\n display: flex;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-button {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"​\";\n }\n .kol-button__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n border: 0;\n margin: 0;\n padding: 0;\n }\n}\n@layer kol-component {\n .kol-table-settings {\n background: #fff;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n }\n .kol-table-settings__columns-container {\n margin-top: calc(16rem / var(--kolibri-root-font-size, 16));\n max-height: calc(200rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n align-items: center;\n display: grid;\n gap: calc(8rem / var(--kolibri-root-font-size, 16));\n grid-auto-rows: min-content;\n grid-template-columns: min-content 1fr calc(100rem / var(--kolibri-root-font-size, 16)) auto auto;\n overflow: hidden;\n }\n .kol-table-settings__column {\n display: contents;\n }\n}\n@layer kol-component {\n .kol-table {\n display: block;\n max-width: 100%;\n position: relative;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n text-align: start;\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n }\n .kol-table__focus-element {\n font-size: 0;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n justify-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n justify-items: end;\n }\n .kol-table__cell--selection {\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n align-items: center;\n cursor: pointer;\n display: flex;\n height: var(--a11y-min-size);\n justify-content: center;\n position: relative;\n width: var(--a11y-min-size);\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n inset: auto;\n position: absolute;\n z-index: 1;\n }\n .kol-table__selection-input {\n appearance: none;\n border-style: solid;\n cursor: pointer;\n margin: 0;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n position: relative;\n display: flex;\n height: calc(var(--a11y-min-size) / 2);\n width: calc(var(--a11y-min-size) / 2);\n align-items: center;\n justify-content: center;\n background-color: rgb(255, 255, 255);\n border-width: 2px;\n line-height: 1.5;\n transition: all 0.5s ease 0s;\n }\n .kol-table__selection-input--radio {\n display: flex;\n border-width: 2px;\n border-radius: 100%;\n height: 1.5em;\n min-height: 1.5em;\n min-width: 1.5em;\n padding: 0;\n width: 1.5em;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n margin: auto;\n height: 0.75em;\n width: 0.75em;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n}";
27003
27146
  var KolTableStatelessDefaultStyle0 = defaultStyleCss$7;
27004
27147
 
27005
27148
  class KolTableStateless$1 {
@@ -27015,7 +27158,7 @@ class KolTableStateless$1 {
27015
27158
  this._tableSettings = undefined;
27016
27159
  }
27017
27160
  render() {
27018
- return (hAsync(KolTableStatelessWcTag, { key: 'dedf6d73b1b7ac72b4e6c6dfe3144ebf9ea42f4a', _data: this._data, _dataFoot: this._dataFoot, _headerCells: this._headerCells, _label: this._label, _minWidth: this._minWidth, _on: this._on, _selection: this._selection, _tableSettings: this._tableSettings }));
27161
+ return (hAsync(KolTableStatelessWcTag, { key: '8c15043ee319bd85b3aeb21cfc3760d6ae8ca434', _data: this._data, _dataFoot: this._dataFoot, _headerCells: this._headerCells, _label: this._label, _minWidth: this._minWidth, _on: this._on, _selection: this._selection, _tableSettings: this._tableSettings }));
27019
27162
  }
27020
27163
  static get style() { return {
27021
27164
  default: KolTableStatelessDefaultStyle0
@@ -27242,28 +27385,28 @@ class KolTableStateless {
27242
27385
  }
27243
27386
  return max;
27244
27387
  }
27245
- getThePrimaryHeadersWithKeysIfExists(headers) {
27246
- const primaryHeadersWithKeys = [];
27388
+ getThePrimaryHeadersWithKeyOrRenderFunction(headers) {
27389
+ const primaryHeaders = [];
27247
27390
  headers.forEach((cells) => {
27248
27391
  cells.forEach((cell) => {
27249
- if (typeof cell.key === 'string') {
27250
- primaryHeadersWithKeys.push(cell);
27392
+ if (typeof cell.key === 'string' || typeof cell.render === 'function') {
27393
+ primaryHeaders.push(cell);
27251
27394
  }
27252
27395
  });
27253
27396
  });
27254
- return primaryHeadersWithKeys;
27397
+ return primaryHeaders;
27255
27398
  }
27256
27399
  getPrimaryHeaders(headers) {
27257
27400
  var _a, _b;
27258
- let primaryHeadersWithKeys = this.getThePrimaryHeadersWithKeysIfExists((_a = headers.horizontal) !== null && _a !== void 0 ? _a : []);
27401
+ let primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_a = headers.horizontal) !== null && _a !== void 0 ? _a : []);
27259
27402
  this.horizontal = true;
27260
- if (primaryHeadersWithKeys.length === 0) {
27261
- primaryHeadersWithKeys = this.getThePrimaryHeadersWithKeysIfExists((_b = headers.vertical) !== null && _b !== void 0 ? _b : []);
27262
- if (primaryHeadersWithKeys.length > 0) {
27403
+ if (primaryHeaders.length === 0) {
27404
+ primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_b = headers.vertical) !== null && _b !== void 0 ? _b : []);
27405
+ if (primaryHeaders.length > 0) {
27263
27406
  this.horizontal = false;
27264
27407
  }
27265
27408
  }
27266
- return primaryHeadersWithKeys;
27409
+ return primaryHeaders;
27267
27410
  }
27268
27411
  getColumnPositionMap() {
27269
27412
  var _a;
@@ -27330,18 +27473,18 @@ class KolTableStateless {
27330
27473
  const row = isFoot && this.state._dataFoot ? this.state._dataFoot[i - startRow] : data[i];
27331
27474
  if (typeof sortedPrimaryHeader[j] === 'object' &&
27332
27475
  sortedPrimaryHeader[j] !== null &&
27333
- typeof sortedPrimaryHeader[j].key === 'string' &&
27334
27476
  typeof row === 'object' &&
27335
- row !== null) {
27477
+ row !== null &&
27478
+ (typeof sortedPrimaryHeader[j].key === 'string' || typeof sortedPrimaryHeader[j].render === 'function')) {
27336
27479
  dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[j]), { colSpan: undefined, data: row, label: row[sortedPrimaryHeader[j].key], rowSpan: undefined }));
27337
27480
  }
27338
27481
  }
27339
27482
  else {
27340
27483
  if (typeof sortedPrimaryHeader[i] === 'object' &&
27341
27484
  sortedPrimaryHeader[i] !== null &&
27342
- typeof sortedPrimaryHeader[i].key === 'string' &&
27343
27485
  typeof data[j] === 'object' &&
27344
- data[j] !== null) {
27486
+ data[j] !== null &&
27487
+ (typeof sortedPrimaryHeader[i].key === 'string' || typeof sortedPrimaryHeader[i].render === 'function')) {
27345
27488
  dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[i]), { colSpan: undefined, data: data[j], label: data[j][sortedPrimaryHeader[i].key], rowSpan: undefined }));
27346
27489
  }
27347
27490
  }
@@ -27519,7 +27662,7 @@ class KolTableStateless {
27519
27662
  if (columnSettings && !columnSettings.visible) {
27520
27663
  return '';
27521
27664
  }
27522
- let ariaSort = undefined;
27665
+ let ariaSort = 'none';
27523
27666
  let sortButtonIcon = 'codicon codicon-fold';
27524
27667
  if (cell.sortDirection) {
27525
27668
  switch (cell.sortDirection) {
@@ -27531,6 +27674,8 @@ class KolTableStateless {
27531
27674
  sortButtonIcon = 'codicon codicon-chevron-down';
27532
27675
  ariaSort = 'descending';
27533
27676
  break;
27677
+ default:
27678
+ ariaSort = 'none';
27534
27679
  }
27535
27680
  }
27536
27681
  const scope = isVertical ? 'row' : typeof cell.colSpan === 'number' && cell.colSpan > 1 ? 'colgroup' : 'col';
@@ -27579,12 +27724,12 @@ class KolTableStateless {
27579
27724
  const dataField = this.createDataField(this.state._data, this.state._headerCells);
27580
27725
  this.checkboxRefs = [];
27581
27726
  const sortedHorizontalHeaders = (_a = this.state._headerCells.horizontal) === null || _a === void 0 ? void 0 : _a.map((row) => this.sortByColumnPosition(row));
27582
- return (hAsync("div", { key: '55c1614208608e7206bfde32af951f066267b629', class: "kol-table" }, hAsync(KolTableSettingsWcTag, { key: 'a6a176a7a90d134c6c99fae76b14d0dd6523a88b', _tableSettings: this.state._tableSettings }), hAsync("div", { key: '7d1498c5925016efc03772480936bfd2d8d9bd27', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? '-1' : undefined }, hAsync("table", { key: '41097ebc50e0913333e017d43206778c031add65', class: "kol-table__table", style: {
27727
+ return (hAsync("div", { key: 'fd7be9447c69e4bdd00bcf0c94851322509f18c7', class: "kol-table" }, hAsync(KolTableSettingsWcTag, { key: 'c8656b639f87a64af11c638db500722075661a2b', _tableSettings: this.state._tableSettings }), hAsync("div", { key: 'ff3e59f751c29e2400baa9bd47252f523fcf6ba2', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? '-1' : undefined }, hAsync("table", { key: '74dfeefe3d2d48859d2250f10fdfd01e4de76fd1', class: "kol-table__table", style: {
27583
27728
  minWidth: this.getTableMinWidth(),
27584
- } }, hAsync("div", { key: 'f0539b67aa7c7ef1271a67dd22c741e4a6f60d4e', class: "kol-table__focus-element", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined, "aria-describedby": "caption" }, "\u00A0"), hAsync("caption", { key: '7199792f023995a8964efaa2b9f11b79780717b1', class: "kol-table__caption", id: "caption" }, this.state._label), Array.isArray(sortedHorizontalHeaders) && (hAsync("thead", { key: '86242ee062afb71d654b7e64698dca8178012bc3', class: "kol-table__head" }, [
27729
+ } }, hAsync("div", { key: '0c3115cb69fc3f344a7eba055dfb449ee39b981c', class: "kol-table__focus-element", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined, "aria-describedby": "caption" }, "\u00A0"), hAsync("caption", { key: '3abc734e88279686f4ba57c58e2e28df598bd067', class: "kol-table__caption", id: "caption" }, this.state._label), Array.isArray(sortedHorizontalHeaders) && (hAsync("thead", { key: '444aede6748667c15131ca400b792834bb6d585e', class: "kol-table__head" }, [
27585
27730
  sortedHorizontalHeaders.map((cols, rowIndex) => (hAsync("tr", { class: "kol-table__head-row", key: `thead-${rowIndex}` }, this.state._selection && this.renderHeadingSelectionCell(), rowIndex === 0 && this.renderHeaderTdCell(), Array.isArray(cols) && cols.map((cell, colIndex) => this.renderHeadingCell(cell, rowIndex, colIndex, false))))),
27586
27731
  this.renderSpacer('head', sortedHorizontalHeaders),
27587
- ])), hAsync("tbody", { key: 'b7866fe3430029ea01b05d747ea49e42c577d10c', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
27732
+ ])), hAsync("tbody", { key: 'f87e907d033d601fb065bf8d1d0892016ed1d368', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
27588
27733
  }
27589
27734
  get host() { return getElement(this); }
27590
27735
  static get watchers() { return {
@@ -27828,9 +27973,9 @@ class KolTabs {
27828
27973
  }, _icons: "codicon codicon-plus", "data-testid": "tabs-create-button" }))));
27829
27974
  }
27830
27975
  render() {
27831
- return (hAsync("div", { key: '651b397e4e56da8694268e5670dd12da67fb4430', ref: (el) => {
27976
+ return (hAsync("div", { key: '8c3212b2e1bd09292d666d163c88ad94ef2f59bb', ref: (el) => {
27832
27977
  this.tabPanelsElement = el;
27833
- }, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: '2583e66740101758cdf796a45961142384bf9fdf', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
27978
+ }, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: 'ebbb16b66d9b77f98fe9d2384f83489530cd3e6d', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
27834
27979
  }
27835
27980
  validateAlign(value) {
27836
27981
  validateAlign(this, value);
@@ -28070,7 +28215,7 @@ class KolTextarea {
28070
28215
  } });
28071
28216
  }
28072
28217
  render() {
28073
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '7561d490f442000a93a1cefd22593be40ed9cbb9' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '0d83e48269354e9aecc39845cd7199a4a0df3691', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: 'a984a131997c4196c52408696e1517fcbc7cc940' }, this.getTextAreaProps())))));
28218
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '92d2decb15fa4fa25f86387d6f911e5988f17c12' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '6bfa13c2aae8fa96002903b7c4064bff6868984c', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: '40aa057c2a81472a4db3ac2a5ab69392afce5037' }, this.getTextAreaProps())))));
28074
28219
  }
28075
28220
  constructor(hostRef) {
28076
28221
  registerInstance(this, hostRef);
@@ -28324,7 +28469,9 @@ class KolToastContainer {
28324
28469
  return localToastState;
28325
28470
  }) });
28326
28471
  setTimeout(() => {
28472
+ var _a, _b;
28327
28473
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: this.state._toastStates.filter((localToastState) => localToastState.id !== toastState.id) });
28474
+ (_b = (_a = toastState.toast).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
28328
28475
  }, TRANSITION_TIMEOUT);
28329
28476
  }
28330
28477
  async closeAll(immediate = false) {
@@ -28336,6 +28483,10 @@ class KolToastContainer {
28336
28483
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: toastsToClose.map((localToastState) => (Object.assign(Object.assign({}, localToastState), { status: 'removing' }))) });
28337
28484
  setTimeout(() => {
28338
28485
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: this.state._toastStates.filter((toastState) => toastsToClose.every((toastToClose) => toastToClose.id !== toastState.id)) });
28486
+ toastsToClose.forEach((toastState) => {
28487
+ var _a, _b;
28488
+ (_b = (_a = toastState.toast).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
28489
+ });
28339
28490
  }, TRANSITION_TIMEOUT);
28340
28491
  }
28341
28492
  }
@@ -28346,7 +28497,7 @@ class KolToastContainer {
28346
28497
  }
28347
28498
  }
28348
28499
  render() {
28349
- return (hAsync(Host, { key: '4446bc4544f05d74ee8afd3757d8c0b7ce58d6c4', class: "kol-toast-container" }, this.state._toastStates.length > 1 && (hAsync(KolButtonTag, { key: '923a3ae7f4463e710bebbe94ffb7d55812510f70', _label: translate('kol-toast-close-all'), class: "kol-toast-container__button-close-all", _on: {
28500
+ return (hAsync(Host, { key: '9cd066a5431870964c5ebcf63f3e6cfc485999fa', class: "kol-toast-container" }, this.state._toastStates.length > 1 && (hAsync(KolButtonTag, { key: '5f7311b53ebf68798955e351c9a634190cc0242d', _label: translate('kol-toast-close-all'), class: "kol-toast-container__button-close-all", _on: {
28350
28501
  onClick: () => {
28351
28502
  void this.closeAll();
28352
28503
  },
@@ -28398,7 +28549,7 @@ class KolToolbar {
28398
28549
  this._orientation = undefined;
28399
28550
  }
28400
28551
  render() {
28401
- return (hAsync("div", { key: '02fe5aa9de964fcfe0147442105076cc9502a375', class: `kol-toolbar kol-toolbar--orientation-${this.state._orientation}`, role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem)));
28552
+ return (hAsync("div", { key: '820d0df7f0df9ab8a3e8de78b0d3fead62abfff8', class: `kol-toolbar kol-toolbar--orientation-${this.state._orientation}`, role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem)));
28402
28553
  }
28403
28554
  validateLabel(value) {
28404
28555
  validateLabel(this, value);
@@ -28495,11 +28646,10 @@ function hideOverlay(overlay) {
28495
28646
  }
28496
28647
  }
28497
28648
 
28649
+ const TOOLTIP_DELAY = 300;
28498
28650
  class KolTooltipWc {
28499
28651
  constructor(hostRef) {
28500
28652
  registerInstance(this, hostRef);
28501
- this.hasFocusIn = false;
28502
- this.hasMouseIn = false;
28503
28653
  this.showTooltip = () => {
28504
28654
  if (this.previousSibling && this.tooltipElement) {
28505
28655
  showOverlay(this.tooltipElement);
@@ -28512,21 +28662,22 @@ class KolTooltipWc {
28512
28662
  });
28513
28663
  }
28514
28664
  };
28515
- this.hideTooltip = () => {
28516
- if (this.tooltipElement) {
28517
- hideOverlay(this.tooltipElement);
28518
- this.tooltipElement.style.setProperty('display', 'none');
28519
- this.tooltipElement.style.setProperty('visibility', 'hidden');
28520
- if (this.cleanupAutoPositioning) {
28521
- this.cleanupAutoPositioning();
28522
- this.cleanupAutoPositioning = undefined;
28523
- }
28524
- }
28525
- getDocument().removeEventListener('keyup', this.hideTooltipByEscape);
28665
+ this.showTooltipWithDelay = () => {
28666
+ clearTimeout(this.hideTooltipTimeout);
28667
+ clearTimeout(this.showTooltipTimeout);
28668
+ this.showTooltipTimeout = setTimeout(() => {
28669
+ this.showTooltip();
28670
+ }, TOOLTIP_DELAY);
28671
+ };
28672
+ this.hideTooltipWithDelay = () => {
28673
+ clearTimeout(this.hideTooltipTimeout);
28674
+ this.hideTooltipTimeout = setTimeout(() => {
28675
+ void this.hideTooltip();
28676
+ }, TOOLTIP_DELAY);
28526
28677
  };
28527
28678
  this.hideTooltipByEscape = (event) => {
28528
28679
  if (event.key === 'Escape') {
28529
- this.hideTooltip();
28680
+ void this.hideTooltip();
28530
28681
  }
28531
28682
  };
28532
28683
  this.addListeners = (el) => {
@@ -28558,17 +28709,6 @@ class KolTooltipWc {
28558
28709
  this.catchArrowElement = (element) => {
28559
28710
  this.arrowElement = element;
28560
28711
  };
28561
- this.showOrHideTooltip = () => {
28562
- clearTimeout(this.overFocusTimeout);
28563
- this.overFocusTimeout = setTimeout(() => {
28564
- if (this.hasMouseIn || this.hasFocusIn) {
28565
- this.showTooltip();
28566
- }
28567
- else {
28568
- this.hideTooltip();
28569
- }
28570
- }, 300);
28571
- };
28572
28712
  this._badgeText = undefined;
28573
28713
  this._align = 'top';
28574
28714
  this._id = undefined;
@@ -28588,24 +28728,33 @@ class KolTooltipWc {
28588
28728
  });
28589
28729
  }
28590
28730
  }
28731
+ async hideTooltip() {
28732
+ clearTimeout(this.showTooltipTimeout);
28733
+ if (this.tooltipElement) {
28734
+ hideOverlay(this.tooltipElement);
28735
+ this.tooltipElement.style.setProperty('display', 'none');
28736
+ this.tooltipElement.style.setProperty('visibility', 'hidden');
28737
+ if (this.cleanupAutoPositioning) {
28738
+ this.cleanupAutoPositioning();
28739
+ this.cleanupAutoPositioning = undefined;
28740
+ }
28741
+ }
28742
+ getDocument().removeEventListener('keyup', this.hideTooltipByEscape);
28743
+ }
28591
28744
  handleMouseEnter() {
28592
- this.hasMouseIn = true;
28593
- this.showOrHideTooltip();
28745
+ this.showTooltipWithDelay();
28594
28746
  }
28595
28747
  handleMouseleave() {
28596
- this.hasMouseIn = false;
28597
- this.showOrHideTooltip();
28748
+ this.hideTooltipWithDelay();
28598
28749
  }
28599
28750
  handleFocusIn() {
28600
- this.hasFocusIn = true;
28601
- this.showOrHideTooltip();
28751
+ this.showTooltipWithDelay();
28602
28752
  }
28603
28753
  handleFocusout() {
28604
- this.hasFocusIn = false;
28605
- this.showOrHideTooltip();
28754
+ this.hideTooltipWithDelay();
28606
28755
  }
28607
28756
  render() {
28608
- return (hAsync(Host, { key: '6b03bbbae8b6a083bcdb3b304e9985101a5be022', class: "kol-tooltip" }, this.state._label !== '' && (hAsync("div", { key: '75fa23644f41ba3fde4e1be656ed89fe2bd5be9d', class: "kol-tooltip__floating", ref: this.catchTooltipElement }, hAsync("div", { key: '74d99d02b5d7557e4dc9c8d81880d76fbc23aa2d', class: "kol-tooltip__arrow", ref: this.catchArrowElement }), hAsync(KolSpanFc, { key: '7a6b461ff6da4a292fabd08ab8a6bd90412a85fc', class: "kol-tooltip__content", id: this.state._id, badgeText: this._badgeText, label: this.state._label })))));
28757
+ return (hAsync(Host, { key: 'a0b8abd0d04248fd423143784ea3446ce74d5455', class: "kol-tooltip" }, this.state._label !== '' && (hAsync("div", { key: 'e3f3912c333b523115ab170a7034d095ff66eea8', class: "kol-tooltip__floating", ref: this.catchTooltipElement }, hAsync("div", { key: 'de357980b3f8b686ec462194563cba1b8cc22d09', class: "kol-tooltip__arrow", ref: this.catchArrowElement }), hAsync(KolSpanFc, { key: '102ee0ea200adef3dbee5c134c11af045102e131', class: "kol-tooltip__content", id: this.state._id, badgeText: this._badgeText, label: this.state._label })))));
28609
28758
  }
28610
28759
  validateBadgeText(value) {
28611
28760
  validateBadgeText(this, value);
@@ -28666,7 +28815,8 @@ class KolTooltipWc {
28666
28815
  "_align": [1],
28667
28816
  "_id": [1],
28668
28817
  "_label": [1],
28669
- "state": [32]
28818
+ "state": [32],
28819
+ "hideTooltip": [64]
28670
28820
  },
28671
28821
  "$listeners$": undefined,
28672
28822
  "$lazyBundleId$": "-",
@@ -28683,7 +28833,7 @@ class KolTree {
28683
28833
  this._label = undefined;
28684
28834
  }
28685
28835
  render() {
28686
- return (hAsync(KolTreeWcTag, { key: 'a9de70659b4ae51eb7e54067eff48641f22a51fc', _label: this._label }, hAsync("slot", { key: 'd6ee7409c81f3eee881f345d450675fe643eb64e' })));
28836
+ return (hAsync(KolTreeWcTag, { key: '13d3e695605cbf910749ac998731d7d6310b3ed8', _label: this._label }, hAsync("slot", { key: 'b4702460fa7ca8fe8e259cb7b782a8971735a9ef' })));
28687
28837
  }
28688
28838
  static get style() { return {
28689
28839
  default: KolTreeDefaultStyle0
@@ -28731,7 +28881,7 @@ class KolTreeItem {
28731
28881
  return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
28732
28882
  }
28733
28883
  render() {
28734
- return (hAsync(KolTreeItemWcTag, { key: 'ee71c6917f4011af06750545f760bab1aa87fd4c', _active: this._active, _label: this._label, _open: this._open, _href: this._href, ref: (element) => (this.element = element) }, hAsync("slot", { key: 'fafd216a2e718504e1ade48d100b9fae25be4cc7' })));
28884
+ return (hAsync(KolTreeItemWcTag, { key: '6e77abb1a162108a6f06ac8bf9024b408a9bf990', _active: this._active, _label: this._label, _open: this._open, _href: this._href, ref: (element) => (this.element = element) }, hAsync("slot", { key: '752481a98faee9bad7d5661bb01bc868198e544e' })));
28735
28885
  }
28736
28886
  static get style() { return {
28737
28887
  default: KolTreeItemDefaultStyle0
@@ -28774,12 +28924,12 @@ class KolTreeItemWc {
28774
28924
  }
28775
28925
  render() {
28776
28926
  const { _href, _active, _hasChildren, _open, _label } = this.state;
28777
- return (hAsync(Host, { key: '59dba82967b79373a9b3eb040bb1fafed522060b', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '214ebbe9b6850f2fde0f9e83bd0019feb6a62714', class: "kol-tree-item", style: {
28927
+ return (hAsync(Host, { key: 'e0d63b982e56ef662c1420fc9ade69068b8a81ff', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '7c2d91957ad2e92256d5bc8bcbfa003d830a3645', class: "kol-tree-item", style: {
28778
28928
  '--level': `${this.level}`,
28779
- } }, hAsync(KolLinkWcTag, { key: '25c19762e151a6628e6604ae656db511cf3bd2ef', class: clsx('kol-tree-item__link', {
28929
+ } }, hAsync(KolLinkWcTag, { key: '7207fe34d30d14349d397fbd75ff2f0d16aa7086', class: clsx('kol-tree-item__link', {
28780
28930
  'kol-tree-item__link--first-level': this.level === 0,
28781
28931
  'kol-tree-item__link--active': _active,
28782
- }), _href: _href, _label: "", _role: "treeitem", _tabIndex: _active ? 0 : -1, _ariaExpanded: _hasChildren ? _open : undefined, _ariaOwns: _hasChildren ? this.groupId : undefined, ref: (element) => (this.linkElement = element) }, hAsync("span", { key: '1d511401118ac91f1d23dab02a0ac21109a7cbe8', class: "kol-tree-item__link-inner", slot: "expert" }, _hasChildren ? (hAsync("span", { class: "kol-tree-item__toggle-button", onClick: (event) => (_open ? void this.handleCollapseClick(event) : void this.handleExpandClick(event)) }, hAsync(KolIconTag, { class: "kol-tree-item__toggle-button-icon", _icons: `codicon codicon-${_open ? 'chevron-down' : 'chevron-right'}`, _label: '' }))) : (hAsync("span", { class: "kol-tree-item__toggle-button-placeholder" })), hAsync("span", { key: '0b58755f14c8fff333a07c35c19b82d738512919', class: "kol-tree-item__text" }, _label))), hAsync("ul", { key: '3477fcc73f76e6b5efa35cd17cea964977980245', class: "kol-tree-item__children", hidden: !_hasChildren || !_open, role: "group", id: this.groupId }, hAsync("slot", { key: '5c0e9ca02ee1b65e277d7e9e926d92466e6322a8' })))));
28932
+ }), _href: _href, _label: "", _role: "treeitem", _tabIndex: _active ? 0 : -1, _ariaExpanded: _hasChildren ? _open : undefined, _ariaOwns: _hasChildren ? this.groupId : undefined, ref: (element) => (this.linkElement = element) }, hAsync("span", { key: 'd959cfb814982fcbb72f89a7fea3e2b6031e7ab4', class: "kol-tree-item__link-inner", slot: "expert" }, _hasChildren ? (hAsync("span", { class: "kol-tree-item__toggle-button", onClick: (event) => (_open ? void this.handleCollapseClick(event) : void this.handleExpandClick(event)) }, hAsync(KolIconTag, { class: "kol-tree-item__toggle-button-icon", _icons: `codicon codicon-${_open ? 'chevron-down' : 'chevron-right'}`, _label: '' }))) : (hAsync("span", { class: "kol-tree-item__toggle-button-placeholder" })), hAsync("span", { key: '2249d95f2466360ef113bb8f271d91d5b7ed88e4', class: "kol-tree-item__text" }, _label))), hAsync("ul", { key: '1648a8aebf70ae58ad6068bf5192078de6d05cfd', class: "kol-tree-item__children", hidden: !_hasChildren || !_open, role: "group", id: this.groupId }, hAsync("slot", { key: '07aceb35f569834db39a1d9cfb18f80a5a9753e4' })))));
28783
28933
  }
28784
28934
  validateActive(value) {
28785
28935
  validateActive(this, value || false);
@@ -28884,7 +29034,7 @@ class KolTreeWc {
28884
29034
  validateLabel(this, value);
28885
29035
  }
28886
29036
  render() {
28887
- return (hAsync(Host, { key: '6e1fc1f0d6757fec0658d28ff54fe73a58b60fa9', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("nav", { key: 'dfc733503c12e36fc8e6fc958273555f4e698237', class: "kol-tree", "aria-label": this.state._label }, hAsync("ul", { key: '9c68ce61a9bfbe5ade976515eaa43e2d9fbf380d', class: "kol-tree__treeview-navigation", role: "tree", "aria-label": this.state._label }, hAsync("slot", { key: 'db660a5bc5cb5544f2c35e9e14f2a61d6e06ac69' })))));
29037
+ return (hAsync(Host, { key: '0018aab7e413a716e2662cfd597d2ffdb063ffea', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("nav", { key: '383abb8a0f89e041b9d84fc7e872e1d4a4638948', class: "kol-tree", "aria-label": this.state._label }, hAsync("ul", { key: 'f35923f336b1c615940c32e40735fc5f74cade61', class: "kol-tree__treeview-navigation", role: "tree", "aria-label": this.state._label }, hAsync("slot", { key: '21d555457a7a9cdab0f798c30230cde851b4038c' })))));
28888
29038
  }
28889
29039
  static isTreeItem(element) {
28890
29040
  return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
@@ -29082,7 +29232,7 @@ class KolVersion {
29082
29232
  };
29083
29233
  }
29084
29234
  render() {
29085
- return (hAsync(Host, { key: '504d576bcb558a37e573c76a5ba0a4a74e7c0bb4', class: "kol-version" }, hAsync(KolBadgeTag, { key: 'cad1661faee70f01e77c1b2ef9f02fce548f7c70', _color: "#bec5c9", _icons: {
29235
+ return (hAsync(Host, { key: '3304cd937945785a92d3cf9a25cd70065f2ac5dd', class: "kol-version" }, hAsync(KolBadgeTag, { key: '155a2fbdb3ce12a1800b62745a2f9683585c9794', _color: "#bec5c9", _icons: {
29086
29236
  left: { icon: 'codicon codicon-versions', label: translate('kol-version') },
29087
29237
  }, _label: this.state._label })));
29088
29238
  }
@@ -29165,6 +29315,7 @@ registerComponents([
29165
29315
  KolModal,
29166
29316
  KolNav,
29167
29317
  KolPagination,
29318
+ KolPaginationWc,
29168
29319
  KolPopover,
29169
29320
  KolPopoverButton$1,
29170
29321
  KolPopoverButton,