@public-ui/hydrate 3.0.2-rc.0 → 3.0.2-rc.1

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 +263 -167
  2. package/dist/index.mjs +263 -167
  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();
@@ -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"],
@@ -25567,13 +25636,13 @@ class KolSelect {
25567
25636
  } });
25568
25637
  }
25569
25638
  render() {
25570
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'cefd579b38a495e4000cbabb3b929357b7139efc' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '5185f5ca0cde756999e6c57b1b200c8b2030a78b', state: this.state }, hAsync("form", { key: '74cdb0d8519acd611debfdb5338a6f398bedce27', onSubmit: (event) => {
25639
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'bc7ee077bca2efc065987ce71be494bc78712b0a' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '2bde683bfdf19e78a6aa6d980925aa6d6b06ce20', state: this.state }, hAsync("form", { key: '582987d654fa36f36a292d2cde2ca57190fc20bd', onSubmit: (event) => {
25571
25640
  event.preventDefault();
25572
25641
  propagateSubmitEventToForm({
25573
25642
  form: this.host,
25574
25643
  ref: this.selectRef,
25575
25644
  });
25576
- } }, hAsync("input", { key: '5cb7da582c0711714ebe1400cd51c0cea4f26303', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: 'c8454ca15f481efc2d30426d09d3a946e736773a' }, this.getSelectProps()))))));
25645
+ } }, hAsync("input", { key: '0de3d2fffb493d7f5e71f0442578236b54a37ba2', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: 'eff29e3d817ccfee364b7452c46a38e5162bd905' }, this.getSelectProps()))))));
25577
25646
  }
25578
25647
  constructor(hostRef) {
25579
25648
  registerInstance(this, hostRef);
@@ -25827,7 +25896,8 @@ class KolSingleSelect {
25827
25896
  this._hasOpened = false;
25828
25897
  }
25829
25898
  clearSelection() {
25830
- if (this.state._disabled) {
25899
+ const isDisabled = this.state._disabled === true;
25900
+ if (isDisabled) {
25831
25901
  return;
25832
25902
  }
25833
25903
  else {
@@ -25911,8 +25981,9 @@ class KolSingleSelect {
25911
25981
  };
25912
25982
  }
25913
25983
  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) => {
25984
+ const { ariaDescribedBy } = getRenderStates(this.state);
25985
+ const isDisabled = this.state._disabled === true;
25986
+ 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
25987
  this.controller.onFacade.onFocus(event);
25917
25988
  this.inputHasFocus = true;
25918
25989
  }, onBlur: (event) => {
@@ -25922,13 +25993,14 @@ class KolSingleSelect {
25922
25993
  }
25923
25994
  render() {
25924
25995
  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: () => {
25996
+ const isDisabled = this.state._disabled === true;
25997
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'ceaeacb828d3cebdf8c3880984721d8691cea048' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '0a48c6e146fe3a6a2ce61d389fc0ae485996fd62', state: this.state }, hAsync("div", { key: '5ea20ec73b0ffc8b476b54ed8f642ccc13b4a711', class: "kol-single-select__group" }, hAsync(InputStateWrapper, Object.assign({ key: '4db6df712158695ceaffd2e7942d0eda1bad39b0' }, this.getInputProps())), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: 'cb014f93d9e3d91ffac5d25f9c002c97a1b27c05', _icons: "codicon codicon-close", "data-testid": "single-select-delete", _label: translate('kol-delete-selection'), onClick: () => {
25926
25998
  var _a;
25927
25999
  this.clearSelection();
25928
26000
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
25929
26001
  }, 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) => {
26002
+ 'kol-single-select__delete--disabled': isDisabled,
26003
+ }) })), hAsync(CustomSuggestionsToggleFc, { key: '5a8fbc7279a6f575e8b3730c61e7081827382c8a', onClick: this.toggleListbox.bind(this), disabled: isDisabled })), this._isOpen && !isDisabled && (hAsync(CustomSuggestionsOptionsGroupFc, { key: '5dbc77eee3ca936ff5610d24529a90b7d8ca1540', 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
26004
  if (el)
25933
26005
  this.refOptions[index] = el;
25934
26006
  }, selected: this._value === option.value, onClick: (event) => {
@@ -26067,7 +26139,8 @@ class KolSingleSelect {
26067
26139
  this.toggleListbox = (event) => {
26068
26140
  var _a;
26069
26141
  event === null || event === void 0 ? void 0 : event.preventDefault();
26070
- if (this.state._disabled) {
26142
+ const isDisabled = this.state._disabled === true;
26143
+ if (isDisabled) {
26071
26144
  return;
26072
26145
  }
26073
26146
  else {
@@ -26297,7 +26370,7 @@ class KolSkipNav {
26297
26370
  };
26298
26371
  }
26299
26372
  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) => {
26373
+ 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
26374
  return (hAsync("li", { class: "kol-skip-nav__list-item", key: index }, hAsync(KolLinkWcTag, Object.assign({}, link))));
26302
26375
  }))));
26303
26376
  }
@@ -26365,7 +26438,7 @@ class KolSpin {
26365
26438
  };
26366
26439
  }
26367
26440
  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" }))));
26441
+ 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
26442
  }
26370
26443
  validateShow(value) {
26371
26444
  this.showToggled = this.state._show === true && this._show === false;
@@ -26405,6 +26478,9 @@ var KolSplitButtonDefaultStyle0 = defaultStyleCss$9;
26405
26478
  class KolSplitButton {
26406
26479
  constructor(hostRef) {
26407
26480
  registerInstance(this, hostRef);
26481
+ this.catchPrimaryRef = (ref) => {
26482
+ this.primaryButtonWcRef = ref;
26483
+ };
26408
26484
  this.clickButtonHandler = {
26409
26485
  onClick: (event) => {
26410
26486
  var _a, _b;
@@ -26412,9 +26488,6 @@ class KolSplitButton {
26412
26488
  if (typeof ((_a = this._on) === null || _a === void 0 ? void 0 : _a.onClick) === 'function') {
26413
26489
  (_b = this._on) === null || _b === void 0 ? void 0 : _b.onClick(event, this._value);
26414
26490
  }
26415
- else {
26416
- this.toggleDropdown();
26417
- }
26418
26491
  },
26419
26492
  };
26420
26493
  this.clickToggleHandler = {
@@ -26429,7 +26502,9 @@ class KolSplitButton {
26429
26502
  this.handleOnClose = () => {
26430
26503
  this.state = Object.assign(Object.assign({}, this.state), { _show: false });
26431
26504
  };
26505
+ this._accessKey = undefined;
26432
26506
  this._ariaControls = undefined;
26507
+ this._ariaDescription = undefined;
26433
26508
  this._ariaExpanded = undefined;
26434
26509
  this._ariaSelected = undefined;
26435
26510
  this._customClass = undefined;
@@ -26441,6 +26516,7 @@ class KolSplitButton {
26441
26516
  this._name = undefined;
26442
26517
  this._on = undefined;
26443
26518
  this._role = undefined;
26519
+ this._shortKey = undefined;
26444
26520
  this._syncValueBySelector = undefined;
26445
26521
  this._tooltipAlign = 'top';
26446
26522
  this._type = 'button';
@@ -26450,12 +26526,19 @@ class KolSplitButton {
26450
26526
  _show: false,
26451
26527
  };
26452
26528
  }
26529
+ async getValue() {
26530
+ return this._value;
26531
+ }
26532
+ async kolFocus() {
26533
+ var _a;
26534
+ await ((_a = this.primaryButtonWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
26535
+ }
26453
26536
  render() {
26454
26537
  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', {
26538
+ 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
26539
  [this._variant]: this._variant !== 'custom',
26457
26540
  [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' }))));
26541
+ }), 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
26542
  }
26460
26543
  async closePopup() {
26461
26544
  this.handleOnClose();
@@ -26469,7 +26552,9 @@ class KolSplitButton {
26469
26552
  "$flags$": 57,
26470
26553
  "$tagName$": "kol-split-button",
26471
26554
  "$members$": {
26555
+ "_accessKey": [1, "_access-key"],
26472
26556
  "_ariaControls": [1, "_aria-controls"],
26557
+ "_ariaDescription": [1, "_aria-description"],
26473
26558
  "_ariaExpanded": [4, "_aria-expanded"],
26474
26559
  "_ariaSelected": [4, "_aria-selected"],
26475
26560
  "_customClass": [1, "_custom-class"],
@@ -26481,12 +26566,15 @@ class KolSplitButton {
26481
26566
  "_name": [1],
26482
26567
  "_on": [16],
26483
26568
  "_role": [1],
26569
+ "_shortKey": [1, "_short-key"],
26484
26570
  "_syncValueBySelector": [1, "_sync-value-by-selector"],
26485
26571
  "_tooltipAlign": [1, "_tooltip-align"],
26486
26572
  "_type": [1],
26487
26573
  "_value": [8],
26488
26574
  "_variant": [1],
26489
26575
  "state": [32],
26576
+ "getValue": [64],
26577
+ "kolFocus": [64],
26490
26578
  "closePopup": [64]
26491
26579
  },
26492
26580
  "$listeners$": undefined,
@@ -26552,7 +26640,7 @@ class KolTableSettings {
26552
26640
  }
26553
26641
  render() {
26554
26642
  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" }))))));
26643
+ 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
26644
  }
26557
26645
  get host() { return getElement(this); }
26558
26646
  static get watchers() { return {
@@ -26613,7 +26701,7 @@ const validateTableSettings = (component, value) => {
26613
26701
  watchValidator(component, `_tableSettings`, (value) => typeof value === 'object' && value !== null, new Set(['TableSettings']), value);
26614
26702
  };
26615
26703
 
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}";
26704
+ 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
26705
  var KolTableStatefulDefaultStyle0 = defaultStyleCss$8;
26618
26706
 
26619
26707
  const PAGINATION_OPTIONS = [10, 20, 50, 100];
@@ -26889,7 +26977,7 @@ class KolTableStateful {
26889
26977
  ? this.state._data.length.toString()
26890
26978
  : '0',
26891
26979
  },
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 }))));
26980
+ })), 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
26981
  }
26894
26982
  getHeaderCellSortState(headerCell) {
26895
26983
  if (!this.disableSort && typeof headerCell.compareFn === 'function') {
@@ -26949,7 +27037,7 @@ class KolTableStateful {
26949
27037
  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
27038
  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
27039
  };
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: {
27040
+ 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
27041
  onSort: (_, payload) => {
26954
27042
  this.handleSort(payload);
26955
27043
  },
@@ -26999,7 +27087,7 @@ class KolTableStateful {
26999
27087
  }; }
27000
27088
  }
27001
27089
 
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}";
27090
+ 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
27091
  var KolTableStatelessDefaultStyle0 = defaultStyleCss$7;
27004
27092
 
27005
27093
  class KolTableStateless$1 {
@@ -27015,7 +27103,7 @@ class KolTableStateless$1 {
27015
27103
  this._tableSettings = undefined;
27016
27104
  }
27017
27105
  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 }));
27106
+ 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
27107
  }
27020
27108
  static get style() { return {
27021
27109
  default: KolTableStatelessDefaultStyle0
@@ -27242,28 +27330,28 @@ class KolTableStateless {
27242
27330
  }
27243
27331
  return max;
27244
27332
  }
27245
- getThePrimaryHeadersWithKeysIfExists(headers) {
27246
- const primaryHeadersWithKeys = [];
27333
+ getThePrimaryHeadersWithKeyOrRenderFunction(headers) {
27334
+ const primaryHeaders = [];
27247
27335
  headers.forEach((cells) => {
27248
27336
  cells.forEach((cell) => {
27249
- if (typeof cell.key === 'string') {
27250
- primaryHeadersWithKeys.push(cell);
27337
+ if (typeof cell.key === 'string' || typeof cell.render === 'function') {
27338
+ primaryHeaders.push(cell);
27251
27339
  }
27252
27340
  });
27253
27341
  });
27254
- return primaryHeadersWithKeys;
27342
+ return primaryHeaders;
27255
27343
  }
27256
27344
  getPrimaryHeaders(headers) {
27257
27345
  var _a, _b;
27258
- let primaryHeadersWithKeys = this.getThePrimaryHeadersWithKeysIfExists((_a = headers.horizontal) !== null && _a !== void 0 ? _a : []);
27346
+ let primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_a = headers.horizontal) !== null && _a !== void 0 ? _a : []);
27259
27347
  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) {
27348
+ if (primaryHeaders.length === 0) {
27349
+ primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_b = headers.vertical) !== null && _b !== void 0 ? _b : []);
27350
+ if (primaryHeaders.length > 0) {
27263
27351
  this.horizontal = false;
27264
27352
  }
27265
27353
  }
27266
- return primaryHeadersWithKeys;
27354
+ return primaryHeaders;
27267
27355
  }
27268
27356
  getColumnPositionMap() {
27269
27357
  var _a;
@@ -27330,18 +27418,18 @@ class KolTableStateless {
27330
27418
  const row = isFoot && this.state._dataFoot ? this.state._dataFoot[i - startRow] : data[i];
27331
27419
  if (typeof sortedPrimaryHeader[j] === 'object' &&
27332
27420
  sortedPrimaryHeader[j] !== null &&
27333
- typeof sortedPrimaryHeader[j].key === 'string' &&
27334
27421
  typeof row === 'object' &&
27335
- row !== null) {
27422
+ row !== null &&
27423
+ (typeof sortedPrimaryHeader[j].key === 'string' || typeof sortedPrimaryHeader[j].render === 'function')) {
27336
27424
  dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[j]), { colSpan: undefined, data: row, label: row[sortedPrimaryHeader[j].key], rowSpan: undefined }));
27337
27425
  }
27338
27426
  }
27339
27427
  else {
27340
27428
  if (typeof sortedPrimaryHeader[i] === 'object' &&
27341
27429
  sortedPrimaryHeader[i] !== null &&
27342
- typeof sortedPrimaryHeader[i].key === 'string' &&
27343
27430
  typeof data[j] === 'object' &&
27344
- data[j] !== null) {
27431
+ data[j] !== null &&
27432
+ (typeof sortedPrimaryHeader[i].key === 'string' || typeof sortedPrimaryHeader[i].render === 'function')) {
27345
27433
  dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[i]), { colSpan: undefined, data: data[j], label: data[j][sortedPrimaryHeader[i].key], rowSpan: undefined }));
27346
27434
  }
27347
27435
  }
@@ -27519,7 +27607,7 @@ class KolTableStateless {
27519
27607
  if (columnSettings && !columnSettings.visible) {
27520
27608
  return '';
27521
27609
  }
27522
- let ariaSort = undefined;
27610
+ let ariaSort = 'none';
27523
27611
  let sortButtonIcon = 'codicon codicon-fold';
27524
27612
  if (cell.sortDirection) {
27525
27613
  switch (cell.sortDirection) {
@@ -27531,6 +27619,8 @@ class KolTableStateless {
27531
27619
  sortButtonIcon = 'codicon codicon-chevron-down';
27532
27620
  ariaSort = 'descending';
27533
27621
  break;
27622
+ default:
27623
+ ariaSort = 'none';
27534
27624
  }
27535
27625
  }
27536
27626
  const scope = isVertical ? 'row' : typeof cell.colSpan === 'number' && cell.colSpan > 1 ? 'colgroup' : 'col';
@@ -27579,12 +27669,12 @@ class KolTableStateless {
27579
27669
  const dataField = this.createDataField(this.state._data, this.state._headerCells);
27580
27670
  this.checkboxRefs = [];
27581
27671
  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: {
27672
+ 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
27673
  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" }, [
27674
+ } }, 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
27675
  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
27676
  this.renderSpacer('head', sortedHorizontalHeaders),
27587
- ])), hAsync("tbody", { key: 'b7866fe3430029ea01b05d747ea49e42c577d10c', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
27677
+ ])), hAsync("tbody", { key: 'f87e907d033d601fb065bf8d1d0892016ed1d368', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
27588
27678
  }
27589
27679
  get host() { return getElement(this); }
27590
27680
  static get watchers() { return {
@@ -27828,9 +27918,9 @@ class KolTabs {
27828
27918
  }, _icons: "codicon codicon-plus", "data-testid": "tabs-create-button" }))));
27829
27919
  }
27830
27920
  render() {
27831
- return (hAsync("div", { key: '651b397e4e56da8694268e5670dd12da67fb4430', ref: (el) => {
27921
+ return (hAsync("div", { key: '8c3212b2e1bd09292d666d163c88ad94ef2f59bb', ref: (el) => {
27832
27922
  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 })));
27923
+ }, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: 'ebbb16b66d9b77f98fe9d2384f83489530cd3e6d', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
27834
27924
  }
27835
27925
  validateAlign(value) {
27836
27926
  validateAlign(this, value);
@@ -28070,7 +28160,7 @@ class KolTextarea {
28070
28160
  } });
28071
28161
  }
28072
28162
  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())))));
28163
+ 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
28164
  }
28075
28165
  constructor(hostRef) {
28076
28166
  registerInstance(this, hostRef);
@@ -28324,7 +28414,9 @@ class KolToastContainer {
28324
28414
  return localToastState;
28325
28415
  }) });
28326
28416
  setTimeout(() => {
28417
+ var _a, _b;
28327
28418
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: this.state._toastStates.filter((localToastState) => localToastState.id !== toastState.id) });
28419
+ (_b = (_a = toastState.toast).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
28328
28420
  }, TRANSITION_TIMEOUT);
28329
28421
  }
28330
28422
  async closeAll(immediate = false) {
@@ -28336,6 +28428,10 @@ class KolToastContainer {
28336
28428
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: toastsToClose.map((localToastState) => (Object.assign(Object.assign({}, localToastState), { status: 'removing' }))) });
28337
28429
  setTimeout(() => {
28338
28430
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: this.state._toastStates.filter((toastState) => toastsToClose.every((toastToClose) => toastToClose.id !== toastState.id)) });
28431
+ toastsToClose.forEach((toastState) => {
28432
+ var _a, _b;
28433
+ (_b = (_a = toastState.toast).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
28434
+ });
28339
28435
  }, TRANSITION_TIMEOUT);
28340
28436
  }
28341
28437
  }
@@ -28346,7 +28442,7 @@ class KolToastContainer {
28346
28442
  }
28347
28443
  }
28348
28444
  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: {
28445
+ 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
28446
  onClick: () => {
28351
28447
  void this.closeAll();
28352
28448
  },
@@ -28398,7 +28494,7 @@ class KolToolbar {
28398
28494
  this._orientation = undefined;
28399
28495
  }
28400
28496
  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)));
28497
+ 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
28498
  }
28403
28499
  validateLabel(value) {
28404
28500
  validateLabel(this, value);
@@ -28495,11 +28591,10 @@ function hideOverlay(overlay) {
28495
28591
  }
28496
28592
  }
28497
28593
 
28594
+ const TOOLTIP_DELAY = 300;
28498
28595
  class KolTooltipWc {
28499
28596
  constructor(hostRef) {
28500
28597
  registerInstance(this, hostRef);
28501
- this.hasFocusIn = false;
28502
- this.hasMouseIn = false;
28503
28598
  this.showTooltip = () => {
28504
28599
  if (this.previousSibling && this.tooltipElement) {
28505
28600
  showOverlay(this.tooltipElement);
@@ -28512,21 +28607,22 @@ class KolTooltipWc {
28512
28607
  });
28513
28608
  }
28514
28609
  };
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);
28610
+ this.showTooltipWithDelay = () => {
28611
+ clearTimeout(this.hideTooltipTimeout);
28612
+ clearTimeout(this.showTooltipTimeout);
28613
+ this.showTooltipTimeout = setTimeout(() => {
28614
+ this.showTooltip();
28615
+ }, TOOLTIP_DELAY);
28616
+ };
28617
+ this.hideTooltipWithDelay = () => {
28618
+ clearTimeout(this.hideTooltipTimeout);
28619
+ this.hideTooltipTimeout = setTimeout(() => {
28620
+ void this.hideTooltip();
28621
+ }, TOOLTIP_DELAY);
28526
28622
  };
28527
28623
  this.hideTooltipByEscape = (event) => {
28528
28624
  if (event.key === 'Escape') {
28529
- this.hideTooltip();
28625
+ void this.hideTooltip();
28530
28626
  }
28531
28627
  };
28532
28628
  this.addListeners = (el) => {
@@ -28558,17 +28654,6 @@ class KolTooltipWc {
28558
28654
  this.catchArrowElement = (element) => {
28559
28655
  this.arrowElement = element;
28560
28656
  };
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
28657
  this._badgeText = undefined;
28573
28658
  this._align = 'top';
28574
28659
  this._id = undefined;
@@ -28588,24 +28673,33 @@ class KolTooltipWc {
28588
28673
  });
28589
28674
  }
28590
28675
  }
28676
+ async hideTooltip() {
28677
+ clearTimeout(this.showTooltipTimeout);
28678
+ if (this.tooltipElement) {
28679
+ hideOverlay(this.tooltipElement);
28680
+ this.tooltipElement.style.setProperty('display', 'none');
28681
+ this.tooltipElement.style.setProperty('visibility', 'hidden');
28682
+ if (this.cleanupAutoPositioning) {
28683
+ this.cleanupAutoPositioning();
28684
+ this.cleanupAutoPositioning = undefined;
28685
+ }
28686
+ }
28687
+ getDocument().removeEventListener('keyup', this.hideTooltipByEscape);
28688
+ }
28591
28689
  handleMouseEnter() {
28592
- this.hasMouseIn = true;
28593
- this.showOrHideTooltip();
28690
+ this.showTooltipWithDelay();
28594
28691
  }
28595
28692
  handleMouseleave() {
28596
- this.hasMouseIn = false;
28597
- this.showOrHideTooltip();
28693
+ this.hideTooltipWithDelay();
28598
28694
  }
28599
28695
  handleFocusIn() {
28600
- this.hasFocusIn = true;
28601
- this.showOrHideTooltip();
28696
+ this.showTooltipWithDelay();
28602
28697
  }
28603
28698
  handleFocusout() {
28604
- this.hasFocusIn = false;
28605
- this.showOrHideTooltip();
28699
+ this.hideTooltipWithDelay();
28606
28700
  }
28607
28701
  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 })))));
28702
+ 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
28703
  }
28610
28704
  validateBadgeText(value) {
28611
28705
  validateBadgeText(this, value);
@@ -28666,7 +28760,8 @@ class KolTooltipWc {
28666
28760
  "_align": [1],
28667
28761
  "_id": [1],
28668
28762
  "_label": [1],
28669
- "state": [32]
28763
+ "state": [32],
28764
+ "hideTooltip": [64]
28670
28765
  },
28671
28766
  "$listeners$": undefined,
28672
28767
  "$lazyBundleId$": "-",
@@ -28683,7 +28778,7 @@ class KolTree {
28683
28778
  this._label = undefined;
28684
28779
  }
28685
28780
  render() {
28686
- return (hAsync(KolTreeWcTag, { key: 'a9de70659b4ae51eb7e54067eff48641f22a51fc', _label: this._label }, hAsync("slot", { key: 'd6ee7409c81f3eee881f345d450675fe643eb64e' })));
28781
+ return (hAsync(KolTreeWcTag, { key: '13d3e695605cbf910749ac998731d7d6310b3ed8', _label: this._label }, hAsync("slot", { key: 'b4702460fa7ca8fe8e259cb7b782a8971735a9ef' })));
28687
28782
  }
28688
28783
  static get style() { return {
28689
28784
  default: KolTreeDefaultStyle0
@@ -28731,7 +28826,7 @@ class KolTreeItem {
28731
28826
  return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
28732
28827
  }
28733
28828
  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' })));
28829
+ 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
28830
  }
28736
28831
  static get style() { return {
28737
28832
  default: KolTreeItemDefaultStyle0
@@ -28774,12 +28869,12 @@ class KolTreeItemWc {
28774
28869
  }
28775
28870
  render() {
28776
28871
  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: {
28872
+ return (hAsync(Host, { key: 'e0d63b982e56ef662c1420fc9ade69068b8a81ff', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '7c2d91957ad2e92256d5bc8bcbfa003d830a3645', class: "kol-tree-item", style: {
28778
28873
  '--level': `${this.level}`,
28779
- } }, hAsync(KolLinkWcTag, { key: '25c19762e151a6628e6604ae656db511cf3bd2ef', class: clsx('kol-tree-item__link', {
28874
+ } }, hAsync(KolLinkWcTag, { key: '7207fe34d30d14349d397fbd75ff2f0d16aa7086', class: clsx('kol-tree-item__link', {
28780
28875
  'kol-tree-item__link--first-level': this.level === 0,
28781
28876
  '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' })))));
28877
+ }), _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
28878
  }
28784
28879
  validateActive(value) {
28785
28880
  validateActive(this, value || false);
@@ -28884,7 +28979,7 @@ class KolTreeWc {
28884
28979
  validateLabel(this, value);
28885
28980
  }
28886
28981
  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' })))));
28982
+ 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
28983
  }
28889
28984
  static isTreeItem(element) {
28890
28985
  return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
@@ -29082,7 +29177,7 @@ class KolVersion {
29082
29177
  };
29083
29178
  }
29084
29179
  render() {
29085
- return (hAsync(Host, { key: '504d576bcb558a37e573c76a5ba0a4a74e7c0bb4', class: "kol-version" }, hAsync(KolBadgeTag, { key: 'cad1661faee70f01e77c1b2ef9f02fce548f7c70', _color: "#bec5c9", _icons: {
29180
+ return (hAsync(Host, { key: '3304cd937945785a92d3cf9a25cd70065f2ac5dd', class: "kol-version" }, hAsync(KolBadgeTag, { key: '155a2fbdb3ce12a1800b62745a2f9683585c9794', _color: "#bec5c9", _icons: {
29086
29181
  left: { icon: 'codicon codicon-versions', label: translate('kol-version') },
29087
29182
  }, _label: this.state._label })));
29088
29183
  }
@@ -29165,6 +29260,7 @@ registerComponents([
29165
29260
  KolModal,
29166
29261
  KolNav,
29167
29262
  KolPagination,
29263
+ KolPaginationWc,
29168
29264
  KolPopover,
29169
29265
  KolPopoverButton$1,
29170
29266
  KolPopoverButton,