@public-ui/hydrate 4.0.0-alpha.9 → 4.0.0-beta.0

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 +371 -309
  2. package/dist/index.mjs +371 -309
  3. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -146,7 +146,7 @@ function _mergeNamespaces(n, m) {
146
146
 
147
147
  const NAMESPACE = 'kolibri';
148
148
  const BUILD = /* kolibri */ { hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
149
- const Env = /* kolibri */ {"kolibriVersion":"4.0.0-alpha.9"};
149
+ const Env = /* kolibri */ {"kolibriVersion":"4.0.0-beta.0"};
150
150
 
151
151
  function getDefaultExportFromCjs (x) {
152
152
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -2340,13 +2340,13 @@ const validateIcons = (component, value, options = {}) => {
2340
2340
  isString$2(value, 1) ||
2341
2341
  (typeof value === 'object' &&
2342
2342
  value !== null &&
2343
- (isString$2(value.left, 1) ||
2343
+ (isString$2(value.left, 0) ||
2344
2344
  isIcon(value.left) ||
2345
- isString$2(value.right, 1) ||
2345
+ isString$2(value.right, 0) ||
2346
2346
  isIcon(value.right) ||
2347
- isString$2(value.top, 1) ||
2347
+ isString$2(value.top, 0) ||
2348
2348
  isIcon(value.top) ||
2349
- isString$2(value.bottom, 1) ||
2349
+ isString$2(value.bottom, 0) ||
2350
2350
  isIcon(value.bottom))));
2351
2351
  }, new Set(['KoliBriIcon']), value, Object.assign(Object.assign({}, options), { defaultValue: {}, hooks: {
2352
2352
  afterPatch: (_a = options.hooks) === null || _a === void 0 ? void 0 : _a.afterPatch,
@@ -2484,14 +2484,8 @@ const validateMsg = (component, value) => {
2484
2484
  }, new Set(['MsgPropType', 'string']), value);
2485
2485
  });
2486
2486
  };
2487
- function checkHasMsg(msg, touched) {
2488
- var _a;
2489
- if (!msg) {
2490
- return false;
2491
- }
2492
- const type = typeof msg === 'string' ? 'error' : ((_a = msg._type) !== null && _a !== void 0 ? _a : 'error');
2493
- const showMsg = touched === true || type !== 'error';
2494
- return showMsg;
2487
+ function isMsgDefinedAndInputTouched(msg, touched) {
2488
+ return Boolean(msg) && touched === true;
2495
2489
  }
2496
2490
  function normalizeMsg(msg) {
2497
2491
  if (typeof msg === 'string') {
@@ -2507,6 +2501,13 @@ function normalizeMsg(msg) {
2507
2501
  }
2508
2502
  return msg;
2509
2503
  }
2504
+ function getMsgType(msg) {
2505
+ var _a;
2506
+ if (typeof msg === 'string') {
2507
+ return 'error';
2508
+ }
2509
+ return (_a = msg === null || msg === void 0 ? void 0 : msg._type) !== null && _a !== void 0 ? _a : 'error';
2510
+ }
2510
2511
 
2511
2512
  const validateMultiple = (component, value, options) => {
2512
2513
  watchBoolean(component, '_multiple', value, options);
@@ -2623,7 +2624,7 @@ const validateTabIndex = (component, value) => {
2623
2624
  };
2624
2625
 
2625
2626
  const validateTableCallbacks = (component, value) => {
2626
- watchValidator(component, `_on`, (value) => typeof value === 'object' && value !== null, new Set(['TableCallbacksPropType {Events.onSort, Events.onSelectionChange}']), value);
2627
+ watchValidator(component, `_on`, (value) => typeof value === 'object' && value !== null, new Set(['TableCallbacksPropType {Events.onSort, Events.onSelectionChange, Events.onChangeHeaderCells}']), value);
2627
2628
  };
2628
2629
  const validateTableStatefulCallbacks = (component, value) => {
2629
2630
  watchValidator(component, `_on`, (value) => typeof value === 'object' && value !== null, new Set(['TableStatefulCallbacksPropType {Events.onSelectionChange}']), value);
@@ -6079,7 +6080,7 @@ let KolLinkWcTag = 'kol-link-wc';
6079
6080
  let KolPaginationWcTag = 'kol-pagination-wc';
6080
6081
  let KolPopoverWcTag = 'kol-popover-wc';
6081
6082
  let KolPopoverButtonWcTag = 'kol-popover-button-wc';
6082
- let KolSelectTag = 'kol-select';
6083
+ let KolSelectWcTag = 'kol-select-wc';
6083
6084
  let KolTableSettingsWcTag = 'kol-table-settings-wc';
6084
6085
  let KolTableStatelessWcTag = 'kol-table-stateless-wc';
6085
6086
  let KolTooltipWcTag = 'kol-tooltip-wc';
@@ -6191,11 +6192,11 @@ const KolHeadingFc = (_a, children) => {
6191
6192
 
6192
6193
  const KolCollapsibleFc = (props, children) => {
6193
6194
  const { id, class: classNames, label, level = 1, disabled, open, onClick, HeadingProps = {}, HeadingButtonProps = {}, ContentProps = {} } = props, other = __rest(props, ["id", "class", "label", "level", "disabled", "open", "onClick", "HeadingProps", "HeadingButtonProps", "ContentProps"]);
6194
- const icon = open ? 'remove' : 'add';
6195
+ const icon = open ? 'kolicon-chevron-down' : 'kolicon-chevron-right';
6195
6196
  return (hAsync("div", Object.assign({ id: id, class: clsx('collapsible', {
6196
6197
  'collapsible--disabled': disabled === true,
6197
6198
  'collapsible--open': open === true,
6198
- }, classNames) }, other), hAsync(KolHeadingFc, { ref: HeadingProps === null || HeadingProps === void 0 ? void 0 : HeadingProps.ref, level: level, class: clsx('collapsible__heading', HeadingProps === null || HeadingProps === void 0 ? void 0 : HeadingProps.class) }, hAsync(KolButtonWcTag, { class: clsx('collapsible__heading-button', HeadingButtonProps === null || HeadingButtonProps === void 0 ? void 0 : HeadingButtonProps.class), ref: HeadingButtonProps === null || HeadingButtonProps === void 0 ? void 0 : HeadingButtonProps.ref, slot: "expert", _ariaControls: `${id}-control`, _ariaExpanded: open, _disabled: disabled, _icons: (HeadingButtonProps === null || HeadingButtonProps === void 0 ? void 0 : HeadingButtonProps._icons) || `codicon codicon-${icon}`, _label: label, _on: { onClick } })), hAsync("div", { class: clsx('collapsible__wrapper', ContentProps === null || ContentProps === void 0 ? void 0 : ContentProps.wrapperClass) }, hAsync("div", { class: clsx('collapsible__wrapper-animation', ContentProps === null || ContentProps === void 0 ? void 0 : ContentProps.animationClass) }, hAsync("div", { "aria-hidden": open === false ? 'true' : undefined, class: clsx('collapsible__content', ContentProps === null || ContentProps === void 0 ? void 0 : ContentProps.class), id: `${id}-control` }, children)))));
6199
+ }, classNames) }, other), hAsync(KolHeadingFc, { ref: HeadingProps === null || HeadingProps === void 0 ? void 0 : HeadingProps.ref, level: level, class: clsx('collapsible__heading', HeadingProps === null || HeadingProps === void 0 ? void 0 : HeadingProps.class) }, hAsync(KolButtonWcTag, { class: clsx('collapsible__heading-button', HeadingButtonProps === null || HeadingButtonProps === void 0 ? void 0 : HeadingButtonProps.class), ref: HeadingButtonProps === null || HeadingButtonProps === void 0 ? void 0 : HeadingButtonProps.ref, slot: "expert", _ariaControls: `${id}-control`, _ariaExpanded: open, _disabled: disabled, _icons: (HeadingButtonProps === null || HeadingButtonProps === void 0 ? void 0 : HeadingButtonProps._icons) || `${icon}`, _label: label, _on: { onClick } })), hAsync("div", { class: clsx('collapsible__wrapper', ContentProps === null || ContentProps === void 0 ? void 0 : ContentProps.wrapperClass) }, hAsync("div", { class: clsx('collapsible__wrapper-animation', ContentProps === null || ContentProps === void 0 ? void 0 : ContentProps.animationClass) }, hAsync("div", { "aria-hidden": open === false ? 'true' : undefined, class: clsx('collapsible__content', ContentProps === null || ContentProps === void 0 ? void 0 : ContentProps.class), id: `${id}-control` }, children)))));
6199
6200
  };
6200
6201
 
6201
6202
  const initMeta = () => {
@@ -6264,6 +6265,7 @@ var KolEvent;
6264
6265
  (function (KolEvent) {
6265
6266
  KolEvent["blur"] = "kolBlur";
6266
6267
  KolEvent["change"] = "kolChange";
6268
+ KolEvent["changeHeaderCells"] = "changeHeaderCells";
6267
6269
  KolEvent["changePage"] = "kolChangePage";
6268
6270
  KolEvent["changePageSize"] = "kolChangePageSize";
6269
6271
  KolEvent["click"] = "kolClick";
@@ -6276,7 +6278,6 @@ var KolEvent;
6276
6278
  KolEvent["reset"] = "kolReset";
6277
6279
  KolEvent["select"] = "kolSelect";
6278
6280
  KolEvent["selectionChange"] = "kolSelectionChange";
6279
- KolEvent["settingsChange"] = "settingsChange";
6280
6281
  KolEvent["sort"] = "kolSort";
6281
6282
  KolEvent["submit"] = "kolSubmit";
6282
6283
  KolEvent["toggle"] = "kolToggle";
@@ -6473,7 +6474,7 @@ var locale_de = {
6473
6474
  page: 'Seite',
6474
6475
  'page-current': 'Seite {{page}}',
6475
6476
  'page-selected': 'Seite {{page}} ist ausgewählt',
6476
- 'page-per-site': '{{entries}} Einträge pro Seite',
6477
+ 'page-per-site': 'Einträge pro Seite',
6477
6478
  'nav-maximize': 'Navigation maximieren',
6478
6479
  'nav-minimize': 'Navigation minimieren',
6479
6480
  'logo-description': 'Logo {{orgShort}}. Bundesadler mit Flaggenstab und Schriftzug {{orgLong}}',
@@ -6545,7 +6546,7 @@ var locale_en = {
6545
6546
  page: 'Page',
6546
6547
  'page-current': 'Page {{page}}',
6547
6548
  'page-selected': 'Page {{page}} is selected',
6548
- 'page-per-site': '{{entries}} entries per page',
6549
+ 'page-per-site': 'Entries per page',
6549
6550
  'nav-maximize': 'Maximize navigation',
6550
6551
  'nav-minimize': 'Minimize navigation',
6551
6552
  'logo-description': 'Logo {{orgShort}}. Federal eagle with flag staff and lettering {{orgLong}}',
@@ -6753,15 +6754,15 @@ const Icon = ({ ariaLabel, icon }) => {
6753
6754
  const AlertIcon = ({ type, label }) => {
6754
6755
  switch (type) {
6755
6756
  case 'error':
6756
- return hAsync(Icon, { ariaLabel: translateError, icon: "codicon codicon-error", label: label });
6757
+ return hAsync(Icon, { ariaLabel: translateError, icon: "kolicon-alert-error", label: label });
6757
6758
  case 'info':
6758
- return hAsync(Icon, { ariaLabel: translateInfo, icon: "codicon codicon-info", label: label });
6759
+ return hAsync(Icon, { ariaLabel: translateInfo, icon: "kolicon-alert-info", label: label });
6759
6760
  case 'warning':
6760
- return hAsync(Icon, { ariaLabel: translateWarning, icon: "codicon codicon-warning", label: label });
6761
+ return hAsync(Icon, { ariaLabel: translateWarning, icon: "kolicon-alert-warning", label: label });
6761
6762
  case 'success':
6762
- return hAsync(Icon, { ariaLabel: translateSuccess, icon: "codicon codicon-pass", label: label });
6763
+ return hAsync(Icon, { ariaLabel: translateSuccess, icon: "kolicon-alert-success", label: label });
6763
6764
  default:
6764
- return hAsync(Icon, { ariaLabel: translateMessage, icon: "codicon codicon-comment", label: label });
6765
+ return hAsync(Icon, { ariaLabel: translateMessage, icon: "kolicon-alert-info", label: label });
6765
6766
  }
6766
6767
  };
6767
6768
 
@@ -6803,7 +6804,7 @@ const KolAlertFc = (props, children) => {
6803
6804
  const rootProps = Object.assign({ class: clsx(classNames, BEM_CLASS_ROOT) }, other);
6804
6805
  return (hAsync("div", Object.assign({ role: alert ? 'alert' : undefined }, rootProps, { "data-testid": "alert" }), hAsync("div", { class: "kol-alert__container" }, hAsync(AlertIcon, { label: label, type: type }), hAsync("div", { class: "kol-alert__container-content" }, label && (hAsync(KolHeadingFc, { class: BEM_CLASS__HEADING, level: level, id: "heading" }, label)), variant === 'msg' && (hAsync("span", { class: BEM_CLASS_ALERT__CONTENT, "aria-describedby": label ? 'heading' : undefined }, children))), hasCloser && (hAsync(KolButtonWcTag, { class: BEM_CLASS_ALERT__CLOSER, "data-testid": "alert-close-button", _ariaDescription: (label === null || label === void 0 ? void 0 : label.trim()) || '', _hideLabel: true, _icons: {
6805
6806
  left: {
6806
- icon: 'codicon codicon-close',
6807
+ icon: 'kolicon-cross',
6807
6808
  },
6808
6809
  }, _label: translateCloseAlert, _on: { onClick: onCloserClick }, _tooltipAlign: "left" }))), variant === 'card' && (hAsync("div", { class: BEM_CLASS_ALERT__CONTENT, "aria-describedby": label ? 'heading' : undefined }, children))));
6809
6810
  };
@@ -9492,16 +9493,14 @@ const InputContainer$1 = (_a, children) => {
9492
9493
  return (hAsync("div", Object.assign({ class: clsx('kol-form-field__input', classNames) }, other), children));
9493
9494
  };
9494
9495
  const KolFormFieldFc = (props, children) => {
9495
- var _a;
9496
9496
  const { component: Component = 'div', renderNoLabel, renderNoTooltip, renderNoHint, anotherChildren, id, required, alert, disabled, class: classNames, msg, hideMsg, hideLabel, label, hint, accessKey, shortKey, tooltipAlign, counter, readOnly, touched, maxLength, ariaDescribedBy, formFieldLabelProps, formFieldHintProps, formFieldTooltipProps, formFieldMsgProps, formFieldInputProps } = props, other = __rest(props, ["component", "renderNoLabel", "renderNoTooltip", "renderNoHint", "anotherChildren", "id", "required", "alert", "disabled", "class", "msg", "hideMsg", "hideLabel", "label", "hint", "accessKey", "shortKey", "tooltipAlign", "counter", "readOnly", "touched", "maxLength", "ariaDescribedBy", "formFieldLabelProps", "formFieldHintProps", "formFieldTooltipProps", "formFieldMsgProps", "formFieldInputProps"]);
9497
9497
  const showLabel = !renderNoLabel;
9498
9498
  const showHint = !renderNoHint;
9499
9499
  const showTooltip = !renderNoTooltip;
9500
9500
  const hasExpertSlot = showExpertSlot(label);
9501
- const showMsg = checkHasMsg(msg, touched);
9501
+ const showMsg = isMsgDefinedAndInputTouched(msg, touched);
9502
9502
  const badgeText = buildBadgeTextString(accessKey, shortKey);
9503
9503
  const useTooltipInsteadOfLabel = showTooltip && !hasExpertSlot && hideLabel;
9504
- const msgType = typeof msg === 'string' ? 'error' : ((_a = msg === null || msg === void 0 ? void 0 : msg._type) !== null && _a !== void 0 ? _a : 'error');
9505
9504
  let stateCssClasses = {
9506
9505
  ['kol-form-field--disabled']: Boolean(disabled),
9507
9506
  ['kol-form-field--required']: Boolean(required),
@@ -9511,7 +9510,8 @@ const KolFormFieldFc = (props, children) => {
9511
9510
  ['kol-form-field--hidden-msg']: Boolean(hideMsg),
9512
9511
  };
9513
9512
  if (showMsg) {
9514
- stateCssClasses = Object.assign(Object.assign({}, stateCssClasses), { [`kol-form-field--${msgType || 'error'}`]: true, [`kol-form-field--${getModifierClassNameByMsgType({ type: msgType })}`]: true });
9513
+ const msgType = getMsgType(msg);
9514
+ stateCssClasses = Object.assign(Object.assign({}, stateCssClasses), { [`kol-form-field--${msgType}`]: true, [`kol-form-field--${getModifierClassNameByMsgType({ type: msgType })}`]: true });
9515
9515
  }
9516
9516
  return (hAsync(Component, Object.assign({ class: clsx('kol-form-field', stateCssClasses, classNames), "aria-describedby": ariaDescribedBy }, other), showLabel && (hAsync(KolFormFieldLabelFc, Object.assign({}, (formFieldLabelProps || {}), { id: id, hasExpertSlot: hasExpertSlot, hideLabel: hideLabel, label: label, accessKey: accessKey, shortKey: shortKey, readOnly: readOnly }))), hAsync(InputContainer$1, Object.assign({}, formFieldInputProps), children, useTooltipInsteadOfLabel && hideLabel === true && (hAsync(FormFieldTooltipFc, Object.assign({}, (formFieldTooltipProps || {}), { id: id, label: label, align: tooltipAlign, badgeText: badgeText })))), counter ? hAsync(KolFormFieldCounterFc, Object.assign({ id: id }, counter)) : null, maxLength ? hAsync(KolFormFieldCharacterLimitHintFc, { id: id, maxLength: maxLength }) : null, showMsg && !hideMsg && hAsync(FormFieldMsgFc, Object.assign({}, (formFieldMsgProps || {}), { id: id, alert: alert, msg: msg })), showHint && hAsync(KolFormFieldHintFc, Object.assign({}, (formFieldHintProps || {}), { id: id, hint: hint })), anotherChildren));
9517
9517
  };
@@ -9540,11 +9540,9 @@ const Container = (_a, children) => {
9540
9540
  };
9541
9541
  const KolInputContainerFc = (props, children) => {
9542
9542
  const { class: classNames, startAdornment, endAdornment, disabled, msg, touched, containerProps, startAdornmentProps, endAdornmentProps } = props, other = __rest(props, ["class", "startAdornment", "endAdornment", "disabled", "msg", "touched", "containerProps", "startAdornmentProps", "endAdornmentProps"]);
9543
- const showMsg = checkHasMsg(msg, touched);
9544
- const msgType = typeof msg === 'string' ? 'error' : msg === null || msg === void 0 ? void 0 : msg._type;
9545
9543
  const stateCssClasses = {
9546
9544
  ['kol-input-container--disabled']: disabled,
9547
- [`kol-input-container--${msgType || 'error'}`]: showMsg,
9545
+ [`kol-input-container--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),
9548
9546
  };
9549
9547
  const baseProps = Object.assign({ class: clsx('kol-input-container', stateCssClasses, classNames) }, other);
9550
9548
  if (!hasItems(startAdornment) && !hasItems(endAdornment)) {
@@ -9565,14 +9563,12 @@ function getDefaultProps({ ariaDescribedBy, hideLabel, label }) {
9565
9563
 
9566
9564
  const InputFc = (props) => {
9567
9565
  const { class: classNames, msg, required, disabled, touched, readonly, ariaDescribedBy, hideLabel, label, suggestions, value } = props, other = __rest(props, ["class", "msg", "required", "disabled", "touched", "readonly", "ariaDescribedBy", "hideLabel", "label", "suggestions", "value"]);
9568
- const showMsg = checkHasMsg(msg, touched);
9569
- const msgType = typeof msg === 'string' ? 'error' : msg === null || msg === void 0 ? void 0 : msg._type;
9570
9566
  const stateCssClasses = {
9571
9567
  ['kol-input--disabled']: Boolean(disabled),
9572
9568
  ['kol-input--required']: Boolean(required),
9573
9569
  ['kol-input--touched']: Boolean(touched),
9574
9570
  ['kol-input--readonly']: Boolean(readonly),
9575
- [`kol-input--${msgType || 'error'}`]: showMsg,
9571
+ [`kol-input--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),
9576
9572
  };
9577
9573
  const inputProps = Object.assign(Object.assign({ class: clsx('kol-input', stateCssClasses, classNames), required: required, disabled: disabled, readonly: readonly, type: 'text', list: suggestions ? `${other.id}-list` : undefined }, getDefaultProps({ ariaDescribedBy, hideLabel, label })), other);
9578
9574
  return (hAsync(Fragment, null, hAsync("input", Object.assign({}, inputProps, { value: value })), suggestions));
@@ -9580,14 +9576,12 @@ const InputFc = (props) => {
9580
9576
 
9581
9577
  const TextAreaFc = (props) => {
9582
9578
  const { class: classNames, msg, touched, readonly, disabled, required, ariaDescribedBy, hideLabel, label } = props, other = __rest(props, ["class", "msg", "touched", "readonly", "disabled", "required", "ariaDescribedBy", "hideLabel", "label"]);
9583
- const showMsg = checkHasMsg(msg, touched);
9584
- const msgType = typeof msg === 'string' ? 'error' : msg === null || msg === void 0 ? void 0 : msg._type;
9585
9579
  const stateCssClasses = {
9586
9580
  ['kol-textarea--disabled']: Boolean(disabled),
9587
9581
  ['kol-textarea--required']: Boolean(required),
9588
9582
  ['kol-textarea--touched']: Boolean(touched),
9589
9583
  ['kol-textarea--readonly']: Boolean(readonly),
9590
- [`kol-textarea--${msgType || 'error'}`]: showMsg,
9584
+ [`kol-textarea--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),
9591
9585
  };
9592
9586
  const inputProps = Object.assign(Object.assign({ class: clsx('kol-textarea', stateCssClasses, classNames), required: required, disabled: disabled, readonly: readonly }, getDefaultProps({ ariaDescribedBy, hideLabel, label })), other);
9593
9587
  return hAsync("textarea", Object.assign({}, inputProps));
@@ -18685,7 +18679,7 @@ class KolBreadcrumb {
18685
18679
  registerInstance(this, hostRef);
18686
18680
  this.renderLink = (link, index) => {
18687
18681
  const lastIndex = this.state._links.length - 1;
18688
- return (hAsync("li", { class: "kol-breadcrumb__list-element", key: index }, index === lastIndex ? (hAsync("span", { class: "kol-breadcrumb__list-element-span", "aria-current": "page" }, link._hideLabel ? (hAsync(KolIconTag, { class: "kol-breadcrumb__icon", _label: link._label, _icons: typeof link._icons === 'string' ? link._icons : 'codicon codicon-symbol-event' })) : (hAsync(Fragment, null, link._label)))) : (hAsync(KolLinkWcTag, Object.assign({ class: "kol-breadcrumb__link", _inline: false }, link))), index !== lastIndex && hAsync(KolIconTag, { class: "kol-breadcrumb__separator", _label: "", _icons: "codicon codicon-chevron-right" })));
18682
+ return (hAsync("li", { class: "kol-breadcrumb__list-element", key: index }, index === lastIndex ? (hAsync("span", { class: "kol-breadcrumb__list-element-span", "aria-current": "page" }, link._hideLabel ? (hAsync(KolIconTag, { class: "kol-breadcrumb__icon", _label: link._label, _icons: typeof link._icons === 'string' ? link._icons : 'codicon codicon-symbol-event' })) : (hAsync(Fragment, null, link._label)))) : (hAsync(KolLinkWcTag, Object.assign({ class: "kol-breadcrumb__link", _inline: false }, link))), index !== lastIndex && hAsync(KolIconTag, { class: "kol-breadcrumb__separator", _label: "", _icons: "kolicon-chevron-right" })));
18689
18683
  };
18690
18684
  this.state = {
18691
18685
  _label: '',
@@ -18693,7 +18687,7 @@ class KolBreadcrumb {
18693
18687
  };
18694
18688
  }
18695
18689
  render() {
18696
- return (hAsync("nav", { key: 'cfe39ad7c9b3ff354087605a6e5db086185e4b07', class: "kol-breadcrumb", "aria-label": this.state._label }, hAsync("ul", { key: '30ce6365f022addb4f52d628a8169a85454d3a29', class: "kol-breadcrumb__list" }, this.state._links.length === 0 && (hAsync("li", { key: 'f3ec0aee1962e345bbefd5fe4fd99224ced565e9' }, hAsync(KolIconTag, { key: 'ee1e31c87b8bdfef77aadc425d53ac0a643ff0f6', class: "kol-breadcrumb_icon", _label: "", _icons: "codicon codicon-home" }), "\u2026")), this.state._links.map(this.renderLink))));
18690
+ return (hAsync("nav", { key: '69dbd3034c3b7b19975d8dab92db45169ba1ffa8', class: "kol-breadcrumb", "aria-label": this.state._label }, hAsync("ul", { key: '0183c1b3850d530a0d0770a2f298f076e23296b7', class: "kol-breadcrumb__list" }, this.state._links.length === 0 && (hAsync("li", { key: 'aae370f7858a4e61f3b40dfd61ef3cb32a3024ee' }, hAsync(KolIconTag, { key: '94b7b59afaafa2878d30501e223ad7f9e43ea182', class: "kol-breadcrumb_icon", _label: "", _icons: "codicon codicon-home" }), "\u2026")), this.state._links.map(this.renderLink))));
18697
18691
  }
18698
18692
  validateLabel(value, _oldValue, initial = false) {
18699
18693
  if (!initial) {
@@ -19407,9 +19401,9 @@ class KolCardWc {
19407
19401
  this.validateOnValue = (value) => typeof value === 'object' && value !== null && typeof value.onClose === 'function';
19408
19402
  }
19409
19403
  render() {
19410
- return (hAsync(Host, { key: 'e2e32f376bd12f7fc8beb4df8f76facb80f5e7a5' }, hAsync("div", { key: '0ef931bd24c643b575342f434506483f0b3ebca8', "aria-labelledby": this.nonce, class: "kol-card", role: "group" }, hAsync(KolHeadingFc, { key: 'ce924a0307338f9d6beaa3ea24051fbb3173d83e', class: "kol-card__header", id: this.nonce, level: this.state._level }, this.state._label), hAsync("div", { key: '2d004878aedb826c78acb8834d79144b05ae4d1b', class: "kol-card__content" }, hAsync("slot", { key: 'c5075d61a16c46bdf3c8c5ffea3ca70cd02c4d8c' })), this.state._hasCloser && (hAsync(KolButtonWcTag, { key: '89d83b4fb181fb2bd43b7b5a4dfedba1660395b4', class: "kol-card__close-button", "data-testid": "card-close-button", _hideLabel: true, _icons: {
19404
+ return (hAsync(Host, { key: '31a21a7dd16b81042127406bc4cd091f16f230d4' }, hAsync("div", { key: '22001ed9c1f73d9b6445b0b6e36109c9cc8ef608', "aria-labelledby": this.nonce, class: "kol-card", role: "group" }, hAsync(KolHeadingFc, { key: '5b6760cafee75437ba6ef208d35e05e96ec3f76a', class: "kol-card__header", id: this.nonce, level: this.state._level }, this.state._label), hAsync("div", { key: '9b780b199200df0ce78ad4f3d2f1ad746f838a8e', class: "kol-card__content" }, hAsync("slot", { key: 'cdf53c951f6980b6827db3bf37ea7ad216037c69' })), this.state._hasCloser && (hAsync(KolButtonWcTag, { key: '17351e7bf95780dbdad9ade81d7a44c7ecb47f2b', class: "kol-card__close-button", "data-testid": "card-close-button", _hideLabel: true, _icons: {
19411
19405
  left: {
19412
- icon: 'codicon codicon-close',
19406
+ icon: 'kolicon-cross',
19413
19407
  },
19414
19408
  }, _label: this.translateClose, _on: this.on, _tooltipAlign: "left" })))));
19415
19409
  }
@@ -19461,10 +19455,9 @@ class KolCardWc {
19461
19455
  }
19462
19456
 
19463
19457
  const getRenderStates = (state) => {
19464
- var _a;
19465
19458
  const msg = state._msg;
19466
19459
  const description = typeof msg === 'string' ? msg : msg === null || msg === void 0 ? void 0 : msg._description;
19467
- const type = typeof msg === 'string' ? 'error' : ((_a = msg === null || msg === void 0 ? void 0 : msg._type) !== null && _a !== void 0 ? _a : 'error');
19460
+ const type = getMsgType(msg);
19468
19461
  const hasMessage = Boolean(description && description.length > 0);
19469
19462
  const isMessageValidError = type === 'error' && hasMessage;
19470
19463
  const hasError = isMessageValidError && state._touched === true;
@@ -19916,8 +19909,8 @@ class ComboboxController extends InputIconController {
19916
19909
  super(component, name, host);
19917
19910
  this.component = component;
19918
19911
  }
19919
- validateHideClearButton(value) {
19920
- watchBoolean(this.component, '_hideClearButton', value);
19912
+ validateHasClearButton(value) {
19913
+ watchBoolean(this.component, '_hasClearButton', value);
19921
19914
  }
19922
19915
  validatePlaceholder(value) {
19923
19916
  validatePlaceholder(this.component, value);
@@ -19933,7 +19926,7 @@ class ComboboxController extends InputIconController {
19933
19926
  }
19934
19927
  componentWillLoad() {
19935
19928
  super.componentWillLoad();
19936
- this.validateHideClearButton(this.component._hideClearButton);
19929
+ this.validateHasClearButton(this.component._hasClearButton);
19937
19930
  this.validatePlaceholder(this.component._placeholder);
19938
19931
  this.validateRequired(this.component._required);
19939
19932
  this.validateSuggestions(this.component._suggestions);
@@ -20056,15 +20049,15 @@ class KolCombobox {
20056
20049
  }
20057
20050
  render() {
20058
20051
  const isDisabled = this.state._disabled === true;
20059
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '0d9f276131000a7a398df8167b7ab687bf191bf8' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '4bf740e369911ad5af8dc96498a7f895d09e7d86', state: this.state }, hAsync("div", { key: '839fb3245b49c1fc922e61898f0e966b3f8946d7', class: "kol-combobox__group" }, hAsync(InputStateWrapper, Object.assign({ key: 'c51fa942fe784d4b409e40c07b9f62ba623e8220' }, this.getInputProps())), this.state._value && !this.state._hideClearButton && (hAsync(KolButtonWcTag, { key: '7121cc55857a492973ab7ea3b6cb68654dc30fcc', _icons: "codicon codicon-close", _label: this.translateDeleteSelection, _hideLabel: true, _disabled: isDisabled, "data-testid": "combobox-delete", class: clsx('kol-combobox__delete', {
20052
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'ea072edf65173a627c7a8af5af4b15592b69aa6e' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'cd26bc70a3b4def7be64e1c5c242c4fbb1656b1f', state: this.state }, hAsync("div", { key: '0345d23493d7879ab8c6f3db3f6a158743308c22', class: "kol-combobox__group" }, hAsync(InputStateWrapper, Object.assign({ key: 'a187dc63d3df35e8ad1dc65024d508f5364358f3' }, this.getInputProps())), this.state._value && this.state._hasClearButton && (hAsync(KolButtonWcTag, { key: '547dab645411ba7db78fa16a39b478057e9fb4b8', _icons: "kolicon-cross", _label: this.translateDeleteSelection, _hideLabel: true, _disabled: isDisabled, "data-testid": "combobox-delete", class: clsx('kol-combobox__delete', {
20060
20053
  'kol-combobox__delete--disabled': isDisabled,
20061
20054
  }), _on: {
20062
20055
  onClick: () => {
20063
20056
  this.clearSelection();
20064
20057
  },
20065
- } })), hAsync(KolIconTag, { key: '6b4af46bfe72c9da959729263c8f0adae6c92f81', _icons: "codicon codicon-triangle-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
20058
+ } })), hAsync(KolIconTag, { key: 'fc2533df3314266028a81e2439533996f1f84fd7', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
20066
20059
  'kol-custom-suggestions-toggle--disabled': isDisabled,
20067
- }), onClick: this.toggleListbox.bind(this) })), this._isOpen && !isDisabled && (hAsync(CustomSuggestionsOptionsGroupFc, { key: 'ffbaa34f6801783d5255b82d6df3df643b53913f', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredSuggestions) &&
20060
+ }), onClick: this.toggleListbox.bind(this) })), this._isOpen && !isDisabled && (hAsync(CustomSuggestionsOptionsGroupFc, { key: 'f1e60f33171ccf3d5e52d835c53953a7e3f0196e', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredSuggestions) &&
20068
20061
  this._filteredSuggestions.length > 0 &&
20069
20062
  this._filteredSuggestions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { disabled: false, index: index, option: option, searchTerm: this.state._value, ref: (el) => {
20070
20063
  if (el)
@@ -20206,13 +20199,13 @@ class KolCombobox {
20206
20199
  this._hideMsg = false;
20207
20200
  this._hideLabel = false;
20208
20201
  this._hint = '';
20209
- this._hideClearButton = false;
20202
+ this._hasClearButton = true;
20210
20203
  this._required = false;
20211
20204
  this._tooltipAlign = 'top';
20212
20205
  this._touched = false;
20213
20206
  this.state = {
20214
20207
  _hasValue: false,
20215
- _hideClearButton: false,
20208
+ _hasClearButton: true,
20216
20209
  _hideMsg: false,
20217
20210
  _id: `id-${nonce()}`,
20218
20211
  _label: '',
@@ -20269,8 +20262,8 @@ class KolCombobox {
20269
20262
  this.controller.validateSuggestions(value);
20270
20263
  this._filteredSuggestions = value;
20271
20264
  }
20272
- validateHideClearButton(value) {
20273
- this.controller.validateHideClearButton(value);
20265
+ validateHasClearButton(value) {
20266
+ this.controller.validateHasClearButton(value);
20274
20267
  }
20275
20268
  validateRequired(value) {
20276
20269
  this.controller.validateRequired(value);
@@ -20334,7 +20327,7 @@ class KolCombobox {
20334
20327
  "_on": ["validateOn"],
20335
20328
  "_shortKey": ["validateShortKey"],
20336
20329
  "_suggestions": ["validateSuggestions"],
20337
- "_hideClearButton": ["validateHideClearButton"],
20330
+ "_hasClearButton": ["validateHasClearButton"],
20338
20331
  "_required": ["validateRequired"],
20339
20332
  "_syncValueBySelector": ["validateSyncValueBySelector"],
20340
20333
  "_touched": ["validateTouched"],
@@ -20359,7 +20352,7 @@ class KolCombobox {
20359
20352
  "_msg": [1],
20360
20353
  "_name": [1],
20361
20354
  "_on": [16],
20362
- "_hideClearButton": [4, "_hide-clear-button"],
20355
+ "_hasClearButton": [4, "_has-clear-button"],
20363
20356
  "_suggestions": [1],
20364
20357
  "_required": [4],
20365
20358
  "_shortKey": [1, "_short-key"],
@@ -20429,7 +20422,7 @@ class KolDetails {
20429
20422
  HeadingButtonProps: {
20430
20423
  ref: this.catchRef,
20431
20424
  class: `${rootClass}__heading-button`,
20432
- _icons: 'codicon codicon-chevron-right',
20425
+ _icons: 'kolicon-chevron-right',
20433
20426
  },
20434
20427
  ContentProps: {
20435
20428
  class: `${rootClass}__content indented-text`,
@@ -20437,7 +20430,7 @@ class KolDetails {
20437
20430
  animationClass: `${rootClass}__wrapper-animation`,
20438
20431
  },
20439
20432
  };
20440
- return (hAsync(KolCollapsibleFc, Object.assign({ key: 'e149779c3d5053267bcd2785b061c3862c1ab806' }, props), hAsync("slot", { key: 'ba4278e16e1cd27c08ecc5aef1d47d8427d94575' })));
20433
+ return (hAsync(KolCollapsibleFc, Object.assign({ key: '335d90129f31949bcec29ac3108f22c43d6dd09a' }, props), hAsync("slot", { key: 'ce42f858d4bda51fbac02e14d6f69b4e51da41b3' })));
20441
20434
  }
20442
20435
  validateDisabled(value) {
20443
20436
  validateDisabled(this, value);
@@ -20839,7 +20832,7 @@ const bem = c();
20839
20832
  const BEM_CLASS_ICON = bem('kol-icon');
20840
20833
  const BEM_CLASS_ICON__ICON = bem('kol-icon', 'icon');
20841
20834
 
20842
- const defaultStyleCss$y = "/* forward the rem function */\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n@font-face {\n font-family: \"codicon\";\n font-display: block;\n src: url(\"./codicon.ttf?be64b7213e352cd7f91ef58198e71237\") format(\"truetype\");\n}\n.codicon[class*=codicon-] {\n font: normal normal normal 16px/1 codicon;\n display: inline-block;\n text-decoration: none;\n text-rendering: auto;\n text-align: center;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n}\n\n/*---------------------\n * Modifiers\n *-------------------*/\n@keyframes codicon-spin {\n 100% {\n transform: rotate(360deg);\n }\n}\n.codicon-sync.codicon-modifier-spin,\n.codicon-loading.codicon-modifier-spin,\n.codicon-gear.codicon-modifier-spin {\n /* Use steps to throttle FPS to reduce CPU usage */\n animation: codicon-spin 1.5s steps(30) infinite;\n}\n\n.codicon-modifier-disabled {\n opacity: 0.5;\n}\n\n.codicon-modifier-hidden {\n opacity: 0;\n}\n\n/* custom speed & easing for loading icon */\n.codicon-loading {\n animation-duration: 1s !important;\n animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;\n}\n\n/*---------------------\n * Icons\n *-------------------*/\n.codicon-add:before {\n content: \"\\ea60\";\n}\n\n.codicon-plus:before {\n content: \"\\ea60\";\n}\n\n.codicon-gist-new:before {\n content: \"\\ea60\";\n}\n\n.codicon-repo-create:before {\n content: \"\\ea60\";\n}\n\n.codicon-lightbulb:before {\n content: \"\\ea61\";\n}\n\n.codicon-light-bulb:before {\n content: \"\\ea61\";\n}\n\n.codicon-repo:before {\n content: \"\\ea62\";\n}\n\n.codicon-repo-delete:before {\n content: \"\\ea62\";\n}\n\n.codicon-gist-fork:before {\n content: \"\\ea63\";\n}\n\n.codicon-repo-forked:before {\n content: \"\\ea63\";\n}\n\n.codicon-git-pull-request:before {\n content: \"\\ea64\";\n}\n\n.codicon-git-pull-request-abandoned:before {\n content: \"\\ea64\";\n}\n\n.codicon-record-keys:before {\n content: \"\\ea65\";\n}\n\n.codicon-keyboard:before {\n content: \"\\ea65\";\n}\n\n.codicon-tag:before {\n content: \"\\ea66\";\n}\n\n.codicon-git-pull-request-label:before {\n content: \"\\ea66\";\n}\n\n.codicon-tag-add:before {\n content: \"\\ea66\";\n}\n\n.codicon-tag-remove:before {\n content: \"\\ea66\";\n}\n\n.codicon-person:before {\n content: \"\\ea67\";\n}\n\n.codicon-person-follow:before {\n content: \"\\ea67\";\n}\n\n.codicon-person-outline:before {\n content: \"\\ea67\";\n}\n\n.codicon-person-filled:before {\n content: \"\\ea67\";\n}\n\n.codicon-git-branch:before {\n content: \"\\ea68\";\n}\n\n.codicon-git-branch-create:before {\n content: \"\\ea68\";\n}\n\n.codicon-git-branch-delete:before {\n content: \"\\ea68\";\n}\n\n.codicon-source-control:before {\n content: \"\\ea68\";\n}\n\n.codicon-mirror:before {\n content: \"\\ea69\";\n}\n\n.codicon-mirror-public:before {\n content: \"\\ea69\";\n}\n\n.codicon-star:before {\n content: \"\\ea6a\";\n}\n\n.codicon-star-add:before {\n content: \"\\ea6a\";\n}\n\n.codicon-star-delete:before {\n content: \"\\ea6a\";\n}\n\n.codicon-star-empty:before {\n content: \"\\ea6a\";\n}\n\n.codicon-comment:before {\n content: \"\\ea6b\";\n}\n\n.codicon-comment-add:before {\n content: \"\\ea6b\";\n}\n\n.codicon-alert:before {\n content: \"\\ea6c\";\n}\n\n.codicon-warning:before {\n content: \"\\ea6c\";\n}\n\n.codicon-search:before {\n content: \"\\ea6d\";\n}\n\n.codicon-search-save:before {\n content: \"\\ea6d\";\n}\n\n.codicon-log-out:before {\n content: \"\\ea6e\";\n}\n\n.codicon-sign-out:before {\n content: \"\\ea6e\";\n}\n\n.codicon-log-in:before {\n content: \"\\ea6f\";\n}\n\n.codicon-sign-in:before {\n content: \"\\ea6f\";\n}\n\n.codicon-eye:before {\n content: \"\\ea70\";\n}\n\n.codicon-eye-unwatch:before {\n content: \"\\ea70\";\n}\n\n.codicon-eye-watch:before {\n content: \"\\ea70\";\n}\n\n.codicon-circle-filled:before {\n content: \"\\ea71\";\n}\n\n.codicon-primitive-dot:before {\n content: \"\\ea71\";\n}\n\n.codicon-close-dirty:before {\n content: \"\\ea71\";\n}\n\n.codicon-debug-breakpoint:before {\n content: \"\\ea71\";\n}\n\n.codicon-debug-breakpoint-disabled:before {\n content: \"\\ea71\";\n}\n\n.codicon-debug-hint:before {\n content: \"\\ea71\";\n}\n\n.codicon-terminal-decoration-success:before {\n content: \"\\ea71\";\n}\n\n.codicon-primitive-square:before {\n content: \"\\ea72\";\n}\n\n.codicon-edit:before {\n content: \"\\ea73\";\n}\n\n.codicon-pencil:before {\n content: \"\\ea73\";\n}\n\n.codicon-info:before {\n content: \"\\ea74\";\n}\n\n.codicon-issue-opened:before {\n content: \"\\ea74\";\n}\n\n.codicon-gist-private:before {\n content: \"\\ea75\";\n}\n\n.codicon-git-fork-private:before {\n content: \"\\ea75\";\n}\n\n.codicon-lock:before {\n content: \"\\ea75\";\n}\n\n.codicon-mirror-private:before {\n content: \"\\ea75\";\n}\n\n.codicon-close:before {\n content: \"\\ea76\";\n}\n\n.codicon-remove-close:before {\n content: \"\\ea76\";\n}\n\n.codicon-x:before {\n content: \"\\ea76\";\n}\n\n.codicon-repo-sync:before {\n content: \"\\ea77\";\n}\n\n.codicon-sync:before {\n content: \"\\ea77\";\n}\n\n.codicon-clone:before {\n content: \"\\ea78\";\n}\n\n.codicon-desktop-download:before {\n content: \"\\ea78\";\n}\n\n.codicon-beaker:before {\n content: \"\\ea79\";\n}\n\n.codicon-microscope:before {\n content: \"\\ea79\";\n}\n\n.codicon-vm:before {\n content: \"\\ea7a\";\n}\n\n.codicon-device-desktop:before {\n content: \"\\ea7a\";\n}\n\n.codicon-file:before {\n content: \"\\ea7b\";\n}\n\n.codicon-file-text:before {\n content: \"\\ea7b\";\n}\n\n.codicon-more:before {\n content: \"\\ea7c\";\n}\n\n.codicon-ellipsis:before {\n content: \"\\ea7c\";\n}\n\n.codicon-kebab-horizontal:before {\n content: \"\\ea7c\";\n}\n\n.codicon-mail-reply:before {\n content: \"\\ea7d\";\n}\n\n.codicon-reply:before {\n content: \"\\ea7d\";\n}\n\n.codicon-organization:before {\n content: \"\\ea7e\";\n}\n\n.codicon-organization-filled:before {\n content: \"\\ea7e\";\n}\n\n.codicon-organization-outline:before {\n content: \"\\ea7e\";\n}\n\n.codicon-new-file:before {\n content: \"\\ea7f\";\n}\n\n.codicon-file-add:before {\n content: \"\\ea7f\";\n}\n\n.codicon-new-folder:before {\n content: \"\\ea80\";\n}\n\n.codicon-file-directory-create:before {\n content: \"\\ea80\";\n}\n\n.codicon-trash:before {\n content: \"\\ea81\";\n}\n\n.codicon-trashcan:before {\n content: \"\\ea81\";\n}\n\n.codicon-history:before {\n content: \"\\ea82\";\n}\n\n.codicon-clock:before {\n content: \"\\ea82\";\n}\n\n.codicon-folder:before {\n content: \"\\ea83\";\n}\n\n.codicon-file-directory:before {\n content: \"\\ea83\";\n}\n\n.codicon-symbol-folder:before {\n content: \"\\ea83\";\n}\n\n.codicon-logo-github:before {\n content: \"\\ea84\";\n}\n\n.codicon-mark-github:before {\n content: \"\\ea84\";\n}\n\n.codicon-github:before {\n content: \"\\ea84\";\n}\n\n.codicon-terminal:before {\n content: \"\\ea85\";\n}\n\n.codicon-console:before {\n content: \"\\ea85\";\n}\n\n.codicon-repl:before {\n content: \"\\ea85\";\n}\n\n.codicon-zap:before {\n content: \"\\ea86\";\n}\n\n.codicon-symbol-event:before {\n content: \"\\ea86\";\n}\n\n.codicon-error:before {\n content: \"\\ea87\";\n}\n\n.codicon-stop:before {\n content: \"\\ea87\";\n}\n\n.codicon-variable:before {\n content: \"\\ea88\";\n}\n\n.codicon-symbol-variable:before {\n content: \"\\ea88\";\n}\n\n.codicon-array:before {\n content: \"\\ea8a\";\n}\n\n.codicon-symbol-array:before {\n content: \"\\ea8a\";\n}\n\n.codicon-symbol-module:before {\n content: \"\\ea8b\";\n}\n\n.codicon-symbol-package:before {\n content: \"\\ea8b\";\n}\n\n.codicon-symbol-namespace:before {\n content: \"\\ea8b\";\n}\n\n.codicon-symbol-object:before {\n content: \"\\ea8b\";\n}\n\n.codicon-symbol-method:before {\n content: \"\\ea8c\";\n}\n\n.codicon-symbol-function:before {\n content: \"\\ea8c\";\n}\n\n.codicon-symbol-constructor:before {\n content: \"\\ea8c\";\n}\n\n.codicon-symbol-boolean:before {\n content: \"\\ea8f\";\n}\n\n.codicon-symbol-null:before {\n content: \"\\ea8f\";\n}\n\n.codicon-symbol-numeric:before {\n content: \"\\ea90\";\n}\n\n.codicon-symbol-number:before {\n content: \"\\ea90\";\n}\n\n.codicon-symbol-structure:before {\n content: \"\\ea91\";\n}\n\n.codicon-symbol-struct:before {\n content: \"\\ea91\";\n}\n\n.codicon-symbol-parameter:before {\n content: \"\\ea92\";\n}\n\n.codicon-symbol-type-parameter:before {\n content: \"\\ea92\";\n}\n\n.codicon-symbol-key:before {\n content: \"\\ea93\";\n}\n\n.codicon-symbol-text:before {\n content: \"\\ea93\";\n}\n\n.codicon-symbol-reference:before {\n content: \"\\ea94\";\n}\n\n.codicon-go-to-file:before {\n content: \"\\ea94\";\n}\n\n.codicon-symbol-enum:before {\n content: \"\\ea95\";\n}\n\n.codicon-symbol-value:before {\n content: \"\\ea95\";\n}\n\n.codicon-symbol-ruler:before {\n content: \"\\ea96\";\n}\n\n.codicon-symbol-unit:before {\n content: \"\\ea96\";\n}\n\n.codicon-activate-breakpoints:before {\n content: \"\\ea97\";\n}\n\n.codicon-archive:before {\n content: \"\\ea98\";\n}\n\n.codicon-arrow-both:before {\n content: \"\\ea99\";\n}\n\n.codicon-arrow-down:before {\n content: \"\\ea9a\";\n}\n\n.codicon-arrow-left:before {\n content: \"\\ea9b\";\n}\n\n.codicon-arrow-right:before {\n content: \"\\ea9c\";\n}\n\n.codicon-arrow-small-down:before {\n content: \"\\ea9d\";\n}\n\n.codicon-arrow-small-left:before {\n content: \"\\ea9e\";\n}\n\n.codicon-arrow-small-right:before {\n content: \"\\ea9f\";\n}\n\n.codicon-arrow-small-up:before {\n content: \"\\eaa0\";\n}\n\n.codicon-arrow-up:before {\n content: \"\\eaa1\";\n}\n\n.codicon-bell:before {\n content: \"\\eaa2\";\n}\n\n.codicon-bold:before {\n content: \"\\eaa3\";\n}\n\n.codicon-book:before {\n content: \"\\eaa4\";\n}\n\n.codicon-bookmark:before {\n content: \"\\eaa5\";\n}\n\n.codicon-debug-breakpoint-conditional-unverified:before {\n content: \"\\eaa6\";\n}\n\n.codicon-debug-breakpoint-conditional:before {\n content: \"\\eaa7\";\n}\n\n.codicon-debug-breakpoint-conditional-disabled:before {\n content: \"\\eaa7\";\n}\n\n.codicon-debug-breakpoint-data-unverified:before {\n content: \"\\eaa8\";\n}\n\n.codicon-debug-breakpoint-data:before {\n content: \"\\eaa9\";\n}\n\n.codicon-debug-breakpoint-data-disabled:before {\n content: \"\\eaa9\";\n}\n\n.codicon-debug-breakpoint-log-unverified:before {\n content: \"\\eaaa\";\n}\n\n.codicon-debug-breakpoint-log:before {\n content: \"\\eaab\";\n}\n\n.codicon-debug-breakpoint-log-disabled:before {\n content: \"\\eaab\";\n}\n\n.codicon-briefcase:before {\n content: \"\\eaac\";\n}\n\n.codicon-broadcast:before {\n content: \"\\eaad\";\n}\n\n.codicon-browser:before {\n content: \"\\eaae\";\n}\n\n.codicon-bug:before {\n content: \"\\eaaf\";\n}\n\n.codicon-calendar:before {\n content: \"\\eab0\";\n}\n\n.codicon-case-sensitive:before {\n content: \"\\eab1\";\n}\n\n.codicon-check:before {\n content: \"\\eab2\";\n}\n\n.codicon-checklist:before {\n content: \"\\eab3\";\n}\n\n.codicon-chevron-down:before {\n content: \"\\eab4\";\n}\n\n.codicon-chevron-left:before {\n content: \"\\eab5\";\n}\n\n.codicon-chevron-right:before {\n content: \"\\eab6\";\n}\n\n.codicon-chevron-up:before {\n content: \"\\eab7\";\n}\n\n.codicon-chrome-close:before {\n content: \"\\eab8\";\n}\n\n.codicon-chrome-maximize:before {\n content: \"\\eab9\";\n}\n\n.codicon-chrome-minimize:before {\n content: \"\\eaba\";\n}\n\n.codicon-chrome-restore:before {\n content: \"\\eabb\";\n}\n\n.codicon-circle-outline:before {\n content: \"\\eabc\";\n}\n\n.codicon-circle:before {\n content: \"\\eabc\";\n}\n\n.codicon-debug-breakpoint-unverified:before {\n content: \"\\eabc\";\n}\n\n.codicon-terminal-decoration-incomplete:before {\n content: \"\\eabc\";\n}\n\n.codicon-circle-slash:before {\n content: \"\\eabd\";\n}\n\n.codicon-circuit-board:before {\n content: \"\\eabe\";\n}\n\n.codicon-clear-all:before {\n content: \"\\eabf\";\n}\n\n.codicon-clippy:before {\n content: \"\\eac0\";\n}\n\n.codicon-close-all:before {\n content: \"\\eac1\";\n}\n\n.codicon-cloud-download:before {\n content: \"\\eac2\";\n}\n\n.codicon-cloud-upload:before {\n content: \"\\eac3\";\n}\n\n.codicon-code:before {\n content: \"\\eac4\";\n}\n\n.codicon-collapse-all:before {\n content: \"\\eac5\";\n}\n\n.codicon-color-mode:before {\n content: \"\\eac6\";\n}\n\n.codicon-comment-discussion:before {\n content: \"\\eac7\";\n}\n\n.codicon-credit-card:before {\n content: \"\\eac9\";\n}\n\n.codicon-dash:before {\n content: \"\\eacc\";\n}\n\n.codicon-dashboard:before {\n content: \"\\eacd\";\n}\n\n.codicon-database:before {\n content: \"\\eace\";\n}\n\n.codicon-debug-continue:before {\n content: \"\\eacf\";\n}\n\n.codicon-debug-disconnect:before {\n content: \"\\ead0\";\n}\n\n.codicon-debug-pause:before {\n content: \"\\ead1\";\n}\n\n.codicon-debug-restart:before {\n content: \"\\ead2\";\n}\n\n.codicon-debug-start:before {\n content: \"\\ead3\";\n}\n\n.codicon-debug-step-into:before {\n content: \"\\ead4\";\n}\n\n.codicon-debug-step-out:before {\n content: \"\\ead5\";\n}\n\n.codicon-debug-step-over:before {\n content: \"\\ead6\";\n}\n\n.codicon-debug-stop:before {\n content: \"\\ead7\";\n}\n\n.codicon-debug:before {\n content: \"\\ead8\";\n}\n\n.codicon-device-camera-video:before {\n content: \"\\ead9\";\n}\n\n.codicon-device-camera:before {\n content: \"\\eada\";\n}\n\n.codicon-device-mobile:before {\n content: \"\\eadb\";\n}\n\n.codicon-diff-added:before {\n content: \"\\eadc\";\n}\n\n.codicon-diff-ignored:before {\n content: \"\\eadd\";\n}\n\n.codicon-diff-modified:before {\n content: \"\\eade\";\n}\n\n.codicon-diff-removed:before {\n content: \"\\eadf\";\n}\n\n.codicon-diff-renamed:before {\n content: \"\\eae0\";\n}\n\n.codicon-diff:before {\n content: \"\\eae1\";\n}\n\n.codicon-diff-sidebyside:before {\n content: \"\\eae1\";\n}\n\n.codicon-discard:before {\n content: \"\\eae2\";\n}\n\n.codicon-editor-layout:before {\n content: \"\\eae3\";\n}\n\n.codicon-empty-window:before {\n content: \"\\eae4\";\n}\n\n.codicon-exclude:before {\n content: \"\\eae5\";\n}\n\n.codicon-extensions:before {\n content: \"\\eae6\";\n}\n\n.codicon-eye-closed:before {\n content: \"\\eae7\";\n}\n\n.codicon-file-binary:before {\n content: \"\\eae8\";\n}\n\n.codicon-file-code:before {\n content: \"\\eae9\";\n}\n\n.codicon-file-media:before {\n content: \"\\eaea\";\n}\n\n.codicon-file-pdf:before {\n content: \"\\eaeb\";\n}\n\n.codicon-file-submodule:before {\n content: \"\\eaec\";\n}\n\n.codicon-file-symlink-directory:before {\n content: \"\\eaed\";\n}\n\n.codicon-file-symlink-file:before {\n content: \"\\eaee\";\n}\n\n.codicon-file-zip:before {\n content: \"\\eaef\";\n}\n\n.codicon-files:before {\n content: \"\\eaf0\";\n}\n\n.codicon-filter:before {\n content: \"\\eaf1\";\n}\n\n.codicon-flame:before {\n content: \"\\eaf2\";\n}\n\n.codicon-fold-down:before {\n content: \"\\eaf3\";\n}\n\n.codicon-fold-up:before {\n content: \"\\eaf4\";\n}\n\n.codicon-fold:before {\n content: \"\\eaf5\";\n}\n\n.codicon-folder-active:before {\n content: \"\\eaf6\";\n}\n\n.codicon-folder-opened:before {\n content: \"\\eaf7\";\n}\n\n.codicon-gear:before {\n content: \"\\eaf8\";\n}\n\n.codicon-gift:before {\n content: \"\\eaf9\";\n}\n\n.codicon-gist-secret:before {\n content: \"\\eafa\";\n}\n\n.codicon-gist:before {\n content: \"\\eafb\";\n}\n\n.codicon-git-commit:before {\n content: \"\\eafc\";\n}\n\n.codicon-git-compare:before {\n content: \"\\eafd\";\n}\n\n.codicon-compare-changes:before {\n content: \"\\eafd\";\n}\n\n.codicon-git-merge:before {\n content: \"\\eafe\";\n}\n\n.codicon-github-action:before {\n content: \"\\eaff\";\n}\n\n.codicon-github-alt:before {\n content: \"\\eb00\";\n}\n\n.codicon-globe:before {\n content: \"\\eb01\";\n}\n\n.codicon-grabber:before {\n content: \"\\eb02\";\n}\n\n.codicon-graph:before {\n content: \"\\eb03\";\n}\n\n.codicon-gripper:before {\n content: \"\\eb04\";\n}\n\n.codicon-heart:before {\n content: \"\\eb05\";\n}\n\n.codicon-home:before {\n content: \"\\eb06\";\n}\n\n.codicon-horizontal-rule:before {\n content: \"\\eb07\";\n}\n\n.codicon-hubot:before {\n content: \"\\eb08\";\n}\n\n.codicon-inbox:before {\n content: \"\\eb09\";\n}\n\n.codicon-issue-reopened:before {\n content: \"\\eb0b\";\n}\n\n.codicon-issues:before {\n content: \"\\eb0c\";\n}\n\n.codicon-italic:before {\n content: \"\\eb0d\";\n}\n\n.codicon-jersey:before {\n content: \"\\eb0e\";\n}\n\n.codicon-json:before {\n content: \"\\eb0f\";\n}\n\n.codicon-kebab-vertical:before {\n content: \"\\eb10\";\n}\n\n.codicon-key:before {\n content: \"\\eb11\";\n}\n\n.codicon-law:before {\n content: \"\\eb12\";\n}\n\n.codicon-lightbulb-autofix:before {\n content: \"\\eb13\";\n}\n\n.codicon-link-external:before {\n content: \"\\eb14\";\n}\n\n.codicon-link:before {\n content: \"\\eb15\";\n}\n\n.codicon-list-ordered:before {\n content: \"\\eb16\";\n}\n\n.codicon-list-unordered:before {\n content: \"\\eb17\";\n}\n\n.codicon-live-share:before {\n content: \"\\eb18\";\n}\n\n.codicon-loading:before {\n content: \"\\eb19\";\n}\n\n.codicon-location:before {\n content: \"\\eb1a\";\n}\n\n.codicon-mail-read:before {\n content: \"\\eb1b\";\n}\n\n.codicon-mail:before {\n content: \"\\eb1c\";\n}\n\n.codicon-markdown:before {\n content: \"\\eb1d\";\n}\n\n.codicon-megaphone:before {\n content: \"\\eb1e\";\n}\n\n.codicon-mention:before {\n content: \"\\eb1f\";\n}\n\n.codicon-milestone:before {\n content: \"\\eb20\";\n}\n\n.codicon-git-pull-request-milestone:before {\n content: \"\\eb20\";\n}\n\n.codicon-mortar-board:before {\n content: \"\\eb21\";\n}\n\n.codicon-move:before {\n content: \"\\eb22\";\n}\n\n.codicon-multiple-windows:before {\n content: \"\\eb23\";\n}\n\n.codicon-mute:before {\n content: \"\\eb24\";\n}\n\n.codicon-no-newline:before {\n content: \"\\eb25\";\n}\n\n.codicon-note:before {\n content: \"\\eb26\";\n}\n\n.codicon-octoface:before {\n content: \"\\eb27\";\n}\n\n.codicon-open-preview:before {\n content: \"\\eb28\";\n}\n\n.codicon-package:before {\n content: \"\\eb29\";\n}\n\n.codicon-paintcan:before {\n content: \"\\eb2a\";\n}\n\n.codicon-pin:before {\n content: \"\\eb2b\";\n}\n\n.codicon-play:before {\n content: \"\\eb2c\";\n}\n\n.codicon-run:before {\n content: \"\\eb2c\";\n}\n\n.codicon-plug:before {\n content: \"\\eb2d\";\n}\n\n.codicon-preserve-case:before {\n content: \"\\eb2e\";\n}\n\n.codicon-preview:before {\n content: \"\\eb2f\";\n}\n\n.codicon-project:before {\n content: \"\\eb30\";\n}\n\n.codicon-pulse:before {\n content: \"\\eb31\";\n}\n\n.codicon-question:before {\n content: \"\\eb32\";\n}\n\n.codicon-quote:before {\n content: \"\\eb33\";\n}\n\n.codicon-radio-tower:before {\n content: \"\\eb34\";\n}\n\n.codicon-reactions:before {\n content: \"\\eb35\";\n}\n\n.codicon-references:before {\n content: \"\\eb36\";\n}\n\n.codicon-refresh:before {\n content: \"\\eb37\";\n}\n\n.codicon-regex:before {\n content: \"\\eb38\";\n}\n\n.codicon-remote-explorer:before {\n content: \"\\eb39\";\n}\n\n.codicon-remote:before {\n content: \"\\eb3a\";\n}\n\n.codicon-remove:before {\n content: \"\\eb3b\";\n}\n\n.codicon-replace-all:before {\n content: \"\\eb3c\";\n}\n\n.codicon-replace:before {\n content: \"\\eb3d\";\n}\n\n.codicon-repo-clone:before {\n content: \"\\eb3e\";\n}\n\n.codicon-repo-force-push:before {\n content: \"\\eb3f\";\n}\n\n.codicon-repo-pull:before {\n content: \"\\eb40\";\n}\n\n.codicon-repo-push:before {\n content: \"\\eb41\";\n}\n\n.codicon-report:before {\n content: \"\\eb42\";\n}\n\n.codicon-request-changes:before {\n content: \"\\eb43\";\n}\n\n.codicon-rocket:before {\n content: \"\\eb44\";\n}\n\n.codicon-root-folder-opened:before {\n content: \"\\eb45\";\n}\n\n.codicon-root-folder:before {\n content: \"\\eb46\";\n}\n\n.codicon-rss:before {\n content: \"\\eb47\";\n}\n\n.codicon-ruby:before {\n content: \"\\eb48\";\n}\n\n.codicon-save-all:before {\n content: \"\\eb49\";\n}\n\n.codicon-save-as:before {\n content: \"\\eb4a\";\n}\n\n.codicon-save:before {\n content: \"\\eb4b\";\n}\n\n.codicon-screen-full:before {\n content: \"\\eb4c\";\n}\n\n.codicon-screen-normal:before {\n content: \"\\eb4d\";\n}\n\n.codicon-search-stop:before {\n content: \"\\eb4e\";\n}\n\n.codicon-server:before {\n content: \"\\eb50\";\n}\n\n.codicon-settings-gear:before {\n content: \"\\eb51\";\n}\n\n.codicon-settings:before {\n content: \"\\eb52\";\n}\n\n.codicon-shield:before {\n content: \"\\eb53\";\n}\n\n.codicon-smiley:before {\n content: \"\\eb54\";\n}\n\n.codicon-sort-precedence:before {\n content: \"\\eb55\";\n}\n\n.codicon-split-horizontal:before {\n content: \"\\eb56\";\n}\n\n.codicon-split-vertical:before {\n content: \"\\eb57\";\n}\n\n.codicon-squirrel:before {\n content: \"\\eb58\";\n}\n\n.codicon-star-full:before {\n content: \"\\eb59\";\n}\n\n.codicon-star-half:before {\n content: \"\\eb5a\";\n}\n\n.codicon-symbol-class:before {\n content: \"\\eb5b\";\n}\n\n.codicon-symbol-color:before {\n content: \"\\eb5c\";\n}\n\n.codicon-symbol-constant:before {\n content: \"\\eb5d\";\n}\n\n.codicon-symbol-enum-member:before {\n content: \"\\eb5e\";\n}\n\n.codicon-symbol-field:before {\n content: \"\\eb5f\";\n}\n\n.codicon-symbol-file:before {\n content: \"\\eb60\";\n}\n\n.codicon-symbol-interface:before {\n content: \"\\eb61\";\n}\n\n.codicon-symbol-keyword:before {\n content: \"\\eb62\";\n}\n\n.codicon-symbol-misc:before {\n content: \"\\eb63\";\n}\n\n.codicon-symbol-operator:before {\n content: \"\\eb64\";\n}\n\n.codicon-symbol-property:before {\n content: \"\\eb65\";\n}\n\n.codicon-wrench:before {\n content: \"\\eb65\";\n}\n\n.codicon-wrench-subaction:before {\n content: \"\\eb65\";\n}\n\n.codicon-symbol-snippet:before {\n content: \"\\eb66\";\n}\n\n.codicon-tasklist:before {\n content: \"\\eb67\";\n}\n\n.codicon-telescope:before {\n content: \"\\eb68\";\n}\n\n.codicon-text-size:before {\n content: \"\\eb69\";\n}\n\n.codicon-three-bars:before {\n content: \"\\eb6a\";\n}\n\n.codicon-thumbsdown:before {\n content: \"\\eb6b\";\n}\n\n.codicon-thumbsup:before {\n content: \"\\eb6c\";\n}\n\n.codicon-tools:before {\n content: \"\\eb6d\";\n}\n\n.codicon-triangle-down:before {\n content: \"\\eb6e\";\n}\n\n.codicon-triangle-left:before {\n content: \"\\eb6f\";\n}\n\n.codicon-triangle-right:before {\n content: \"\\eb70\";\n}\n\n.codicon-triangle-up:before {\n content: \"\\eb71\";\n}\n\n.codicon-twitter:before {\n content: \"\\eb72\";\n}\n\n.codicon-unfold:before {\n content: \"\\eb73\";\n}\n\n.codicon-unlock:before {\n content: \"\\eb74\";\n}\n\n.codicon-unmute:before {\n content: \"\\eb75\";\n}\n\n.codicon-unverified:before {\n content: \"\\eb76\";\n}\n\n.codicon-verified:before {\n content: \"\\eb77\";\n}\n\n.codicon-versions:before {\n content: \"\\eb78\";\n}\n\n.codicon-vm-active:before {\n content: \"\\eb79\";\n}\n\n.codicon-vm-outline:before {\n content: \"\\eb7a\";\n}\n\n.codicon-vm-running:before {\n content: \"\\eb7b\";\n}\n\n.codicon-watch:before {\n content: \"\\eb7c\";\n}\n\n.codicon-whitespace:before {\n content: \"\\eb7d\";\n}\n\n.codicon-whole-word:before {\n content: \"\\eb7e\";\n}\n\n.codicon-window:before {\n content: \"\\eb7f\";\n}\n\n.codicon-word-wrap:before {\n content: \"\\eb80\";\n}\n\n.codicon-zoom-in:before {\n content: \"\\eb81\";\n}\n\n.codicon-zoom-out:before {\n content: \"\\eb82\";\n}\n\n.codicon-list-filter:before {\n content: \"\\eb83\";\n}\n\n.codicon-list-flat:before {\n content: \"\\eb84\";\n}\n\n.codicon-list-selection:before {\n content: \"\\eb85\";\n}\n\n.codicon-selection:before {\n content: \"\\eb85\";\n}\n\n.codicon-list-tree:before {\n content: \"\\eb86\";\n}\n\n.codicon-debug-breakpoint-function-unverified:before {\n content: \"\\eb87\";\n}\n\n.codicon-debug-breakpoint-function:before {\n content: \"\\eb88\";\n}\n\n.codicon-debug-breakpoint-function-disabled:before {\n content: \"\\eb88\";\n}\n\n.codicon-debug-stackframe-active:before {\n content: \"\\eb89\";\n}\n\n.codicon-circle-small-filled:before {\n content: \"\\eb8a\";\n}\n\n.codicon-debug-stackframe-dot:before {\n content: \"\\eb8a\";\n}\n\n.codicon-terminal-decoration-mark:before {\n content: \"\\eb8a\";\n}\n\n.codicon-debug-stackframe:before {\n content: \"\\eb8b\";\n}\n\n.codicon-debug-stackframe-focused:before {\n content: \"\\eb8b\";\n}\n\n.codicon-debug-breakpoint-unsupported:before {\n content: \"\\eb8c\";\n}\n\n.codicon-symbol-string:before {\n content: \"\\eb8d\";\n}\n\n.codicon-debug-reverse-continue:before {\n content: \"\\eb8e\";\n}\n\n.codicon-debug-step-back:before {\n content: \"\\eb8f\";\n}\n\n.codicon-debug-restart-frame:before {\n content: \"\\eb90\";\n}\n\n.codicon-debug-alt:before {\n content: \"\\eb91\";\n}\n\n.codicon-call-incoming:before {\n content: \"\\eb92\";\n}\n\n.codicon-call-outgoing:before {\n content: \"\\eb93\";\n}\n\n.codicon-menu:before {\n content: \"\\eb94\";\n}\n\n.codicon-expand-all:before {\n content: \"\\eb95\";\n}\n\n.codicon-feedback:before {\n content: \"\\eb96\";\n}\n\n.codicon-git-pull-request-reviewer:before {\n content: \"\\eb96\";\n}\n\n.codicon-group-by-ref-type:before {\n content: \"\\eb97\";\n}\n\n.codicon-ungroup-by-ref-type:before {\n content: \"\\eb98\";\n}\n\n.codicon-account:before {\n content: \"\\eb99\";\n}\n\n.codicon-git-pull-request-assignee:before {\n content: \"\\eb99\";\n}\n\n.codicon-bell-dot:before {\n content: \"\\eb9a\";\n}\n\n.codicon-debug-console:before {\n content: \"\\eb9b\";\n}\n\n.codicon-library:before {\n content: \"\\eb9c\";\n}\n\n.codicon-output:before {\n content: \"\\eb9d\";\n}\n\n.codicon-run-all:before {\n content: \"\\eb9e\";\n}\n\n.codicon-sync-ignored:before {\n content: \"\\eb9f\";\n}\n\n.codicon-pinned:before {\n content: \"\\eba0\";\n}\n\n.codicon-github-inverted:before {\n content: \"\\eba1\";\n}\n\n.codicon-server-process:before {\n content: \"\\eba2\";\n}\n\n.codicon-server-environment:before {\n content: \"\\eba3\";\n}\n\n.codicon-pass:before {\n content: \"\\eba4\";\n}\n\n.codicon-issue-closed:before {\n content: \"\\eba4\";\n}\n\n.codicon-stop-circle:before {\n content: \"\\eba5\";\n}\n\n.codicon-play-circle:before {\n content: \"\\eba6\";\n}\n\n.codicon-record:before {\n content: \"\\eba7\";\n}\n\n.codicon-debug-alt-small:before {\n content: \"\\eba8\";\n}\n\n.codicon-vm-connect:before {\n content: \"\\eba9\";\n}\n\n.codicon-cloud:before {\n content: \"\\ebaa\";\n}\n\n.codicon-merge:before {\n content: \"\\ebab\";\n}\n\n.codicon-export:before {\n content: \"\\ebac\";\n}\n\n.codicon-graph-left:before {\n content: \"\\ebad\";\n}\n\n.codicon-magnet:before {\n content: \"\\ebae\";\n}\n\n.codicon-notebook:before {\n content: \"\\ebaf\";\n}\n\n.codicon-redo:before {\n content: \"\\ebb0\";\n}\n\n.codicon-check-all:before {\n content: \"\\ebb1\";\n}\n\n.codicon-pinned-dirty:before {\n content: \"\\ebb2\";\n}\n\n.codicon-pass-filled:before {\n content: \"\\ebb3\";\n}\n\n.codicon-circle-large-filled:before {\n content: \"\\ebb4\";\n}\n\n.codicon-circle-large:before {\n content: \"\\ebb5\";\n}\n\n.codicon-circle-large-outline:before {\n content: \"\\ebb5\";\n}\n\n.codicon-combine:before {\n content: \"\\ebb6\";\n}\n\n.codicon-gather:before {\n content: \"\\ebb6\";\n}\n\n.codicon-table:before {\n content: \"\\ebb7\";\n}\n\n.codicon-variable-group:before {\n content: \"\\ebb8\";\n}\n\n.codicon-type-hierarchy:before {\n content: \"\\ebb9\";\n}\n\n.codicon-type-hierarchy-sub:before {\n content: \"\\ebba\";\n}\n\n.codicon-type-hierarchy-super:before {\n content: \"\\ebbb\";\n}\n\n.codicon-git-pull-request-create:before {\n content: \"\\ebbc\";\n}\n\n.codicon-run-above:before {\n content: \"\\ebbd\";\n}\n\n.codicon-run-below:before {\n content: \"\\ebbe\";\n}\n\n.codicon-notebook-template:before {\n content: \"\\ebbf\";\n}\n\n.codicon-debug-rerun:before {\n content: \"\\ebc0\";\n}\n\n.codicon-workspace-trusted:before {\n content: \"\\ebc1\";\n}\n\n.codicon-workspace-untrusted:before {\n content: \"\\ebc2\";\n}\n\n.codicon-workspace-unknown:before {\n content: \"\\ebc3\";\n}\n\n.codicon-terminal-cmd:before {\n content: \"\\ebc4\";\n}\n\n.codicon-terminal-debian:before {\n content: \"\\ebc5\";\n}\n\n.codicon-terminal-linux:before {\n content: \"\\ebc6\";\n}\n\n.codicon-terminal-powershell:before {\n content: \"\\ebc7\";\n}\n\n.codicon-terminal-tmux:before {\n content: \"\\ebc8\";\n}\n\n.codicon-terminal-ubuntu:before {\n content: \"\\ebc9\";\n}\n\n.codicon-terminal-bash:before {\n content: \"\\ebca\";\n}\n\n.codicon-arrow-swap:before {\n content: \"\\ebcb\";\n}\n\n.codicon-copy:before {\n content: \"\\ebcc\";\n}\n\n.codicon-person-add:before {\n content: \"\\ebcd\";\n}\n\n.codicon-filter-filled:before {\n content: \"\\ebce\";\n}\n\n.codicon-wand:before {\n content: \"\\ebcf\";\n}\n\n.codicon-debug-line-by-line:before {\n content: \"\\ebd0\";\n}\n\n.codicon-inspect:before {\n content: \"\\ebd1\";\n}\n\n.codicon-layers:before {\n content: \"\\ebd2\";\n}\n\n.codicon-layers-dot:before {\n content: \"\\ebd3\";\n}\n\n.codicon-layers-active:before {\n content: \"\\ebd4\";\n}\n\n.codicon-compass:before {\n content: \"\\ebd5\";\n}\n\n.codicon-compass-dot:before {\n content: \"\\ebd6\";\n}\n\n.codicon-compass-active:before {\n content: \"\\ebd7\";\n}\n\n.codicon-azure:before {\n content: \"\\ebd8\";\n}\n\n.codicon-issue-draft:before {\n content: \"\\ebd9\";\n}\n\n.codicon-git-pull-request-closed:before {\n content: \"\\ebda\";\n}\n\n.codicon-git-pull-request-draft:before {\n content: \"\\ebdb\";\n}\n\n.codicon-debug-all:before {\n content: \"\\ebdc\";\n}\n\n.codicon-debug-coverage:before {\n content: \"\\ebdd\";\n}\n\n.codicon-run-errors:before {\n content: \"\\ebde\";\n}\n\n.codicon-folder-library:before {\n content: \"\\ebdf\";\n}\n\n.codicon-debug-continue-small:before {\n content: \"\\ebe0\";\n}\n\n.codicon-beaker-stop:before {\n content: \"\\ebe1\";\n}\n\n.codicon-graph-line:before {\n content: \"\\ebe2\";\n}\n\n.codicon-graph-scatter:before {\n content: \"\\ebe3\";\n}\n\n.codicon-pie-chart:before {\n content: \"\\ebe4\";\n}\n\n.codicon-bracket:before {\n content: \"\\eb0f\";\n}\n\n.codicon-bracket-dot:before {\n content: \"\\ebe5\";\n}\n\n.codicon-bracket-error:before {\n content: \"\\ebe6\";\n}\n\n.codicon-lock-small:before {\n content: \"\\ebe7\";\n}\n\n.codicon-azure-devops:before {\n content: \"\\ebe8\";\n}\n\n.codicon-verified-filled:before {\n content: \"\\ebe9\";\n}\n\n.codicon-newline:before {\n content: \"\\ebea\";\n}\n\n.codicon-layout:before {\n content: \"\\ebeb\";\n}\n\n.codicon-layout-activitybar-left:before {\n content: \"\\ebec\";\n}\n\n.codicon-layout-activitybar-right:before {\n content: \"\\ebed\";\n}\n\n.codicon-layout-panel-left:before {\n content: \"\\ebee\";\n}\n\n.codicon-layout-panel-center:before {\n content: \"\\ebef\";\n}\n\n.codicon-layout-panel-justify:before {\n content: \"\\ebf0\";\n}\n\n.codicon-layout-panel-right:before {\n content: \"\\ebf1\";\n}\n\n.codicon-layout-panel:before {\n content: \"\\ebf2\";\n}\n\n.codicon-layout-sidebar-left:before {\n content: \"\\ebf3\";\n}\n\n.codicon-layout-sidebar-right:before {\n content: \"\\ebf4\";\n}\n\n.codicon-layout-statusbar:before {\n content: \"\\ebf5\";\n}\n\n.codicon-layout-menubar:before {\n content: \"\\ebf6\";\n}\n\n.codicon-layout-centered:before {\n content: \"\\ebf7\";\n}\n\n.codicon-target:before {\n content: \"\\ebf8\";\n}\n\n.codicon-indent:before {\n content: \"\\ebf9\";\n}\n\n.codicon-record-small:before {\n content: \"\\ebfa\";\n}\n\n.codicon-error-small:before {\n content: \"\\ebfb\";\n}\n\n.codicon-terminal-decoration-error:before {\n content: \"\\ebfb\";\n}\n\n.codicon-arrow-circle-down:before {\n content: \"\\ebfc\";\n}\n\n.codicon-arrow-circle-left:before {\n content: \"\\ebfd\";\n}\n\n.codicon-arrow-circle-right:before {\n content: \"\\ebfe\";\n}\n\n.codicon-arrow-circle-up:before {\n content: \"\\ebff\";\n}\n\n.codicon-layout-sidebar-right-off:before {\n content: \"\\ec00\";\n}\n\n.codicon-layout-panel-off:before {\n content: \"\\ec01\";\n}\n\n.codicon-layout-sidebar-left-off:before {\n content: \"\\ec02\";\n}\n\n.codicon-blank:before {\n content: \"\\ec03\";\n}\n\n.codicon-heart-filled:before {\n content: \"\\ec04\";\n}\n\n.codicon-map:before {\n content: \"\\ec05\";\n}\n\n.codicon-map-horizontal:before {\n content: \"\\ec05\";\n}\n\n.codicon-fold-horizontal:before {\n content: \"\\ec05\";\n}\n\n.codicon-map-filled:before {\n content: \"\\ec06\";\n}\n\n.codicon-map-horizontal-filled:before {\n content: \"\\ec06\";\n}\n\n.codicon-fold-horizontal-filled:before {\n content: \"\\ec06\";\n}\n\n.codicon-circle-small:before {\n content: \"\\ec07\";\n}\n\n.codicon-bell-slash:before {\n content: \"\\ec08\";\n}\n\n.codicon-bell-slash-dot:before {\n content: \"\\ec09\";\n}\n\n.codicon-comment-unresolved:before {\n content: \"\\ec0a\";\n}\n\n.codicon-git-pull-request-go-to-changes:before {\n content: \"\\ec0b\";\n}\n\n.codicon-git-pull-request-new-changes:before {\n content: \"\\ec0c\";\n}\n\n.codicon-search-fuzzy:before {\n content: \"\\ec0d\";\n}\n\n.codicon-comment-draft:before {\n content: \"\\ec0e\";\n}\n\n.codicon-send:before {\n content: \"\\ec0f\";\n}\n\n.codicon-sparkle:before {\n content: \"\\ec10\";\n}\n\n.codicon-insert:before {\n content: \"\\ec11\";\n}\n\n.codicon-mic:before {\n content: \"\\ec12\";\n}\n\n.codicon-thumbsdown-filled:before {\n content: \"\\ec13\";\n}\n\n.codicon-thumbsup-filled:before {\n content: \"\\ec14\";\n}\n\n.codicon-coffee:before {\n content: \"\\ec15\";\n}\n\n.codicon-snake:before {\n content: \"\\ec16\";\n}\n\n.codicon-game:before {\n content: \"\\ec17\";\n}\n\n.codicon-vr:before {\n content: \"\\ec18\";\n}\n\n.codicon-chip:before {\n content: \"\\ec19\";\n}\n\n.codicon-piano:before {\n content: \"\\ec1a\";\n}\n\n.codicon-music:before {\n content: \"\\ec1b\";\n}\n\n.codicon-mic-filled:before {\n content: \"\\ec1c\";\n}\n\n.codicon-repo-fetch:before {\n content: \"\\ec1d\";\n}\n\n.codicon-copilot:before {\n content: \"\\ec1e\";\n}\n\n.codicon-lightbulb-sparkle:before {\n content: \"\\ec1f\";\n}\n\n.codicon-robot:before {\n content: \"\\ec20\";\n}\n\n.codicon-sparkle-filled:before {\n content: \"\\ec21\";\n}\n\n.codicon-diff-single:before {\n content: \"\\ec22\";\n}\n\n.codicon-diff-multiple:before {\n content: \"\\ec23\";\n}\n\n.codicon-surround-with:before {\n content: \"\\ec24\";\n}\n\n.codicon-share:before {\n content: \"\\ec25\";\n}\n\n.codicon-git-stash:before {\n content: \"\\ec26\";\n}\n\n.codicon-git-stash-apply:before {\n content: \"\\ec27\";\n}\n\n.codicon-git-stash-pop:before {\n content: \"\\ec28\";\n}\n\n.codicon-vscode:before {\n content: \"\\ec29\";\n}\n\n.codicon-vscode-insiders:before {\n content: \"\\ec2a\";\n}\n\n.codicon-code-oss:before {\n content: \"\\ec2b\";\n}\n\n.codicon-run-coverage:before {\n content: \"\\ec2c\";\n}\n\n.codicon-run-all-coverage:before {\n content: \"\\ec2d\";\n}\n\n.codicon-coverage:before {\n content: \"\\ec2e\";\n}\n\n.codicon-github-project:before {\n content: \"\\ec2f\";\n}\n\n.codicon-map-vertical:before {\n content: \"\\ec30\";\n}\n\n.codicon-fold-vertical:before {\n content: \"\\ec30\";\n}\n\n.codicon-map-vertical-filled:before {\n content: \"\\ec31\";\n}\n\n.codicon-fold-vertical-filled:before {\n content: \"\\ec31\";\n}\n\n.codicon-go-to-search:before {\n content: \"\\ec32\";\n}\n\n.codicon-percentage:before {\n content: \"\\ec33\";\n}\n\n.codicon-sort-percentage:before {\n content: \"\\ec33\";\n}\n\n.codicon-attach:before {\n content: \"\\ec34\";\n}\n\n.codicon-go-to-editing-session:before {\n content: \"\\ec35\";\n}\n\n.codicon-edit-session:before {\n content: \"\\ec36\";\n}\n\n.codicon-code-review:before {\n content: \"\\ec37\";\n}\n\n.codicon-copilot-warning:before {\n content: \"\\ec38\";\n}\n\n.codicon-python:before {\n content: \"\\ec39\";\n}\n\n.codicon-git-fetch:before {\n content: \"\\f101\";\n}\n\n@layer kol-component {\n /* :host implicitly inherits font-size, see below */\n :host {\n color: inherit;\n display: contents;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n /* this rules overwrites the fixed font size from codicon */\n :host > i,\n :host > i::before {\n font-size: inherit !important;\n }\n}";
20835
+ const defaultStyleCss$y = "/* forward the rem function */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1766164320249\"); /* IE9*/\n src: url(\"kolicons.eot?t=1766164320249#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1766164320249\") format(\"woff2\"), url(\"kolicons.woff?t=1766164320249\") format(\"woff\"), url(\"kolicons.ttf?t=1766164320249\") format(\"truetype\"), url(\"kolicons.svg?t=1766164320249#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n[class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\" !important;\n font-size: 16px;\n font-style: normal;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.kolicon-alert-error::before {\n content: \"\\ea01\";\n}\n\n.kolicon-alert-info::before {\n content: \"\\ea02\";\n}\n\n.kolicon-alert-success::before {\n content: \"\\ea03\";\n}\n\n.kolicon-alert-warning::before {\n content: \"\\ea04\";\n}\n\n.kolicon-check::before {\n content: \"\\ea05\";\n}\n\n.kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n}\n\n.kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n}\n\n.kolicon-chevron-down::before {\n content: \"\\ea08\";\n}\n\n.kolicon-chevron-left::before {\n content: \"\\ea09\";\n}\n\n.kolicon-chevron-right::before {\n content: \"\\ea0a\";\n}\n\n.kolicon-chevron-up::before {\n content: \"\\ea0b\";\n}\n\n.kolicon-cogwheel::before {\n content: \"\\ea0c\";\n}\n\n.kolicon-cross::before {\n content: \"\\ea0d\";\n}\n\n.kolicon-eye-closed::before {\n content: \"\\ea0e\";\n}\n\n.kolicon-eye::before {\n content: \"\\ea0f\";\n}\n\n.kolicon-kolibri::before {\n content: \"\\ea10\";\n}\n\n.kolicon-link-external::before {\n content: \"\\ea11\";\n}\n\n.kolicon-link::before {\n content: \"\\ea12\";\n}\n\n.kolicon-minus::before {\n content: \"\\ea13\";\n}\n\n.kolicon-plus::before {\n content: \"\\ea14\";\n}\n\n.kolicon-settings::before {\n content: \"\\ea15\";\n}\n\n.kolicon-sort-asc::before {\n content: \"\\ea16\";\n}\n\n.kolicon-sort-desc::before {\n content: \"\\ea17\";\n}\n\n.kolicon-sort-neutral::before {\n content: \"\\ea18\";\n}\n\n.kolicon-version::before {\n content: \"\\ea19\";\n}\n\n@layer kol-component {\n /* :host implicitly inherits font-size, see below */\n :host {\n color: inherit;\n display: contents;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n}";
20843
20836
 
20844
20837
  class KolIcon {
20845
20838
  render() {
@@ -20849,7 +20842,7 @@ class KolIcon {
20849
20842
  constructor(hostRef) {
20850
20843
  registerInstance(this, hostRef);
20851
20844
  this.state = {
20852
- _icons: 'codicon codicon-home',
20845
+ _icons: 'kolicon-logo',
20853
20846
  _label: '',
20854
20847
  };
20855
20848
  this.controller = new IconController(this);
@@ -21097,10 +21090,7 @@ const InputWrapperFc$1 = (_a) => {
21097
21090
  return hAsync(InputFc, Object.assign({ class: clsx('kol-checkbox__input', classNames) }, other, { type: "checkbox" }));
21098
21091
  };
21099
21092
  const CheckboxFc = (_a) => {
21100
- var _b;
21101
21093
  var { class: classNames, variant = 'default', icon, inputProps } = _a, other = __rest(_a, ["class", "variant", "icon", "inputProps"]);
21102
- const showMsg = checkHasMsg(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg, inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched);
21103
- const msgType = typeof (inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg) === 'string' ? 'error' : (_b = inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg) === null || _b === void 0 ? void 0 : _b._type;
21104
21094
  const cssVariants = {
21105
21095
  [`kol-checkbox--variant-${variant}`]: true,
21106
21096
  [`kol-checkbox--checked`]: inputProps === null || inputProps === void 0 ? void 0 : inputProps.checked,
@@ -21108,7 +21098,7 @@ const CheckboxFc = (_a) => {
21108
21098
  ['kol-checkbox--disabled']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.disabled),
21109
21099
  ['kol-checkbox--required']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.required),
21110
21100
  ['kol-checkbox--touched']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched),
21111
- [`kol-checkbox--${msgType || 'error'}`]: Boolean(showMsg),
21101
+ [`kol-checkbox--${getMsgType(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg)}`]: Boolean(isMsgDefinedAndInputTouched(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg, inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched)),
21112
21102
  };
21113
21103
  return (hAsync("label", Object.assign({ class: clsx('kol-checkbox', cssVariants, classNames) }, other), hAsync(IconWrapperFc, { label: "", icons: icon }), hAsync(InputWrapperFc$1, Object.assign({}, inputProps))));
21114
21104
  };
@@ -21153,11 +21143,9 @@ const KolFieldControlFc = (props, children) => {
21153
21143
  const { class: classNames, id, disabled, label, hideLabel, labelAlign, renderNoTooltip, hint, renderNoHint, tooltipAlign, accessKey, shortKey, msg, touched, required, readonly, fieldControlInputProps, fieldControlLabelProps, fieldControlTooltipProps, fieldControlHintProps } = props, other = __rest(props, ["class", "id", "disabled", "label", "hideLabel", "labelAlign", "renderNoTooltip", "hint", "renderNoHint", "tooltipAlign", "accessKey", "shortKey", "msg", "touched", "required", "readonly", "fieldControlInputProps", "fieldControlLabelProps", "fieldControlTooltipProps", "fieldControlHintProps"]);
21154
21144
  const canShowHint = !renderNoHint;
21155
21145
  const canShowTooltip = !renderNoTooltip;
21156
- const showMsg = checkHasMsg(msg, touched);
21157
21146
  const hasExpertSlot = showExpertSlot(label);
21158
21147
  const useTooltipInsteadOfLabel = canShowTooltip && !hasExpertSlot && hideLabel;
21159
21148
  const badgeText = buildBadgeTextString(accessKey, shortKey);
21160
- const msgType = typeof msg === 'string' ? 'error' : msg === null || msg === void 0 ? void 0 : msg._type;
21161
21149
  const components = [
21162
21150
  hAsync(Fragment, null, hAsync(InputContainer, Object.assign({}, fieldControlInputProps), children), useTooltipInsteadOfLabel && (hAsync(FormFieldTooltipFc, Object.assign({}, (fieldControlTooltipProps || {}), { id: id, label: label, align: tooltipAlign, badgeText: badgeText })))),
21163
21151
  hAsync(KolFormFieldLabelFc, Object.assign({}, (fieldControlLabelProps || {}), { id: id, baseClassName: "kol-field-control", class: clsx(fieldControlLabelProps === null || fieldControlLabelProps === void 0 ? void 0 : fieldControlLabelProps.class, {
@@ -21173,7 +21161,7 @@ const KolFieldControlFc = (props, children) => {
21173
21161
  ['kol-field-control--touched']: Boolean(touched),
21174
21162
  ['kol-field-control--hide-label']: Boolean(hideLabel),
21175
21163
  ['kol-field-control--read-only']: Boolean(readonly),
21176
- [`kol-field-control--${msgType || 'error'}`]: Boolean(showMsg),
21164
+ [`kol-field-control--${getMsgType(msg)}`]: Boolean(isMsgDefinedAndInputTouched(msg, touched)),
21177
21165
  [`kol-field-control--label-align-${labelAlign}`]: Boolean(labelAlign),
21178
21166
  };
21179
21167
  return (hAsync("div", Object.assign({ class: clsx('kol-field-control', stateCssClasses, classNames) }, other), components, canShowHint && hAsync(KolFormFieldHintFc, Object.assign({}, (fieldControlHintProps || {}), { baseClassName: "kol-field-control", id: id, hint: hint }))));
@@ -21293,9 +21281,9 @@ class KolInputCheckbox {
21293
21281
  _checked: false,
21294
21282
  _hideMsg: false,
21295
21283
  _icons: {
21296
- checked: 'codicon codicon-check',
21297
- indeterminate: 'codicon codicon-remove',
21298
- unchecked: 'codicon codicon-close',
21284
+ checked: 'kolicon-check',
21285
+ indeterminate: 'kolicon-minus',
21286
+ unchecked: 'kolicon-cross',
21299
21287
  },
21300
21288
  _id: `id-${nonce()}`,
21301
21289
  _indeterminate: false,
@@ -22823,7 +22811,7 @@ class KolInputNumber {
22823
22811
  var _a, _b;
22824
22812
  (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.stepUp();
22825
22813
  (_b = this.inputRef) === null || _b === void 0 ? void 0 : _b.focus();
22826
- }, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "codicon codicon-add", label: "" })));
22814
+ }, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "kolicon-plus", label: "" })));
22827
22815
  }
22828
22816
  getStepDownButton() {
22829
22817
  if (this._disabled || this._readOnly) {
@@ -22833,10 +22821,10 @@ class KolInputNumber {
22833
22821
  var _a, _b;
22834
22822
  (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.stepDown();
22835
22823
  (_b = this.inputRef) === null || _b === void 0 ? void 0 : _b.focus();
22836
- }, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "codicon codicon-remove", label: "" })));
22824
+ }, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "kolicon-minus", label: "" })));
22837
22825
  }
22838
22826
  render() {
22839
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'a600b5e7ccab87cb6362dc4db6d21d7220972ca0' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'a69b42408a64c824c32d4eefe290371d45a8194b', state: this.state, startAdornment: this.getStepDownButton(), endAdornment: this.getStepUpButton() }, hAsync(InputStateWrapper, Object.assign({ key: '749427a8263cb8728ee55e61c9b24fa6a1528919' }, this.getInputProps())))));
22827
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '5f0d128e212d3ede3397495ea8cc1ad6bb441f84' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'ad9daef992fd757c586bdcc59288a7363700174e', state: this.state, startAdornment: this.getStepDownButton(), endAdornment: this.getStepUpButton() }, hAsync(InputStateWrapper, Object.assign({ key: '7322750ad2dfeecfc094d30a8a2447dea10921fd' }, this.getInputProps())))));
22840
22828
  }
22841
22829
  constructor(hostRef) {
22842
22830
  registerInstance(this, hostRef);
@@ -23080,10 +23068,10 @@ class KolInputPassword {
23080
23068
  var _a;
23081
23069
  this._passwordVisible = !this._passwordVisible;
23082
23070
  (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
23083
- }, icon: `codicon codicon-eye-${this._passwordVisible ? 'closed' : 'watch'}`, disabled: this._disabled }));
23071
+ }, icon: `${this._passwordVisible ? 'kolicon-eye-closed' : 'kolicon-eye'}`, disabled: this._disabled }));
23084
23072
  }
23085
23073
  render() {
23086
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '20803f39ce7c575e6f4fe341e8be9cf7cce43288' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'a74adf9d03c50218965183a42ebf38a92b451e1f', state: this.state, endAdornment: this.getShowPasswordButton() }, hAsync(InputStateWrapper, Object.assign({ key: 'b364562f0b6834c37643a567ecdfc3a66aee3f48' }, this.getInputProps())))));
23074
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '662b4bc9868aa679d5322077cb8eed553b9a0f51' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'be51e0c5f87dd121c05f51ddbebf01300dde6c41', state: this.state, endAdornment: this.getShowPasswordButton() }, hAsync(InputStateWrapper, Object.assign({ key: '40b62b665a645f2f931d8f0b8ee353675465bd38' }, this.getInputProps())))));
23087
23075
  }
23088
23076
  constructor(hostRef) {
23089
23077
  registerInstance(this, hostRef);
@@ -23293,16 +23281,13 @@ const InputWrapperFc = (_a) => {
23293
23281
  return hAsync(InputFc, Object.assign({ class: clsx('kol-input-radio__input', classNames) }, other, { type: "radio" }));
23294
23282
  };
23295
23283
  const RadioFc = (_a) => {
23296
- var _b;
23297
23284
  var { class: classNames, inputProps } = _a, other = __rest(_a, ["class", "inputProps"]);
23298
- const showMsg = checkHasMsg(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg, inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched);
23299
- const msgType = typeof (inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg) === 'string' ? 'error' : (_b = inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg) === null || _b === void 0 ? void 0 : _b._type;
23300
23285
  const cssVariants = {
23301
23286
  ['kol-input-radio--checked']: inputProps === null || inputProps === void 0 ? void 0 : inputProps.checked,
23302
23287
  ['kol-input-radio--disabled']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.disabled),
23303
23288
  ['kol-input-radio--required']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.required),
23304
23289
  ['kol-input-radio--touched']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched),
23305
- [`kol-input-radio--${msgType || 'error'}`]: Boolean(showMsg),
23290
+ [`kol-input-radio--${getMsgType(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg)}`]: Boolean(isMsgDefinedAndInputTouched(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg, inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched)),
23306
23291
  };
23307
23292
  return (hAsync("label", Object.assign({ class: clsx('kol-input-radio', cssVariants, classNames) }, other), hAsync(InputWrapperFc, Object.assign({}, inputProps))));
23308
23293
  };
@@ -23337,7 +23322,23 @@ class KolInputRadio {
23337
23322
  }
23338
23323
  async kolFocus() {
23339
23324
  var _a;
23340
- (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
23325
+ (_a = this.getFocusableInput()) === null || _a === void 0 ? void 0 : _a.focus();
23326
+ }
23327
+ getFocusableInput() {
23328
+ const options = this.state._options;
23329
+ const isComponentDisabled = Boolean(this.state._disabled);
23330
+ const selectedIndex = options.findIndex((option) => option.value === this.state._value && !isComponentDisabled && !option.disabled);
23331
+ if (selectedIndex !== -1) {
23332
+ const input = this.inputRefs.get(selectedIndex);
23333
+ if (input) {
23334
+ return input;
23335
+ }
23336
+ }
23337
+ const firstEnabledIndex = options.findIndex((option) => !isComponentDisabled && !option.disabled);
23338
+ if (firstEnabledIndex !== -1) {
23339
+ return this.inputRefs.get(firstEnabledIndex);
23340
+ }
23341
+ return undefined;
23341
23342
  }
23342
23343
  getFormFieldProps() {
23343
23344
  return {
@@ -23358,7 +23359,7 @@ class KolInputRadio {
23358
23359
  };
23359
23360
  }
23360
23361
  render() {
23361
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '9dc7e4569627db33b82ae9ec448e30087d87ab6f' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
23362
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '9e2b42643b7eec87fcef68c4e8bf471e67738689' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
23362
23363
  }
23363
23364
  calculateDisabled(option) {
23364
23365
  return Boolean(this.state._disabled) || Boolean(option.disabled);
@@ -23379,7 +23380,12 @@ class KolInputRadio {
23379
23380
  getInputProps(option, id, index, selected) {
23380
23381
  return {
23381
23382
  state: this.state,
23382
- inputProps: Object.assign(Object.assign({ id: id, ref: this.state._value === option.value ? this.catchRef : undefined, 'aria-label': this.state._hideLabel && typeof option.label === 'string' ? option.label : undefined, type: 'radio', name: this.state._name || this.state._id, value: `-${index}`, checked: selected, disabled: this.calculateDisabled(option) }, this.controller.onFacade), { onChange: this.onChange, onClick: undefined, onInput: this.onInput, onKeyDown: this.onKeyDown.bind(this), onFocus: (event) => {
23383
+ inputProps: Object.assign(Object.assign({ id: id, ref: (ref) => {
23384
+ this.catchInputRef(index)(ref);
23385
+ if (selected) {
23386
+ this.catchRef(ref);
23387
+ }
23388
+ }, 'aria-label': this.state._hideLabel && typeof option.label === 'string' ? option.label : undefined, type: 'radio', name: this.state._name || this.state._id, value: `-${index}`, checked: selected, disabled: this.calculateDisabled(option) }, this.controller.onFacade), { onChange: this.onChange, onClick: undefined, onInput: this.onInput, onKeyDown: this.onKeyDown.bind(this), onFocus: (event) => {
23383
23389
  this.controller.onFacade.onFocus(event);
23384
23390
  this.inputHasFocus = true;
23385
23391
  }, onBlur: (event) => {
@@ -23395,9 +23401,18 @@ class KolInputRadio {
23395
23401
  }
23396
23402
  constructor(hostRef) {
23397
23403
  registerInstance(this, hostRef);
23404
+ this.inputRefs = new Map();
23398
23405
  this.catchRef = (ref) => {
23399
23406
  this.inputRef = ref;
23400
23407
  };
23408
+ this.catchInputRef = (index) => (ref) => {
23409
+ if (ref) {
23410
+ this.inputRefs.set(index, ref);
23411
+ }
23412
+ else {
23413
+ this.inputRefs.delete(index);
23414
+ }
23415
+ };
23401
23416
  this._disabled = false;
23402
23417
  this._hideMsg = false;
23403
23418
  this._hideLabel = false;
@@ -24393,7 +24408,7 @@ class KolLinkWc {
24393
24408
  'kol-link--inline': this.state._inline === true,
24394
24409
  'kol-link--standalone': this.state._inline === false,
24395
24410
  [this.state._customClass]: this.state._buttonVariant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
24396
- }) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: '5c7d16010d9be97330357727cd077a5938d34e7f', class: "kol-link__text", badgeText: this.state._accessKey || this.state._shortKey, icons: this.state._icons, hideLabel: this.state._hideLabel, label: hasExpertSlot ? '' : this.state._label || this.state._href }, hAsync("slot", { key: 'b01d5620e864c978c8e87b5601b8736334af2959', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: '4a817ada365a0c78003c921049be05705dd532ea', class: "kol-link__icon", _label: this.state._hideLabel ? '' : this.translateOpenLinkInTab, _icons: 'codicon codicon-link-external', "aria-hidden": this.state._hideLabel }))), this.state._hideLabel === true && (hAsync(KolTooltipWcTag, { key: '509f958cb96c22e1f037c9c82bd74ef4e89e0b3d', "aria-hidden": "true", class: "kol-link__tooltip", ref: (ref) => (this.tooltipRef = ref), hidden: hasExpertSlot, _badgeText: this.state._accessKey || this.state._shortKey, _align: this.state._tooltipAlign, _label: this.state._label || this.state._href }))));
24411
+ }) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: '5c7d16010d9be97330357727cd077a5938d34e7f', class: "kol-link__text", badgeText: this.state._accessKey || this.state._shortKey, icons: this.state._icons, hideLabel: this.state._hideLabel, label: hasExpertSlot ? '' : this.state._label || this.state._href }, hAsync("slot", { key: 'b01d5620e864c978c8e87b5601b8736334af2959', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: '7234195fde7663f54e8414f81fa64003bdd53eed', class: "kol-link__icon", _label: this.state._hideLabel ? '' : this.translateOpenLinkInTab, _icons: 'kolicon-link-external', "aria-hidden": this.state._hideLabel }))), this.state._hideLabel === true && (hAsync(KolTooltipWcTag, { key: '36018a0a2f0430efcb0a3a446535a1702dadf53e', "aria-hidden": "true", class: "kol-link__tooltip", ref: (ref) => (this.tooltipRef = ref), hidden: hasExpertSlot, _badgeText: this.state._accessKey || this.state._shortKey, _align: this.state._tooltipAlign, _label: this.state._label || this.state._href }))));
24397
24412
  }
24398
24413
  validateAccessKey(value) {
24399
24414
  validateAccessKey(this, value);
@@ -24685,7 +24700,7 @@ class KolNav {
24685
24700
  'kol-nav__list--nested': props.deep > 0,
24686
24701
  'kol-nav__list--vertical': props.deep !== 0,
24687
24702
  }), id: props.deep > 0 ? props.id : undefined }, props.links.map((link, index) => {
24688
- return this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.id);
24703
+ return this.li(props.collapsible, props.deep, index, link, props.id);
24689
24704
  })));
24690
24705
  };
24691
24706
  this._collapsible = true;
@@ -24708,19 +24723,40 @@ class KolNav {
24708
24723
  collapseChildren(children) {
24709
24724
  this.state = Object.assign(Object.assign({}, this.state), { _expandedChildren: this.state._expandedChildren.filter((searchChildren) => searchChildren !== children) });
24710
24725
  }
24711
- entry(collapsible, hideLabel, hasChildren, entry, expanded, ariaID) {
24712
- var _a;
24713
- const icons = {
24714
- left: this.state._hasIconsWhenExpanded || this.state._hideLabel
24715
- ? ((_a = entry._icons) === null || _a === void 0 ? void 0 : _a.toString()) || (this.state._hideLabel ? 'codicon codicon-symbol-method' : undefined)
24716
- : undefined,
24717
- right: collapsible && hasChildren ? 'codicon codicon-' + (expanded ? 'remove' : 'add') : undefined,
24726
+ buildIconObject(collapsible, expanded, leftIcon) {
24727
+ const icon = {
24728
+ left: '',
24729
+ right: '',
24718
24730
  };
24731
+ if (this.state._hasIconsWhenExpanded && leftIcon) {
24732
+ icon.left = leftIcon;
24733
+ }
24734
+ if (this.state._hideLabel) {
24735
+ if (leftIcon) {
24736
+ icon.left = leftIcon;
24737
+ }
24738
+ else {
24739
+ icon.left = 'kolicon-link';
24740
+ }
24741
+ }
24742
+ if (collapsible) {
24743
+ if (expanded) {
24744
+ icon.right = 'kolicon-minus';
24745
+ }
24746
+ else {
24747
+ icon.right = 'kolicon-plus';
24748
+ }
24749
+ }
24750
+ return icon;
24751
+ }
24752
+ entry(collapsible, hasChildren, entry, expanded, ariaID) {
24753
+ var _a;
24754
+ const icons = this.buildIconObject(collapsible && hasChildren, expanded, (_a = entry._icons) === null || _a === void 0 ? void 0 : _a.toString());
24719
24755
  return (hAsync("div", { class: "kol-nav__entry-wrapper" }, entryIsLink(entry) ? (hAsync(KolLinkWcTag, Object.assign({ class: clsx('kol-nav__entry kol-nav__entry--link', {
24720
24756
  'kol-nav__entry--collapsible': collapsible,
24721
- }) }, entry, { _hideLabel: hideLabel, _icons: icons, _ariaControls: collapsible && hasChildren && expanded ? ariaID : undefined, _ariaExpanded: collapsible && hasChildren ? expanded : undefined }))) : (hAsync(KolButtonWcTag, { class: clsx('kol-nav__entry kol-nav__entry--button', {
24757
+ }) }, entry, { _hideLabel: this.state._hideLabel, _icons: icons, _ariaControls: collapsible && hasChildren && expanded ? ariaID : undefined, _ariaExpanded: collapsible && hasChildren ? expanded : undefined }))) : (hAsync(KolButtonWcTag, { class: clsx('kol-nav__entry kol-nav__entry--button', {
24722
24758
  'kol-nav__entry--collapsible': collapsible,
24723
- }), _label: entry._label, _hideLabel: hideLabel, _icons: icons, _ariaControls: collapsible && hasChildren && expanded ? ariaID : undefined, _ariaExpanded: collapsible && hasChildren ? expanded : undefined, _on: {
24759
+ }), _label: entry._label, _hideLabel: this.state._hideLabel, _icons: icons, _ariaControls: collapsible && hasChildren && expanded ? ariaID : undefined, _ariaExpanded: collapsible && hasChildren ? expanded : undefined, _on: {
24724
24760
  onClick: (event, value) => {
24725
24761
  if (entryIsButton(entry) && typeof entry._on.onClick === 'function') {
24726
24762
  entry._on.onClick(event, value);
@@ -24729,7 +24765,7 @@ class KolNav {
24729
24765
  },
24730
24766
  } }))));
24731
24767
  }
24732
- li(collapsible, hideLabel, deep, index, link, ariaIDparent) {
24768
+ li(collapsible, deep, index, link, ariaIDparent) {
24733
24769
  const active = !!link._active;
24734
24770
  const hasChildren = Array.isArray(link._children) && link._children.length > 0;
24735
24771
  const expanded = Boolean(link._children && this.state._expandedChildren.includes(link._children));
@@ -24738,7 +24774,7 @@ class KolNav {
24738
24774
  'kol-nav__list-item--active': active,
24739
24775
  'kol-nav__list-item--expanded': expanded,
24740
24776
  'kol-nav__list-item--has-children': hasChildren,
24741
- }), key: index }, this.entry(collapsible, hideLabel, hasChildren, link, expanded, ariaID), expanded && hAsync(this.linkList, { collapsible: collapsible, hideLabel: hideLabel, deep: deep + 1, links: link._children || [], id: ariaID })));
24777
+ }), key: index }, this.entry(collapsible, hasChildren, link, expanded, ariaID), expanded && hAsync(this.linkList, { collapsible: collapsible, deep: deep + 1, links: link._children || [], id: ariaID })));
24742
24778
  }
24743
24779
  initializeExpandedChildren() {
24744
24780
  this.state = Object.assign(Object.assign({}, this.state), { _expandedChildren: [] });
@@ -24763,12 +24799,11 @@ class KolNav {
24763
24799
  }
24764
24800
  render() {
24765
24801
  const collapsible = this.state._collapsible === true;
24766
- const hideLabel = this.state._hideLabel === true;
24767
- return (hAsync("div", { key: '39f07d530b46e738987032cebed99c3c90039376', class: clsx('kol-nav', `kol-nav--vertical`, {
24802
+ return (hAsync("div", { key: '3094796612244694281480b72ad8169c208158b5', class: clsx('kol-nav', {
24768
24803
  'kol-nav--is-compact': this.state._hideLabel,
24769
- }) }, hAsync("nav", { key: 'f5d049bf025a94a4db0441e663ced4a7baeb1614', "aria-label": this.state._label, class: "kol-nav__navigation", id: this.navId }, hAsync(this.linkList, { key: '4811ac08ae470909f233b57ed439edd3dc9bf514', collapsible: collapsible, hideLabel: hideLabel, deep: 0, links: this.state._links, id: this.listId })), this.state._hasCompactButton && (hAsync("div", { key: 'bdb25a6cc82d6b5cbf17818888ba374561b443a3', class: "kol-nav__compact" }, hAsync(KolButtonWcTag, { key: 'ff15ae0475f7f799e4001663f1b01fb64addfb75', class: "kol-nav__toggle-button", _ariaControls: this.navId, _ariaExpanded: !hideLabel, _icons: hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left', _hideLabel: true, _label: translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize'), _on: {
24804
+ }) }, hAsync("nav", { key: '98435d30dc41d04a8ab81c2a25342700546b669f', "aria-label": this.state._label, class: "kol-nav__navigation", id: this.navId }, hAsync(this.linkList, { key: '52e6239d306f90b563b11987b04eefd2cd284145', collapsible: collapsible, deep: 0, links: this.state._links, id: this.listId })), this.state._hasCompactButton && (hAsync("div", { key: '9a604d1b374dd180ff4ab2c372d0b44c2057f04d', class: "kol-nav__compact" }, hAsync(KolButtonWcTag, { key: '6663501a9b18e34eb7d53aec2cc231a656ac5c10', class: "kol-nav__toggle-button", _ariaControls: this.navId, _ariaExpanded: !this.state._hideLabel, _icons: this.state._hideLabel ? 'kolicon-chevron-right' : 'kolicon-chevron-left', _hideLabel: true, _label: translate(this.state._hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize'), _on: {
24770
24805
  onClick: () => {
24771
- this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: this.state._hideLabel === false });
24806
+ this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: !this.state._hideLabel });
24772
24807
  },
24773
24808
  }, _tooltipAlign: "right" })))));
24774
24809
  }
@@ -24840,7 +24875,7 @@ class KolNav {
24840
24875
  }; }
24841
24876
  }
24842
24877
 
24843
- const defaultStyleCss$h = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-pagination {\n display: grid;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-template-columns: 1fr auto;\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n}";
24878
+ const defaultStyleCss$h = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n @media (max-width: 1024px) {\n .kol-pagination {\n flex-direction: column;\n }\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\n}";
24844
24879
 
24845
24880
  class KolPagination {
24846
24881
  constructor(hostRef) {
@@ -24881,16 +24916,16 @@ class KolPagination {
24881
24916
  }
24882
24917
 
24883
24918
  const leftDoubleArrowIcon = {
24884
- left: 'codicon codicon-debug-reverse-continue',
24919
+ left: 'kolicon-chevron-left',
24885
24920
  };
24886
24921
  const leftSingleArrow = {
24887
- left: 'codicon codicon-chevron-left',
24922
+ left: 'kolicon-chevron-double-left',
24888
24923
  };
24889
24924
  const rightSingleArrowIcon = {
24890
- right: 'codicon codicon-chevron-right',
24925
+ right: 'kolicon-chevron-right',
24891
24926
  };
24892
24927
  const rightDoubleArrowIcon = {
24893
- right: 'codicon codicon-debug-continue',
24928
+ right: 'kolicon-chevron-double-right',
24894
24929
  };
24895
24930
  function getUserLanguage() {
24896
24931
  const userLanguage = navigator.language || 'de-DE';
@@ -25033,7 +25068,7 @@ class KolPaginationWc {
25033
25068
  for (const value of nextValue) {
25034
25069
  if (typeof value === 'number') {
25035
25070
  options.push({
25036
- label: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),
25071
+ label: `${value}`,
25037
25072
  value: value,
25038
25073
  });
25039
25074
  }
@@ -25043,6 +25078,12 @@ class KolPaginationWc {
25043
25078
  this.beforePageSize(options, nextState);
25044
25079
  };
25045
25080
  }
25081
+ getPageStart() {
25082
+ return (this.state._page - 1) * this.state._pageSize + 1 + '';
25083
+ }
25084
+ getPageEnd() {
25085
+ return this.state._page * this.state._pageSize + '';
25086
+ }
25046
25087
  render() {
25047
25088
  var _a;
25048
25089
  let ellipsis = false;
@@ -25069,9 +25110,15 @@ class KolPaginationWc {
25069
25110
  return null;
25070
25111
  }
25071
25112
  });
25072
- return (hAsync(Host, { class: "kol-pagination" }, hAsync("nav", { class: "kol-pagination__navigation", "aria-label": this.state._label }, hAsync("ul", { class: "kol-pagination__navigation-list" }, this.state._hasButtons.first && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--first", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftDoubleArrowIcon, _hideLabel: true, _label: this.translatePageFirst, _on: this.onGoToFirst, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.previous && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--previous", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftSingleArrow, _hideLabel: true, _label: this.translatePageBack, _on: this.onGoBackward, _tooltipAlign: this.state._tooltipAlign }))), pageButtons, this.state._hasButtons.next && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--next", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightSingleArrowIcon, _hideLabel: true, _label: this.translatePageNext, _on: this.onGoForward, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.last && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--last", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightDoubleArrowIcon, _hideLabel: true, _label: this.translatePageLast, _on: this.onGoToEnd, _tooltipAlign: this.state._tooltipAlign }))))), ((_a = this.state._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) > 0 && (hAsync(KolSelectTag, { class: "kol-pagination__page-size-select", _hideLabel: true, _id: `pagination-size-${this.nonce}`, _label: this.translateEntriesPerSite, _options: this.state._pageSizeOptions, _on: {
25113
+ return (hAsync(Host, { class: "kol-pagination" }, hAsync("span", { role: "status", "aria-live": "polite" }, translate('kol-table-visible-range', {
25114
+ placeholders: {
25115
+ start: this.getPageStart(),
25116
+ end: this.getPageEnd(),
25117
+ total: this.state._max.toString(),
25118
+ },
25119
+ })), hAsync("nav", { class: "kol-pagination__navigation", "aria-label": this.state._label }, hAsync("ul", { class: "kol-pagination__navigation-list" }, this.state._hasButtons.first && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--first", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftDoubleArrowIcon, _hideLabel: true, _label: this.translatePageFirst, _on: this.onGoToFirst, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.previous && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--previous", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftSingleArrow, _hideLabel: true, _label: this.translatePageBack, _on: this.onGoBackward, _tooltipAlign: this.state._tooltipAlign }))), pageButtons, this.state._hasButtons.next && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--next", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightSingleArrowIcon, _hideLabel: true, _label: this.translatePageNext, _on: this.onGoForward, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.last && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--last", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightDoubleArrowIcon, _hideLabel: true, _label: this.translatePageLast, _on: this.onGoToEnd, _tooltipAlign: this.state._tooltipAlign }))))), ((_a = this.state._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) > 0 && (hAsync("div", { class: "page-size" }, hAsync(KolSelectWcTag, { class: "kol-pagination__page-size-select", _id: `pagination-size-${this.nonce}`, _label: this.translateEntriesPerSite, _options: this.state._pageSizeOptions, _on: {
25073
25120
  onChange: this.onChangePageSize,
25074
- }, _value: this.state._pageSize }))));
25121
+ }, _value: this.state._pageSize })))));
25075
25122
  }
25076
25123
  getUnselectedPageButton(page) {
25077
25124
  const pageText = NUMBER_FORMATTER.format(page);
@@ -27250,11 +27297,11 @@ class KolPopoverButton {
27250
27297
  (_c = this.cleanupAutoPositioning) === null || _c === void 0 ? void 0 : _c.call(this);
27251
27298
  }
27252
27299
  render() {
27253
- return (hAsync("div", { key: '28090377c47f9eda83bd0c1c083497f9985dd579', class: clsx('kol-popover-button', {
27300
+ return (hAsync("div", { key: '874282cd81b305d92a155d8c848a5004e128db80', class: clsx('kol-popover-button', {
27254
27301
  'kol-popover-button--open': this.popoverOpen,
27255
27302
  'kol-popover-button--inline': this.state._inline === true,
27256
27303
  'kol-popover-button--standalone': this.state._inline === false,
27257
- }) }, hAsync(KolButtonWcTag, { key: 'beae33c9f9c04fae8b523a2364111884c43f7f6f', _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, _inline: this._inline, _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: '7315cc0d6fee539d64e26be49ff49ecffd560ce4', name: "expert", slot: "expert" })), hAsync("div", { key: '4ee5e3923ea3b2ba64f3f721f17fc91247fbdaed', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: 'b7f27c3d877f156b07337f380e62cf27708797b2' }))));
27304
+ }) }, hAsync(KolButtonWcTag, { key: 'ae45f6997d3dac685229bfec19111fe3f63df687', _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, _inline: this._inline, _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: '5fdf299465dc56f94bfb739a6d66b03353687e1f', name: "expert", slot: "expert" })), hAsync("div", { key: 'f3e492c4f3a403b36b8e073599377c56823d0d7b', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: '26ce33d67f396c08acdbc3782e4395344b37da8f' }))));
27258
27305
  }
27259
27306
  validateInline(value) {
27260
27307
  validateInline(this, value, {
@@ -27481,6 +27528,71 @@ class KolQuote {
27481
27528
  }; }
27482
27529
  }
27483
27530
 
27531
+ const defaultStyleCss$d = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\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 display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n}";
27532
+
27533
+ class KolSelect {
27534
+ constructor(hostRef) {
27535
+ registerInstance(this, hostRef);
27536
+ this.catchRef = (ref) => {
27537
+ this.selectWcRef = ref;
27538
+ };
27539
+ this._disabled = false;
27540
+ this._hideMsg = false;
27541
+ this._hideLabel = false;
27542
+ this._hint = '';
27543
+ this._multiple = false;
27544
+ this._required = false;
27545
+ this._tooltipAlign = 'top';
27546
+ this._touched = false;
27547
+ }
27548
+ async getValue() {
27549
+ var _a;
27550
+ return (_a = this.selectWcRef) === null || _a === void 0 ? void 0 : _a.getValue();
27551
+ }
27552
+ async kolFocus() {
27553
+ var _a;
27554
+ await ((_a = this.selectWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
27555
+ }
27556
+ render() {
27557
+ return (hAsync(Host, { key: '0d395dee2532c2a584f3bea2296e2c683e7e5acc', class: "kol-select" }, hAsync(KolSelectWcTag, { key: '86d7ddcc1bc8df6adc4e56266182fb6162015076', ref: this.catchRef, _accessKey: this._accessKey, _disabled: this._disabled, _hideLabel: this._hideLabel, _hint: this._hint, _icons: this._icons, _id: this._id, _label: this._label, _msg: this._msg, _multiple: this._multiple, _name: this._name, _on: this._on, _options: this._options, _required: this._required, _rows: this._rows, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _touched: this._touched, _value: this._value }, hAsync("slot", { key: 'f33ffa61e68105f707d945c9fc75f462e3f7d57d', name: "expert", slot: "expert" }))));
27558
+ }
27559
+ static get style() { return {
27560
+ default: defaultStyleCss$d
27561
+ }; }
27562
+ static get cmpMeta() { return {
27563
+ "$flags$": 297,
27564
+ "$tagName$": "kol-select",
27565
+ "$members$": {
27566
+ "_accessKey": [1, "_access-key"],
27567
+ "_disabled": [4],
27568
+ "_hideMsg": [4, "_hide-msg"],
27569
+ "_hideLabel": [4, "_hide-label"],
27570
+ "_hint": [1],
27571
+ "_icons": [1],
27572
+ "_id": [1],
27573
+ "_label": [1],
27574
+ "_msg": [1],
27575
+ "_multiple": [4],
27576
+ "_name": [1],
27577
+ "_on": [16],
27578
+ "_options": [1],
27579
+ "_required": [4],
27580
+ "_shortKey": [1, "_short-key"],
27581
+ "_rows": [2],
27582
+ "_syncValueBySelector": [1, "_sync-value-by-selector"],
27583
+ "_tabIndex": [2, "_tab-index"],
27584
+ "_tooltipAlign": [1, "_tooltip-align"],
27585
+ "_touched": [1540],
27586
+ "_value": [1544],
27587
+ "getValue": [64],
27588
+ "kolFocus": [64]
27589
+ },
27590
+ "$listeners$": undefined,
27591
+ "$lazyBundleId$": "-",
27592
+ "$attrsToReflect$": [["_touched", "_touched"], ["_value", "_value"]]
27593
+ }; }
27594
+ }
27595
+
27484
27596
  const NativeOptionFc = (_a) => {
27485
27597
  var { baseClassName = 'kol-select', class: classNames, index, selectedValue, selected, value, label, disabled } = _a, other = __rest(_a, ["baseClassName", "class", "index", "selectedValue", "selected", "value", "label", "disabled"]);
27486
27598
  if (selectedValue === undefined) {
@@ -27518,13 +27630,11 @@ const NativeOptionListFc = ({ baseClassName, preKey, options, disabled, value: s
27518
27630
 
27519
27631
  const NativeSelectFc = (props) => {
27520
27632
  const { class: classNames, msg, touched, disabled, required, options, value, OptionProps, OptionGroupProps, ariaDescribedBy, hideLabel, label } = props, other = __rest(props, ["class", "msg", "touched", "disabled", "required", "options", "value", "OptionProps", "OptionGroupProps", "ariaDescribedBy", "hideLabel", "label"]);
27521
- const showMsg = checkHasMsg(msg, touched);
27522
- const msgType = typeof msg === 'string' ? 'error' : msg === null || msg === void 0 ? void 0 : msg._type;
27523
27633
  const stateCssClasses = {
27524
27634
  ['kol-select--disabled']: Boolean(disabled),
27525
27635
  ['kol-select--required']: Boolean(required),
27526
27636
  ['kol-select--touched']: Boolean(touched),
27527
- [`kol-select--${msgType || 'error'}`]: showMsg,
27637
+ [`kol-select--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),
27528
27638
  };
27529
27639
  const inputProps = Object.assign(Object.assign({ class: clsx('kol-select', stateCssClasses, classNames), required: required, disabled: disabled }, getDefaultProps({ ariaDescribedBy, hideLabel, label })), other);
27530
27640
  return (hAsync("select", Object.assign({}, inputProps), hAsync(NativeOptionListFc, { baseClassName: "kol-select", options: options, value: value, OptionGroupProps: OptionGroupProps, OptionProps: OptionProps })));
@@ -27669,9 +27779,7 @@ class SelectController extends InputIconController {
27669
27779
  }
27670
27780
  }
27671
27781
 
27672
- const defaultStyleCss$d = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\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 display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n}";
27673
-
27674
- class KolSelect {
27782
+ class KolSelectWc {
27675
27783
  async getValue() {
27676
27784
  if (this._multiple) {
27677
27785
  return this.state._value;
@@ -27705,11 +27813,11 @@ class KolSelect {
27705
27813
  } });
27706
27814
  }
27707
27815
  render() {
27708
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'ae04cca77e5a712415a70cc12e2f2310e6629ac6' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '3141ada10a10b5935c9211aaaa044293ec99837b', state: this.state }, hAsync("form", { key: '3492b73be2a704c5fae7ea7fee8461e7cb317a29', onSubmit: (event) => {
27816
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '149de6c2a2a155d9869e4d09118d7b511058b606' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '84abd564f808296ad32ea68165780862e7808fd0', state: this.state }, hAsync("form", { key: '3d143d2d857793ef6e744def1eada9346983f4d5', onSubmit: (event) => {
27709
27817
  event.preventDefault();
27710
27818
  propagateSubmitEventToForm({
27711
27819
  form: this.host});
27712
- } }, hAsync("input", { key: '7d9a1020ab80cf6254d0e462641c0d826153728b', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: '16fbb6fb7b1418a4c62d6db65b7d82b81ee3a42f' }, this.getSelectProps()))))));
27820
+ } }, hAsync("input", { key: '4f654dceadd96f6074e22a56aefec34944ab2faa', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: 'e576920b9756ed1f8fce70c13c070749d463e839' }, this.getSelectProps()))))));
27713
27821
  }
27714
27822
  constructor(hostRef) {
27715
27823
  registerInstance(this, hostRef);
@@ -27851,12 +27959,9 @@ class KolSelect {
27851
27959
  "_touched": ["validateTouched"],
27852
27960
  "_value": ["validateValue"]
27853
27961
  }; }
27854
- static get style() { return {
27855
- default: defaultStyleCss$d
27856
- }; }
27857
27962
  static get cmpMeta() { return {
27858
- "$flags$": 297,
27859
- "$tagName$": "kol-select",
27963
+ "$flags$": 256,
27964
+ "$tagName$": "kol-select-wc",
27860
27965
  "$members$": {
27861
27966
  "_accessKey": [1, "_access-key"],
27862
27967
  "_disabled": [4],
@@ -27925,8 +28030,8 @@ class SingleSelectController extends InputIconController {
27925
28030
  validatePlaceholder(value) {
27926
28031
  validatePlaceholder(this.component, value);
27927
28032
  }
27928
- validateHideClearButton(value) {
27929
- watchBoolean(this.component, '_hideClearButton', value);
28033
+ validateHasClearButton(value) {
28034
+ watchBoolean(this.component, '_hasClearButton', value);
27930
28035
  }
27931
28036
  validateRows(value) {
27932
28037
  watchNumber(this.component, '_rows', value);
@@ -27937,7 +28042,7 @@ class SingleSelectController extends InputIconController {
27937
28042
  this.validateRequired(this.component._required);
27938
28043
  this.validateValue(this.component._value);
27939
28044
  this.validatePlaceholder(this.component._placeholder);
27940
- this.validateHideClearButton(this.component._hideClearButton);
28045
+ this.validateHasClearButton(this.component._hasClearButton);
27941
28046
  this.validateRows(this.component._rows);
27942
28047
  }
27943
28048
  }
@@ -28114,7 +28219,7 @@ class KolSingleSelect {
28114
28219
  render() {
28115
28220
  var _a;
28116
28221
  const isDisabled = this.state._disabled === true;
28117
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: '807788a04d6f892b815b102024e9226532a91e5f' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '295b55d3fa5a34815b5f93636e770350519b50af', state: this.state }, hAsync("div", { key: '775e8431a8637f1b3a3049602b82fd9e159a0918', class: "kol-single-select__group" }, hAsync(InputStateWrapper, Object.assign({ key: '9e5d1e31e1fc6c5e5536a820ddb8f8d89b94d798' }, this.getInputProps())), this._inputValue && !this.state._hideClearButton && (hAsync(KolButtonWcTag, { key: 'cf5a1f43f6461960b60d940cc4295603a37ea935', _icons: "codicon codicon-close", _label: this.translateDeleteSelection, _hideLabel: true, _buttonVariant: "ghost", _disabled: isDisabled, "data-testid": "single-select-delete", class: clsx('kol-single-select__delete', {
28222
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'bb234e1f7e6c22df35bfc6fbd893f75b6ddd5321' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '8813721c2043b2d3db52e009790db32da45171bf', state: this.state }, hAsync("div", { key: 'eead335066ebc5f5c46e8b12ce1fda55c4baf079', class: "kol-single-select__group" }, hAsync(InputStateWrapper, Object.assign({ key: '53c521fb6747e348d64a2b945285e38bc181c926' }, this.getInputProps())), this._inputValue && this.state._hasClearButton && (hAsync(KolButtonWcTag, { key: 'fd55315f4dd2ca991c27acbb150504467bae9757', _icons: "kolicon-cross", _label: this.translateDeleteSelection, _hideLabel: true, _buttonVariant: "ghost", _disabled: isDisabled, "data-testid": "single-select-delete", class: clsx('kol-single-select__delete', {
28118
28223
  'kol-single-select__delete--disabled': isDisabled,
28119
28224
  }), _on: {
28120
28225
  onClick: () => {
@@ -28122,9 +28227,9 @@ class KolSingleSelect {
28122
28227
  this.clearSelection();
28123
28228
  (_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
28124
28229
  },
28125
- } })), hAsync(KolIconTag, { key: 'eac69712d9714f6236045ba1359d8c0d4b2df795', _icons: "codicon codicon-triangle-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
28230
+ } })), hAsync(KolIconTag, { key: '6091eefa514ecc40a2996341cbc0f082c6117c10', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
28126
28231
  'kol-custom-suggestions-toggle--disabled': isDisabled,
28127
- }), onClick: this.toggleListbox.bind(this) })), this._isOpen && !isDisabled && (hAsync(CustomSuggestionsOptionsGroupFc, { key: '1fedad1c5ded22357c315304dde58e46d18af7ff', 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) => {
28232
+ }), onClick: this.toggleListbox.bind(this) })), this._isOpen && !isDisabled && (hAsync(CustomSuggestionsOptionsGroupFc, { key: '102cc831ce79a7d7b8d2b48cb353df91011e88d0', 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) => {
28128
28233
  if (el)
28129
28234
  this.refOptions[index] = el;
28130
28235
  }, selected: this._value === option.value, disabled: option.disabled ? true : false, onClick: (event) => {
@@ -28300,13 +28405,13 @@ class KolSingleSelect {
28300
28405
  this._tooltipAlign = 'top';
28301
28406
  this._touched = false;
28302
28407
  this._value = null;
28303
- this._hideClearButton = false;
28408
+ this._hasClearButton = true;
28304
28409
  this.state = {
28305
28410
  _hideMsg: false,
28306
28411
  _id: `id-${nonce()}`,
28307
28412
  _label: '',
28308
28413
  _options: [],
28309
- _hideClearButton: false,
28414
+ _hasClearButton: true,
28310
28415
  };
28311
28416
  this.inputHasFocus = false;
28312
28417
  this.controller = new SingleSelectController(this, 'single-select', this.host);
@@ -28372,8 +28477,8 @@ class KolSingleSelect {
28372
28477
  this.oldValue = value;
28373
28478
  this.updateInputValue(value);
28374
28479
  }
28375
- validateHideClearButton(value) {
28376
- this.controller.validateHideClearButton(value);
28480
+ validateHasClearButton(value) {
28481
+ this.controller.validateHasClearButton(value);
28377
28482
  }
28378
28483
  validateRows(value) {
28379
28484
  this.controller.validateRows(value);
@@ -28430,7 +28535,7 @@ class KolSingleSelect {
28430
28535
  "_syncValueBySelector": ["validateSyncValueBySelector"],
28431
28536
  "_touched": ["validateTouched"],
28432
28537
  "_value": ["validateValue"],
28433
- "_hideClearButton ": ["validateHideClearButton"],
28538
+ "_hasClearButton": ["validateHasClearButton"],
28434
28539
  "_rows": ["validateRows"]
28435
28540
  }; }
28436
28541
  static get style() { return {
@@ -28459,7 +28564,7 @@ class KolSingleSelect {
28459
28564
  "_tooltipAlign": [1, "_tooltip-align"],
28460
28565
  "_touched": [1540],
28461
28566
  "_value": [1544],
28462
- "_hideClearButton": [4, "_hide-clear-button"],
28567
+ "_hasClearButton": [4, "_has-clear-button"],
28463
28568
  "_rows": [2],
28464
28569
  "_isOpen": [32],
28465
28570
  "_filteredOptions": [32],
@@ -28487,7 +28592,7 @@ class KolSkipNav {
28487
28592
  };
28488
28593
  }
28489
28594
  render() {
28490
- return (hAsync("nav", { key: 'bf8c9241b744b486215934721843f81b83ab2e84', class: "kol-skip-nav", "aria-label": this.state._label }, hAsync("ul", { key: '3e0af5b470ba9f8baef37cd795a6462d3b76153e', class: "kol-skip-nav__list" }, this.state._links.map((link, index) => {
28595
+ return (hAsync("nav", { key: 'b9adacaa5cb5b79456d375f35a4be7e18aa47a32', class: "kol-skip-nav", "aria-label": this.state._label }, hAsync("ul", { key: '015db44ad9a7489ef6e5b000f1bebadb153ff2df', class: "kol-skip-nav__list" }, this.state._links.map((link, index) => {
28491
28596
  return (hAsync("li", { class: "kol-skip-nav__list-item", key: index }, hAsync(KolLinkWcTag, Object.assign({}, link, { ref: index === 0 ? (el) => (this.firstLinkRef = el) : undefined }))));
28492
28597
  }))));
28493
28598
  }
@@ -28563,7 +28668,7 @@ class KolSpin {
28563
28668
  }
28564
28669
  render() {
28565
28670
  var _a, _b;
28566
- return (hAsync(Host, { key: '39158b1260f2a7ad84e7aedcdca2be4fbc0add8c', class: "kol-spin" }, this.state._show ? (hAsync(Fragment, null, hAsync("span", { class: clsx('kol-spin__spinner', `kol-spin__spinner--${this.state._variant}`) }, renderSpin(this.state._variant)), hAsync("span", { "aria-busy": "true", class: "visually-hidden", role: "alert" }, (_a = this.state._label) !== null && _a !== void 0 ? _a : this.translateActionRunning))) : (this.showToggled && (hAsync("span", { "aria-busy": "false", class: "visually-hidden", role: "alert" }, (_b = this.state._label) !== null && _b !== void 0 ? _b : this.translateActionDone)))));
28671
+ return (hAsync(Host, { key: 'e9c150c633c0a718053c4aa1aeb737d88b7b4183', class: "kol-spin" }, this.state._show ? (hAsync(Fragment, null, hAsync("span", { class: clsx('kol-spin__spinner', `kol-spin__spinner--${this.state._variant}`) }, renderSpin(this.state._variant)), hAsync("span", { "aria-busy": "true", class: "visually-hidden", role: "alert" }, (_a = this.state._label) !== null && _a !== void 0 ? _a : this.translateActionRunning))) : (this.showToggled && (hAsync("span", { "aria-busy": "false", class: "visually-hidden", role: "alert" }, (_b = this.state._label) !== null && _b !== void 0 ? _b : this.translateActionDone)))));
28567
28672
  }
28568
28673
  validateShow(value) {
28569
28674
  this.showToggled = this.state._show === true && this._show === false;
@@ -28650,10 +28755,10 @@ class KolSplitButton {
28650
28755
  }
28651
28756
  render() {
28652
28757
  const i18nDropdownLabel = 'kol-split-button-dropdown-label';
28653
- return (hAsync("div", { key: '9a5b6f99df559c2acb2f16adfa505e10901d6e1e', class: "kol-split-button" }, hAsync("div", { key: '549976d7b555f3bbeda8fe680fad9db4d92e712f', class: "kol-split-button__root" }, hAsync(KolButtonWcTag, { key: '240c63a254c8853f824da84ac6589d71f22d75d4', class: clsx('kol-split-button__button', {
28758
+ return (hAsync("div", { key: '156668962e6ff2011625d1128a20a9dba6e24a9b', class: "kol-split-button" }, hAsync("div", { key: 'a273dc653d3c0a1efb5e3c83bd0e5f2ee2478e79', class: "kol-split-button__root" }, hAsync(KolButtonWcTag, { key: '88f61eecb6fdce911538179e721eae5af2c41c0f', class: clsx('kol-split-button__button', {
28654
28759
  [this._variant]: this._variant !== 'custom',
28655
28760
  [this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
28656
- }), 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, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _buttonVariant: this._variant }), hAsync("div", { key: '51aeab97c09f9392492d6815f0535cbea740a6ba', class: "kol-split-button__horizontal-line" }), hAsync(KolButtonWcTag, { key: 'c7e69de54cad832c9ff2a1ca34c505628f86e4d9', 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: '4880bd3fba703eb5aff079a6755cad1dcc6289cc', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: '238f03d754c5a8586ca97f06ce9184436398936c' }))));
28761
+ }), 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, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _buttonVariant: this._variant }), hAsync("div", { key: '609e38bd0f8c2c80e831b0f933cec91d8d590d93', class: "kol-split-button__horizontal-line" }), hAsync(KolButtonWcTag, { key: 'c029e785fd846f12eb516a12b93e57c9105e289a', class: "kol-split-button__secondary-button", _disabled: this._disabled, _hideLabel: true, _icons: "kolicon-chevron-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler })), hAsync(KolPopoverWcTag, { key: '8f77daa5136a336f0a2e0146651ce6eee6476af1', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: '9e3621825e8c9cbfa6e503cfa463bc548dc04cd4' }))));
28657
28762
  }
28658
28763
  async closePopup() {
28659
28764
  this.handleOnClose();
@@ -28697,84 +28802,123 @@ class KolSplitButton {
28697
28802
  }; }
28698
28803
  }
28699
28804
 
28805
+ const parseColumnWidth = (width, defaultWidth = 100) => {
28806
+ const parsed = Number.parseFloat(width !== null && width !== void 0 ? width : '');
28807
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : defaultWidth;
28808
+ };
28809
+
28700
28810
  class KolTableSettings {
28701
28811
  constructor(hostRef) {
28702
28812
  registerInstance(this, hostRef);
28703
- this.tableSettings = { columns: [] };
28813
+ this.headerCells = [];
28814
+ this.editingHeaderCells = [];
28704
28815
  this.errorMessage = null;
28705
28816
  this.translateTableSettings = translate('kol-table-settings');
28706
28817
  this.translateTableSettingsCancel = translate('kol-table-settings-cancel');
28707
28818
  this.translateTableSettingsApply = translate('kol-table-settings-apply');
28708
28819
  this.translateErrorAllInvisible = translate('kol-table-settings-error-all-invisible');
28709
28820
  this.translateColumnNotHidable = translate('kol-table-settings-column-not-hidable');
28710
- this._tableSettings = { columns: [] };
28821
+ this._horizontalHeaderCells = [];
28711
28822
  }
28712
- handleTableSettingsChange(newValue) {
28713
- this.tableSettings = Object.assign(Object.assign({}, newValue), { columns: this.normalizeColumns(Array.isArray(newValue.columns) ? newValue.columns : []) });
28823
+ handleHeaderCellsChange(newValue) {
28824
+ this.headerCells = newValue.map((row) => [...row]);
28825
+ this.editingHeaderCells = newValue.map((row) => row.map((cell) => (Object.assign({}, cell))));
28714
28826
  }
28715
28827
  componentWillLoad() {
28716
- this.handleTableSettingsChange(this._tableSettings);
28828
+ this.handleHeaderCellsChange(this._horizontalHeaderCells);
28717
28829
  }
28718
- normalizeColumns(columns) {
28719
- return columns.map((_a) => {
28720
- var { hidable, resizable, sortable, visible } = _a, rest = __rest(_a, ["hidable", "resizable", "sortable", "visible"]);
28721
- return (Object.assign(Object.assign({}, rest), { hidable: hidable !== false, resizable: resizable !== false, sortable: sortable !== false, visible: visible !== false }));
28722
- });
28830
+ getPrimaryRow() {
28831
+ var _a;
28832
+ return (_a = this.editingHeaderCells[this.editingHeaderCells.length - 1]) !== null && _a !== void 0 ? _a : [];
28833
+ }
28834
+ updatePrimaryRow(newRow) {
28835
+ this.editingHeaderCells = this.editingHeaderCells.map((row, index, arr) => (index === arr.length - 1 ? newRow : row));
28723
28836
  }
28724
28837
  moveColumn(columnId, direction) {
28725
- const columns = [...this.tableSettings.columns];
28726
- const sourceIndex = columns.findIndex((col) => col.key === columnId);
28727
- const sourceColumn = columns[sourceIndex];
28728
- const targetIndex = direction === 'up' ? sourceIndex - 1 : sourceIndex + 1;
28729
- const targetColumn = columns[targetIndex];
28730
- if (sourceIndex < 0 || targetIndex < 0 || targetIndex >= columns.length || (sourceColumn === null || sourceColumn === void 0 ? void 0 : sourceColumn.sortable) === false || (targetColumn === null || targetColumn === void 0 ? void 0 : targetColumn.sortable) === false) {
28838
+ const row = [...this.getPrimaryRow()];
28839
+ const sourceIndex = row.findIndex((col) => col.key === columnId);
28840
+ if (sourceIndex === -1)
28731
28841
  return;
28842
+ let targetIndex;
28843
+ if (direction === 'up') {
28844
+ if (sourceIndex === 0)
28845
+ return;
28846
+ targetIndex = sourceIndex - 1;
28732
28847
  }
28733
- const [movedColumn] = columns.splice(sourceIndex, 1);
28734
- columns.splice(targetIndex, 0, movedColumn);
28735
- this.tableSettings = Object.assign(Object.assign({}, this.tableSettings), { columns });
28848
+ else {
28849
+ if (sourceIndex === row.length - 1)
28850
+ return;
28851
+ targetIndex = sourceIndex + 1;
28852
+ }
28853
+ const [source] = row.splice(sourceIndex, 1);
28854
+ row.splice(targetIndex, 0, source);
28855
+ this.updatePrimaryRow(row);
28736
28856
  }
28737
28857
  handleVisibilityChange(key, visible) {
28738
- this.tableSettings = Object.assign(Object.assign({}, this.tableSettings), { columns: this.tableSettings.columns.map((col) => (col.key === key && col.hidable !== false ? Object.assign(Object.assign({}, col), { visible: Boolean(visible) }) : col)) });
28858
+ const row = this.getPrimaryRow().map((col) => (col.key === key && col.hidable !== false ? Object.assign(Object.assign({}, col), { visible: Boolean(visible) }) : col));
28859
+ this.updatePrimaryRow(row);
28739
28860
  }
28740
28861
  handleWidthChange(key, width) {
28741
- this.tableSettings = Object.assign(Object.assign({}, this.tableSettings), { columns: this.tableSettings.columns.map((col) => (col.key === key ? (col.resizable === false ? col : Object.assign(Object.assign({}, col), { width: Number(width) })) : col)) });
28862
+ const row = this.getPrimaryRow().map((col) => (col.key === key && col.resizable !== false ? Object.assign(Object.assign({}, col), { width: `${Number(width)}ch` }) : col));
28863
+ this.updatePrimaryRow(row);
28742
28864
  }
28743
28865
  handleCancel() {
28744
28866
  var _a;
28867
+ this.editingHeaderCells = this.headerCells.map((row) => [...row]);
28868
+ this.errorMessage = null;
28745
28869
  void ((_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.hidePopover());
28746
28870
  }
28747
28871
  handleSubmit(event) {
28748
28872
  var _a;
28749
28873
  event.preventDefault();
28750
- const hasVisibleColumn = this.tableSettings.columns.some((column) => column.visible);
28874
+ const primaryRow = this.getPrimaryRow();
28875
+ const hasVisibleColumn = primaryRow.some((column) => column.visible !== false);
28751
28876
  if (!hasVisibleColumn) {
28752
28877
  this.errorMessage = this.translateErrorAllInvisible;
28753
28878
  return;
28754
28879
  }
28755
28880
  else if (this.host) {
28756
28881
  this.errorMessage = null;
28757
- dispatchDomEvent(this.host, KolEvent.settingsChange, this.tableSettings);
28882
+ this.headerCells = this.editingHeaderCells.map((row) => row.map((cell) => (Object.assign({}, cell))));
28883
+ const sanitizedHeaderCells = this.editingHeaderCells.map((row) => row.map((column) => {
28884
+ const cell = Object.assign({}, column);
28885
+ delete cell.position;
28886
+ if (cell.visible === undefined) {
28887
+ delete cell.visible;
28888
+ }
28889
+ if (cell.hidable === undefined) {
28890
+ delete cell.hidable;
28891
+ }
28892
+ if (cell.sortable === undefined) {
28893
+ delete cell.sortable;
28894
+ }
28895
+ if (cell.resizable === undefined) {
28896
+ delete cell.resizable;
28897
+ }
28898
+ if (cell.width === undefined || cell.width === null || cell.width === '') {
28899
+ delete cell.width;
28900
+ }
28901
+ return cell;
28902
+ }));
28903
+ dispatchDomEvent(this.host, KolEvent.changeHeaderCells, sanitizedHeaderCells);
28758
28904
  void ((_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.hidePopover());
28759
28905
  }
28760
28906
  }
28761
28907
  render() {
28762
- const sortedColumns = this.tableSettings.columns;
28763
- return (hAsync(KolPopoverButtonWcTag, { key: 'aa24d8651b56901da47fb399d3b8d195c04e4172', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "codicon codicon-settings-gear", _label: this.translateTableSettings, _popoverAlign: "top", _hideLabel: true }, hAsync("div", { key: 'e2bfa59a2329b8195533c4085d0de0dbcbe3ee2a', class: "kol-table-settings__content" }, hAsync(KolHeadingTag, { key: '93826dd6a92a059f4b38ae6c2fe5c7be6a9fa53b', _label: this.translateTableSettings, _level: 0 }), this.errorMessage && hAsync(KolAlertWcTag, { key: 'ffb531d2e598f7beba390759cefeb30f07b34cd5', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), hAsync("form", { key: 'b3efffad1be5c8ff4bca0ba0e0c680e334afeeb3', onSubmit: this.handleSubmit.bind(this) }, hAsync("div", { key: '0def6f9d92009689733e3841c822b93b0397a659', class: "kol-table-settings__columns-container" }, hAsync("div", { key: 'd0a7af6068e909ae91a5fd55cb560724d12edcc4', class: "kol-table-settings__columns" }, sortedColumns.map((column, index) => {
28764
- var _a, _b;
28765
- return (hAsync("div", { key: column.key, class: "kol-table-settings__column" }, hAsync(KolInputCheckboxTag, { _checked: column.visible, _label: `${column.label}${column.hidable === false ? ` (${this.translateColumnNotHidable})` : ''}`, _value: true, _hideLabel: true, _disabled: column.hidable === false, _on: { onInput: (_, value) => this.handleVisibilityChange(column.key, value) }, "data-testid": `table-settings-visible-${column.key}` }), hAsync("span", { class: "kol-table-settings__column-label" }, column.label), hAsync(KolInputNumberTag, { _hideLabel: true, _value: column.width, _label: translate('kol-table-settings-column-width', { placeholders: { column: column.label } }), _min: 1, _disabled: column.resizable === false, _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 || column.sortable === false || ((_a = sortedColumns[index - 1]) === null || _a === void 0 ? void 0 : _a.sortable) === false, "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 || column.sortable === false || ((_b = sortedColumns[index + 1]) === null || _b === void 0 ? void 0 : _b.sortable) === false, "data-testid": "table-settings-move-down" })));
28766
- }))), hAsync("div", { key: 'ae98c13ffb786564a765d02150e241b624c923c6', class: "kol-table-settings__actions" }, hAsync(KolButtonWcTag, { key: '3a8127b09eb76a55e0beffd508c1dd7e446fdaca', _label: this.translateTableSettingsCancel, _buttonVariant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), hAsync(KolButtonWcTag, { key: '19a5e91145eec6caa0460eaea7df20a1275b3962', _label: this.translateTableSettingsApply, _buttonVariant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
28908
+ const columns = this.getPrimaryRow();
28909
+ return (hAsync(KolPopoverButtonWcTag, { key: '20a902c54f7dca5ce4360546da5d0de682fa0f43', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "kolicon-settings", _label: this.translateTableSettings, _popoverAlign: "top", _hideLabel: true }, hAsync("div", { key: 'd5694d08feebe2ce3baa4c4ee3bda36d298dda03', class: "kol-table-settings__content" }, hAsync(KolHeadingTag, { key: '1c59c2987029e081389541cff2b5b19175dcb038', _label: this.translateTableSettings, _level: 0 }), this.errorMessage && hAsync(KolAlertWcTag, { key: 'dcf989a101b6f81a70f24b3de4bf323b1a1bf0b2', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), hAsync("form", { key: '95e986aed57b2142c5d040e222bc667ae96b60df', onSubmit: this.handleSubmit.bind(this) }, hAsync("div", { key: '21c192586cfda33cba13f1afac103fea3bf60714', class: "kol-table-settings__columns-container" }, hAsync("div", { key: 'ea0ffd07e7414d3bc74f7a35467a4b65fe0a6d70', class: "kol-table-settings__columns" }, columns.map((column, index) => (hAsync("div", { key: column.key, class: "kol-table-settings__column" }, hAsync(KolInputCheckboxTag, { _checked: column.visible !== false, _label: `${column.label}${column.hidable === false ? ` (${this.translateColumnNotHidable})` : ''}`, _value: true, _hideLabel: true, _disabled: column.hidable === false, _on: { onInput: (_, value) => { var _a; return this.handleVisibilityChange((_a = column.key) !== null && _a !== void 0 ? _a : '', value); } } }), hAsync("span", { class: "kol-table-settings__column-label" }, column.label), hAsync(KolInputNumberTag, { _hideLabel: true, _value: parseColumnWidth(column.width), _label: translate('kol-table-settings-column-width', { placeholders: { column: column.label } }), _min: 1, _disabled: column.resizable === false, _on: { onInput: (_, value) => { var _a; return this.handleWidthChange((_a = column.key) !== null && _a !== void 0 ? _a : '', 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: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'up'); } }, _disabled: column.sortable === false || 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: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'down'); } }, _disabled: column.sortable === false || index === columns.length - 1, "data-testid": "table-settings-move-down" })))))), hAsync("div", { key: '678cecad45a4f59a919f1c4d7fdd939bb0ad03b6', class: "kol-table-settings__actions" }, hAsync(KolButtonWcTag, { key: '02caf59b937c018df681915218da9da21458b100', _label: this.translateTableSettingsCancel, _buttonVariant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), hAsync(KolButtonWcTag, { key: '087067dd2cacd51c07e965d0b31d4a04fa84de74', _label: this.translateTableSettingsApply, _buttonVariant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
28767
28910
  }
28768
28911
  get host() { return getElement(this); }
28769
28912
  static get watchers() { return {
28770
- "_tableSettings": ["handleTableSettingsChange"]
28913
+ "_horizontalHeaderCells": ["handleHeaderCellsChange"]
28771
28914
  }; }
28772
28915
  static get cmpMeta() { return {
28773
28916
  "$flags$": 256,
28774
28917
  "$tagName$": "kol-table-settings-wc",
28775
28918
  "$members$": {
28776
- "_tableSettings": [16],
28777
- "tableSettings": [32],
28919
+ "_horizontalHeaderCells": [16],
28920
+ "headerCells": [32],
28921
+ "editingHeaderCells": [32],
28778
28922
  "errorMessage": [32]
28779
28923
  },
28780
28924
  "$listeners$": undefined,
@@ -28787,6 +28931,7 @@ var Callback;
28787
28931
  (function (Callback) {
28788
28932
  Callback["onBlur"] = "onBlur";
28789
28933
  Callback["onChange"] = "onChange";
28934
+ Callback["onChangeHeaderCells"] = "onChangeHeaderCells";
28790
28935
  Callback["onChangePage"] = "onChangePage";
28791
28936
  Callback["onClick"] = "onClick";
28792
28937
  Callback["onClose"] = "onClose";
@@ -28820,11 +28965,7 @@ var KeyboardKey;
28820
28965
  KeyboardKey["Space"] = " ";
28821
28966
  })(KeyboardKey || (KeyboardKey = {}));
28822
28967
 
28823
- const validateTableSettings = (component, value) => {
28824
- watchValidator(component, `_tableSettings`, (value) => typeof value === 'object' && value !== null, new Set(['TableSettings']), value);
28825
- };
28826
-
28827
- const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\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 display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: inline-block;\n }\n .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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 flex: 1 0 100%;\n }\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-popover-button--inline .kol-popover-button__button {\n display: inline;\n }\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings .kol-popover-button__popover {\n background: #fff;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n border-radius: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n border: 1px solid #d1d5db;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n gap: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content minmax(max-content, 1fr) calc(100 * 1rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\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__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__sort {\n display: inline-flex;\n gap: 0.25rem;\n align-items: center;\n }\n .kol-table__sort-order {\n display: inline-flex;\n align-items: center;\n justify-content: center;\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 align-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n align-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n align-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 display: flex;\n position: relative;\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\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 background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n width: calc(var(--a11y-min-size) / 2);\n height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\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 .kol-pagination {\n display: grid;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-template-columns: 1fr auto;\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\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}";
28968
+ const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\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 display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: inline-block;\n }\n .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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 flex: 1 0 100%;\n }\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-popover-button--inline .kol-popover-button__button {\n display: inline;\n }\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings .kol-popover-button__popover {\n background: #fff;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n border-radius: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n border: 1px solid #d1d5db;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n gap: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content minmax(max-content, 1fr) calc(100 * 1rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\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__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__sort {\n display: inline-flex;\n gap: 0.25rem;\n align-items: center;\n }\n .kol-table__sort-order {\n display: inline-flex;\n align-items: center;\n justify-content: center;\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 align-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n align-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n align-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 display: flex;\n position: relative;\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\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 background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n width: calc(var(--a11y-min-size) / 2);\n height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\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 .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n @media (max-width: 1024px) {\n .kol-pagination {\n flex-direction: column;\n }\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\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}";
28828
28969
 
28829
28970
  const PAGINATION_OPTIONS = [10, 20, 50, 100];
28830
28971
  const paginationValidator = (value) => value === true || value === '' || (typeof value === 'object' && value !== null);
@@ -29029,9 +29170,6 @@ class KolTableStateful {
29029
29170
  validateOn(value) {
29030
29171
  validateTableStatefulCallbacks(this, value);
29031
29172
  }
29032
- validateTableSettings(value) {
29033
- validateTableSettings(this, value);
29034
- }
29035
29173
  validatePagination(value) {
29036
29174
  try {
29037
29175
  value = parseJson(value);
@@ -29066,7 +29204,6 @@ class KolTableStateful {
29066
29204
  this.validatePagination(this._pagination);
29067
29205
  this.validatePaginationPosition(this._paginationPosition);
29068
29206
  this.validateSelection(this._selection);
29069
- this.validateTableSettings(this._tableSettings);
29070
29207
  this.validateHasSettingsMenu(this._hasSettingsMenu);
29071
29208
  }
29072
29209
  selectDisplayedData(data, pageSize, page) {
@@ -29087,17 +29224,7 @@ class KolTableStateful {
29087
29224
  label: `${this.state._label} (${translate(`kol-pagination-position-${position}`)})`,
29088
29225
  },
29089
29226
  });
29090
- return (hAsync("div", { class: `kol-table-stateful__pagination kol-table-stateful__pagination--${this.state._paginationPosition}` }, hAsync("span", { role: "status", "aria-live": "polite" }, translate('kol-table-visible-range', {
29091
- placeholders: {
29092
- start: this.pageEndSlice > 0 ? (this.pageStartSlice + 1).toString() : '0',
29093
- end: this.pageEndSlice.toString(),
29094
- total: this.state._pagination && this.state._pagination._max > 0
29095
- ? this.state._pagination._max.toString()
29096
- : Array.isArray(this.state._data)
29097
- ? this.state._data.length.toString()
29098
- : '0',
29099
- },
29100
- })), 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 }))));
29227
+ return (hAsync("div", { class: `kol-table-stateful__pagination kol-table-stateful__pagination--${this.state._paginationPosition}` }, 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 }))));
29101
29228
  }
29102
29229
  getHeaderCellSortState(headerCell) {
29103
29230
  if (!this.disableSort && typeof headerCell.compareFn === 'function') {
@@ -29163,14 +29290,14 @@ class KolTableStateful {
29163
29290
  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), sortOrder: this.getHeaderCellSortOrder(cell) }))))) !== null && _d !== void 0 ? _d : [],
29164
29291
  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), sortOrder: this.getHeaderCellSortOrder(cell) }))))) !== null && _f !== void 0 ? _f : [],
29165
29292
  };
29166
- return (hAsync(Host, { key: '5ac3cafebddd87710c6f8b73e812c520161ebd59', class: "kol-table-stateful" }, this.pageEndSlice > 0 && this.showPagination && paginationTop, hAsync(KolTableStatelessWcTag, { key: '6effb17c8cf01fc627fc5a349ca96304d5db1377', ref: this.catchRef, _data: displayedData, _headerCells: headerCells, _label: this.state._label, _dataFoot: this.state._dataFoot, _minWidth: this.state._minWidth, _on: {
29293
+ return (hAsync(Host, { key: '097b3da0f120398b96685ac2ec4c3287176fa003', class: "kol-table-stateful" }, this.pageEndSlice > 0 && this.showPagination && paginationTop, hAsync(KolTableStatelessWcTag, { key: 'f3f2b16415553d3ce9a2206280ca06cc5e8540d6', ref: this.catchRef, _data: displayedData, _headerCells: headerCells, _label: this.state._label, _dataFoot: this.state._dataFoot, _minWidth: this.state._minWidth, _on: {
29167
29294
  onSort: (_, payload) => {
29168
29295
  this.handleSort(payload);
29169
29296
  },
29170
29297
  onSelectionChange: (event, value) => {
29171
29298
  this.handleSelectionChange(event, value);
29172
29299
  },
29173
- }, _selection: this.state._selection, _tableSettings: this.state._tableSettings, _hasSettingsMenu: this.state._hasSettingsMenu }), this.pageEndSlice > 0 && this.showPagination && paginationBottom));
29300
+ }, _selection: this.state._selection, _hasSettingsMenu: this.state._hasSettingsMenu }), this.pageEndSlice > 0 && this.showPagination && paginationBottom));
29174
29301
  }
29175
29302
  get host() { return getElement(this); }
29176
29303
  static get watchers() { return {
@@ -29184,7 +29311,6 @@ class KolTableStateful {
29184
29311
  "_minWidth": ["validateMinWidth"],
29185
29312
  "_selection": ["validateSelection"],
29186
29313
  "_on": ["validateOn"],
29187
- "_tableSettings": ["validateTableSettings"],
29188
29314
  "_pagination": ["validatePagination"]
29189
29315
  }; }
29190
29316
  static get style() { return {
@@ -29204,7 +29330,6 @@ class KolTableStateful {
29204
29330
  "_paginationPosition": [1, "_pagination-position"],
29205
29331
  "_selection": [1],
29206
29332
  "_on": [16],
29207
- "_tableSettings": [16],
29208
29333
  "_hasSettingsMenu": [4, "_has-settings-menu"],
29209
29334
  "state": [32],
29210
29335
  "getSelection": [64]
@@ -29222,7 +29347,7 @@ let KolTableStateless$1 = class KolTableStateless {
29222
29347
  registerInstance(this, hostRef);
29223
29348
  }
29224
29349
  render() {
29225
- return (hAsync(KolTableStatelessWcTag, { key: '3f600244a23f03d0dfbddb1be4006cc50b1cf46f', _data: this._data, _dataFoot: this._dataFoot, _headerCells: this._headerCells, _label: this._label, _minWidth: this._minWidth, _on: this._on, _selection: this._selection, _tableSettings: this._tableSettings, _hasSettingsMenu: this._hasSettingsMenu }));
29350
+ return (hAsync(KolTableStatelessWcTag, { key: 'cd2b63fa6fd319a30a4641441704db5845a5aa7e', _data: this._data, _dataFoot: this._dataFoot, _headerCells: this._headerCells, _label: this._label, _minWidth: this._minWidth, _on: this._on, _selection: this._selection, _hasSettingsMenu: this._hasSettingsMenu }));
29226
29351
  }
29227
29352
  static get style() { return {
29228
29353
  default: defaultStyleCss$7
@@ -29238,7 +29363,6 @@ let KolTableStateless$1 = class KolTableStateless {
29238
29363
  "_minWidth": [1, "_min-width"],
29239
29364
  "_on": [16],
29240
29365
  "_selection": [1],
29241
- "_tableSettings": [16],
29242
29366
  "_hasSettingsMenu": [4, "_has-settings-menu"]
29243
29367
  },
29244
29368
  "$listeners$": undefined,
@@ -29285,8 +29409,7 @@ class KolTableStateless {
29285
29409
  }), key: `row-${key}` }, this.renderSelectionCell(row, rowIndex), row.map((cell, colIndex) => this.renderTableCell(cell, rowIndex, colIndex, isVertical))));
29286
29410
  };
29287
29411
  this.renderTableCell = (cell, rowIndex, colIndex, isVertical) => {
29288
- const columnSetting = this.getColumnSettings(cell);
29289
- if (columnSetting && !columnSetting.visible) {
29412
+ if (cell.visible === false) {
29290
29413
  return '';
29291
29414
  }
29292
29415
  let key = `${rowIndex}-${colIndex}-${cell.label}`;
@@ -29303,7 +29426,7 @@ class KolTableStateless {
29303
29426
  [`kol-table__cell--align-${cell.textAlign}`]: cell.textAlign,
29304
29427
  }), "aria-atomic": isNoEntriesHintCell ? 'false' : undefined, "aria-live": isNoEntriesHintCell ? 'polite' : undefined, "aria-relevant": isNoEntriesHintCell ? 'text' : undefined, colSpan: cell.colSpan, rowSpan: cell.rowSpan, style: {
29305
29428
  textAlign: cell.textAlign,
29306
- width: (columnSetting === null || columnSetting === void 0 ? void 0 : columnSetting.width) ? `${columnSetting.width}ch` : cell.width,
29429
+ width: cell.width,
29307
29430
  }, ref: typeof cell.render === 'function'
29308
29431
  ? (el) => {
29309
29432
  this.cellRender(cell, el);
@@ -29328,7 +29451,7 @@ class KolTableStateless {
29328
29451
  validateHeaderCells(value) {
29329
29452
  validateTableHeaderCells(this, value);
29330
29453
  if (!isEqual(this.previousHeaderCells, this.state._headerCells)) {
29331
- this.initializeTableSettings();
29454
+ this.initializeHeaderCellSettings();
29332
29455
  }
29333
29456
  this.previousHeaderCells = this.state._headerCells;
29334
29457
  }
@@ -29346,24 +29469,6 @@ class KolTableStateless {
29346
29469
  validateSelection(value) {
29347
29470
  validateTableSelection(this, value);
29348
29471
  }
29349
- validateTableSettings(value) {
29350
- validateTableSettings(this, this.normalizeTableSettings(value));
29351
- }
29352
- normalizeTableSettings(value) {
29353
- if (!value || typeof value !== 'object') {
29354
- return value;
29355
- }
29356
- const columns = Array.isArray(value.columns) ? value.columns : [];
29357
- return Object.assign(Object.assign({}, value), { columns: columns.map(({ hidable, key, label, resizable, sortable, visible, width }) => ({
29358
- hidable: hidable !== false,
29359
- key: key !== null && key !== void 0 ? key : nonce(),
29360
- label,
29361
- resizable: resizable !== false,
29362
- sortable: sortable !== false,
29363
- visible: visible !== false,
29364
- width,
29365
- })) });
29366
- }
29367
29472
  handleKeyDown(event) {
29368
29473
  var _a;
29369
29474
  if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
@@ -29393,7 +29498,12 @@ class KolTableStateless {
29393
29498
  }
29394
29499
  }
29395
29500
  handleSettingsChange(event) {
29396
- setState(this, '_tableSettings', event.detail);
29501
+ var _a;
29502
+ const updatedHeaderCells = Object.assign(Object.assign({}, this.state._headerCells), { horizontal: event.detail });
29503
+ setState(this, '_headerCells', updatedHeaderCells);
29504
+ if (typeof ((_a = this.state._on) === null || _a === void 0 ? void 0 : _a[Callback.onChangeHeaderCells]) === 'function') {
29505
+ this.state._on[Callback.onChangeHeaderCells](event, updatedHeaderCells);
29506
+ }
29397
29507
  }
29398
29508
  disconnectedCallback() {
29399
29509
  var _a;
@@ -29487,29 +29597,6 @@ class KolTableStateless {
29487
29597
  }
29488
29598
  return primaryHeaders;
29489
29599
  }
29490
- getColumnPositionMap() {
29491
- var _a;
29492
- const keyToPosition = new Map();
29493
- (_a = this.state._tableSettings) === null || _a === void 0 ? void 0 : _a.columns.forEach((setting, index) => {
29494
- keyToPosition.set(setting.key, index);
29495
- });
29496
- return keyToPosition;
29497
- }
29498
- sortByColumnPosition(columns) {
29499
- const keyToPosition = this.getColumnPositionMap();
29500
- return columns
29501
- .map((column, index) => ({ column, index }))
29502
- .sort((a, b) => {
29503
- var _a, _b, _c, _d;
29504
- const posA = (_b = keyToPosition.get((_a = a.column.key) !== null && _a !== void 0 ? _a : '')) !== null && _b !== void 0 ? _b : Number.MAX_SAFE_INTEGER;
29505
- const posB = (_d = keyToPosition.get((_c = b.column.key) !== null && _c !== void 0 ? _c : '')) !== null && _d !== void 0 ? _d : Number.MAX_SAFE_INTEGER;
29506
- if (posA !== posB) {
29507
- return posA - posB;
29508
- }
29509
- return a.index - b.index;
29510
- })
29511
- .map(({ column }) => column);
29512
- }
29513
29600
  createDataField(data, headers, isFoot) {
29514
29601
  var _a;
29515
29602
  headers.horizontal = Array.isArray(headers === null || headers === void 0 ? void 0 : headers.horizontal) ? headers.horizontal : [];
@@ -29529,7 +29616,7 @@ class KolTableStateless {
29529
29616
  rowCount[index] = 0;
29530
29617
  rowSpans[index] = [];
29531
29618
  });
29532
- const sortedPrimaryHeader = this.sortByColumnPosition(primaryHeader);
29619
+ const sortedPrimaryHeader = primaryHeader;
29533
29620
  for (let i = startRow; i < maxRows; i++) {
29534
29621
  const dataRow = [];
29535
29622
  headers.vertical.forEach((headerCells, index) => {
@@ -29561,7 +29648,7 @@ class KolTableStateless {
29561
29648
  typeof row === 'object' &&
29562
29649
  row !== null &&
29563
29650
  (typeof sortedPrimaryHeader[j].key === 'string' || typeof sortedPrimaryHeader[j].render === 'function')) {
29564
- dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[j]), { colSpan: undefined, data: row, label: row[sortedPrimaryHeader[j].key], rowSpan: undefined }));
29651
+ dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[j]), { colSpan: undefined, rowSpan: undefined, data: row, label: row[sortedPrimaryHeader[j].key] }));
29565
29652
  }
29566
29653
  }
29567
29654
  else {
@@ -29570,7 +29657,7 @@ class KolTableStateless {
29570
29657
  typeof data[j] === 'object' &&
29571
29658
  data[j] !== null &&
29572
29659
  (typeof sortedPrimaryHeader[i].key === 'string' || typeof sortedPrimaryHeader[i].render === 'function')) {
29573
- dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[i]), { colSpan: undefined, data: data[j], label: data[j][sortedPrimaryHeader[i].key], rowSpan: undefined }));
29660
+ dataRow.push(Object.assign(Object.assign({}, sortedPrimaryHeader[i]), { colSpan: undefined, rowSpan: undefined, data: data[j], label: data[j][sortedPrimaryHeader[i].key] }));
29574
29661
  }
29575
29662
  }
29576
29663
  }
@@ -29614,27 +29701,11 @@ class KolTableStateless {
29614
29701
  dispatchDomEvent(this.host, KolEvent.selectionChange, payload);
29615
29702
  }
29616
29703
  }
29617
- initializeTableSettings() {
29618
- if (this._tableSettings) {
29619
- return;
29620
- }
29621
- const primaryHeaders = this.getPrimaryHeaders(this.state._headerCells);
29622
- if (!this.state._tableSettings) {
29623
- this.state._tableSettings = { columns: [] };
29704
+ initializeHeaderCellSettings() {
29705
+ if (this.state._headerCells && this.state._headerCells.horizontal && this.state._headerCells.horizontal.length > 0) {
29706
+ const updatedHeaderCells = Object.assign(Object.assign({}, this.state._headerCells), { horizontal: this.state._headerCells.horizontal.map((row) => row.map((header) => (Object.assign(Object.assign({}, header), { visible: typeof header.visible === 'boolean' ? header.visible : true, hidable: typeof header.hidable === 'boolean' ? header.hidable : true })))) });
29707
+ setState(this, '_headerCells', updatedHeaderCells);
29624
29708
  }
29625
- this.state._tableSettings.columns = primaryHeaders
29626
- .filter((header) => header.key)
29627
- .map((header) => {
29628
- var _a;
29629
- return ({
29630
- hidable: header.hidable !== false,
29631
- sortable: header.sortable !== false,
29632
- resizable: header.resizable !== false,
29633
- key: (_a = header.key) !== null && _a !== void 0 ? _a : nonce(),
29634
- label: header.label,
29635
- visible: true,
29636
- });
29637
- });
29638
29709
  }
29639
29710
  componentWillLoad() {
29640
29711
  this.validateData(this._data);
@@ -29644,7 +29715,6 @@ class KolTableStateless {
29644
29715
  this.validateMinWidth(this._minWidth);
29645
29716
  this.validateOn(this._on);
29646
29717
  this.validateSelection(this._selection);
29647
- this.validateTableSettings(this._tableSettings);
29648
29718
  this.validateHasSettingsMenu(this._hasSettingsMenu);
29649
29719
  }
29650
29720
  renderSelectionCell(row, rowIndex) {
@@ -29678,7 +29748,7 @@ class KolTableStateless {
29678
29748
  };
29679
29749
  return (hAsync("td", { key: `tbody-${rowIndex}-selection`, class: "kol-table__cell kol-table__cell--selection" }, hAsync("div", { class: clsx('kol-table__selection', { 'kol-table__selection--checked': selected }) }, isMultiple ? (hAsync("label", { class: clsx('kol-table__selection-label', {
29680
29750
  'kol-table__selection-label--disabled': disabled,
29681
- }) }, hAsync(KolIconTag, { class: "kol-table__selection-icon", _icons: `codicon ${selected ? 'codicon-check' : ''}`, _label: "" }), hAsync("input", Object.assign({ class: clsx('kol-table__selection-input kol-table__selection-input--checkbox'), ref: (el) => el && this.checkboxRefs.push(el) }, props, { type: "checkbox", onInput: (event) => {
29751
+ }) }, hAsync(KolIconTag, { class: "kol-table__selection-icon", _icons: `kolicon ${selected ? 'kolicon-check' : ''}`, _label: "" }), hAsync("input", Object.assign({ class: clsx('kol-table__selection-input kol-table__selection-input--checkbox'), ref: (el) => el && this.checkboxRefs.push(el) }, props, { type: "checkbox", onInput: (event) => {
29682
29752
  const current = (() => {
29683
29753
  const v = selection === null || selection === void 0 ? void 0 : selection.selectedKeys;
29684
29754
  return v === undefined ? [] : Array.isArray(v) ? v : [v];
@@ -29689,10 +29759,6 @@ class KolTableStateless {
29689
29759
  this.handleSelectionChangeCallbackAndEvent(event, [keyProperty]);
29690
29760
  } })))), hAsync(KolTooltipWcTag, { "aria-hidden": "true", class: "kol-table__selection-input-tooltip", _align: "right", _id: `${keyProperty}-label`, _label: label }))));
29691
29761
  }
29692
- getColumnSettings(cell) {
29693
- var _a;
29694
- return (_a = this.state._tableSettings) === null || _a === void 0 ? void 0 : _a.columns.find((setting) => setting.key === cell.key);
29695
- }
29696
29762
  getSelectionKeyPropertyName() {
29697
29763
  var _a, _b;
29698
29764
  return (_b = (_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.keyPropertyName) !== null && _b !== void 0 ? _b : 'id';
@@ -29742,9 +29808,8 @@ class KolTableStateless {
29742
29808
  return selection;
29743
29809
  }
29744
29810
  getTableMinWidth() {
29745
- var _a, _b;
29746
- const totalColumnWidth = (_b = (_a = this.state._tableSettings) === null || _a === void 0 ? void 0 : _a.columns.filter((col) => col.visible).reduce((total, col) => { var _a; return total + ((_a = col.width) !== null && _a !== void 0 ? _a : 0); }, 0)) !== null && _b !== void 0 ? _b : 0;
29747
- return this.state._minWidth === 'auto' ? `${totalColumnWidth}ch` : `max(${this.state._minWidth}, ${totalColumnWidth}ch)`;
29811
+ var _a;
29812
+ return (_a = this.state._minWidth) !== null && _a !== void 0 ? _a : 'auto';
29748
29813
  }
29749
29814
  renderHeadingSelectionCell() {
29750
29815
  var _a, _b;
@@ -29770,7 +29835,7 @@ class KolTableStateless {
29770
29835
  return (hAsync("th", { key: `thead-0-selection`, class: "kol-table__cell kol-table__cell--header kol-table__cell--selection" }, hAsync("div", { class: clsx('kol-table__selection', {
29771
29836
  'kol-table__selection--indeterminate': indeterminate,
29772
29837
  'kol-table__selection--checked': isChecked,
29773
- }) }, hAsync("label", { class: "kol-table__selection-label" }, hAsync(KolIconTag, { class: "kol-table__selection-icon", _icons: `codicon ${indeterminate ? 'codicon-remove' : isChecked ? 'codicon-check' : ''}`, _label: "" }), hAsync("input", { class: clsx('kol-table__selection-input kol-table__selection-input--checkbox'), "data-testid": "selection-checkbox-all", ref: (el) => el && this.checkboxRefs.push(el), name: "selection", checked: isChecked && !indeterminate, indeterminate: indeterminate, "aria-label": label, type: "checkbox", onInput: (event) => {
29838
+ }) }, hAsync("label", { class: "kol-table__selection-label" }, hAsync(KolIconTag, { class: "kol-table__selection-icon", _icons: `kolicon ${indeterminate ? 'kolicon-minus' : isChecked ? 'kolicon-check' : ''}`, _label: "" }), hAsync("input", { class: clsx('kol-table__selection-input kol-table__selection-input--checkbox'), "data-testid": "selection-checkbox-all", ref: (el) => el && this.checkboxRefs.push(el), name: "selection", checked: isChecked && !indeterminate, indeterminate: indeterminate, "aria-label": label, type: "checkbox", onInput: (event) => {
29774
29839
  this.handleSelectionChangeCallbackAndEvent(event, this.getRevertedSelection(!isChecked));
29775
29840
  } })), hAsync(KolTooltipWcTag, { "aria-hidden": "true", class: "kol-table__selection-input-tooltip", _align: "right", _id: `${translationKey}-label`, _label: label }))));
29776
29841
  }
@@ -29791,23 +29856,22 @@ class KolTableStateless {
29791
29856
  return this.translateSort;
29792
29857
  }
29793
29858
  renderHeadingCell(cell, rowIndex, colIndex, isVertical) {
29794
- const columnSettings = this.getColumnSettings(cell);
29795
- if (columnSettings && !columnSettings.visible) {
29859
+ if (cell.visible === false) {
29796
29860
  return '';
29797
29861
  }
29798
- const sortableSetting = (columnSettings === null || columnSettings === void 0 ? void 0 : columnSettings.sortable) !== false;
29862
+ const sortableSetting = (cell === null || cell === void 0 ? void 0 : cell.sortable) !== false;
29799
29863
  const hasSortDirection = typeof cell.sortDirection === 'string';
29800
29864
  const canSort = sortableSetting && hasSortDirection;
29801
29865
  let ariaSort = 'none';
29802
- let sortButtonIcon = 'codicon codicon-fold';
29866
+ let sortButtonIcon = 'kolicon-sort-neutral';
29803
29867
  if (canSort && cell.sortDirection) {
29804
29868
  switch (cell.sortDirection) {
29805
29869
  case 'ASC':
29806
- sortButtonIcon = 'codicon codicon-chevron-up';
29870
+ sortButtonIcon = 'kolicon-sort-asc';
29807
29871
  ariaSort = 'ascending';
29808
29872
  break;
29809
29873
  case 'DESC':
29810
- sortButtonIcon = 'codicon codicon-chevron-down';
29874
+ sortButtonIcon = 'kolicon-sort-desc';
29811
29875
  ariaSort = 'descending';
29812
29876
  break;
29813
29877
  default:
@@ -29821,7 +29885,7 @@ class KolTableStateless {
29821
29885
  [`kol-table__cell--align-${cell.textAlign}`]: cell.textAlign,
29822
29886
  [`kol-table__cell--${ariaSort}`]: ariaSort,
29823
29887
  }), scope: scope, colSpan: cell.colSpan, rowSpan: cell.rowSpan, style: {
29824
- width: (columnSettings === null || columnSettings === void 0 ? void 0 : columnSettings.width) ? `${columnSettings.width}ch` : cell.width,
29888
+ width: cell.width,
29825
29889
  }, "aria-sort": ariaSort, "data-sort": canSort && cell.sortDirection ? `sort-${cell.sortDirection}` : undefined }, canSort && cell.sortDirection ? (hAsync("span", { class: "kol-table__sort" }, hAsync(KolButtonWcTag, { class: "kol-table__sort-button", exportparts: "icon", _icons: { right: sortButtonIcon }, _label: cell.label, _ariaDescription: sortDescription, _on: {
29826
29890
  onClick: (event) => {
29827
29891
  var _a;
@@ -29858,16 +29922,15 @@ class KolTableStateless {
29858
29922
  ]));
29859
29923
  }
29860
29924
  render() {
29861
- var _a;
29862
29925
  const dataField = this.createDataField(this.state._data, this.state._headerCells);
29863
29926
  this.checkboxRefs = [];
29864
- const sortedHorizontalHeaders = (_a = this.state._headerCells.horizontal) === null || _a === void 0 ? void 0 : _a.map((row) => this.sortByColumnPosition(row));
29865
- return (hAsync("div", { key: '3e728e7da4e6e201a75b3f2392684839d49226b5', class: "kol-table" }, this.state._hasSettingsMenu && hAsync(KolTableSettingsWcTag, { key: 'bbd36c1269c7cf1e43f78fd1d469e4f5c68d28be', _tableSettings: this.state._tableSettings }), hAsync("div", { key: '737d877075c620c3edadbc2a0b6e9a3d163c51d8', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? '-1' : undefined }, hAsync("table", { key: 'bb30c814e78688924a1906144a51eae1669ab8e9', class: "kol-table__table", style: {
29927
+ const horizontalHeaders = this.state._headerCells.horizontal;
29928
+ return (hAsync("div", { key: '3ecfa76f370919e9099c5fd79dfc7c58e0190854', class: "kol-table" }, this.state._hasSettingsMenu && hAsync(KolTableSettingsWcTag, { key: '264358a173d42ee900e022b47cdbe620c452febe', _horizontalHeaderCells: horizontalHeaders !== null && horizontalHeaders !== void 0 ? horizontalHeaders : [] }), hAsync("div", { key: '02f5fb3962760f32f5834144dc7244700ceaaae7', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? '-1' : undefined }, hAsync("table", { key: '20070bdb08de22f2c331ac53241390f41a144594', class: "kol-table__table", style: {
29866
29929
  minWidth: this.getTableMinWidth(),
29867
- } }, hAsync("caption", { key: '508814a7d77353d0c95cccece94fe250c5b60d44', class: "kol-table__focus-element kol-table__caption", id: "caption", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined }, this.state._label), Array.isArray(sortedHorizontalHeaders) && (hAsync("thead", { key: '0a486a0fe522586cd5e3ad17118dc5d9aff68a35', class: "kol-table__head" }, [
29868
- 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))))),
29869
- this.renderSpacer('head', sortedHorizontalHeaders),
29870
- ])), hAsync("tbody", { key: 'd08d034ea92ac500beb47489306a97e1813422b9', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
29930
+ } }, hAsync("caption", { key: 'dc18a31d0a487e5202f1221cc4bf951e62ed0597', class: "kol-table__focus-element kol-table__caption", id: "caption", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined }, this.state._label), Array.isArray(horizontalHeaders) && (hAsync("thead", { key: 'c4a6f9a4171e99a56e6dffb9681d8bc6aa0e1d1d', class: "kol-table__head" }, [
29931
+ horizontalHeaders.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))))),
29932
+ this.renderSpacer('head', horizontalHeaders),
29933
+ ])), hAsync("tbody", { key: 'c08c4adb4392de2469acc1d9ce3bdd8d2a3de145', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
29871
29934
  }
29872
29935
  get host() { return getElement(this); }
29873
29936
  static get watchers() { return {
@@ -29878,8 +29941,7 @@ class KolTableStateless {
29878
29941
  "_label": ["validateLabel"],
29879
29942
  "_minWidth": ["validateMinWidth"],
29880
29943
  "_on": ["validateOn"],
29881
- "_selection": ["validateSelection"],
29882
- "_tableSettings": ["validateTableSettings"]
29944
+ "_selection": ["validateSelection"]
29883
29945
  }; }
29884
29946
  static get cmpMeta() { return {
29885
29947
  "$flags$": 256,
@@ -29892,13 +29954,12 @@ class KolTableStateless {
29892
29954
  "_minWidth": [1, "_min-width"],
29893
29955
  "_on": [16],
29894
29956
  "_selection": [1],
29895
- "_tableSettings": [16],
29896
29957
  "_hasSettingsMenu": [4, "_has-settings-menu"],
29897
29958
  "state": [32],
29898
29959
  "tableDivElementHasScrollbar": [32],
29899
29960
  "previousHeaderCells": [32]
29900
29961
  },
29901
- "$listeners$": [[0, "keydown", "handleKeyDown"], [0, "settingsChange", "handleSettingsChange"]],
29962
+ "$listeners$": [[0, "keydown", "handleKeyDown"], [0, "changeHeaderCells", "handleSettingsChange"]],
29902
29963
  "$lazyBundleId$": "-",
29903
29964
  "$attrsToReflect$": []
29904
29965
  }; }
@@ -30105,12 +30166,12 @@ class KolTabs {
30105
30166
  renderButtonGroup() {
30106
30167
  return (hAsync("div", { "aria-label": this.state._label, class: "kol-tabs__button-group", role: "tablist", onKeyDown: this.onKeyDown, onBlur: this.onBlur }, this.state._tabs.map((button, index) => (hAsync(KolButtonWcTag, { _disabled: button._disabled, _icons: button._icons, _hideLabel: button._hideLabel, _label: button._label, _on: this.callbacks, _tabIndex: this.state._selected === index ? 0 : -1, _tooltipAlign: button._tooltipAlign, _buttonVariant: this.state._selected === index ? 'custom' : undefined, _customClass: this.state._selected === index ? 'selected' : undefined, _ariaControls: `tabpanel-${index}`, _ariaSelected: this.state._selected === index, _id: `${this.state._label.replace(/\s/g, '-')}-tab-${index}`, _role: "tab", _value: index }))), this.state._hasCreateButton && (hAsync(KolButtonWcTag, { class: "kol-tabs__button-create", _label: this.onCreateLabel, _on: {
30107
30168
  onClick: this.onCreate,
30108
- }, _icons: "codicon codicon-plus", "data-testid": "tabs-create-button" }))));
30169
+ }, _icons: "kolicon-plus", "data-testid": "tabs-create-button" }))));
30109
30170
  }
30110
30171
  render() {
30111
- return (hAsync("div", { key: '651b397e4e56da8694268e5670dd12da67fb4430', ref: (el) => {
30172
+ return (hAsync("div", { key: '0bd0aceb42f67707667ebb5cb15413d135a54199', ref: (el) => {
30112
30173
  this.tabPanelsElement = el;
30113
- }, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: '2583e66740101758cdf796a45961142384bf9fdf', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
30174
+ }, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: 'd42d286a6a315f1b181c9c1a167e53c5c202249a', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
30114
30175
  }
30115
30176
  validateAlign(value) {
30116
30177
  validateAlign(this, value);
@@ -30336,7 +30397,7 @@ class KolTextarea {
30336
30397
  } });
30337
30398
  }
30338
30399
  render() {
30339
- return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'c076b1045358547d15574bfb7d4fbd82ec63984d' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '320aa1104bb568da2c2f09660792f4be5de05a33', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: 'e5ab010f74cc7d2ed882121bc4373ee15dd70593' }, this.getTextAreaProps())))));
30400
+ return (hAsync(FormFieldStateWrapper, Object.assign({ key: '2c2f033030f99e33507c059de0820cc72de7a599' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'b64d16f3b7484d98ef5c85f0a2fd41a90bc2469a', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: 'dec62bcfd41aaf9af259d7c40bb194d5dd157e8b' }, this.getTextAreaProps())))));
30340
30401
  }
30341
30402
  constructor(hostRef) {
30342
30403
  registerInstance(this, hostRef);
@@ -30545,7 +30606,7 @@ class KolTextarea {
30545
30606
  }; }
30546
30607
  }
30547
30608
 
30548
- const defaultStyleCss$4 = "/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\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 display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: flex;\n position: fixed;\n z-index: 200;\n flex-direction: column;\n }\n .kol-toast-container__close-all {\n align-self: flex-end;\n }\n}";
30609
+ const defaultStyleCss$4 = "/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: 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 text color from his parent element.\n */\n color: inherit;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\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 position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\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 width: 100%;\n margin: 0;\n padding: 0;\n border: none;\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 color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\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 font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 opacity: 0.5;\n outline: none;\n cursor: not-allowed;\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 opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\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 display: flex;\n place-items: center;\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(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: flex;\n position: fixed;\n z-index: 200;\n max-width: 90vw;\n flex-direction: column;\n }\n .kol-toast-container__close-all {\n align-self: flex-end;\n }\n}";
30549
30610
 
30550
30611
  const TRANSITION_TIMEOUT = 300;
30551
30612
  class KolToastContainer {
@@ -30608,7 +30669,7 @@ class KolToastContainer {
30608
30669
  }
30609
30670
  }
30610
30671
  render() {
30611
- return (hAsync(Host, { key: '59038f1cc016df1fb76b2436b4ad4598700e66a9', class: "kol-toast-container" }, this.state._toastStates.length > 1 && (hAsync(KolButtonTag, { key: 'd2aea02a378c5631da3d47e8ab947e81eaa4174b', _label: this.translateToastCloseAll, class: "kol-toast-container__button-close-all", _on: {
30672
+ return (hAsync(Host, { key: '91190bc34c9cc342a7296620ac4c32fe579d4b19', class: "kol-toast-container" }, this.state._toastStates.length > 1 && (hAsync(KolButtonTag, { key: '4538eec5a1a51925d17b226eade4904770375bf6', _label: this.translateToastCloseAll, class: "kol-toast-container__button-close-all", _on: {
30612
30673
  onClick: () => {
30613
30674
  void this.closeAll();
30614
30675
  },
@@ -30662,7 +30723,7 @@ class KolToolbar {
30662
30723
  return Object.assign(Object.assign({}, rest), { _icons, _disabled });
30663
30724
  }
30664
30725
  render() {
30665
- return (hAsync("div", { key: 'ad1dc342681ec7b63f24b9212a5edb82301224c6', class: `kol-toolbar kol-toolbar--orientation-${this.state._orientation}`, role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem)));
30726
+ return (hAsync("div", { key: '78a0ddd7a212483b3438fe6a3da1e6c9c022026e', class: `kol-toolbar kol-toolbar--orientation-${this.state._orientation}`, role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem)));
30666
30727
  }
30667
30728
  validateLabel(value) {
30668
30729
  validateLabel(this, value);
@@ -30901,7 +30962,7 @@ class KolTooltipWc {
30901
30962
  getDocument().removeEventListener('keyup', this.hideTooltipByEscape);
30902
30963
  }
30903
30964
  render() {
30904
- return (hAsync(Host, { key: '7a998733dae6a2c928b4107d885c19f5988fa24a', class: "kol-tooltip" }, this.state._label !== '' && (hAsync("div", { key: '6b53ddaa12ca15d4822a4d4945d823f699d76510', class: "kol-tooltip__floating", ref: this.catchTooltipElement }, hAsync("div", { key: '0b48b4b9938ac6830b84c7731b9b5df89cbf9da7', class: "kol-tooltip__arrow", ref: this.catchArrowElement }), hAsync(KolSpanFc, { key: '0531c8d02198e37b81b9110cc683852730caa5fb', class: "kol-tooltip__content", id: this.state._id, badgeText: this._badgeText, label: this.state._label })))));
30965
+ return (hAsync(Host, { key: 'a2f5eaf3bdde31f05706c525fb3382d04449877d', class: "kol-tooltip" }, this.state._label !== '' && (hAsync("div", { key: 'd29670e80057f25e00c3826a093d5baef0106ce6', class: "kol-tooltip__floating", ref: this.catchTooltipElement }, hAsync("div", { key: '5ea823469aa2fcb1c3dbf56b628445814f4fc8d0', class: "kol-tooltip__arrow", ref: this.catchArrowElement }), hAsync(KolSpanFc, { key: '49c40bebd3067ede516b5f7edc9749f52a08cf80', class: "kol-tooltip__content", id: this.state._id, badgeText: this._badgeText, label: this.state._label })))));
30905
30966
  }
30906
30967
  validateBadgeText(value) {
30907
30968
  validateBadgeText(this, value);
@@ -30979,7 +31040,7 @@ class KolTree {
30979
31040
  registerInstance(this, hostRef);
30980
31041
  }
30981
31042
  render() {
30982
- return (hAsync(KolTreeWcTag, { key: '67f868d38de33d334b05b93c82e56feead46b255', _label: this._label }, hAsync("slot", { key: '0a316d5d93a20c0ada8e5aa425c9f5fdf5cf16f6' })));
31043
+ return (hAsync(KolTreeWcTag, { key: 'c9729dc44fcf465925dc6a866d399e62413cf9e1', _label: this._label }, hAsync("slot", { key: 'ff341bf2e8b093cedea4f62ee4c9f54403aa1e7c' })));
30983
31044
  }
30984
31045
  static get style() { return {
30985
31046
  default: defaultStyleCss$2
@@ -31022,7 +31083,7 @@ class KolTreeItem {
31022
31083
  return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
31023
31084
  }
31024
31085
  render() {
31025
- return (hAsync(KolTreeItemWcTag, { key: '86e4e84ea04f0fa50c0b2436577917e376fa5f38', _active: this._active, _label: this._label, _open: this._open, _href: this._href, ref: (element) => (this.element = element) }, hAsync("slot", { key: 'c0d67156ca3e9036cd0d36aba3f1a82a7d842089' })));
31086
+ return (hAsync(KolTreeItemWcTag, { key: '87d60840b65ed567e5e6075f362e33933563c5c9', _active: this._active, _label: this._label, _open: this._open, _href: this._href, ref: (element) => (this.element = element) }, hAsync("slot", { key: 'b0b1d7110cc70ee74fe026e0bedd2620fc423c1d' })));
31026
31087
  }
31027
31088
  static get style() { return {
31028
31089
  default: defaultStyleCss$1
@@ -31060,12 +31121,12 @@ class KolTreeItemWc {
31060
31121
  }
31061
31122
  render() {
31062
31123
  const { _href, _active, _hasChildren, _open, _label } = this.state;
31063
- return (hAsync(Host, { key: '5649eea22138bfd4814d801dd32e28cd352eef6d', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '0d8e7319a392ac8166d0fca80c297a1569de922a', class: "kol-tree-item", style: {
31124
+ return (hAsync(Host, { key: '442889bb000355873e79c2df59cce348ed0afb0c', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: 'ab695fb7c3857e493631704e56f86b6c6211ad9f', class: "kol-tree-item", style: {
31064
31125
  '--level': `${this.level}`,
31065
- } }, hAsync(KolLinkWcTag, { key: '9e92a6b0d8d17160ea861b805a4dd86454045445', class: clsx('kol-tree-item__link', {
31126
+ } }, hAsync(KolLinkWcTag, { key: 'ac9855976707c3665cb09f90af3a6ecd490bb653', class: clsx('kol-tree-item__link', {
31066
31127
  'kol-tree-item__link--first-level': this.level === 0,
31067
31128
  'kol-tree-item__link--active': _active,
31068
- }), _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: 'ac68d83264cfa4386a054df43eb84ccb63451607', 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: '3d339257fdc8689130aadcd4ebeb0d1fc3c4a1be', class: "kol-tree-item__text" }, _label))), hAsync("ul", { key: '81618223386fe6386d556613e487fcd51f60c573', class: "kol-tree-item__children", hidden: !_hasChildren || !_open, role: "group", id: this.groupId }, hAsync("slot", { key: '3192a75104bc09cdb9713f220cda421b5a210d58' })))));
31129
+ }), _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: '9122a46258722d8df6bc5423cf8ee8b9412c763b', 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: `kolicon kolicon-${_open ? 'chevron-down' : 'chevron-right'}`, _label: '' }))) : (hAsync("span", { class: "kol-tree-item__toggle-button-placeholder" })), hAsync("span", { key: 'b6108f314822588593d7426ad43f3bddaf42ae3c', class: "kol-tree-item__text" }, _label))), hAsync("ul", { key: '2ca328f5ca9dfc25264ac1cf5a05ebf9b8a47eb8', class: "kol-tree-item__children", hidden: !_hasChildren || !_open, role: "group", id: this.groupId }, hAsync("slot", { key: '756437d12f6ea52ef666a5813221d84b6b29c575' })))));
31069
31130
  }
31070
31131
  validateActive(value) {
31071
31132
  validateActive(this, value || false);
@@ -31169,7 +31230,7 @@ class KolTreeWc {
31169
31230
  validateLabel(this, value);
31170
31231
  }
31171
31232
  render() {
31172
- return (hAsync(Host, { key: '39caf084d89cd53900a3467ed61bb3768ab0cf0c', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("nav", { key: 'd27027c36afd0d6ed1aa9ad455f6e63ab89d9b4d', class: "kol-tree", "aria-label": this.state._label }, hAsync("ul", { key: '42b9f0647c3ba8ac6035ea7e12d4fa7fa299eb52', class: "kol-tree__treeview-navigation", role: "tree", "aria-label": this.state._label }, hAsync("slot", { key: 'd9fcc22c79d74067b0a979272e18035ab079c016' })))));
31233
+ return (hAsync(Host, { key: 'c491bc228b1db3a9707ee892a6c307ce675bde4e', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("nav", { key: '50bbc945f1302a0ddd8376076e61823a0b123aa3', class: "kol-tree", "aria-label": this.state._label }, hAsync("ul", { key: '3d915f2ef9fe71b126b2778cc093e91a7907f010', class: "kol-tree__treeview-navigation", role: "tree", "aria-label": this.state._label }, hAsync("slot", { key: 'a97a01e4eb25a47c667531d99db716d47e404779' })))));
31173
31234
  }
31174
31235
  static isTreeItem(element) {
31175
31236
  return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
@@ -31366,8 +31427,8 @@ class KolVersion {
31366
31427
  };
31367
31428
  }
31368
31429
  render() {
31369
- return (hAsync(Host, { key: '8bb2e7607ac89318676c76d90466e13d445d492a', class: "kol-version" }, hAsync(KolBadgeTag, { key: '033d28fec624afa5976153c7fe58359dd52dea2b', _color: "#bec5c9", _icons: {
31370
- left: { icon: 'codicon codicon-versions', label: this.translateVersion },
31430
+ return (hAsync(Host, { key: 'e510fa48ba288ec02a12f779576f8b5044bffbb3', class: "kol-version" }, hAsync(KolBadgeTag, { key: '7f75603236af9c4803401cfb821bc68c8b5b0015', _color: "#bec5c9", _icons: {
31431
+ left: { icon: 'kolicon-version', label: this.translateVersion },
31371
31432
  }, _label: this.state._label })));
31372
31433
  }
31373
31434
  validateLabel(value) {
@@ -31456,6 +31517,7 @@ registerComponents([
31456
31517
  KolProgress,
31457
31518
  KolQuote,
31458
31519
  KolSelect,
31520
+ KolSelectWc,
31459
31521
  KolSingleSelect,
31460
31522
  KolSkipNav,
31461
31523
  KolSpin,