@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.mjs CHANGED
@@ -4290,13 +4290,31 @@ const validateMsg = (component, value) => {
4290
4290
  }
4291
4291
  catch (e) {
4292
4292
  }
4293
- 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);
4293
+ watchValidator(component, `_msg`, (value) => {
4294
+ if (value === undefined) {
4295
+ return true;
4296
+ }
4297
+ if (typeof value === 'string' && value.length > 0) {
4298
+ return true;
4299
+ }
4300
+ if (isObject$2(value) && value !== null) {
4301
+ const objValue = value;
4302
+ return isString$3(objValue._description, 1);
4303
+ }
4304
+ return false;
4305
+ }, new Set(['MsgPropType', 'string']), value);
4294
4306
  });
4295
4307
  };
4296
4308
  function convertMsgToInternMsg(msg) {
4297
4309
  if (!msg) {
4298
4310
  return undefined;
4299
4311
  }
4312
+ if (typeof msg === 'string') {
4313
+ return {
4314
+ description: msg,
4315
+ type: 'error',
4316
+ };
4317
+ }
4300
4318
  return transformObjectProperties(msg);
4301
4319
  }
4302
4320
  function checkHasMsg(msg, touched) {
@@ -4518,7 +4536,7 @@ let KolInputCheckboxTag = 'kol-input-checkbox';
4518
4536
  let KolInputNumberTag = 'kol-input-number';
4519
4537
  let KolLinkTag = 'kol-link';
4520
4538
  let KolLinkWcTag = 'kol-link-wc';
4521
- let KolPaginationTag = 'kol-pagination';
4539
+ let KolPaginationWcTag = 'kol-pagination-wc';
4522
4540
  let KolPopoverWcTag = 'kol-popover-wc';
4523
4541
  let KolPopoverButtonWcTag = 'kol-popover-button-wc';
4524
4542
  let KolSelectTag = 'kol-select';
@@ -4625,18 +4643,14 @@ function isValidHeadingLevel(level) {
4625
4643
  function getHeadlineTag(level) {
4626
4644
  return isValidHeadingLevel(level) ? `h${level}` : 'strong';
4627
4645
  }
4628
- function getSubHeadlineTag(level) {
4629
- return level === 1 ? 'span' : getHeadlineTag(level);
4630
- }
4631
4646
  const KolHeadlineFc = (_a, children) => {
4632
4647
  var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
4633
4648
  const HeadlineTag = getHeadlineTag(level);
4634
4649
  return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline', `kol-headline--${HeadlineTag}`, classNames) }, other), children));
4635
4650
  };
4636
4651
  const KolSecondaryHeadlineFc = (_a, children) => {
4637
- var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
4638
- const HeadlineTag = getSubHeadlineTag(level + 1);
4639
- return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline kol-headline--group kol-headline--secondary', classNames) }, other), children));
4652
+ var { class: classNames } = _a, other = __rest(_a, ["class"]);
4653
+ return (hAsync("p", Object.assign({ class: clsx('kol-headline kol-headline--group kol-headline--secondary', classNames) }, other), children));
4640
4654
  };
4641
4655
  const KolHeadingFc = (_a, children) => {
4642
4656
  var { secondaryHeadline, level = MIN_HEADING_LEVEL, class: classNames, HeadingGroupProps = {}, SecondaryHeadlineProps = {} } = _a, other = __rest(_a, ["secondaryHeadline", "level", "class", "HeadingGroupProps", "SecondaryHeadlineProps"]);
@@ -4648,7 +4662,7 @@ const KolHeadingFc = (_a, children) => {
4648
4662
  const headlineGroupProps = Object.assign({ class: clsx('kol-heading-group', groupClassNames) }, groupOthers);
4649
4663
  return (hAsync("hgroup", Object.assign({}, headlineGroupProps),
4650
4664
  hAsync(KolHeadlineFc, Object.assign({ class: clsx(classNames, 'kol-headline--group', 'kol-headline--primary') }, headlineProps), children),
4651
- hAsync(KolSecondaryHeadlineFc, Object.assign({ level: level }, SecondaryHeadlineProps), secondaryHeadline)));
4665
+ hAsync(KolSecondaryHeadlineFc, Object.assign({}, SecondaryHeadlineProps), secondaryHeadline)));
4652
4666
  };
4653
4667
 
4654
4668
  const KolCollapsibleFc = (props, children) => {
@@ -5177,7 +5191,7 @@ const KolAlertFc = (props, children) => {
5177
5191
  [`h${level}`]: true,
5178
5192
  });
5179
5193
  const rootProps = Object.assign({ class: clsx(classNames, BEM_CLASS_ROOT), role: alert ? (type === 'error' ? 'alert' : 'status') : undefined }, other);
5180
- return (hAsync("div", Object.assign({}, rootProps),
5194
+ return (hAsync("div", Object.assign({}, rootProps, { "data-testid": "alert" }),
5181
5195
  hAsync("div", { class: "kol-alert__container" },
5182
5196
  hAsync(AlertIcon, { label: label, type: type }),
5183
5197
  hAsync("div", { class: "kol-alert__container-content" },
@@ -16628,25 +16642,28 @@ class KolButtonWc {
16628
16642
  var _a;
16629
16643
  (_a = this.buttonRef) === null || _a === void 0 ? void 0 : _a.focus();
16630
16644
  }
16645
+ async hideTooltip() {
16646
+ var _a;
16647
+ void ((_a = this.tooltipRef) === null || _a === void 0 ? void 0 : _a.hideTooltip());
16648
+ }
16631
16649
  render() {
16632
16650
  var _a, _b;
16633
16651
  const hasExpertSlot = showExpertSlot(this.state._label);
16634
16652
  const hasAriaDescription = Boolean((_b = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.length);
16635
16653
  const badgeText = this.state._accessKey || this.state._shortKey;
16636
- 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', {
16637
- 'kol-button--disabled': this.state._disabled === true,
16654
+ const isDisabled = this.state._disabled === true;
16655
+ const hideLabel = this.state._hideLabel === true;
16656
+ 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', {
16657
+ 'kol-button--disabled': isDisabled,
16638
16658
  [`kol-button--${this.state._buttonVariant}`]: this.state._buttonVariant !== 'custom',
16639
16659
  [`kol-button--${this.state._linkVariant}`]: this.state._linkVariant,
16640
- 'kol-button--hide-label': this.state._hideLabel === true,
16660
+ 'kol-button--hide-label': hideLabel,
16641
16661
  [this.state._customClass]: this.state._buttonVariant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
16642
- }), 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))));
16662
+ }), 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))));
16643
16663
  }
16644
16664
  constructor(hostRef) {
16645
16665
  registerInstance(this, hostRef);
16646
16666
  this.internalDescriptionById = nonce();
16647
- this.catchRef = (ref) => {
16648
- this.buttonRef = ref;
16649
- };
16650
16667
  this.onClick = (event) => {
16651
16668
  var _a, _b;
16652
16669
  if (this.state._type === 'submit') {
@@ -16860,7 +16877,8 @@ class KolButtonWc {
16860
16877
  "_value": [8],
16861
16878
  "_buttonVariant": [1, "_button-variant"],
16862
16879
  "state": [32],
16863
- "kolFocus": [64]
16880
+ "kolFocus": [64],
16881
+ "hideTooltip": [64]
16864
16882
  },
16865
16883
  "$listeners$": undefined,
16866
16884
  "$lazyBundleId$": "-",
@@ -16925,7 +16943,7 @@ class KolCard {
16925
16943
  };
16926
16944
  }
16927
16945
  render() {
16928
- 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: {
16946
+ 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: {
16929
16947
  left: {
16930
16948
  icon: 'codicon codicon-close',
16931
16949
  },
@@ -17255,25 +17273,10 @@ class ComboboxController extends InputIconController {
17255
17273
  }
17256
17274
  }
17257
17275
 
17258
- const getRenderStates$1 = (state) => {
17259
- var _a;
17260
- const isMessageValid = ((_a = state._msg) === null || _a === void 0 ? void 0 : _a._type) === 'error';
17261
- const hasMsg = isMessageValid && state._touched === true;
17262
- const hasHint = typeof state._hint === 'string' && state._hint.length > 0;
17263
- const ariaDescribedBy = [];
17264
- if (hasMsg === true) {
17265
- ariaDescribedBy.push(`${state._id}-error`);
17266
- }
17267
- if (hasHint === true) {
17268
- ariaDescribedBy.push(`${state._id}-hint`);
17269
- }
17270
- return { hasMsg, hasHint, ariaDescribedBy };
17271
- };
17272
-
17273
17276
  const getRenderStates = (state) => {
17274
- var _a, _b, _c;
17275
- 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);
17276
- const isMessageValidError = ((_c = state._msg) === null || _c === void 0 ? void 0 : _c._type) === 'error' && hasMessage;
17277
+ const internMsg = convertMsgToInternMsg(state._msg);
17278
+ const hasMessage = Boolean((internMsg === null || internMsg === void 0 ? void 0 : internMsg.description) && internMsg.description.length > 0);
17279
+ const isMessageValidError = (internMsg === null || internMsg === void 0 ? void 0 : internMsg.type) === 'error' && hasMessage;
17277
17280
  const hasError = isMessageValidError && state._touched === true;
17278
17281
  const hasHint = typeof state._hint === 'string' && state._hint.length > 0;
17279
17282
  const ariaDescribedBy = [];
@@ -17410,8 +17413,15 @@ const CustomSuggestionsToggleFc = ({ onClick, disabled }) => {
17410
17413
  hAsync(KolIconTag, { _icons: "codicon codicon-triangle-down", _label: translate('kol-dropdown') })));
17411
17414
  };
17412
17415
 
17413
- const CustomSuggestionsOptionFc = ({ index, ref, selected, onClick, onMouseOver, onFocus, onKeyDown, option }) => {
17414
- 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));
17416
+ const CustomSuggestionsOptionFc = ({ index, ref, selected, onClick, onMouseOver, onFocus, onKeyDown, option, searchTerm }) => {
17417
+ const highlightSearchTerm = (text, searchTerm) => {
17418
+ if (!(searchTerm === null || searchTerm === void 0 ? void 0 : searchTerm.trim()))
17419
+ return text;
17420
+ const regex = new RegExp(`(${searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`, 'gi');
17421
+ const parts = text.split(regex);
17422
+ return parts.map((part, partIndex) => (regex.test(part) ? hAsync("mark", { key: partIndex }, part) : part));
17423
+ };
17424
+ 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 || '')));
17415
17425
  };
17416
17426
 
17417
17427
  const CustomSuggestionsOptionsGroupFc = ({ blockSuggestionMouseOver, onKeyDown, style }, children) => {
@@ -17507,8 +17517,9 @@ class KolCombobox {
17507
17517
  };
17508
17518
  }
17509
17519
  getInputProps() {
17510
- const { ariaDescribedBy } = getRenderStates$1(this.state);
17511
- 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) => {
17520
+ const { ariaDescribedBy } = getRenderStates(this.state);
17521
+ const isDisabled = this.state._disabled === true;
17522
+ 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) => {
17512
17523
  this.controller.onFacade.onFocus(event);
17513
17524
  this.inputHasFocus = true;
17514
17525
  }, onBlur: (event) => {
@@ -17517,9 +17528,10 @@ class KolCombobox {
17517
17528
  }, onChange: this.onChange.bind(this), onInput: this.onInput.bind(this), placeholder: this.state._placeholder });
17518
17529
  }
17519
17530
  render() {
17520
- 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) &&
17531
+ const isDisabled = this.state._disabled === true;
17532
+ 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) &&
17521
17533
  this._filteredSuggestions.length > 0 &&
17522
- this._filteredSuggestions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { index: index, option: option, ref: (el) => {
17534
+ this._filteredSuggestions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { index: index, option: option, searchTerm: this.state._value, ref: (el) => {
17523
17535
  if (el)
17524
17536
  this.refSuggestions[index] = el;
17525
17537
  }, selected: this.state._value === option, onClick: () => {
@@ -17635,7 +17647,8 @@ class KolCombobox {
17635
17647
  this._focusedOptionIndex = -1;
17636
17648
  this.toggleListbox = () => {
17637
17649
  var _a;
17638
- if (this.state._disabled === true) {
17650
+ const isDisabled = this.state._disabled === true;
17651
+ if (isDisabled) {
17639
17652
  this._isOpen = false;
17640
17653
  }
17641
17654
  else {
@@ -18224,7 +18237,7 @@ class KolForm {
18224
18237
  }; }
18225
18238
  }
18226
18239
 
18227
- 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}";
18240
+ 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}";
18228
18241
  var KolHeadingDefaultStyle0 = defaultStyleCss$z;
18229
18242
 
18230
18243
  class KolHeading {
@@ -22296,6 +22309,7 @@ class KolNav {
22296
22309
  }), 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 })));
22297
22310
  }
22298
22311
  initializeExpandedChildren() {
22312
+ this.state = Object.assign(Object.assign({}, this.state), { _expandedChildren: [] });
22299
22313
  const handleBranch = (branch) => {
22300
22314
  if (branch._active) {
22301
22315
  if (branch._children) {
@@ -22324,9 +22338,9 @@ class KolNav {
22324
22338
  const collapsible = this.state._collapsible === true;
22325
22339
  const hideLabel = this.state._hideLabel === true;
22326
22340
  const orientation = this.state._orientation;
22327
- return (hAsync("div", { key: '41b5171c34c2c740b8b4dd8449e6334721e7cb19', class: clsx('kol-nav', `kol-nav--${orientation}`, {
22341
+ return (hAsync("div", { key: '1768f2d1d6794f07607ad8a9f3953a4f17d3cd06', class: clsx('kol-nav', `kol-nav--${orientation}`, {
22328
22342
  'kol-nav--is-compact': this.state._hideLabel,
22329
- }) }, 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: {
22343
+ }) }, 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: {
22330
22344
  onClick: () => {
22331
22345
  this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: this.state._hideLabel === false });
22332
22346
  },
@@ -22357,6 +22371,7 @@ class KolNav {
22357
22371
  validateLinks(value) {
22358
22372
  watchNavLinks('KolNav', this, value);
22359
22373
  devHint(`[KolNav] The navigation structure is not yet validated recursively.`);
22374
+ this.initializeExpandedChildren();
22360
22375
  }
22361
22376
  validateOrientation(value) {
22362
22377
  watchValidator(this, '_orientation', (value) => value === 'horizontal' || value === 'vertical', new Set(['Orientation {horizontal, vertical}']), value, {
@@ -22407,9 +22422,52 @@ class KolNav {
22407
22422
  }; }
22408
22423
  }
22409
22424
 
22410
- 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}";
22425
+ 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}";
22411
22426
  var KolPaginationDefaultStyle0 = defaultStyleCss$h;
22412
22427
 
22428
+ class KolPagination {
22429
+ constructor(hostRef) {
22430
+ registerInstance(this, hostRef);
22431
+ this._boundaryCount = 1;
22432
+ this._customClass = undefined;
22433
+ this._label = undefined;
22434
+ this._hasButtons = true;
22435
+ this._page = undefined;
22436
+ this._pageSize = 1;
22437
+ this._pageSizeOptions = [];
22438
+ this._on = undefined;
22439
+ this._siblingCount = 1;
22440
+ this._tooltipAlign = 'top';
22441
+ this._max = undefined;
22442
+ }
22443
+ render() {
22444
+ 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 }));
22445
+ }
22446
+ static get style() { return {
22447
+ default: KolPaginationDefaultStyle0
22448
+ }; }
22449
+ static get cmpMeta() { return {
22450
+ "$flags$": 41,
22451
+ "$tagName$": "kol-pagination",
22452
+ "$members$": {
22453
+ "_boundaryCount": [2, "_boundary-count"],
22454
+ "_customClass": [1, "_custom-class"],
22455
+ "_label": [1],
22456
+ "_hasButtons": [8, "_has-buttons"],
22457
+ "_page": [2],
22458
+ "_pageSize": [1026, "_page-size"],
22459
+ "_pageSizeOptions": [1, "_page-size-options"],
22460
+ "_on": [16],
22461
+ "_siblingCount": [2, "_sibling-count"],
22462
+ "_tooltipAlign": [1, "_tooltip-align"],
22463
+ "_max": [2]
22464
+ },
22465
+ "$listeners$": undefined,
22466
+ "$lazyBundleId$": "-",
22467
+ "$attrsToReflect$": []
22468
+ }; }
22469
+ }
22470
+
22413
22471
  const leftDoubleArrowIcon = {
22414
22472
  left: 'codicon codicon-debug-reverse-continue',
22415
22473
  };
@@ -22433,7 +22491,7 @@ const NUMBER_FORMATTER = new Intl.NumberFormat(userLanguage, {
22433
22491
  minimumFractionDigits: 0,
22434
22492
  maximumFractionDigits: 0,
22435
22493
  });
22436
- class KolPagination {
22494
+ class KolPaginationWc {
22437
22495
  constructor(hostRef) {
22438
22496
  registerInstance(this, hostRef);
22439
22497
  this.nonce = nonce();
@@ -22739,12 +22797,9 @@ class KolPagination {
22739
22797
  "_max": ["validateMax"],
22740
22798
  "_tooltipAlign": ["validateTooltipAlign"]
22741
22799
  }; }
22742
- static get style() { return {
22743
- default: KolPaginationDefaultStyle0
22744
- }; }
22745
22800
  static get cmpMeta() { return {
22746
- "$flags$": 41,
22747
- "$tagName$": "kol-pagination",
22801
+ "$flags$": 0,
22802
+ "$tagName$": "kol-pagination-wc",
22748
22803
  "$members$": {
22749
22804
  "_boundaryCount": [2, "_boundary-count"],
22750
22805
  "_customClass": [1, "_custom-class"],
@@ -22809,8 +22864,9 @@ function getOppositeAxis(axis) {
22809
22864
  function getAxisLength(axis) {
22810
22865
  return axis === 'y' ? 'height' : 'width';
22811
22866
  }
22867
+ const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
22812
22868
  function getSideAxis(placement) {
22813
- return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
22869
+ return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
22814
22870
  }
22815
22871
  function getAlignmentAxis(placement) {
22816
22872
  return getOppositeAxis(getSideAxis(placement));
@@ -22835,19 +22891,19 @@ function getExpandedPlacements(placement) {
22835
22891
  function getOppositeAlignmentPlacement(placement) {
22836
22892
  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
22837
22893
  }
22894
+ const lrPlacement = ['left', 'right'];
22895
+ const rlPlacement = ['right', 'left'];
22896
+ const tbPlacement = ['top', 'bottom'];
22897
+ const btPlacement = ['bottom', 'top'];
22838
22898
  function getSideList(side, isStart, rtl) {
22839
- const lr = ['left', 'right'];
22840
- const rl = ['right', 'left'];
22841
- const tb = ['top', 'bottom'];
22842
- const bt = ['bottom', 'top'];
22843
22899
  switch (side) {
22844
22900
  case 'top':
22845
22901
  case 'bottom':
22846
- if (rtl) return isStart ? rl : lr;
22847
- return isStart ? lr : rl;
22902
+ if (rtl) return isStart ? rlPlacement : lrPlacement;
22903
+ return isStart ? lrPlacement : rlPlacement;
22848
22904
  case 'left':
22849
22905
  case 'right':
22850
- return isStart ? tb : bt;
22906
+ return isStart ? tbPlacement : btPlacement;
22851
22907
  default:
22852
22908
  return [];
22853
22909
  }
@@ -23631,6 +23687,8 @@ const inline = function (options) {
23631
23687
  };
23632
23688
  };
23633
23689
 
23690
+ const originSides = /*#__PURE__*/new Set(['left', 'top']);
23691
+
23634
23692
  // For type backwards-compatibility, the `OffsetOptions` type was also
23635
23693
  // Derivable.
23636
23694
 
@@ -23644,7 +23702,7 @@ async function convertValueToCoords(state, options) {
23644
23702
  const side = getSide(placement);
23645
23703
  const alignment = getAlignment(placement);
23646
23704
  const isVertical = getSideAxis(placement) === 'y';
23647
- const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
23705
+ const mainAxisMulti = originSides.has(side) ? -1 : 1;
23648
23706
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
23649
23707
  const rawValue = evaluate(options, state);
23650
23708
 
@@ -23844,7 +23902,7 @@ const limitShift = function (options) {
23844
23902
  if (checkCrossAxis) {
23845
23903
  var _middlewareData$offse, _middlewareData$offse2;
23846
23904
  const len = mainAxis === 'y' ? 'width' : 'height';
23847
- const isOriginSide = ['top', 'left'].includes(getSide(placement));
23905
+ const isOriginSide = originSides.has(getSide(placement));
23848
23906
  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);
23849
23907
  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);
23850
23908
  if (crossAxisCoord < limitMin) {
@@ -23989,6 +24047,7 @@ function isShadowRoot(value) {
23989
24047
  }
23990
24048
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
23991
24049
  }
24050
+ const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
23992
24051
  function isOverflowElement(element) {
23993
24052
  const {
23994
24053
  overflow,
@@ -23996,27 +24055,32 @@ function isOverflowElement(element) {
23996
24055
  overflowY,
23997
24056
  display
23998
24057
  } = getComputedStyle(element);
23999
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
24058
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
24000
24059
  }
24060
+ const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
24001
24061
  function isTableElement(element) {
24002
- return ['table', 'td', 'th'].includes(getNodeName(element));
24062
+ return tableElements.has(getNodeName(element));
24003
24063
  }
24064
+ const topLayerSelectors = [':popover-open', ':modal'];
24004
24065
  function isTopLayer(element) {
24005
- return [':popover-open', ':modal'].some(selector => {
24066
+ return topLayerSelectors.some(selector => {
24006
24067
  try {
24007
24068
  return element.matches(selector);
24008
- } catch (e) {
24069
+ } catch (_e) {
24009
24070
  return false;
24010
24071
  }
24011
24072
  });
24012
24073
  }
24074
+ const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
24075
+ const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
24076
+ const containValues = ['paint', 'layout', 'strict', 'content'];
24013
24077
  function isContainingBlock(elementOrCss) {
24014
24078
  const webkit = isWebKit();
24015
24079
  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
24016
24080
 
24017
24081
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
24018
24082
  // https://drafts.csswg.org/css-transforms-2/#individual-transforms
24019
- 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));
24083
+ 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));
24020
24084
  }
24021
24085
  function getContainingBlock(element) {
24022
24086
  let currentNode = getParentNode(element);
@@ -24034,8 +24098,9 @@ function isWebKit() {
24034
24098
  if (typeof CSS === 'undefined' || !CSS.supports) return false;
24035
24099
  return CSS.supports('-webkit-backdrop-filter', 'none');
24036
24100
  }
24101
+ const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
24037
24102
  function isLastTraversableNode(node) {
24038
- return ['html', 'body', '#document'].includes(getNodeName(node));
24103
+ return lastTraversableNodeNames.has(getNodeName(node));
24039
24104
  }
24040
24105
  function getComputedStyle(element) {
24041
24106
  return getWindow(element).getComputedStyle(element);
@@ -24953,7 +25018,7 @@ class KolPopover {
24953
25018
  });
24954
25019
  }
24955
25020
  render() {
24956
- 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' }))));
25021
+ 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' }))));
24957
25022
  }
24958
25023
  validateAlign(value) {
24959
25024
  validateAlign(this, value);
@@ -24990,7 +25055,7 @@ class KolPopover {
24990
25055
  }; }
24991
25056
  }
24992
25057
 
24993
- 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}";
25058
+ 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}";
24994
25059
  var KolPopoverButtonDefaultStyle0 = defaultStyleCss$g;
24995
25060
 
24996
25061
  class KolPopoverButton$1 {
@@ -25023,7 +25088,7 @@ class KolPopoverButton$1 {
25023
25088
  void ((_a = this.ref) === null || _a === void 0 ? void 0 : _a.hidePopover());
25024
25089
  }
25025
25090
  render() {
25026
- 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' })));
25091
+ 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' })));
25027
25092
  }
25028
25093
  static get style() { return {
25029
25094
  default: KolPopoverButtonDefaultStyle0
@@ -25097,14 +25162,18 @@ class KolPopoverButton {
25097
25162
  void ((_a = this.refPopover) === null || _a === void 0 ? void 0 : _a.hidePopover());
25098
25163
  }
25099
25164
  handleBeforeToggle(event) {
25165
+ var _a;
25100
25166
  if (event.newState === 'closed') {
25101
25167
  this.justClosed = true;
25102
25168
  setTimeout(() => {
25103
25169
  this.justClosed = false;
25104
25170
  }, 10);
25105
25171
  }
25106
- else if (this.refPopover) {
25107
- this.refPopover.style.visibility = 'hidden';
25172
+ else {
25173
+ if (this.refPopover) {
25174
+ this.refPopover.style.visibility = 'hidden';
25175
+ }
25176
+ void ((_a = this.refButton) === null || _a === void 0 ? void 0 : _a.hideTooltip());
25108
25177
  }
25109
25178
  }
25110
25179
  alignPopover() {
@@ -25148,7 +25217,7 @@ class KolPopoverButton {
25148
25217
  (_c = this.cleanupAutoPositioning) === null || _c === void 0 ? void 0 : _c.call(this);
25149
25218
  }
25150
25219
  render() {
25151
- 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' }))));
25220
+ 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' }))));
25152
25221
  }
25153
25222
  validatePopoverAlign(value) {
25154
25223
  validatePopoverAlign(this, value);
@@ -25205,7 +25274,7 @@ const CycleSvg = ({ state }) => {
25205
25274
  };
25206
25275
  const BarSvg = ({ state }) => {
25207
25276
  const percentage = 100 * (state._value / state._max);
25208
- 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)` } })));
25277
+ 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)` } })));
25209
25278
  };
25210
25279
  const createProgressSVG = (state) => {
25211
25280
  switch (state._variant) {
@@ -25237,10 +25306,10 @@ class KolProgress {
25237
25306
  const isPercentage = this.state._unit === '%';
25238
25307
  const liveProgressValue = isPercentage ? `${Math.round((this.state._liveValue / this.state._max) * 100)}` : this.state._liveValue;
25239
25308
  const displayValue = isPercentage ? Math.round((this.state._value / this.state._max) * 100) : this.state._value;
25240
- return (hAsync("div", { key: 'c48ac85de814b2b78da6ec99a26c299bdb5d4022', class: "kol-progress" }, hAsync("div", { key: '78ea68e2f7f167fe2fa3602dad06d81d109e2521', "aria-hidden": "true", class: {
25309
+ return (hAsync("div", { key: '821bf1d4fece816591e8b567cf2026b44eb4b278', class: "kol-progress" }, hAsync("div", { key: '59bcae97c107e7b369ceb28a96b70215cfff498b', "aria-hidden": "true", class: {
25241
25310
  'kol-progress__cycle': this.state._variant === 'cycle',
25242
25311
  'kol-progress__bar': this.state._variant === 'bar',
25243
- } }, 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}`)));
25312
+ } }, 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}`)));
25244
25313
  }
25245
25314
  validateLabel(value) {
25246
25315
  validateLabel(this, value);
@@ -25350,7 +25419,7 @@ class KolQuote {
25350
25419
  }
25351
25420
  render() {
25352
25421
  const hasExpertSlot = showExpertSlot(this.state._quote);
25353
- 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" }))))));
25422
+ 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" }))))));
25354
25423
  }
25355
25424
  static get watchers() { return {
25356
25425
  "_label": ["validateLabel"],
@@ -25563,13 +25632,13 @@ class KolSelect {
25563
25632
  } });
25564
25633
  }
25565
25634
  render() {
25566
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'cefd579b38a495e4000cbabb3b929357b7139efc' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '5185f5ca0cde756999e6c57b1b200c8b2030a78b', state: this.state }, hAsync("form", { key: '74cdb0d8519acd611debfdb5338a6f398bedce27', onSubmit: (event) => {
25635
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'bc7ee077bca2efc065987ce71be494bc78712b0a' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '2bde683bfdf19e78a6aa6d980925aa6d6b06ce20', state: this.state }, hAsync("form", { key: '582987d654fa36f36a292d2cde2ca57190fc20bd', onSubmit: (event) => {
25567
25636
  event.preventDefault();
25568
25637
  propagateSubmitEventToForm({
25569
25638
  form: this.host,
25570
25639
  ref: this.selectRef,
25571
25640
  });
25572
- } }, hAsync("input", { key: '5cb7da582c0711714ebe1400cd51c0cea4f26303', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: 'c8454ca15f481efc2d30426d09d3a946e736773a' }, this.getSelectProps()))))));
25641
+ } }, hAsync("input", { key: '0de3d2fffb493d7f5e71f0442578236b54a37ba2', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: 'eff29e3d817ccfee364b7452c46a38e5162bd905' }, this.getSelectProps()))))));
25573
25642
  }
25574
25643
  constructor(hostRef) {
25575
25644
  registerInstance(this, hostRef);
@@ -25823,7 +25892,8 @@ class KolSingleSelect {
25823
25892
  this._hasOpened = false;
25824
25893
  }
25825
25894
  clearSelection() {
25826
- if (this.state._disabled) {
25895
+ const isDisabled = this.state._disabled === true;
25896
+ if (isDisabled) {
25827
25897
  return;
25828
25898
  }
25829
25899
  else {
@@ -25907,8 +25977,9 @@ class KolSingleSelect {
25907
25977
  };
25908
25978
  }
25909
25979
  getInputProps() {
25910
- const { ariaDescribedBy } = getRenderStates$1(this.state);
25911
- 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) => {
25980
+ const { ariaDescribedBy } = getRenderStates(this.state);
25981
+ const isDisabled = this.state._disabled === true;
25982
+ 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) => {
25912
25983
  this.controller.onFacade.onFocus(event);
25913
25984
  this.inputHasFocus = true;
25914
25985
  }, onBlur: (event) => {
@@ -25918,13 +25989,14 @@ class KolSingleSelect {
25918
25989
  }
25919
25990
  render() {
25920
25991
  var _a;
25921
- 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: () => {
25992
+ const isDisabled = this.state._disabled === true;
25993
+ 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: () => {
25922
25994
  var _a;
25923
25995
  this.clearSelection();
25924
25996
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
25925
25997
  }, class: clsx('kol-single-select__delete', {
25926
- 'kol-single-select__delete--disabled': this.state._disabled,
25927
- }) })), 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) => {
25998
+ 'kol-single-select__delete--disabled': isDisabled,
25999
+ }) })), 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) => {
25928
26000
  if (el)
25929
26001
  this.refOptions[index] = el;
25930
26002
  }, selected: this._value === option.value, onClick: (event) => {
@@ -26063,7 +26135,8 @@ class KolSingleSelect {
26063
26135
  this.toggleListbox = (event) => {
26064
26136
  var _a;
26065
26137
  event === null || event === void 0 ? void 0 : event.preventDefault();
26066
- if (this.state._disabled) {
26138
+ const isDisabled = this.state._disabled === true;
26139
+ if (isDisabled) {
26067
26140
  return;
26068
26141
  }
26069
26142
  else {
@@ -26293,7 +26366,7 @@ class KolSkipNav {
26293
26366
  };
26294
26367
  }
26295
26368
  render() {
26296
- 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) => {
26369
+ 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) => {
26297
26370
  return (hAsync("li", { class: "kol-skip-nav__list-item", key: index }, hAsync(KolLinkWcTag, Object.assign({}, link))));
26298
26371
  }))));
26299
26372
  }
@@ -26361,7 +26434,7 @@ class KolSpin {
26361
26434
  };
26362
26435
  }
26363
26436
  render() {
26364
- 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" }))));
26437
+ 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" }))));
26365
26438
  }
26366
26439
  validateShow(value) {
26367
26440
  this.showToggled = this.state._show === true && this._show === false;
@@ -26401,6 +26474,9 @@ var KolSplitButtonDefaultStyle0 = defaultStyleCss$9;
26401
26474
  class KolSplitButton {
26402
26475
  constructor(hostRef) {
26403
26476
  registerInstance(this, hostRef);
26477
+ this.catchPrimaryRef = (ref) => {
26478
+ this.primaryButtonWcRef = ref;
26479
+ };
26404
26480
  this.clickButtonHandler = {
26405
26481
  onClick: (event) => {
26406
26482
  var _a, _b;
@@ -26408,9 +26484,6 @@ class KolSplitButton {
26408
26484
  if (typeof ((_a = this._on) === null || _a === void 0 ? void 0 : _a.onClick) === 'function') {
26409
26485
  (_b = this._on) === null || _b === void 0 ? void 0 : _b.onClick(event, this._value);
26410
26486
  }
26411
- else {
26412
- this.toggleDropdown();
26413
- }
26414
26487
  },
26415
26488
  };
26416
26489
  this.clickToggleHandler = {
@@ -26425,7 +26498,9 @@ class KolSplitButton {
26425
26498
  this.handleOnClose = () => {
26426
26499
  this.state = Object.assign(Object.assign({}, this.state), { _show: false });
26427
26500
  };
26501
+ this._accessKey = undefined;
26428
26502
  this._ariaControls = undefined;
26503
+ this._ariaDescription = undefined;
26429
26504
  this._ariaExpanded = undefined;
26430
26505
  this._ariaSelected = undefined;
26431
26506
  this._customClass = undefined;
@@ -26437,6 +26512,7 @@ class KolSplitButton {
26437
26512
  this._name = undefined;
26438
26513
  this._on = undefined;
26439
26514
  this._role = undefined;
26515
+ this._shortKey = undefined;
26440
26516
  this._syncValueBySelector = undefined;
26441
26517
  this._tooltipAlign = 'top';
26442
26518
  this._type = 'button';
@@ -26446,12 +26522,19 @@ class KolSplitButton {
26446
26522
  _show: false,
26447
26523
  };
26448
26524
  }
26525
+ async getValue() {
26526
+ return this._value;
26527
+ }
26528
+ async kolFocus() {
26529
+ var _a;
26530
+ await ((_a = this.primaryButtonWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
26531
+ }
26449
26532
  render() {
26450
26533
  const i18nDropdownLabel = 'kol-split-button-dropdown-label';
26451
- 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', {
26534
+ 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', {
26452
26535
  [this._variant]: this._variant !== 'custom',
26453
26536
  [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
26454
- }), _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' }))));
26537
+ }), 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' }))));
26455
26538
  }
26456
26539
  async closePopup() {
26457
26540
  this.handleOnClose();
@@ -26465,7 +26548,9 @@ class KolSplitButton {
26465
26548
  "$flags$": 57,
26466
26549
  "$tagName$": "kol-split-button",
26467
26550
  "$members$": {
26551
+ "_accessKey": [1, "_access-key"],
26468
26552
  "_ariaControls": [1, "_aria-controls"],
26553
+ "_ariaDescription": [1, "_aria-description"],
26469
26554
  "_ariaExpanded": [4, "_aria-expanded"],
26470
26555
  "_ariaSelected": [4, "_aria-selected"],
26471
26556
  "_customClass": [1, "_custom-class"],
@@ -26477,12 +26562,15 @@ class KolSplitButton {
26477
26562
  "_name": [1],
26478
26563
  "_on": [16],
26479
26564
  "_role": [1],
26565
+ "_shortKey": [1, "_short-key"],
26480
26566
  "_syncValueBySelector": [1, "_sync-value-by-selector"],
26481
26567
  "_tooltipAlign": [1, "_tooltip-align"],
26482
26568
  "_type": [1],
26483
26569
  "_value": [8],
26484
26570
  "_variant": [1],
26485
26571
  "state": [32],
26572
+ "getValue": [64],
26573
+ "kolFocus": [64],
26486
26574
  "closePopup": [64]
26487
26575
  },
26488
26576
  "$listeners$": undefined,
@@ -26548,7 +26636,7 @@ class KolTableSettings {
26548
26636
  }
26549
26637
  render() {
26550
26638
  const sortedColumns = [...this.tableSettings.columns].sort((a, b) => a.position - b.position);
26551
- 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" }))))));
26639
+ 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" }))))));
26552
26640
  }
26553
26641
  get host() { return getElement(this); }
26554
26642
  static get watchers() { return {
@@ -26609,7 +26697,7 @@ const validateTableSettings = (component, value) => {
26609
26697
  watchValidator(component, `_tableSettings`, (value) => typeof value === 'object' && value !== null, new Set(['TableSettings']), value);
26610
26698
  };
26611
26699
 
26612
- 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}";
26700
+ 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}";
26613
26701
  var KolTableStatefulDefaultStyle0 = defaultStyleCss$8;
26614
26702
 
26615
26703
  const PAGINATION_OPTIONS = [10, 20, 50, 100];
@@ -26885,7 +26973,7 @@ class KolTableStateful {
26885
26973
  ? this.state._data.length.toString()
26886
26974
  : '0',
26887
26975
  },
26888
- })), 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 }))));
26976
+ })), 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 }))));
26889
26977
  }
26890
26978
  getHeaderCellSortState(headerCell) {
26891
26979
  if (!this.disableSort && typeof headerCell.compareFn === 'function') {
@@ -26945,7 +27033,7 @@ class KolTableStateful {
26945
27033
  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 : [],
26946
27034
  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 : [],
26947
27035
  };
26948
- 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: {
27036
+ 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: {
26949
27037
  onSort: (_, payload) => {
26950
27038
  this.handleSort(payload);
26951
27039
  },
@@ -26995,7 +27083,7 @@ class KolTableStateful {
26995
27083
  }; }
26996
27084
  }
26997
27085
 
26998
- 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}";
27086
+ 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}";
26999
27087
  var KolTableStatelessDefaultStyle0 = defaultStyleCss$7;
27000
27088
 
27001
27089
  class KolTableStateless$1 {
@@ -27011,7 +27099,7 @@ class KolTableStateless$1 {
27011
27099
  this._tableSettings = undefined;
27012
27100
  }
27013
27101
  render() {
27014
- 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 }));
27102
+ 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 }));
27015
27103
  }
27016
27104
  static get style() { return {
27017
27105
  default: KolTableStatelessDefaultStyle0
@@ -27238,28 +27326,28 @@ class KolTableStateless {
27238
27326
  }
27239
27327
  return max;
27240
27328
  }
27241
- getThePrimaryHeadersWithKeysIfExists(headers) {
27242
- const primaryHeadersWithKeys = [];
27329
+ getThePrimaryHeadersWithKeyOrRenderFunction(headers) {
27330
+ const primaryHeaders = [];
27243
27331
  headers.forEach((cells) => {
27244
27332
  cells.forEach((cell) => {
27245
- if (typeof cell.key === 'string') {
27246
- primaryHeadersWithKeys.push(cell);
27333
+ if (typeof cell.key === 'string' || typeof cell.render === 'function') {
27334
+ primaryHeaders.push(cell);
27247
27335
  }
27248
27336
  });
27249
27337
  });
27250
- return primaryHeadersWithKeys;
27338
+ return primaryHeaders;
27251
27339
  }
27252
27340
  getPrimaryHeaders(headers) {
27253
27341
  var _a, _b;
27254
- let primaryHeadersWithKeys = this.getThePrimaryHeadersWithKeysIfExists((_a = headers.horizontal) !== null && _a !== void 0 ? _a : []);
27342
+ let primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_a = headers.horizontal) !== null && _a !== void 0 ? _a : []);
27255
27343
  this.horizontal = true;
27256
- if (primaryHeadersWithKeys.length === 0) {
27257
- primaryHeadersWithKeys = this.getThePrimaryHeadersWithKeysIfExists((_b = headers.vertical) !== null && _b !== void 0 ? _b : []);
27258
- if (primaryHeadersWithKeys.length > 0) {
27344
+ if (primaryHeaders.length === 0) {
27345
+ primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_b = headers.vertical) !== null && _b !== void 0 ? _b : []);
27346
+ if (primaryHeaders.length > 0) {
27259
27347
  this.horizontal = false;
27260
27348
  }
27261
27349
  }
27262
- return primaryHeadersWithKeys;
27350
+ return primaryHeaders;
27263
27351
  }
27264
27352
  getColumnPositionMap() {
27265
27353
  var _a;
@@ -27326,18 +27414,18 @@ class KolTableStateless {
27326
27414
  const row = isFoot && this.state._dataFoot ? this.state._dataFoot[i - startRow] : data[i];
27327
27415
  if (typeof sortedPrimaryHeader[j] === 'object' &&
27328
27416
  sortedPrimaryHeader[j] !== null &&
27329
- typeof sortedPrimaryHeader[j].key === 'string' &&
27330
27417
  typeof row === 'object' &&
27331
- row !== null) {
27418
+ row !== null &&
27419
+ (typeof sortedPrimaryHeader[j].key === 'string' || typeof sortedPrimaryHeader[j].render === 'function')) {
27332
27420
  dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[j]), { colSpan: undefined, data: row, label: row[sortedPrimaryHeader[j].key], rowSpan: undefined }));
27333
27421
  }
27334
27422
  }
27335
27423
  else {
27336
27424
  if (typeof sortedPrimaryHeader[i] === 'object' &&
27337
27425
  sortedPrimaryHeader[i] !== null &&
27338
- typeof sortedPrimaryHeader[i].key === 'string' &&
27339
27426
  typeof data[j] === 'object' &&
27340
- data[j] !== null) {
27427
+ data[j] !== null &&
27428
+ (typeof sortedPrimaryHeader[i].key === 'string' || typeof sortedPrimaryHeader[i].render === 'function')) {
27341
27429
  dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[i]), { colSpan: undefined, data: data[j], label: data[j][sortedPrimaryHeader[i].key], rowSpan: undefined }));
27342
27430
  }
27343
27431
  }
@@ -27515,7 +27603,7 @@ class KolTableStateless {
27515
27603
  if (columnSettings && !columnSettings.visible) {
27516
27604
  return '';
27517
27605
  }
27518
- let ariaSort = undefined;
27606
+ let ariaSort = 'none';
27519
27607
  let sortButtonIcon = 'codicon codicon-fold';
27520
27608
  if (cell.sortDirection) {
27521
27609
  switch (cell.sortDirection) {
@@ -27527,6 +27615,8 @@ class KolTableStateless {
27527
27615
  sortButtonIcon = 'codicon codicon-chevron-down';
27528
27616
  ariaSort = 'descending';
27529
27617
  break;
27618
+ default:
27619
+ ariaSort = 'none';
27530
27620
  }
27531
27621
  }
27532
27622
  const scope = isVertical ? 'row' : typeof cell.colSpan === 'number' && cell.colSpan > 1 ? 'colgroup' : 'col';
@@ -27575,12 +27665,12 @@ class KolTableStateless {
27575
27665
  const dataField = this.createDataField(this.state._data, this.state._headerCells);
27576
27666
  this.checkboxRefs = [];
27577
27667
  const sortedHorizontalHeaders = (_a = this.state._headerCells.horizontal) === null || _a === void 0 ? void 0 : _a.map((row) => this.sortByColumnPosition(row));
27578
- 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: {
27668
+ 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: {
27579
27669
  minWidth: this.getTableMinWidth(),
27580
- } }, 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" }, [
27670
+ } }, 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" }, [
27581
27671
  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))))),
27582
27672
  this.renderSpacer('head', sortedHorizontalHeaders),
27583
- ])), hAsync("tbody", { key: 'b7866fe3430029ea01b05d747ea49e42c577d10c', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
27673
+ ])), hAsync("tbody", { key: 'f87e907d033d601fb065bf8d1d0892016ed1d368', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
27584
27674
  }
27585
27675
  get host() { return getElement(this); }
27586
27676
  static get watchers() { return {
@@ -27824,9 +27914,9 @@ class KolTabs {
27824
27914
  }, _icons: "codicon codicon-plus", "data-testid": "tabs-create-button" }))));
27825
27915
  }
27826
27916
  render() {
27827
- return (hAsync("div", { key: '651b397e4e56da8694268e5670dd12da67fb4430', ref: (el) => {
27917
+ return (hAsync("div", { key: '8c3212b2e1bd09292d666d163c88ad94ef2f59bb', ref: (el) => {
27828
27918
  this.tabPanelsElement = el;
27829
- }, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: '2583e66740101758cdf796a45961142384bf9fdf', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
27919
+ }, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: 'ebbb16b66d9b77f98fe9d2384f83489530cd3e6d', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
27830
27920
  }
27831
27921
  validateAlign(value) {
27832
27922
  validateAlign(this, value);
@@ -28066,7 +28156,7 @@ class KolTextarea {
28066
28156
  } });
28067
28157
  }
28068
28158
  render() {
28069
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '7561d490f442000a93a1cefd22593be40ed9cbb9' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '0d83e48269354e9aecc39845cd7199a4a0df3691', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: 'a984a131997c4196c52408696e1517fcbc7cc940' }, this.getTextAreaProps())))));
28159
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '92d2decb15fa4fa25f86387d6f911e5988f17c12' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '6bfa13c2aae8fa96002903b7c4064bff6868984c', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: '40aa057c2a81472a4db3ac2a5ab69392afce5037' }, this.getTextAreaProps())))));
28070
28160
  }
28071
28161
  constructor(hostRef) {
28072
28162
  registerInstance(this, hostRef);
@@ -28320,7 +28410,9 @@ class KolToastContainer {
28320
28410
  return localToastState;
28321
28411
  }) });
28322
28412
  setTimeout(() => {
28413
+ var _a, _b;
28323
28414
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: this.state._toastStates.filter((localToastState) => localToastState.id !== toastState.id) });
28415
+ (_b = (_a = toastState.toast).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
28324
28416
  }, TRANSITION_TIMEOUT);
28325
28417
  }
28326
28418
  async closeAll(immediate = false) {
@@ -28332,6 +28424,10 @@ class KolToastContainer {
28332
28424
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: toastsToClose.map((localToastState) => (Object.assign(Object.assign({}, localToastState), { status: 'removing' }))) });
28333
28425
  setTimeout(() => {
28334
28426
  this.state = Object.assign(Object.assign({}, this.state), { _toastStates: this.state._toastStates.filter((toastState) => toastsToClose.every((toastToClose) => toastToClose.id !== toastState.id)) });
28427
+ toastsToClose.forEach((toastState) => {
28428
+ var _a, _b;
28429
+ (_b = (_a = toastState.toast).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
28430
+ });
28335
28431
  }, TRANSITION_TIMEOUT);
28336
28432
  }
28337
28433
  }
@@ -28342,7 +28438,7 @@ class KolToastContainer {
28342
28438
  }
28343
28439
  }
28344
28440
  render() {
28345
- 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: {
28441
+ 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: {
28346
28442
  onClick: () => {
28347
28443
  void this.closeAll();
28348
28444
  },
@@ -28394,7 +28490,7 @@ class KolToolbar {
28394
28490
  this._orientation = undefined;
28395
28491
  }
28396
28492
  render() {
28397
- 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)));
28493
+ 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)));
28398
28494
  }
28399
28495
  validateLabel(value) {
28400
28496
  validateLabel(this, value);
@@ -28491,11 +28587,10 @@ function hideOverlay(overlay) {
28491
28587
  }
28492
28588
  }
28493
28589
 
28590
+ const TOOLTIP_DELAY = 300;
28494
28591
  class KolTooltipWc {
28495
28592
  constructor(hostRef) {
28496
28593
  registerInstance(this, hostRef);
28497
- this.hasFocusIn = false;
28498
- this.hasMouseIn = false;
28499
28594
  this.showTooltip = () => {
28500
28595
  if (this.previousSibling && this.tooltipElement) {
28501
28596
  showOverlay(this.tooltipElement);
@@ -28508,21 +28603,22 @@ class KolTooltipWc {
28508
28603
  });
28509
28604
  }
28510
28605
  };
28511
- this.hideTooltip = () => {
28512
- if (this.tooltipElement) {
28513
- hideOverlay(this.tooltipElement);
28514
- this.tooltipElement.style.setProperty('display', 'none');
28515
- this.tooltipElement.style.setProperty('visibility', 'hidden');
28516
- if (this.cleanupAutoPositioning) {
28517
- this.cleanupAutoPositioning();
28518
- this.cleanupAutoPositioning = undefined;
28519
- }
28520
- }
28521
- getDocument().removeEventListener('keyup', this.hideTooltipByEscape);
28606
+ this.showTooltipWithDelay = () => {
28607
+ clearTimeout(this.hideTooltipTimeout);
28608
+ clearTimeout(this.showTooltipTimeout);
28609
+ this.showTooltipTimeout = setTimeout(() => {
28610
+ this.showTooltip();
28611
+ }, TOOLTIP_DELAY);
28612
+ };
28613
+ this.hideTooltipWithDelay = () => {
28614
+ clearTimeout(this.hideTooltipTimeout);
28615
+ this.hideTooltipTimeout = setTimeout(() => {
28616
+ void this.hideTooltip();
28617
+ }, TOOLTIP_DELAY);
28522
28618
  };
28523
28619
  this.hideTooltipByEscape = (event) => {
28524
28620
  if (event.key === 'Escape') {
28525
- this.hideTooltip();
28621
+ void this.hideTooltip();
28526
28622
  }
28527
28623
  };
28528
28624
  this.addListeners = (el) => {
@@ -28554,17 +28650,6 @@ class KolTooltipWc {
28554
28650
  this.catchArrowElement = (element) => {
28555
28651
  this.arrowElement = element;
28556
28652
  };
28557
- this.showOrHideTooltip = () => {
28558
- clearTimeout(this.overFocusTimeout);
28559
- this.overFocusTimeout = setTimeout(() => {
28560
- if (this.hasMouseIn || this.hasFocusIn) {
28561
- this.showTooltip();
28562
- }
28563
- else {
28564
- this.hideTooltip();
28565
- }
28566
- }, 300);
28567
- };
28568
28653
  this._badgeText = undefined;
28569
28654
  this._align = 'top';
28570
28655
  this._id = undefined;
@@ -28584,24 +28669,33 @@ class KolTooltipWc {
28584
28669
  });
28585
28670
  }
28586
28671
  }
28672
+ async hideTooltip() {
28673
+ clearTimeout(this.showTooltipTimeout);
28674
+ if (this.tooltipElement) {
28675
+ hideOverlay(this.tooltipElement);
28676
+ this.tooltipElement.style.setProperty('display', 'none');
28677
+ this.tooltipElement.style.setProperty('visibility', 'hidden');
28678
+ if (this.cleanupAutoPositioning) {
28679
+ this.cleanupAutoPositioning();
28680
+ this.cleanupAutoPositioning = undefined;
28681
+ }
28682
+ }
28683
+ getDocument().removeEventListener('keyup', this.hideTooltipByEscape);
28684
+ }
28587
28685
  handleMouseEnter() {
28588
- this.hasMouseIn = true;
28589
- this.showOrHideTooltip();
28686
+ this.showTooltipWithDelay();
28590
28687
  }
28591
28688
  handleMouseleave() {
28592
- this.hasMouseIn = false;
28593
- this.showOrHideTooltip();
28689
+ this.hideTooltipWithDelay();
28594
28690
  }
28595
28691
  handleFocusIn() {
28596
- this.hasFocusIn = true;
28597
- this.showOrHideTooltip();
28692
+ this.showTooltipWithDelay();
28598
28693
  }
28599
28694
  handleFocusout() {
28600
- this.hasFocusIn = false;
28601
- this.showOrHideTooltip();
28695
+ this.hideTooltipWithDelay();
28602
28696
  }
28603
28697
  render() {
28604
- 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 })))));
28698
+ 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 })))));
28605
28699
  }
28606
28700
  validateBadgeText(value) {
28607
28701
  validateBadgeText(this, value);
@@ -28662,7 +28756,8 @@ class KolTooltipWc {
28662
28756
  "_align": [1],
28663
28757
  "_id": [1],
28664
28758
  "_label": [1],
28665
- "state": [32]
28759
+ "state": [32],
28760
+ "hideTooltip": [64]
28666
28761
  },
28667
28762
  "$listeners$": undefined,
28668
28763
  "$lazyBundleId$": "-",
@@ -28679,7 +28774,7 @@ class KolTree {
28679
28774
  this._label = undefined;
28680
28775
  }
28681
28776
  render() {
28682
- return (hAsync(KolTreeWcTag, { key: 'a9de70659b4ae51eb7e54067eff48641f22a51fc', _label: this._label }, hAsync("slot", { key: 'd6ee7409c81f3eee881f345d450675fe643eb64e' })));
28777
+ return (hAsync(KolTreeWcTag, { key: '13d3e695605cbf910749ac998731d7d6310b3ed8', _label: this._label }, hAsync("slot", { key: 'b4702460fa7ca8fe8e259cb7b782a8971735a9ef' })));
28683
28778
  }
28684
28779
  static get style() { return {
28685
28780
  default: KolTreeDefaultStyle0
@@ -28727,7 +28822,7 @@ class KolTreeItem {
28727
28822
  return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
28728
28823
  }
28729
28824
  render() {
28730
- 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' })));
28825
+ 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' })));
28731
28826
  }
28732
28827
  static get style() { return {
28733
28828
  default: KolTreeItemDefaultStyle0
@@ -28770,12 +28865,12 @@ class KolTreeItemWc {
28770
28865
  }
28771
28866
  render() {
28772
28867
  const { _href, _active, _hasChildren, _open, _label } = this.state;
28773
- return (hAsync(Host, { key: '59dba82967b79373a9b3eb040bb1fafed522060b', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '214ebbe9b6850f2fde0f9e83bd0019feb6a62714', class: "kol-tree-item", style: {
28868
+ return (hAsync(Host, { key: 'e0d63b982e56ef662c1420fc9ade69068b8a81ff', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '7c2d91957ad2e92256d5bc8bcbfa003d830a3645', class: "kol-tree-item", style: {
28774
28869
  '--level': `${this.level}`,
28775
- } }, hAsync(KolLinkWcTag, { key: '25c19762e151a6628e6604ae656db511cf3bd2ef', class: clsx('kol-tree-item__link', {
28870
+ } }, hAsync(KolLinkWcTag, { key: '7207fe34d30d14349d397fbd75ff2f0d16aa7086', class: clsx('kol-tree-item__link', {
28776
28871
  'kol-tree-item__link--first-level': this.level === 0,
28777
28872
  'kol-tree-item__link--active': _active,
28778
- }), _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' })))));
28873
+ }), _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' })))));
28779
28874
  }
28780
28875
  validateActive(value) {
28781
28876
  validateActive(this, value || false);
@@ -28880,7 +28975,7 @@ class KolTreeWc {
28880
28975
  validateLabel(this, value);
28881
28976
  }
28882
28977
  render() {
28883
- 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' })))));
28978
+ 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' })))));
28884
28979
  }
28885
28980
  static isTreeItem(element) {
28886
28981
  return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
@@ -29078,7 +29173,7 @@ class KolVersion {
29078
29173
  };
29079
29174
  }
29080
29175
  render() {
29081
- return (hAsync(Host, { key: '504d576bcb558a37e573c76a5ba0a4a74e7c0bb4', class: "kol-version" }, hAsync(KolBadgeTag, { key: 'cad1661faee70f01e77c1b2ef9f02fce548f7c70', _color: "#bec5c9", _icons: {
29176
+ return (hAsync(Host, { key: '3304cd937945785a92d3cf9a25cd70065f2ac5dd', class: "kol-version" }, hAsync(KolBadgeTag, { key: '155a2fbdb3ce12a1800b62745a2f9683585c9794', _color: "#bec5c9", _icons: {
29082
29177
  left: { icon: 'codicon codicon-versions', label: translate('kol-version') },
29083
29178
  }, _label: this.state._label })));
29084
29179
  }
@@ -29161,6 +29256,7 @@ registerComponents([
29161
29256
  KolModal,
29162
29257
  KolNav,
29163
29258
  KolPagination,
29259
+ KolPaginationWc,
29164
29260
  KolPopover,
29165
29261
  KolPopoverButton$1,
29166
29262
  KolPopoverButton,