@public-ui/hydrate 2.2.18-rc.3 → 2.2.19-e9c0b593384d660ec86496ebc4ea0d46381cd328.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.
- package/dist/index.js +226 -110
- package/dist/index.mjs +226 -110
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -4519,7 +4519,7 @@ let KolLinkTag = 'kol-link';
|
|
|
4519
4519
|
let KolLinkWcTag = 'kol-link-wc';
|
|
4520
4520
|
let KolPaginationTag = 'kol-pagination';
|
|
4521
4521
|
let KolPopoverWcTag = 'kol-popover-wc';
|
|
4522
|
-
let
|
|
4522
|
+
let KolSelectWcTag = 'kol-select-wc';
|
|
4523
4523
|
let KolSpanWcTag = 'kol-span-wc';
|
|
4524
4524
|
let KolTableStatefulTag = 'kol-table-stateful';
|
|
4525
4525
|
let KolTableStatelessWcTag = 'kol-table-stateless-wc';
|
|
@@ -4820,7 +4820,7 @@ var locale_de = {
|
|
|
4820
4820
|
page: 'Seite',
|
|
4821
4821
|
'page-current': 'Seite {{page}}',
|
|
4822
4822
|
'page-selected': 'Seite {{page}} ist ausgewählt',
|
|
4823
|
-
'page-per-site': '
|
|
4823
|
+
'page-per-site': 'Einträge pro Seite',
|
|
4824
4824
|
'nav-maximize': 'Navigation maximieren',
|
|
4825
4825
|
'nav-minimize': 'Navigation minimieren',
|
|
4826
4826
|
'logo-description': 'Logo {{orgShort}}. Bundesadler mit Flaggenstab und Schriftzug {{orgLong}}',
|
|
@@ -4830,7 +4830,7 @@ var locale_de = {
|
|
|
4830
4830
|
'avatar-alt': 'Avatar von {{name}}',
|
|
4831
4831
|
'split-button-dropdown-label-open': 'Optionen anzeigen',
|
|
4832
4832
|
'split-button-dropdown-label-close': 'Optionen schließen',
|
|
4833
|
-
'toast-close-all': 'Alle schließen',
|
|
4833
|
+
'toast-close-all': 'Alle Benachrichtigungen schließen',
|
|
4834
4834
|
'error-list': 'Fehlerliste',
|
|
4835
4835
|
'error-list-message': 'Bitte korrigieren Sie folgende Fehler:',
|
|
4836
4836
|
version: 'Versionsnummer',
|
|
@@ -4875,7 +4875,7 @@ var locale_en = {
|
|
|
4875
4875
|
page: 'Page',
|
|
4876
4876
|
'page-current': 'Page {{page}}',
|
|
4877
4877
|
'page-selected': 'Page {{page}} is selected',
|
|
4878
|
-
'page-per-site': '
|
|
4878
|
+
'page-per-site': 'Entries per page',
|
|
4879
4879
|
'nav-maximize': 'Maximize navigation',
|
|
4880
4880
|
'nav-minimize': 'Minimize navigation',
|
|
4881
4881
|
'logo-description': 'Logo {{orgShort}}. Federal eagle with flag staff and lettering {{orgLong}}',
|
|
@@ -4885,7 +4885,7 @@ var locale_en = {
|
|
|
4885
4885
|
'avatar-alt': 'Avatar of {{name}}',
|
|
4886
4886
|
'split-button-dropdown-label-open': 'Show options',
|
|
4887
4887
|
'split-button-dropdown-label-close': 'Hide options',
|
|
4888
|
-
'toast-close-all': 'Close all',
|
|
4888
|
+
'toast-close-all': 'Close all notifications',
|
|
4889
4889
|
'error-list': 'Error list',
|
|
4890
4890
|
'error-list-message': 'Please correct the following errors',
|
|
4891
4891
|
version: 'Version number',
|
|
@@ -5014,7 +5014,7 @@ const KolAlertFc = (props, children) => {
|
|
|
5014
5014
|
}, 10000);
|
|
5015
5015
|
}
|
|
5016
5016
|
const rootProps = Object.assign({ class: clsx('kol-alert-wc', 'alert', type, variant, { hasCloser: !!hasCloser }, classNames) }, other);
|
|
5017
|
-
return (hAsync("div", Object.assign({}, rootProps, {
|
|
5017
|
+
return (hAsync("div", Object.assign({}, rootProps, { role: alert ? 'alert' : undefined }),
|
|
5018
5018
|
hAsync("div", { class: "heading" },
|
|
5019
5019
|
hAsync(AlertIcon, { label: label, type: type }),
|
|
5020
5020
|
hAsync("div", { class: "heading-content" },
|
|
@@ -5240,16 +5240,16 @@ class KolBadge {
|
|
|
5240
5240
|
};
|
|
5241
5241
|
}
|
|
5242
5242
|
renderSmartButton(props) {
|
|
5243
|
-
return (hAsync(KolButtonWcTag, { _ariaControls: this.id, _customClass: props._customClass, _disabled: props._disabled, _hideLabel: true, _icons: props._icons, _id: props._id, _label: props._label, _on: props._on, _tooltipAlign: props._tooltipAlign, _variant: props._variant }));
|
|
5243
|
+
return (hAsync(KolButtonWcTag, { _ariaControls: this.id, _ariaDescription: props._ariaDescription, _customClass: props._customClass, _disabled: props._disabled, _hideLabel: true, _icons: props._icons, _id: props._id, _label: props._label, _on: props._on, _tooltipAlign: props._tooltipAlign, _variant: props._variant }));
|
|
5244
5244
|
}
|
|
5245
5245
|
render() {
|
|
5246
5246
|
const hasSmartButton = typeof this.state._smartButton === 'object' && this.state._smartButton !== null;
|
|
5247
|
-
return (hAsync(Host, { key: '
|
|
5247
|
+
return (hAsync(Host, { key: '4feef27579b3fef20e90585b1afadb10ff93cbdb', class: "kol-badge" }, hAsync("span", { key: 'fcdf3294e40d4c6e0268ef4fc5ca106b12c0a258', class: {
|
|
5248
5248
|
'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,
|
|
5249
5249
|
}, style: {
|
|
5250
5250
|
backgroundColor: this.bgColorStr,
|
|
5251
5251
|
color: this.colorStr,
|
|
5252
|
-
} }, hAsync(KolSpanWcTag, { key: '
|
|
5252
|
+
} }, hAsync(KolSpanWcTag, { key: 'eb2f1148028f06742c2a478d0955a61bfc4c8ad3', id: hasSmartButton ? this.id : undefined, _allowMarkdown: true, _icons: this._icons, _label: this._label }), hasSmartButton && this.renderSmartButton(this.state._smartButton))));
|
|
5253
5253
|
}
|
|
5254
5254
|
validateColor(value) {
|
|
5255
5255
|
validateColor(this, value, {
|
|
@@ -6165,12 +6165,23 @@ class KolCard {
|
|
|
6165
6165
|
}
|
|
6166
6166
|
|
|
6167
6167
|
const getRenderStates = (state) => {
|
|
6168
|
-
var _a, _b;
|
|
6169
|
-
const
|
|
6170
|
-
const
|
|
6168
|
+
var _a, _b, _c;
|
|
6169
|
+
const hasValidMsg = Boolean(state._msg && state._msg._description && ((_a = state._msg._description) === null || _a === void 0 ? void 0 : _a.length) > 0);
|
|
6170
|
+
const msgType = (_c = (_b = state._msg) === null || _b === void 0 ? void 0 : _b._type) !== null && _c !== void 0 ? _c : 'default';
|
|
6171
6171
|
const hasHint = typeof state._hint === 'string' && state._hint.length > 0;
|
|
6172
6172
|
const ariaDescribedBy = [];
|
|
6173
|
-
if (
|
|
6173
|
+
if (!hasValidMsg) {
|
|
6174
|
+
if (hasHint === true) {
|
|
6175
|
+
ariaDescribedBy.push(`${state._id}-hint`);
|
|
6176
|
+
}
|
|
6177
|
+
if (state._hasCounter) {
|
|
6178
|
+
ariaDescribedBy.push(`${state._id}-counter`);
|
|
6179
|
+
}
|
|
6180
|
+
return { hasError: false, hasHint, ariaDescribedBy };
|
|
6181
|
+
}
|
|
6182
|
+
const showMsg = msgType === 'error' ? state._touched === true : true;
|
|
6183
|
+
const hasError = showMsg && msgType === 'error';
|
|
6184
|
+
if (showMsg) {
|
|
6174
6185
|
ariaDescribedBy.push(`${state._id}-error`);
|
|
6175
6186
|
}
|
|
6176
6187
|
if (hasHint === true) {
|
|
@@ -7466,7 +7477,7 @@ class KolIndentedTextWc {
|
|
|
7466
7477
|
this.state = {};
|
|
7467
7478
|
}
|
|
7468
7479
|
render() {
|
|
7469
|
-
return (hAsync(Host, { key: '
|
|
7480
|
+
return (hAsync(Host, { key: 'c98f4371e64e74164bf2c78090f397f1163922b2', class: "kol-indented-text-wc" }, hAsync("div", { key: '5ca5b15edceb14262a35ab6d212d9f349f55105f' }, hAsync("slot", { key: 'a6f6a3a070f340fe5bab48c22e551bfd3f25df35' }))));
|
|
7470
7481
|
}
|
|
7471
7482
|
static get cmpMeta() { return {
|
|
7472
7483
|
"$flags$": 4,
|
|
@@ -10305,24 +10316,23 @@ class KolInputRadio {
|
|
|
10305
10316
|
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
10306
10317
|
}
|
|
10307
10318
|
render() {
|
|
10308
|
-
const { ariaDescribedBy, hasError } = getRenderStates(this.state);
|
|
10319
|
+
const { ariaDescribedBy, hasError, hasHint } = getRenderStates(this.state);
|
|
10309
10320
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
10310
|
-
|
|
10311
|
-
return (hAsync(Host, { key: 'f024b1dc4ee66d69521d477b0514a49c6a0d44ed', class: "kol-input-radio" }, hAsync("fieldset", { key: '9c9cb9980f73a565fc640ba5165ffaabd9a67c88', class: {
|
|
10321
|
+
return (hAsync(Host, { key: '0ace03e6b8caeac0abb1577ac3baac3dcd5a26ff', class: "kol-input-radio" }, hAsync("fieldset", { key: '94c25cd781f26aa3dc2938c2fd2b6d068b22117e', "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, class: {
|
|
10312
10322
|
fieldset: true,
|
|
10313
10323
|
disabled: this.state._disabled === true,
|
|
10314
10324
|
error: hasError === true,
|
|
10315
10325
|
required: this.state._required === true,
|
|
10316
10326
|
'hidden-error': this._hideError === true,
|
|
10317
10327
|
[this.state._orientation]: true,
|
|
10318
|
-
} }, hAsync("legend", { key: '
|
|
10328
|
+
} }, hAsync("legend", { key: '92887a844b031ccdb7550e55550d3d528f851c40', class: "block w-full mb-1 leading-normal" }, hAsync("span", { key: '6a28e88daa688a56ca2f8a453f77b7d55a3bd237' }, hAsync("span", { key: '6acfe8d22beff0105bec6f203e29bfde5f2c4ba5', slot: "label" }, hasExpertSlot ? hAsync("slot", { name: "expert" }) : this._label))), this.state._options.map((option, index) => {
|
|
10319
10329
|
const customId = `${this.state._id}-${index}`;
|
|
10320
10330
|
const slotName = `radio-${index}`;
|
|
10321
10331
|
const selected = this.state._value === option.value;
|
|
10322
10332
|
return (hAsync(KolInputTag, { class: {
|
|
10323
10333
|
radio: true,
|
|
10324
10334
|
disabled: Boolean(this.state._disabled || option.disabled),
|
|
10325
|
-
}, key: customId, _disabled: this.state._disabled || option.disabled, _hideLabel: this.state._hideLabel, _hint: option.hint, _id: customId, _label: option.label, _renderNoLabel: true, _required: this.state._required, _slotName: slotName, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched }, hAsync("div", { slot: slotName, class: "radio-input-wrapper" }, hAsync("input", Object.assign({ ref: this.state._value === option.value ? this.catchRef : undefined, title: "", "aria-
|
|
10335
|
+
}, key: customId, _disabled: this.state._disabled || option.disabled, _hideLabel: this.state._hideLabel, _hint: option.hint, _id: customId, _label: option.label, _renderNoLabel: true, _required: this.state._required, _slotName: slotName, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched }, hAsync("div", { slot: slotName, class: "radio-input-wrapper" }, hAsync("input", Object.assign({ ref: this.state._value === option.value ? this.catchRef : undefined, title: "", "aria-label": this.state._hideLabel && typeof option.label === 'string' ? option.label : undefined, type: "radio", id: customId, checked: selected, name: this.state._name || this.state._id, disabled: this.state._disabled || option.disabled, required: this.state._required, tabIndex: this.state._tabIndex, value: `-${index}` }, this.controller.onFacade, { onChange: this.onChange, onClick: undefined, onInput: this.onInput, onKeyDown: this.onKeyDown.bind(this), onFocus: (event) => {
|
|
10326
10336
|
this.controller.onFacade.onFocus(event);
|
|
10327
10337
|
this.inputHasFocus = true;
|
|
10328
10338
|
}, onBlur: (event) => {
|
|
@@ -10334,7 +10344,7 @@ class KolInputRadio {
|
|
|
10334
10344
|
padding: this.state._hideLabel ? '0' : undefined,
|
|
10335
10345
|
visibility: this.state._hideLabel ? 'hidden' : undefined,
|
|
10336
10346
|
} }, hAsync("span", null, hAsync("span", { class: "radio-label-span-inner" }, option.label))))));
|
|
10337
|
-
}), hasError && hAsync(FormFieldMsgFc, { key: '
|
|
10347
|
+
}), hasError && hAsync(FormFieldMsgFc, { key: '2b39bf4d20435ee90359429bebfe12766d383b94', _alert: this.showAsAlert(), _hideError: this.state._hideError, _msg: this.state._msg, _id: this.state._id }), hasHint && (hAsync("span", { key: '9a18f783fa05aac61ac49475eb1f2bb1a83e4e63', class: "hint", id: `${this.state._id}-hint` }, this.state._hint)))));
|
|
10338
10348
|
}
|
|
10339
10349
|
constructor(hostRef) {
|
|
10340
10350
|
registerInstance(this, hostRef);
|
|
@@ -10625,7 +10635,7 @@ class KolInputRange {
|
|
|
10625
10635
|
this.controller.onFacade.onBlur(event);
|
|
10626
10636
|
this.inputHasFocus = false;
|
|
10627
10637
|
} }))), hasSuggestions && [
|
|
10628
|
-
hAsync("datalist", { key: '05ab7a9b3a3f7c68f16db917cc057b635aacb25f', id: `${this.state._id}-list` }, this.state._suggestions.map((option) => (hAsync("option", { value: option })))),
|
|
10638
|
+
hAsync("datalist", { key: '05ab7a9b3a3f7c68f16db917cc057b635aacb25f', id: `${this.state._id}-list` }, this.state._suggestions.map((option) => (hAsync("option", { value: JSON.stringify(option) })))),
|
|
10629
10639
|
]))));
|
|
10630
10640
|
}
|
|
10631
10641
|
constructor(hostRef) {
|
|
@@ -11184,7 +11194,7 @@ class KolInputWc {
|
|
|
11184
11194
|
input: true,
|
|
11185
11195
|
'icon-left': typeof ((_e = this._icons) === null || _e === void 0 ? void 0 : _e.left) === 'object',
|
|
11186
11196
|
'icon-right': typeof ((_f = this._icons) === null || _f === void 0 ? void 0 : _f.right) === 'object',
|
|
11187
|
-
} }, ((_g = this._icons) === null || _g === void 0 ? void 0 : _g.left) && (hAsync(KolIconTag, { key: 'db617a34b5625bf385bce736898bf8b60b0362e2', _label: "", _icons: ((_h = this._icons) === null || _h === void 0 ? void 0 : _h.left).icon, style: this.getIconStyles((_j = this._icons) === null || _j === void 0 ? void 0 : _j.left) })), hAsync("div", { key: '5aef005fe5cf7b0c7414da238e003b24d9ec8b76', ref: this.catchInputSlot, id: this.slotName, class: "input-slot" }), typeof this._smartButton === 'object' && this._smartButton !== null && (hAsync(KolButtonWcTag, { key: '2d4f58690c482754336c8433c616115c7b7a1dc1', _customClass: this._smartButton._customClass, _disabled: this._smartButton._disabled, _icons: this._smartButton._icons, _hideLabel: true, _id: this._smartButton._id, _label: this._smartButton._label, _on: this._smartButton._on, _tooltipAlign: this._smartButton._tooltipAlign, _variant: this._smartButton._variant })), ((_k = this._icons) === null || _k === void 0 ? void 0 : _k.right) && (hAsync(KolIconTag, { key: '0f71452a36701957777a83e5a127e1dd4eb2ac61', _label: "", _icons: ((_l = this._icons) === null || _l === void 0 ? void 0 : _l.right).icon, style: this.getIconStyles((_m = this._icons) === null || _m === void 0 ? void 0 : _m.right) }))), useTooltopInsteadOfLabel && (hAsync(KolTooltipWcTag, { key: '4211c78a773048d9e529a6c8b939d036cc2529b2', "aria-hidden": "true", class: "input-tooltip", _badgeText: this._accessKey || this._shortKey, _align: this._tooltipAlign, _id: this._hideLabel ? `${this._id}-label` : undefined, _label: this._label })), showMsg && hAsync(FormFieldMsgFc, { key: '1bcc512281d678916a1b9b9297e3183ab268ac63', _alert: this._alert, _hideError: this._hideError, _msg: this._msg, _id: this._id }), Array.isArray(this._suggestions) && this._suggestions.length > 0 && (hAsync("datalist", { key: '1973b589b4fb98d1bdd3623ad8a7b50c9701ba65', id: `${this._id}-list` }, this._suggestions.map((option) => (hAsync("option", { value: option }))))), this._hasCounter && (hAsync(Fragment, null, hAsync("span", { key: '
|
|
11197
|
+
} }, ((_g = this._icons) === null || _g === void 0 ? void 0 : _g.left) && (hAsync(KolIconTag, { key: 'db617a34b5625bf385bce736898bf8b60b0362e2', _label: "", _icons: ((_h = this._icons) === null || _h === void 0 ? void 0 : _h.left).icon, style: this.getIconStyles((_j = this._icons) === null || _j === void 0 ? void 0 : _j.left) })), hAsync("div", { key: '5aef005fe5cf7b0c7414da238e003b24d9ec8b76', ref: this.catchInputSlot, id: this.slotName, class: "input-slot" }), typeof this._smartButton === 'object' && this._smartButton !== null && (hAsync(KolButtonWcTag, { key: '2d4f58690c482754336c8433c616115c7b7a1dc1', _customClass: this._smartButton._customClass, _disabled: this._smartButton._disabled, _icons: this._smartButton._icons, _hideLabel: true, _id: this._smartButton._id, _label: this._smartButton._label, _on: this._smartButton._on, _tooltipAlign: this._smartButton._tooltipAlign, _variant: this._smartButton._variant })), ((_k = this._icons) === null || _k === void 0 ? void 0 : _k.right) && (hAsync(KolIconTag, { key: '0f71452a36701957777a83e5a127e1dd4eb2ac61', _label: "", _icons: ((_l = this._icons) === null || _l === void 0 ? void 0 : _l.right).icon, style: this.getIconStyles((_m = this._icons) === null || _m === void 0 ? void 0 : _m.right) }))), useTooltopInsteadOfLabel && (hAsync(KolTooltipWcTag, { key: '4211c78a773048d9e529a6c8b939d036cc2529b2', "aria-hidden": "true", class: "input-tooltip", _badgeText: this._accessKey || this._shortKey, _align: this._tooltipAlign, _id: this._hideLabel ? `${this._id}-label` : undefined, _label: this._label })), showMsg && hAsync(FormFieldMsgFc, { key: '1bcc512281d678916a1b9b9297e3183ab268ac63', _alert: this._alert, _hideError: this._hideError, _msg: this._msg, _id: this._id }), Array.isArray(this._suggestions) && this._suggestions.length > 0 && (hAsync("datalist", { key: '1973b589b4fb98d1bdd3623ad8a7b50c9701ba65', id: `${this._id}-list` }, this._suggestions.map((option) => (hAsync("option", { value: JSON.stringify(option) }))))), this._hasCounter && (hAsync(Fragment, null, hAsync("span", { key: '5692122109ff8f8e4c67fb3b52dd0d6add55ea0b', class: "counter", "aria-hidden": "true", "data-testid": "input-counter" }, this._currentLength, this._maxLength && `/${this._maxLength}`, " ", translate('kol-characters')), hAsync("span", { key: '5de55b5b1e251a0f538d9cc9688f212d2e1309c3', id: `${this._id}-counter`, "aria-live": "polite", "aria-atomic": "true", class: "visually-hidden", "data-testid": "input-counter-aria" }, this._currentLengthDebounced, this._maxLength && ` ${translate('kol-of')} ${this._maxLength}`, " ", translate('kol-characters'))))));
|
|
11188
11198
|
}
|
|
11189
11199
|
getModifierClassNameByMsgType(showMsg) {
|
|
11190
11200
|
var _a, _b;
|
|
@@ -12321,7 +12331,7 @@ class KolNav {
|
|
|
12321
12331
|
}; }
|
|
12322
12332
|
}
|
|
12323
12333
|
|
|
12324
|
-
const defaultStyleCss$h = "@charset \"UTF-8\";\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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: grid;\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-template-columns: 1fr auto;\n }\n .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 .separator:before {\n content: \"•••\";\n }\n}";
|
|
12334
|
+
const defaultStyleCss$h = "@charset \"UTF-8\";\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n 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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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 .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n background-color: white;\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n option:checked::before {\n content: \"✓ \";\n }\n}\n@layer kol-component {\n :host {\n display: grid;\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-template-columns: 1fr auto;\n }\n .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 .separator:before {\n content: \"•••\";\n }\n .page-size {\n display: flex;\n gap: 0.5em;\n align-items: center;\n }\n}";
|
|
12325
12335
|
var KolPaginationDefaultStyle0 = defaultStyleCss$h;
|
|
12326
12336
|
|
|
12327
12337
|
const leftDoubleArrowIcon = {
|
|
@@ -12350,7 +12360,6 @@ const NUMBER_FORMATTER = new Intl.NumberFormat(userLanguage, {
|
|
|
12350
12360
|
class KolPagination {
|
|
12351
12361
|
constructor(hostRef) {
|
|
12352
12362
|
registerInstance(this, hostRef);
|
|
12353
|
-
this.nonce = nonce();
|
|
12354
12363
|
this.calcCount = (total, pageSize = 1) => Math.ceil(total / pageSize);
|
|
12355
12364
|
this.getCount = () => this.calcCount(this.state._max, this.state._pageSize);
|
|
12356
12365
|
this.onClick = (event, page) => {
|
|
@@ -12437,7 +12446,7 @@ class KolPagination {
|
|
|
12437
12446
|
for (const value of nextValue) {
|
|
12438
12447
|
if (typeof value === 'number') {
|
|
12439
12448
|
options.push({
|
|
12440
|
-
label:
|
|
12449
|
+
label: `${value}`,
|
|
12441
12450
|
value: value,
|
|
12442
12451
|
});
|
|
12443
12452
|
}
|
|
@@ -12502,9 +12511,9 @@ class KolPagination {
|
|
|
12502
12511
|
return null;
|
|
12503
12512
|
}
|
|
12504
12513
|
});
|
|
12505
|
-
return (hAsync(Host, { class: "kol-pagination" }, hAsync("nav", { "aria-label": this.state._label }, hAsync("ul", { class: "navigation-list" }, this.state._hasButtons.first && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "first", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-first'), _on: this.onGoToFirst, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.previous && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "previous", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftSingleArrow, _hideLabel: true, _label: translate('kol-page-back'), _on: this.onGoBackward, _tooltipAlign: this.state._tooltipAlign }))), pageButtons, this.state._hasButtons.next && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "next", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightSingleArrowIcon, _hideLabel: true, _label: translate('kol-page-next'), _on: this.onGoForward, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.last && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "last", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-last'), _on: this.onGoToEnd, _tooltipAlign: this.state._tooltipAlign }))))), ((_a = this.state._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) > 0 && (hAsync(
|
|
12514
|
+
return (hAsync(Host, { class: "kol-pagination" }, hAsync("nav", { "aria-label": this.state._label }, hAsync("ul", { class: "navigation-list" }, this.state._hasButtons.first && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "first", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-first'), _on: this.onGoToFirst, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.previous && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "previous", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftSingleArrow, _hideLabel: true, _label: translate('kol-page-back'), _on: this.onGoBackward, _tooltipAlign: this.state._tooltipAlign }))), pageButtons, this.state._hasButtons.next && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "next", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightSingleArrowIcon, _hideLabel: true, _label: translate('kol-page-next'), _on: this.onGoForward, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.last && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "last", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-last'), _on: this.onGoToEnd, _tooltipAlign: this.state._tooltipAlign }))))), ((_a = this.state._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) > 0 && (hAsync("div", { class: "page-size" }, hAsync(KolSelectWcTag, { _label: translate('kol-entries-per-site'), _options: this.state._pageSizeOptions, _on: {
|
|
12506
12515
|
onChange: this.onChangePageSize,
|
|
12507
|
-
}, _value: [this.state._pageSize] }))));
|
|
12516
|
+
}, _value: [this.state._pageSize] })))));
|
|
12508
12517
|
}
|
|
12509
12518
|
getUnselectedPageButton(page) {
|
|
12510
12519
|
const pageText = NUMBER_FORMATTER.format(page);
|
|
@@ -15243,20 +15252,107 @@ class KolQuote {
|
|
|
15243
15252
|
}; }
|
|
15244
15253
|
}
|
|
15245
15254
|
|
|
15255
|
+
const defaultStyleCss$d = "@charset \"UTF-8\";\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n 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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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 .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n background-color: white;\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n option:checked::before {\n content: \"✓ \";\n }\n}";
|
|
15256
|
+
var KolSelectDefaultStyle0 = defaultStyleCss$d;
|
|
15257
|
+
|
|
15258
|
+
class KolSelect {
|
|
15259
|
+
constructor(hostRef) {
|
|
15260
|
+
registerInstance(this, hostRef);
|
|
15261
|
+
this.catchRef = (ref) => {
|
|
15262
|
+
this.selectWcRef = ref;
|
|
15263
|
+
};
|
|
15264
|
+
this._accessKey = undefined;
|
|
15265
|
+
this._alert = undefined;
|
|
15266
|
+
this._disabled = false;
|
|
15267
|
+
this._error = undefined;
|
|
15268
|
+
this._hideError = false;
|
|
15269
|
+
this._hideLabel = false;
|
|
15270
|
+
this._hint = '';
|
|
15271
|
+
this._icons = undefined;
|
|
15272
|
+
this._id = undefined;
|
|
15273
|
+
this._label = undefined;
|
|
15274
|
+
this._msg = undefined;
|
|
15275
|
+
this._multiple = false;
|
|
15276
|
+
this._name = undefined;
|
|
15277
|
+
this._on = undefined;
|
|
15278
|
+
this._options = undefined;
|
|
15279
|
+
this._required = false;
|
|
15280
|
+
this._shortKey = undefined;
|
|
15281
|
+
this._rows = undefined;
|
|
15282
|
+
this._syncValueBySelector = undefined;
|
|
15283
|
+
this._tabIndex = undefined;
|
|
15284
|
+
this._tooltipAlign = 'top';
|
|
15285
|
+
this._touched = false;
|
|
15286
|
+
this._value = undefined;
|
|
15287
|
+
}
|
|
15288
|
+
async getValue() {
|
|
15289
|
+
var _a;
|
|
15290
|
+
return (_a = this.selectWcRef) === null || _a === void 0 ? void 0 : _a.getValue();
|
|
15291
|
+
}
|
|
15292
|
+
async focus() {
|
|
15293
|
+
await this.kolFocus();
|
|
15294
|
+
}
|
|
15295
|
+
async kolFocus() {
|
|
15296
|
+
var _a;
|
|
15297
|
+
await ((_a = this.selectWcRef) === null || _a === void 0 ? void 0 : _a.kolFocus());
|
|
15298
|
+
}
|
|
15299
|
+
render() {
|
|
15300
|
+
return (hAsync(Host, { key: 'a303fcd439bef030c12fdda84453495f41dc732b', class: "kol-select" }, hAsync(KolSelectWcTag, { key: 'f2442747b865aea9a8ea171893064a38bf589c02', ref: this.catchRef, _accessKey: this._accessKey, _alert: this._alert, _disabled: this._disabled, _error: this._error, _hideError: this._hideError, _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: '8a38f28a0f4dadeaf0e5bcb8228e077c6fea55e3', name: "expert", slot: "expert" }))));
|
|
15301
|
+
}
|
|
15302
|
+
static get style() { return {
|
|
15303
|
+
default: KolSelectDefaultStyle0
|
|
15304
|
+
}; }
|
|
15305
|
+
static get cmpMeta() { return {
|
|
15306
|
+
"$flags$": 41,
|
|
15307
|
+
"$tagName$": "kol-select",
|
|
15308
|
+
"$members$": {
|
|
15309
|
+
"_accessKey": [1, "_access-key"],
|
|
15310
|
+
"_alert": [1540],
|
|
15311
|
+
"_disabled": [4],
|
|
15312
|
+
"_error": [1],
|
|
15313
|
+
"_hideError": [1540, "_hide-error"],
|
|
15314
|
+
"_hideLabel": [4, "_hide-label"],
|
|
15315
|
+
"_hint": [1],
|
|
15316
|
+
"_icons": [1],
|
|
15317
|
+
"_id": [1],
|
|
15318
|
+
"_label": [1],
|
|
15319
|
+
"_msg": [1],
|
|
15320
|
+
"_multiple": [4],
|
|
15321
|
+
"_name": [1],
|
|
15322
|
+
"_on": [16],
|
|
15323
|
+
"_options": [1],
|
|
15324
|
+
"_required": [4],
|
|
15325
|
+
"_shortKey": [1, "_short-key"],
|
|
15326
|
+
"_rows": [2],
|
|
15327
|
+
"_syncValueBySelector": [1, "_sync-value-by-selector"],
|
|
15328
|
+
"_tabIndex": [2, "_tab-index"],
|
|
15329
|
+
"_tooltipAlign": [1, "_tooltip-align"],
|
|
15330
|
+
"_touched": [1540],
|
|
15331
|
+
"_value": [1025],
|
|
15332
|
+
"getValue": [64],
|
|
15333
|
+
"focus": [64],
|
|
15334
|
+
"kolFocus": [64]
|
|
15335
|
+
},
|
|
15336
|
+
"$listeners$": undefined,
|
|
15337
|
+
"$lazyBundleId$": "-",
|
|
15338
|
+
"$attrsToReflect$": [["_alert", "_alert"], ["_hideError", "_hide-error"], ["_touched", "_touched"]]
|
|
15339
|
+
}; }
|
|
15340
|
+
}
|
|
15341
|
+
|
|
15246
15342
|
class SelectController extends InputIconController {
|
|
15247
15343
|
constructor(component, name, host) {
|
|
15248
15344
|
super(component, name, host);
|
|
15249
15345
|
this.keyOptionMap = new Map();
|
|
15250
15346
|
this.getOptionByKey = (key) => this.keyOptionMap.get(key);
|
|
15251
15347
|
this.isValueInOptions = (value, options) => {
|
|
15252
|
-
return (options.find((option) =>
|
|
15253
|
-
?
|
|
15348
|
+
return (options.find((option) => option.value === value
|
|
15349
|
+
? true
|
|
15254
15350
|
: Array.isArray(option.options)
|
|
15255
15351
|
? this.isValueInOptions(value, option.options)
|
|
15256
15352
|
: false) !== undefined);
|
|
15257
15353
|
};
|
|
15258
15354
|
this.filterValuesInOptions = (values, options) => {
|
|
15259
|
-
return values.filter((value) => this.isValueInOptions(value, options)
|
|
15355
|
+
return values.filter((value) => this.isValueInOptions(value, options));
|
|
15260
15356
|
};
|
|
15261
15357
|
this.afterPatchOptions = (value, _state, _component, key) => {
|
|
15262
15358
|
if (key === '_value') {
|
|
@@ -15271,9 +15367,7 @@ class SelectController extends InputIconController {
|
|
|
15271
15367
|
const value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;
|
|
15272
15368
|
const selected = this.filterValuesInOptions(Array.isArray(value) && value.length > 0 ? value : [], options);
|
|
15273
15369
|
if (this.component._multiple === false && selected.length === 0) {
|
|
15274
|
-
nextState.set('_value', [
|
|
15275
|
-
options[0].value,
|
|
15276
|
-
]);
|
|
15370
|
+
nextState.set('_value', [options[0].value]);
|
|
15277
15371
|
}
|
|
15278
15372
|
else if (Array.isArray(value) && selected.length < value.length) {
|
|
15279
15373
|
nextState.set('_value', selected);
|
|
@@ -15305,7 +15399,7 @@ class SelectController extends InputIconController {
|
|
|
15305
15399
|
validateRows(this.component, value);
|
|
15306
15400
|
}
|
|
15307
15401
|
validateValue(value) {
|
|
15308
|
-
watchJsonArrayString(this.component, '_value', () =>
|
|
15402
|
+
watchJsonArrayString(this.component, '_value', (item) => typeof item === 'string' || typeof item === 'number' || typeof item === 'boolean', value, undefined, {
|
|
15309
15403
|
hooks: {
|
|
15310
15404
|
afterPatch: this.afterPatchOptions,
|
|
15311
15405
|
beforePatch: this.beforePatchOptions,
|
|
@@ -15322,13 +15416,10 @@ class SelectController extends InputIconController {
|
|
|
15322
15416
|
}
|
|
15323
15417
|
}
|
|
15324
15418
|
|
|
15325
|
-
const defaultStyleCss$d = "@charset \"UTF-8\";\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n 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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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 .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n background-color: white;\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n option:checked::before {\n content: \"✓ \";\n }\n}";
|
|
15326
|
-
var KolSelectDefaultStyle0 = defaultStyleCss$d;
|
|
15327
|
-
|
|
15328
15419
|
const isSelected = (valueList, optionValue) => {
|
|
15329
15420
|
return Array.isArray(valueList) && valueList.includes(optionValue);
|
|
15330
15421
|
};
|
|
15331
|
-
class
|
|
15422
|
+
class KolSelectWc {
|
|
15332
15423
|
async getValue() {
|
|
15333
15424
|
return this.state._value;
|
|
15334
15425
|
}
|
|
@@ -15354,16 +15445,16 @@ class KolSelect {
|
|
|
15354
15445
|
render() {
|
|
15355
15446
|
const { ariaDescribedBy } = getRenderStates(this.state);
|
|
15356
15447
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
15357
|
-
return (hAsync(Host, { key: '
|
|
15448
|
+
return (hAsync(Host, { key: 'aec07ca91f95cf59107ac5f5afb73d7befc2549f', class: { 'kol-select-wc': true, 'has-value': this.state._hasValue } }, hAsync(KolInputTag, { key: 'e33293fa0aa701477062f328af7ff06e40eae08d', class: {
|
|
15358
15449
|
'hide-label': !!this.state._hideLabel,
|
|
15359
15450
|
select: true,
|
|
15360
|
-
}, _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _disabled: this.state._disabled, _hideError: this.state._hideError, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _msg: this.state._msg, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, onClick: () => { var _a; return (_a = this.selectRef) === null || _a === void 0 ? void 0 : _a.focus(); }, role: `presentation` }, hAsync("span", { key: '
|
|
15451
|
+
}, _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _disabled: this.state._disabled, _hideError: this.state._hideError, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _msg: this.state._msg, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, onClick: () => { var _a; return (_a = this.selectRef) === null || _a === void 0 ? void 0 : _a.focus(); }, role: `presentation` }, hAsync("span", { key: '9d4670f1a6b2f16b6bdfa2970003815580a355a2', slot: "label" }, hasExpertSlot ? (hAsync("slot", { name: "expert" })) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (hAsync(Fragment, null, hAsync(InternalUnderlinedBadgeText, { badgeText: buildBadgeTextString(this.state._accessKey, this.state._shortKey), label: this.state._label }), ' ', hAsync("kbd", { class: "badge-text-hint", "aria-hidden": "true" }, buildBadgeTextString(this.state._accessKey, this.state._shortKey)))) : (hAsync("span", null, this.state._label))), hAsync("div", { key: '4d66f8b2d5aea406b7f76edcb6aad8f78e060cf8', slot: "input" }, hAsync("form", { key: '16eb99da01b1e4a47a2ca2d73297a6b11275eb07', onSubmit: (event) => {
|
|
15361
15452
|
event.preventDefault();
|
|
15362
15453
|
propagateSubmitEventToForm({
|
|
15363
15454
|
form: this.host,
|
|
15364
15455
|
ref: this.selectRef,
|
|
15365
15456
|
});
|
|
15366
|
-
} }, hAsync("input", { key: '
|
|
15457
|
+
} }, hAsync("input", { key: '57dbb7e9195828d0a15cc7c0a7cbee241b328a96', type: "submit", hidden: true }), hAsync("select", Object.assign({ key: 'b744d87ff8cd648aa20e61a3a25ec5c14db5a9d4', ref: this.catchRef, title: "", accessKey: this.state._accessKey, "aria-keyshortcuts": this.state._shortKey, "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, autoCapitalize: "off", autoCorrect: "off", disabled: this.state._disabled, id: this.state._id, multiple: this.state._multiple, name: this.state._name, required: this.state._required, size: this.state._rows }, this.controller.onFacade, { onInput: this.onInput.bind(this), onChange: this.onChange.bind(this), onFocus: (event) => {
|
|
15367
15458
|
this.controller.onFacade.onFocus(event);
|
|
15368
15459
|
this.inputHasFocus = true;
|
|
15369
15460
|
}, onBlur: (event) => {
|
|
@@ -15501,7 +15592,8 @@ class KolSelect {
|
|
|
15501
15592
|
var _a, _b, _c;
|
|
15502
15593
|
this._value = Array.from(((_a = this.selectRef) === null || _a === void 0 ? void 0 : _a.options) || [])
|
|
15503
15594
|
.filter((option) => option.selected === true)
|
|
15504
|
-
.map((option) => { var _a; return (_a = this.controller.getOptionByKey(option.value)) === null || _a === void 0 ? void 0 : _a.value; })
|
|
15595
|
+
.map((option) => { var _a; return (_a = this.controller.getOptionByKey(option.value)) === null || _a === void 0 ? void 0 : _a.value; })
|
|
15596
|
+
.filter((value) => value !== undefined);
|
|
15505
15597
|
tryToDispatchKoliBriEvent('input', this.host, this._value);
|
|
15506
15598
|
(_c = (_b = this.state._on) === null || _b === void 0 ? void 0 : _b.onInput) === null || _c === void 0 ? void 0 : _c.call(_b, event, this._value);
|
|
15507
15599
|
}
|
|
@@ -15537,12 +15629,9 @@ class KolSelect {
|
|
|
15537
15629
|
"_touched": ["validateTouched"],
|
|
15538
15630
|
"_value": ["validateValue"]
|
|
15539
15631
|
}; }
|
|
15540
|
-
static get style() { return {
|
|
15541
|
-
default: KolSelectDefaultStyle0
|
|
15542
|
-
}; }
|
|
15543
15632
|
static get cmpMeta() { return {
|
|
15544
|
-
"$flags$":
|
|
15545
|
-
"$tagName$": "kol-select",
|
|
15633
|
+
"$flags$": 4,
|
|
15634
|
+
"$tagName$": "kol-select-wc",
|
|
15546
15635
|
"$members$": {
|
|
15547
15636
|
"_accessKey": [1, "_access-key"],
|
|
15548
15637
|
"_alert": [1540],
|
|
@@ -15631,7 +15720,7 @@ class SingleSelectController extends InputIconController {
|
|
|
15631
15720
|
}
|
|
15632
15721
|
}
|
|
15633
15722
|
|
|
15634
|
-
const defaultStyleCss$c = "/*\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n 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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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 .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n background-color: white;\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n width: var(--a11y-min-size);\n height: auto;\n }\n .single-select__listbox {\n background-color: white;\n display: block;\n position: absolute;\n z-index: 2;\n max-height: calc((40rem / var(--kolibri-root-font-size, 16)) * var(--visible-options, 5) + (2rem / var(--kolibri-root-font-size, 16))) !important;\n margin: 0;\n padding: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style-type: none;\n }\n .single-select__item.highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__no-results-message {\n display: flex;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n justify-content: center;\n cursor: default;\n }\n}";
|
|
15723
|
+
const defaultStyleCss$c = "/*\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n 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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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 .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n option,\n select,\n textarea {\n background-color: transparent;\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n background-color: white;\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n button:not([role=link]) {\n min-height: auto;\n }\n .input > .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n width: var(--a11y-min-size);\n height: auto;\n }\n .single-select__listbox {\n background-color: white;\n display: block;\n position: absolute;\n z-index: 2;\n max-height: calc((40rem / var(--kolibri-root-font-size, 16)) * var(--visible-options, 5) + (2rem / var(--kolibri-root-font-size, 16))) !important;\n margin: 0;\n padding: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style-type: none;\n }\n .single-select__item:not(.single-select__item--disabled).highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__item--disabled:focus, .single-select__item--disabled:focus * {\n cursor: not-allowed;\n }\n .single-select__no-results-message {\n display: flex;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n justify-content: center;\n cursor: default;\n }\n}";
|
|
15635
15724
|
var KolSingleSelectDefaultStyle0 = defaultStyleCss$c;
|
|
15636
15725
|
|
|
15637
15726
|
class KolSingleSelect {
|
|
@@ -15744,14 +15833,28 @@ class KolSingleSelect {
|
|
|
15744
15833
|
return;
|
|
15745
15834
|
}
|
|
15746
15835
|
let newIndex = this._focusedOptionIndex + delta;
|
|
15747
|
-
|
|
15748
|
-
|
|
15836
|
+
let iterations = 0;
|
|
15837
|
+
let foundEnabledOption = false;
|
|
15838
|
+
const maxIterations = this._filteredOptions.length;
|
|
15839
|
+
while (iterations < maxIterations) {
|
|
15840
|
+
if (newIndex >= this._filteredOptions.length) {
|
|
15841
|
+
newIndex = 0;
|
|
15842
|
+
}
|
|
15843
|
+
if (newIndex < 0) {
|
|
15844
|
+
newIndex = this._filteredOptions.length - 1;
|
|
15845
|
+
}
|
|
15846
|
+
const option = this._filteredOptions[newIndex];
|
|
15847
|
+
if (!option.disabled) {
|
|
15848
|
+
foundEnabledOption = true;
|
|
15849
|
+
break;
|
|
15850
|
+
}
|
|
15851
|
+
newIndex += delta;
|
|
15852
|
+
iterations++;
|
|
15749
15853
|
}
|
|
15750
|
-
if (
|
|
15751
|
-
|
|
15854
|
+
if (foundEnabledOption) {
|
|
15855
|
+
this._focusedOptionIndex = newIndex;
|
|
15856
|
+
this.focusOption(this._focusedOptionIndex);
|
|
15752
15857
|
}
|
|
15753
|
-
this._focusedOptionIndex = newIndex;
|
|
15754
|
-
this.focusOption(this._focusedOptionIndex);
|
|
15755
15858
|
}
|
|
15756
15859
|
focusOption(index) {
|
|
15757
15860
|
if (this.refOptions) {
|
|
@@ -15761,8 +15864,9 @@ class KolSingleSelect {
|
|
|
15761
15864
|
}
|
|
15762
15865
|
focusSuggestionStartingWith(char) {
|
|
15763
15866
|
const charLowerCase = char.toLowerCase();
|
|
15764
|
-
const index = Array.isArray(this._filteredOptions) &&
|
|
15765
|
-
|
|
15867
|
+
const index = Array.isArray(this._filteredOptions) &&
|
|
15868
|
+
this._filteredOptions.findIndex((option) => option.label.toLowerCase().startsWith(charLowerCase) && !option.disabled);
|
|
15869
|
+
if (typeof index === 'number' && index >= 0) {
|
|
15766
15870
|
this._focusedOptionIndex = index;
|
|
15767
15871
|
this.focusOption(index);
|
|
15768
15872
|
}
|
|
@@ -15771,43 +15875,54 @@ class KolSingleSelect {
|
|
|
15771
15875
|
var _a;
|
|
15772
15876
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
15773
15877
|
const { ariaDescribedBy } = getRenderStates(this.state);
|
|
15774
|
-
return (hAsync(Host, { key: '
|
|
15878
|
+
return (hAsync(Host, { key: '7180098d193a24c598e7a5d994e0faa7de779b40', class: "kol-single-select" }, hAsync("div", { key: '9fa7035c951a732dac6cf834b6d3a7fb210aa2e3', class: `single-select ${this.state._disabled === true ? 'disabled' : ''} ` }, hAsync(KolInputTag, { key: '7a387335c227a1c72112c05d052247f4122b3618', _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _disabled: this.state._disabled, _hideError: this.state._hideError, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _msg: this.state._msg, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, role: `presentation` }, hAsync("span", { key: '2f47e4f853340ab4710bebce19cc65b9234509c3', slot: "label" }, hasExpertSlot ? (hAsync("slot", { name: "expert" })) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (hAsync(Fragment, null, hAsync(InternalUnderlinedBadgeText, { badgeText: buildBadgeTextString(this.state._accessKey || this.state._shortKey), label: this.state._label }), ' ', hAsync("kbd", { class: "badge-text-hint", "aria-hidden": "true" }, buildBadgeTextString(this.state._accessKey || this.state._shortKey)))) : (hAsync("span", null, this.state._label))), hAsync("div", { key: '9d7cec91578868224a7a91198345f8d4da5f21fa', slot: "input" }, hAsync("div", { key: '14e28f986822de92d05622eae4d3b12f64168d89', class: "single-select__group" }, hAsync("input", Object.assign({ key: 'e4f8f97dc7212cb34ddccff893bbfd04743602e9', ref: this.catchRef, class: "single-select__input", "data-testid": "single-select-input", type: "text", "aria-autocomplete": "both", "aria-controls": "listbox", value: this._inputValue, accessKey: this.state._accessKey, "aria-keyshortcuts": this.state._shortKey, "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-activedescendant": this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined, autoCapitalize: "off", autoComplete: "off", autoCorrect: "off", disabled: this.state._disabled, name: this.state._name, required: this.state._required }, this.controller.onFacade, { onInput: this.onInput.bind(this), onChange: this.onChange.bind(this), onClick: this.toggleListbox.bind(this), onFocus: (event) => {
|
|
15775
15879
|
this.controller.onFacade.onFocus(event);
|
|
15776
15880
|
this.inputHasFocus = true;
|
|
15777
15881
|
}, onBlur: (event) => {
|
|
15778
15882
|
this.controller.onFacade.onBlur(event);
|
|
15779
15883
|
this.inputHasFocus = false;
|
|
15780
|
-
}, placeholder: this.state._placeholder })), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: '
|
|
15884
|
+
}, placeholder: this.state._placeholder })), this._inputValue && !this.state._hideClearButton && (hAsync(KolIconTag, { key: '56f9c3f1ed3773092b83a8d025ebfa9ca6f71cd9', _icons: "codicon codicon-close", _label: translate('kol-delete-selection'), onClick: () => {
|
|
15781
15885
|
var _a;
|
|
15782
15886
|
this.clearSelection();
|
|
15783
15887
|
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
15784
|
-
}, class: "single-select__delete" })), hAsync("button", { key: '
|
|
15785
|
-
|
|
15786
|
-
|
|
15787
|
-
|
|
15788
|
-
|
|
15789
|
-
this.
|
|
15790
|
-
|
|
15791
|
-
|
|
15792
|
-
|
|
15793
|
-
|
|
15794
|
-
}, onMouseOver: () => {
|
|
15795
|
-
if (!this.blockSuggestionMouseOver) {
|
|
15796
|
-
this._focusedOptionIndex = index;
|
|
15797
|
-
this.focusOption(index);
|
|
15798
|
-
}
|
|
15799
|
-
}, onFocus: () => {
|
|
15800
|
-
this._focusedOptionIndex = index;
|
|
15801
|
-
this.focusOption(index);
|
|
15802
|
-
}, class: "single-select__item", onKeyDown: (e) => {
|
|
15803
|
-
var _a;
|
|
15804
|
-
if (e.key === 'Enter' || e.key === 'NumpadEnter') {
|
|
15888
|
+
}, class: "single-select__delete" })), hAsync("button", { key: '120d09eccca8b3b8555e185ef2380edc7a402da1', tabindex: "-1", class: "single-select__button", onClick: this.toggleListbox.bind(this), disabled: this.state._disabled }, hAsync(KolIconTag, { key: '59dff271a5219a84e3e8e0a18d3bf7e9e8b7fa5c', _icons: "codicon codicon-triangle-down", _label: translate('kol-dropdown') }))), this._isOpen && !(this.state._disabled === true) && (hAsync("ul", { key: 'e4101ba05c1af934d188a1508c81cb14ef26d75e', role: "listbox", class: clsx('single-select__listbox', this.blockSuggestionMouseOver && 'single-select__listbox--cursor-hidden'), style: { '--visible-options': `${(_a = this._rows) !== null && _a !== void 0 ? _a : 5}` }, onKeyDown: this.handleKeyDownDropdown.bind(this) }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => {
|
|
15889
|
+
var _a;
|
|
15890
|
+
return (hAsync("li", { id: `option-${index}`, key: `-${index}`, ref: (el) => {
|
|
15891
|
+
if (el)
|
|
15892
|
+
this.refOptions[index] = el;
|
|
15893
|
+
}, tabIndex: -1, role: "option", "aria-selected": this._value === option.value ? 'true' : undefined, "aria-disabled": option.disabled ? 'true' : undefined, onClick: (event) => {
|
|
15894
|
+
var _a;
|
|
15895
|
+
if (option.disabled) {
|
|
15896
|
+
return;
|
|
15897
|
+
}
|
|
15805
15898
|
this.selectOption(option);
|
|
15806
15899
|
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
15807
|
-
this.toggleListbox(
|
|
15808
|
-
|
|
15809
|
-
|
|
15810
|
-
|
|
15900
|
+
this.toggleListbox(event);
|
|
15901
|
+
this._isOpen = false;
|
|
15902
|
+
this._hasOpened = false;
|
|
15903
|
+
}, onMouseOver: () => {
|
|
15904
|
+
if (!this.blockSuggestionMouseOver) {
|
|
15905
|
+
this._focusedOptionIndex = index;
|
|
15906
|
+
this.focusOption(index);
|
|
15907
|
+
}
|
|
15908
|
+
}, onFocus: () => {
|
|
15909
|
+
if (!option.disabled) {
|
|
15910
|
+
this._focusedOptionIndex = index;
|
|
15911
|
+
this.focusOption(index);
|
|
15912
|
+
}
|
|
15913
|
+
}, class: clsx('single-select__item', { 'single-select__item--disabled': option.disabled }), onKeyDown: (e) => {
|
|
15914
|
+
var _a;
|
|
15915
|
+
if (option.disabled) {
|
|
15916
|
+
return;
|
|
15917
|
+
}
|
|
15918
|
+
if (e.key === 'Enter' || e.key === 'NumpadEnter') {
|
|
15919
|
+
this.selectOption(option);
|
|
15920
|
+
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
15921
|
+
this.toggleListbox(e);
|
|
15922
|
+
e.preventDefault();
|
|
15923
|
+
}
|
|
15924
|
+
} }, hAsync("input", { class: "visually-hidden", type: "radio", disabled: (_a = option.disabled) !== null && _a !== void 0 ? _a : undefined, name: "options", id: `option-radio-${index}`, value: option.value, checked: this._value === option.value || index === this._focusedOptionIndex }), hAsync("label", { htmlFor: `option-radio-${index}`, class: "radio-label" }, option.label)));
|
|
15925
|
+
})) : (hAsync("li", { class: "single-select__no-results-message" }, translate('kol-no-results-message'), " ")))))))));
|
|
15811
15926
|
}
|
|
15812
15927
|
handleFocusOut() {
|
|
15813
15928
|
setTimeout(() => {
|
|
@@ -16163,7 +16278,7 @@ class KolSkipNav {
|
|
|
16163
16278
|
};
|
|
16164
16279
|
}
|
|
16165
16280
|
render() {
|
|
16166
|
-
return (hAsync(Host, { key: '
|
|
16281
|
+
return (hAsync(Host, { key: '31dea69f183ae64b04d1d3c9f21a12dc67c460db', class: "kol-skip-nav" }, hAsync("nav", { key: '2ddbf00d7c97058942323af5bafa68fd5a5959dd', "aria-label": this.state._label }, hAsync("ul", { key: '80b9bb23de090f334dadde08ef95a0ffdf2d0dff' }, this.state._links.map((link, index) => {
|
|
16167
16282
|
return (hAsync("li", { key: index }, hAsync(KolLinkWcTag, Object.assign({}, link, { ref: index === 0 ? (el) => (this.firstLinkRef = el) : undefined }))));
|
|
16168
16283
|
})))));
|
|
16169
16284
|
}
|
|
@@ -24556,10 +24671,10 @@ class KolSpanWc {
|
|
|
24556
24671
|
render() {
|
|
24557
24672
|
var _a, _b, _c, _d, _e;
|
|
24558
24673
|
const hideExpertSlot = !showExpertSlot(this.state._label);
|
|
24559
|
-
return (hAsync(Host, { key: '
|
|
24674
|
+
return (hAsync(Host, { key: 'fdfd3a826efeaf6222f82807d1092ead54df42bc', class: {
|
|
24560
24675
|
'kol-span-wc': true,
|
|
24561
24676
|
'hide-label': !!this.state._hideLabel,
|
|
24562
|
-
} }, this.state._icons.top && (hAsync(KolIconTag, { key: '
|
|
24677
|
+
} }, this.state._icons.top && (hAsync(KolIconTag, { key: 'a850b2ce84c9fa0798ea66706b175f396423d538', class: "icon top", style: this.state._icons.top.style, _label: (_a = this.state._icons.top.label) !== null && _a !== void 0 ? _a : '', _icons: this.state._icons.top.icon })), hAsync("span", { key: '0616d82985e38e46e3539bfbcf30cef782e04fbb' }, this.state._icons.left && (hAsync(KolIconTag, { key: '50dad540d78da59ed93d1cab8f4584a081a90e83', class: "icon left", style: this.state._icons.left.style, _label: (_b = this.state._icons.left.label) !== null && _b !== void 0 ? _b : '', _icons: this.state._icons.left.icon })), !this.state._hideLabel && hideExpertSlot ? (this.state._allowMarkdown && typeof this.state._label === 'string' && this.state._label.length > 0 ? (hAsync("span", { class: "span-label md", innerHTML: md(this.state._label) })) : (hAsync("span", { class: "span-label" }, this.state._badgeText && this.state._label.length ? (hAsync(InternalUnderlinedBadgeText, { label: this.state._label, badgeText: this.state._badgeText })) : (((_c = this.state._label) !== null && _c !== void 0 ? _c : ''))))) : (''), hAsync("span", { key: '7b2d56c97dab35aa6b504e755c68baf69cd73f66', "aria-hidden": hideExpertSlot ? 'true' : undefined, class: "span-label", hidden: hideExpertSlot }, hAsync("slot", { key: '05b5293ea3c92e2138aa8952f6b8ebd48a22ae04', name: "expert" })), this.state._badgeText && (hAsync("kbd", { key: '6807b33128c322c5ba01985e71b6779ebeec25cd', class: "badge-text-hint", "aria-hidden": "true" }, this.state._badgeText)), this.state._icons.right && (hAsync(KolIconTag, { key: 'a69dddc7f7009487146de09e315eb043db3eea42', class: "icon right", style: this.state._icons.right.style, _label: (_d = this.state._icons.right.label) !== null && _d !== void 0 ? _d : '', _icons: this.state._icons.right.icon }))), this.state._icons.bottom && (hAsync(KolIconTag, { key: '55e888759d73d994b4988947da7b39710daff80a', class: "icon bottom", style: this.state._icons.bottom.style, _label: (_e = this.state._icons.bottom.label) !== null && _e !== void 0 ? _e : '', _icons: this.state._icons.bottom.icon }))));
|
|
24563
24678
|
}
|
|
24564
24679
|
validateBadgeText(value) {
|
|
24565
24680
|
validateBadgeText(this, value);
|
|
@@ -24637,7 +24752,7 @@ class KolSpin {
|
|
|
24637
24752
|
};
|
|
24638
24753
|
}
|
|
24639
24754
|
render() {
|
|
24640
|
-
return (hAsync(Host, { key: '
|
|
24755
|
+
return (hAsync(Host, { key: '9980594780aef9155770d257bc71a329cdb43bcb', class: "kol-spin" }, this.state._show ? (hAsync("span", { "aria-busy": "true", "aria-label": translate('kol-action-running'), "aria-live": "polite", class: {
|
|
24641
24756
|
spin: true,
|
|
24642
24757
|
[this.state._variant]: true,
|
|
24643
24758
|
}, role: "alert" }, renderSpin(this.state._variant))) : (this.showToggled && hAsync("span", { "aria-label": translate('kol-action-done'), "aria-busy": "false", "aria-live": "polite", role: "alert" }))));
|
|
@@ -24722,10 +24837,10 @@ class KolSplitButton {
|
|
|
24722
24837
|
}
|
|
24723
24838
|
render() {
|
|
24724
24839
|
const i18nDropdownLabel = 'kol-split-button-dropdown-label';
|
|
24725
|
-
return (hAsync(Host, { key: '
|
|
24840
|
+
return (hAsync(Host, { key: 'd747d36dee39a6dbba4dbee54f40fcae97a89df9', class: "kol-split-button" }, hAsync("div", { key: '4fe31843dc5166cfcf1c9fdbb50501e7603c41bf', class: "split-button-root" }, hAsync(KolButtonWcTag, { key: '8c751dce761c6f5b61162a4ae51645b7abc2224d', class: {
|
|
24726
24841
|
'main-button': true,
|
|
24727
24842
|
button: true,
|
|
24728
|
-
}, _ariaControls: this._ariaControls, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: '
|
|
24843
|
+
}, _ariaControls: this._ariaControls, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: '3bd199965fbb156f399de3558316be887272235e', class: "horizontal-line" }), hAsync(KolButtonWcTag, { key: '1a30acb4c71e787f264434c6feed5a534eb4a7f1', class: { 'secondary-button': true, [this._variant]: this._variant !== 'custom' }, _disabled: this._disabled, _hideLabel: true, _icons: "codicon codicon-triangle-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler, _variant: this._variant })), hAsync(KolPopoverWcTag, { key: 'b12c89bb545f90b59d0a99d3d9bb2e1c2b50cf9b', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: '0be3889b87cdecc5f485b57ff6b1d47b26d7e636' }))));
|
|
24729
24844
|
}
|
|
24730
24845
|
async closePopup() {
|
|
24731
24846
|
this.handleOnClose();
|
|
@@ -24777,7 +24892,7 @@ class KolSymbol {
|
|
|
24777
24892
|
};
|
|
24778
24893
|
}
|
|
24779
24894
|
render() {
|
|
24780
|
-
return (hAsync(Host, { key: '
|
|
24895
|
+
return (hAsync(Host, { key: '90b470072c9a1933123d6cf1930e71dc91f93c26', class: "kol-symbol" }, hAsync("span", { key: '5b68c660c07085b545df10203a4d3f43814981c4', "aria-label": this.state._label, role: "term" }, this.state._symbol)));
|
|
24781
24896
|
}
|
|
24782
24897
|
validateLabel(value) {
|
|
24783
24898
|
validateLabel(this, value, {
|
|
@@ -24826,7 +24941,7 @@ class KolTable {
|
|
|
24826
24941
|
this._on = undefined;
|
|
24827
24942
|
}
|
|
24828
24943
|
render() {
|
|
24829
|
-
return (hAsync(KolTableStatefulTag, { key: '
|
|
24944
|
+
return (hAsync(KolTableStatefulTag, { key: 'b40171dcd9ce27f98ed2a23754e23df165a7515a', _allowMultiSort: this._allowMultiSort, _data: this._data, _dataFoot: this._dataFoot, _headers: this._headers, _label: this._label, _minWidth: this._minWidth, _pagination: this._pagination, _paginationPosition: this._paginationPosition, _selection: this._selection, _on: this._on }));
|
|
24830
24945
|
}
|
|
24831
24946
|
static get cmpMeta() { return {
|
|
24832
24947
|
"$flags$": 9,
|
|
@@ -25255,7 +25370,7 @@ class KolTableStateful {
|
|
|
25255
25370
|
horizontal: (_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) })))),
|
|
25256
25371
|
vertical: (_d = this.state._headers.vertical) === null || _d === void 0 ? void 0 : _d.map((column) => column.map((cell) => (Object.assign(Object.assign({}, cell), { sortDirection: this.getHeaderCellSortState(cell) })))),
|
|
25257
25372
|
};
|
|
25258
|
-
return (hAsync(Host, { key: '
|
|
25373
|
+
return (hAsync(Host, { key: '08f169e0520e974e018e987202a9af0ced93a19e', class: "kol-table-stateful" }, this.pageEndSlice > 0 && this.showPagination && paginationTop, hAsync(KolTableStatelessWcTag, { key: '86b50cb5b9d07ea8c137c54a51b92ec03b656dce', ref: this.catchRef, _data: displayedData, _headerCells: headerCells, _label: this.state._label, _dataFoot: this.state._dataFoot, _minWidth: this.state._minWidth, _on: {
|
|
25259
25374
|
onSort: (_, payload) => {
|
|
25260
25375
|
this.handleSort(payload);
|
|
25261
25376
|
},
|
|
@@ -25318,7 +25433,7 @@ class KolTableStateless$1 {
|
|
|
25318
25433
|
this._selection = undefined;
|
|
25319
25434
|
}
|
|
25320
25435
|
render() {
|
|
25321
|
-
return (hAsync(Host, { key: '
|
|
25436
|
+
return (hAsync(Host, { key: '733796675ff193e4eab4354c4a3df3f3728df938', class: "kol-table-stateless" }, hAsync(KolTableStatelessWcTag, { key: '60f23e1dc04182d918b0211514b90a0c597419e5', _data: this._data, _dataFoot: this._dataFoot, _headerCells: this._headerCells, _label: this._label, _minWidth: this._minWidth, _on: this._on, _selection: this._selection })));
|
|
25322
25437
|
}
|
|
25323
25438
|
static get style() { return {
|
|
25324
25439
|
default: KolTableStatelessDefaultStyle0
|
|
@@ -25777,9 +25892,9 @@ class KolTableStateless {
|
|
|
25777
25892
|
render() {
|
|
25778
25893
|
const dataField = this.createDataField(this.state._data, this.state._headerCells);
|
|
25779
25894
|
this.checkboxRefs = [];
|
|
25780
|
-
return (hAsync(Host, { key: '
|
|
25895
|
+
return (hAsync(Host, { key: '4dc4852d25aa27bf6d9a3428adbe16abb1afb3c4', class: "kol-table-stateless-wc" }, hAsync("div", { key: '447073ebc05661e95f918990e6e4da2758d7df99', ref: (element) => (this.tableDivElement = element), class: "table", tabindex: this.tableDivElementHasScrollbar ? '-1' : undefined }, hAsync("table", { key: '6c567cf91459742f1d9255cbca4f77a79f4b2a8f', style: {
|
|
25781
25896
|
minWidth: this.state._deprecatedMinWidth || this.state._minWidth,
|
|
25782
|
-
} }, hAsync("caption", { key: '
|
|
25897
|
+
} }, hAsync("caption", { key: 'f4e55364797dada9b790b91aad302955a9fd8941', id: "caption", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined }, this.state._label), Array.isArray(this.state._headerCells.horizontal) && (hAsync("thead", { key: 'f2828ff867a80ad39d209640bb2b861d973c9730' }, [
|
|
25783
25898
|
this.state._headerCells.horizontal.map((cols, rowIndex) => (hAsync("tr", { key: `thead-${rowIndex}` }, this.state._selection && this.renderHeadingSelectionCell(), rowIndex === 0 && this.renderHeaderTdCell(), Array.isArray(cols) &&
|
|
25784
25899
|
cols.map((cell, colIndex) => {
|
|
25785
25900
|
if (cell.asTd === true) {
|
|
@@ -25805,7 +25920,7 @@ class KolTableStateless {
|
|
|
25805
25920
|
}
|
|
25806
25921
|
})))),
|
|
25807
25922
|
this.renderSpacer('head', this.state._headerCells.horizontal),
|
|
25808
|
-
])), hAsync("tbody", { key: '
|
|
25923
|
+
])), hAsync("tbody", { key: 'cf9963ac9b1883e37a924c493f019c67cb66932b' }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
|
|
25809
25924
|
}
|
|
25810
25925
|
get host() { return getElement(this); }
|
|
25811
25926
|
static get watchers() { return {
|
|
@@ -26043,11 +26158,11 @@ class KolTabs {
|
|
|
26043
26158
|
} }))));
|
|
26044
26159
|
}
|
|
26045
26160
|
render() {
|
|
26046
|
-
return (hAsync(Host, { key: '
|
|
26161
|
+
return (hAsync(Host, { key: 'a3968a8ef448170295b32cd87f99c38b6f0b2b23', class: "kol-tabs" }, hAsync("div", { key: '208a4c4daa5a68fd7bd3637ded3fa513b0e4f418', ref: (el) => {
|
|
26047
26162
|
this.tabPanelsElement = el;
|
|
26048
26163
|
}, class: {
|
|
26049
26164
|
[`tabs-align-${this.state._align}`]: true,
|
|
26050
|
-
} }, this.renderButtonGroup(), hAsync("div", { key: '
|
|
26165
|
+
} }, this.renderButtonGroup(), hAsync("div", { key: 'b7455389653d13113ea488f361a32f7b0edcfa83', class: "tabs-content", ref: this.catchTabPanelHost }))));
|
|
26051
26166
|
}
|
|
26052
26167
|
validateAlign(value) {
|
|
26053
26168
|
validateAlign(this, value);
|
|
@@ -26264,7 +26379,7 @@ class KolTextarea {
|
|
|
26264
26379
|
render() {
|
|
26265
26380
|
const { ariaDescribedBy } = getRenderStates(this.state);
|
|
26266
26381
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
26267
|
-
return (hAsync(Host, { key: '
|
|
26382
|
+
return (hAsync(Host, { key: '4521e94fa842252253c31ad6d38caa55ce4e87b0', class: { 'kol-textarea': true, 'has-value': this.state._hasValue } }, hAsync(KolInputTag, { key: 'b8d0fae4561631325e7c15e477247984732d7d40', class: { textarea: true, 'hide-label': !!this.state._hideLabel, 'has-counter': !!this.state._hasCounter }, _accessKey: this.state._accessKey, _alert: this.showAsAlert(), _currentLength: this.state._currentLength, _currentLengthDebounced: this.state._currentLengthDebounced, _disabled: this.state._disabled, _hideError: this.state._hideError, _hasCounter: this.state._hasCounter, _hideLabel: this.state._hideLabel, _hint: this.state._hint, _icons: this.state._icons, _id: this.state._id, _label: this.state._label, _maxLength: this.state._maxLength, _msg: this.state._msg, _readOnly: this.state._readOnly, _required: this.state._required, _shortKey: this.state._shortKey, _tooltipAlign: this._tooltipAlign, _touched: this.state._touched, onClick: () => { var _a; return (_a = this.textareaRef) === null || _a === void 0 ? void 0 : _a.focus(); }, role: `presentation` }, hAsync("span", { key: '7eb733a2b2bbe891a40ab079f6993a1622b309c4', slot: "label" }, hasExpertSlot ? (hAsync("slot", { name: "expert" })) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (hAsync(Fragment, null, hAsync(InternalUnderlinedBadgeText, { badgeText: buildBadgeTextString(this.state._accessKey || this.state._shortKey), label: this.state._label }), ' ', hAsync("kbd", { class: "badge-text-hint", "aria-hidden": "true" }, buildBadgeTextString(this.state._accessKey || this.state._shortKey)))) : (hAsync("span", null, this.state._label))), hAsync("div", { key: 'a2d0026e436995ab17e5fdad9ae43f69fcd0719e', slot: "input" }, hAsync("textarea", Object.assign({ key: '5d998e4bd5290b4c549271338245867882150c51', ref: this.catchRef, title: "", accessKey: this.state._accessKey, "aria-keyshortcuts": this.state._shortKey, "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined, "aria-label": this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, autoCapitalize: "off", autoCorrect: "off", disabled: this.state._disabled, id: this.state._id, maxlength: this.state._maxLength, name: this.state._name, readOnly: this.state._readOnly, required: this.state._required, rows: this.state._rows, placeholder: this.state._placeholder, spellcheck: this.state._spellCheck }, this.controller.onFacade, { onInput: this.onInput, onFocus: (event) => {
|
|
26268
26383
|
this.controller.onFacade.onFocus(event);
|
|
26269
26384
|
this.inputHasFocus = true;
|
|
26270
26385
|
}, onBlur: (event) => {
|
|
@@ -26522,7 +26637,7 @@ const InternalToast = ({ key, onClose, onRef, toastState }) => {
|
|
|
26522
26637
|
hAsync("div", { ref: onRef }, typeof toastState.toast.description === 'string' ? toastState.toast.description : null))));
|
|
26523
26638
|
};
|
|
26524
26639
|
|
|
26525
|
-
const defaultStyleCss$4 = "/*\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n 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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: flex;\n position: fixed;\n z-index: 200;\n flex-direction: column;\n }\n .close-all {\n align-self: flex-end;\n }\n}";
|
|
26640
|
+
const defaultStyleCss$4 = "/*\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(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\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 * {\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 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 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%; /* 100% needed for custom width from outside */\n margin: 0;\n padding: 0;\n border: none;\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\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(16rem / 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 /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n 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, unset);\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-wc .tooltip-floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip-wc .tooltip-floating.show {\n animation-name: showTooltip;\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n color: #000;\n background-color: #fff;\n }\n .kol-tooltip-wc .tooltip-arrow {\n transform: rotate(45deg);\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc .tooltip-content {\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-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: flex;\n position: fixed;\n z-index: 200;\n max-width: 90vw;\n flex-direction: column;\n }\n .close-all {\n align-self: flex-end;\n }\n}";
|
|
26526
26641
|
var KolToastContainerDefaultStyle0 = defaultStyleCss$4;
|
|
26527
26642
|
|
|
26528
26643
|
const TRANSITION_TIMEOUT = 300;
|
|
@@ -26585,7 +26700,7 @@ class KolToastContainer {
|
|
|
26585
26700
|
}
|
|
26586
26701
|
}
|
|
26587
26702
|
render() {
|
|
26588
|
-
return (hAsync(Host, { key: '
|
|
26703
|
+
return (hAsync(Host, { key: '75bd108ec28225c3319a27f2181923d7d0a73fda', class: "kol-toast-container" }, this.state._toastStates.length > 1 && (hAsync(KolButtonTag, { key: 'b4b27a44db0a85940c62e0eec06b623ffd0bc0cc', _label: translate('kol-toast-close-all'), class: "close-all", _on: {
|
|
26589
26704
|
onClick: () => {
|
|
26590
26705
|
void this.closeAll();
|
|
26591
26706
|
},
|
|
@@ -26643,7 +26758,7 @@ class KolToolbar {
|
|
|
26643
26758
|
return Object.assign(Object.assign({}, rest), { _icons, _disabled });
|
|
26644
26759
|
}
|
|
26645
26760
|
render() {
|
|
26646
|
-
return (hAsync(Host, { key: '
|
|
26761
|
+
return (hAsync(Host, { key: 'b3d64370b42779863c0bb7c631790c1c2057bbab', class: "kol-toolbar" }, hAsync("div", { key: 'c4fddaa528e345be91561aadb24e5c5f85404071', class: "toolbar", role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem))));
|
|
26647
26762
|
}
|
|
26648
26763
|
validateLabel(value) {
|
|
26649
26764
|
validateLabel(this, value);
|
|
@@ -26855,7 +26970,7 @@ class KolTooltipWc {
|
|
|
26855
26970
|
}
|
|
26856
26971
|
}
|
|
26857
26972
|
render() {
|
|
26858
|
-
return (hAsync(Host, { key: '
|
|
26973
|
+
return (hAsync(Host, { key: '9e4d556350fe633cbc4698acdab9af4137260144', class: "kol-tooltip-wc" }, this.state._label !== '' && (hAsync("div", { key: '80400a2fbb5da8e5e9318466fbdf1f63eb290320', class: "tooltip-floating", ref: this.catchTooltipElement }, hAsync("div", { key: '4c817d25203a649f778fa98c5c97e27a5259ad4f', class: "tooltip-area tooltip-arrow", ref: this.catchArrowElement }), hAsync(KolSpanWcTag, { key: '97dc74f5efc3841c338efe4ca61f9de9094195a3', class: "tooltip-area tooltip-content", id: this.state._id, _badgeText: this._badgeText, _label: this.state._label })))));
|
|
26859
26974
|
}
|
|
26860
26975
|
validateBadgeText(value) {
|
|
26861
26976
|
validateBadgeText(this, value);
|
|
@@ -26934,7 +27049,7 @@ class KolTree {
|
|
|
26934
27049
|
this._label = undefined;
|
|
26935
27050
|
}
|
|
26936
27051
|
render() {
|
|
26937
|
-
return (hAsync(Host, { key: '
|
|
27052
|
+
return (hAsync(Host, { key: 'f0df57f2e520474e25f95aafa76c3773e5d6f9ce', class: "kol-tree" }, hAsync(KolTreeWcTag, { key: 'fdabfe7fd5ede28f1f09736db4ad692d3f7da3a1', _label: this._label }, hAsync("slot", { key: '0b82271f1158425b74a05f1007523e332528b400' }))));
|
|
26938
27053
|
}
|
|
26939
27054
|
static get style() { return {
|
|
26940
27055
|
default: KolTreeDefaultStyle0
|
|
@@ -26982,7 +27097,7 @@ class KolTreeItem {
|
|
|
26982
27097
|
return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
|
|
26983
27098
|
}
|
|
26984
27099
|
render() {
|
|
26985
|
-
return (hAsync(KolTreeItemWcTag, { key: '
|
|
27100
|
+
return (hAsync(KolTreeItemWcTag, { key: '18d638b7de8b572b086a20f6dc9f0db7593ccfaa', class: "kol-tree-item", _active: this._active, _label: this._label, _open: this._open, _href: this._href, ref: (element) => (this.element = element) }, hAsync("slot", { key: '0bdb5a4432c57acb48d9418da052ed6242edd4b2' })));
|
|
26986
27101
|
}
|
|
26987
27102
|
static get style() { return {
|
|
26988
27103
|
default: KolTreeItemDefaultStyle0
|
|
@@ -27025,13 +27140,13 @@ class KolTreeItemWc {
|
|
|
27025
27140
|
}
|
|
27026
27141
|
render() {
|
|
27027
27142
|
const { _href, _active, _hasChildren, _open, _label } = this.state;
|
|
27028
|
-
return (hAsync(Host, { key: '
|
|
27143
|
+
return (hAsync(Host, { key: '1181be8d7250b750cf064480ef9941c2d99fe2d0', onSlotchange: this.handleSlotchange.bind(this), class: "kol-tree-item-wc" }, hAsync("li", { key: '3349d65ca244c70fa6fa82403f45bb521f88d2d5', class: "tree-item", style: {
|
|
27029
27144
|
'--level': `${this.level}`,
|
|
27030
|
-
} }, hAsync(KolLinkWcTag, { key: '
|
|
27145
|
+
} }, hAsync(KolLinkWcTag, { key: '7387e1ffd5327583f1e9dc8733b0835c2248070e', class: {
|
|
27031
27146
|
'tree-link': true,
|
|
27032
27147
|
'first-level': this.level === 0,
|
|
27033
27148
|
active: Boolean(_active),
|
|
27034
|
-
}, _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: '
|
|
27149
|
+
}, _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: '456e0b79433f48e81811f6e4e635d2e1281b4e6b', class: "tree-link-inner", slot: "expert" }, _hasChildren ? (hAsync("span", { class: "toggle-button", onClick: (event) => (_open ? void this.handleCollapseClick(event) : void this.handleExpandClick(event)) }, hAsync(KolIconTag, { class: "toggle-button-icon", _icons: `codicon codicon-${_open ? 'chevron-down' : 'chevron-right'}`, _label: '' }))) : (hAsync("span", { class: "toggle-button-placeholder" })), hAsync("span", { key: '074816a9371ebf5cb3a49b3460c5a368bc36465d', class: "text" }, _label))), hAsync("ul", { key: 'b073f00265bc39c0b44f38b6e48de75f57418ceb', hidden: !_hasChildren || !_open, role: "group", id: this.groupId }, hAsync("slot", { key: '79717d641b1cbf39ad956e19224ffed46ecee014' })))));
|
|
27035
27150
|
}
|
|
27036
27151
|
validateActive(value) {
|
|
27037
27152
|
validateActive(this, value || false);
|
|
@@ -27136,7 +27251,7 @@ class KolTreeWc {
|
|
|
27136
27251
|
validateLabel(this, value);
|
|
27137
27252
|
}
|
|
27138
27253
|
render() {
|
|
27139
|
-
return (hAsync(Host, { key: '
|
|
27254
|
+
return (hAsync(Host, { key: '1787e04f7c274d06626ba519287830ee0dfac428', onSlotchange: this.handleSlotchange.bind(this), class: "kol-tree-wc" }, hAsync("nav", { key: '531cecb03fb89162726d16d21b422b623c3a274f', class: "tree", "aria-label": this.state._label }, hAsync("ul", { key: '8901ad4bbf1a08b301d1dba576f473c3189738e8', class: "treeview-navigation", role: "tree", "aria-label": this.state._label }, hAsync("slot", { key: '2a1c6f38ad5a0ea45dbc28db982ccc354f3918d2' })))));
|
|
27140
27255
|
}
|
|
27141
27256
|
static isTreeItem(element) {
|
|
27142
27257
|
return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
|
|
@@ -27334,7 +27449,7 @@ class KolVersion {
|
|
|
27334
27449
|
};
|
|
27335
27450
|
}
|
|
27336
27451
|
render() {
|
|
27337
|
-
return (hAsync(Host, { key: '
|
|
27452
|
+
return (hAsync(Host, { key: '00515e4ef2d1623035eb8a51b6d413df8c3d9de7', class: "kol-version" }, hAsync(KolBadgeTag, { key: '52fdfff5ee794e13bfb9622c5a4527ac725a4a54', _color: "#bec5c9", _icons: {
|
|
27338
27453
|
left: { icon: 'codicon codicon-versions', label: translate('kol-version') },
|
|
27339
27454
|
}, _label: this.state._label })));
|
|
27340
27455
|
}
|
|
@@ -27429,6 +27544,7 @@ registerComponents([
|
|
|
27429
27544
|
KolProgress,
|
|
27430
27545
|
KolQuote,
|
|
27431
27546
|
KolSelect,
|
|
27547
|
+
KolSelectWc,
|
|
27432
27548
|
KolSingleSelect,
|
|
27433
27549
|
KolSkipNav,
|
|
27434
27550
|
KolSpanWc,
|