@public-ui/hydrate 3.0.0 → 3.0.1-3b313a0f2df6c512e868df86f443d016defc56fa.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 +136 -86
- package/dist/index.mjs +136 -86
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -2667,7 +2667,7 @@ const I=(t,e)=>s=>s(t,e),P$1=(t,e)=>s=>s(t,e,{append:!1}),$=()=>{const t=typeof
|
|
|
2667
2667
|
.then(() => {
|
|
2668
2668
|
// run your app or website
|
|
2669
2669
|
})
|
|
2670
|
-
.catch(console.warn);`));let o=n$1.A11yUi.THEMES.get(t);if(o||(o=new Map,n$1.A11yUi.THEMES.set(t,o)),a.append&&o.has(e)){const r=o.get(e);o.set(e,g(`${r}${s}`));}else o.set(e,g(s));},k=(t,e,s,a)=>
|
|
2670
|
+
.catch(console.warn);`));let o=n$1.A11yUi.THEMES.get(t);if(o||(o=new Map,n$1.A11yUi.THEMES.set(t,o)),a.append&&o.has(e)){const r=o.get(e);o.set(e,g(`${r}${s}`));}else o.set(e,g(s));},k=(t,e,s,a)=>p(t,e,s,a),p=(t,e,s,a)=>(E(t),typeof e=="object"&&e!==null&&Object.getOwnPropertyNames(e).forEach(o=>{const r=e[o],i=o.toLowerCase(),c=typeof a?.transformTagName=="function"&&!["GLOBAL","PROPERTIES"].includes(o)?a.transformTagName(i):o;typeof r=="string"&&r.length>0&&u$1(t,c.toUpperCase(),r,s);}),t);const w=new Set,W=/--[^;]+/g,q=/:/,J=typeof MutationObserver<"u";let N=()=>{};const X=(t,e)=>{let s=e.match(W);if(Array.isArray(s)){s=s.filter(o=>q.test(o));const a=document.createElement("style");a.innerHTML=`.${t} {${s.join(";")}}`,document.querySelector("head")?.appendChild(a);}w.add(t);},y=(t,e)=>{const s=n$1.A11yUi.THEMES.get(t);return s instanceof Map&&s.has(e)?s.get(e):""},Z$1=t=>{for(const e of Array.from(t.childNodes))if(e instanceof HTMLStyleElement&&e.tagName==="STYLE"&&e.dataset.themingFallback===void 0)t.removeChild(e);else break},ee=(t,e)=>{try{if(n$1.A11yUi.Theme?.mode==="ssr")throw new Error("SSR");const s=[];e.forEach(a=>{const o=new CSSStyleSheet;o.replaceSync(a),s.push(o);}),t.adoptedStyleSheets=s;}catch{[...e].reverse().forEach((a,o)=>{if(typeof a!="string"||a.length===0)return;const r=document.createElement("style");switch(r.dataset.themingFallback="",o){case 4:r.dataset.themingBaseA11y="";break;case 3:r.dataset.themingBaseGlobal="";break;case 2:r.dataset.themingBaseComponent="";break;case 1:r.dataset.themingCustomGlobal="";break;case 0:r.dataset.themingCustomComponent="";break;default:r.dataset.themingUnknown="";break}r.innerHTML=a,t.insertBefore(r,t.firstChild);});}},te=(t,e,s)=>{if(s!==!1){const a=[...Array.from(t.childNodes).filter(r=>r instanceof HTMLStyleElement&&r.tagName==="STYLE")];let o;try{o=[...Array.from(t.adoptedStyleSheets)];}catch{o=[];}s?.mode==="before"?(a.reverse().forEach(r=>e.unshift(r.innerHTML)),o.reverse().forEach(r=>e.unshift(Array.from(r.cssRules).map(i=>i.cssText).join("")))):s?.mode==="after"&&(a.forEach(r=>e.push(r.innerHTML)),o.forEach(r=>e.push(Array.from(r.cssRules).map(i=>i.cssText).join(""))));}},se=(t,e,s)=>{const a=e.name||"default";let o;try{if(t.shadowRoot===null)throw new Error("ShadowRoot is null");o=t.shadowRoot;}catch{o=t;}if(n$1.A11yUi.CSS_STYLE_CACHE.get(a)?.has(t.tagName))v(t,o,n$1.A11yUi.CSS_STYLE_CACHE.get(a)?.get(t.tagName),s);else {const r=y(a,"PROPERTIES"),i=y(a,"GLOBAL"),c=y(a,t.tagName);w.has(a)===!1&&X(a,i);const m=[r,i,c];te(o,m,e.encroachCss),e.cache===!0&&(n$1.A11yUi.CSS_STYLE_CACHE.has(a)===!1&&n$1.A11yUi.CSS_STYLE_CACHE.set(a,new Map),n$1.A11yUi.CSS_STYLE_CACHE.get(a)?.set(t.tagName,m)),v(t,o,m,s);}},v=(t,e,s,a)=>{const o=performance.now();if(Z$1(e),ee(e,s),H(t),a(),n$1.A11yUi.PERFORMANCE_MEASURES.has(t.tagName)){const r=n$1.A11yUi.PERFORMANCE_MEASURES.get(t.tagName);r.count+=1,r.totalTime+=performance.now()-o;}else n$1.A11yUi.PERFORMANCE_MEASURES.set(t.tagName,{count:1,totalTime:performance.now()-o});},L=t=>{const e=n$1.A11yUi.STYLING_TASK_QUEUE.get(t);if(e){const{resetCss:s,themeDetails:a}=e;se(t,a,s),H(t);}};const oe={attributes:!0,attributeFilter:[],childList:!1,subtree:!1},R=J?new MutationObserver((t,e)=>{for(const s of t){const a=s.target;a.classList.contains("hydrated")&&(L(a),e.observe(a,oe));}}):null;R&&(N=()=>{});const H=t=>{n$1.A11yUi.STYLING_TASK_QUEUE.delete(t),N();};class ie{Prefix;Key;Tag;createTheme=(e,s)=>P$1(e,s);createTranslation=(e,s)=>I(e,s);constructor(e,s,a){this.Prefix=e,this.Key=Object.getOwnPropertyNames(s),this.Tag=Object.getOwnPropertyNames(a);}}
|
|
2671
2671
|
|
|
2672
2672
|
var KeyEnum;
|
|
2673
2673
|
(function (KeyEnum) {
|
|
@@ -4042,7 +4042,7 @@ const handleColorChange = (value) => {
|
|
|
4042
4042
|
break;
|
|
4043
4043
|
}
|
|
4044
4044
|
case null:
|
|
4045
|
-
Log.warn(`_color was empty or invalid (${JSON.stringify(value)})
|
|
4045
|
+
Log.warn(`_color was empty or invalid (${JSON.stringify(value)})`);
|
|
4046
4046
|
colorContrast = createContrastColorPair({
|
|
4047
4047
|
background: '#000',
|
|
4048
4048
|
foreground: '#000',
|
|
@@ -4103,11 +4103,6 @@ const validateHasIconsWhenExpanded = (component, value) => {
|
|
|
4103
4103
|
watchBoolean(component, '_hasIconsWhenExpanded', value);
|
|
4104
4104
|
};
|
|
4105
4105
|
|
|
4106
|
-
const headingVariantPropTypeOptions = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'strong'];
|
|
4107
|
-
const validateHeadingVariant = (component, value) => {
|
|
4108
|
-
watchValidator(component, `_variant`, (value) => typeof value === 'string' && headingVariantPropTypeOptions.includes(value), new Set([`KoliBriHeadingVariant {${headingVariantPropTypeOptions.join(', ')}`]), value);
|
|
4109
|
-
};
|
|
4110
|
-
|
|
4111
4106
|
const validateHideLabel = (component, value, options = {}) => {
|
|
4112
4107
|
watchBoolean(component, '_hideLabel', value, options);
|
|
4113
4108
|
};
|
|
@@ -4489,8 +4484,6 @@ const inputTextTypeOptions = ['text', 'search', 'url', 'tel'];
|
|
|
4489
4484
|
|
|
4490
4485
|
const inputTypeOnOffOptions = ['on', 'off'];
|
|
4491
4486
|
|
|
4492
|
-
const orientationOptions = ['horizontal', 'vertical'];
|
|
4493
|
-
|
|
4494
4487
|
var KoliBriProgressVariantEnum;
|
|
4495
4488
|
(function (KoliBriProgressVariantEnum) {
|
|
4496
4489
|
KoliBriProgressVariantEnum["bar"] = "bar";
|
|
@@ -4624,10 +4617,9 @@ function getSubHeadlineTag(level) {
|
|
|
4624
4617
|
return level === 1 ? 'span' : getHeadlineTag(level);
|
|
4625
4618
|
}
|
|
4626
4619
|
const KolHeadlineFc = (_a, children) => {
|
|
4627
|
-
var { class: classNames, level = MIN_HEADING_LEVEL
|
|
4620
|
+
var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
|
|
4628
4621
|
const HeadlineTag = getHeadlineTag(level);
|
|
4629
|
-
|
|
4630
|
-
return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline', `kol-headline--${finalVariant}`, classNames) }, other), children));
|
|
4622
|
+
return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline', `kol-headline--${HeadlineTag}`, classNames) }, other), children));
|
|
4631
4623
|
};
|
|
4632
4624
|
const KolSecondaryHeadlineFc = (_a, children) => {
|
|
4633
4625
|
var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
|
|
@@ -16124,7 +16116,7 @@ class KolBadge {
|
|
|
16124
16116
|
const UNIQUE_LABELS = new Set();
|
|
16125
16117
|
function addNavLabel(ariaLabel) {
|
|
16126
16118
|
if (UNIQUE_LABELS.has(ariaLabel)) {
|
|
16127
|
-
Log.
|
|
16119
|
+
Log.warn(`There already is a nav element with the label "${ariaLabel}"`);
|
|
16128
16120
|
}
|
|
16129
16121
|
else {
|
|
16130
16122
|
UNIQUE_LABELS.add(ariaLabel);
|
|
@@ -16932,8 +16924,6 @@ function getFormFieldProps(state) {
|
|
|
16932
16924
|
hideLabel: state._hideLabel,
|
|
16933
16925
|
hideMsg: state._hideMsg,
|
|
16934
16926
|
touched: state._touched,
|
|
16935
|
-
accessKey: state._accessKey,
|
|
16936
|
-
shortKey: state._shortKey,
|
|
16937
16927
|
};
|
|
16938
16928
|
if ('_required' in state) {
|
|
16939
16929
|
props.required = state._required;
|
|
@@ -16941,6 +16931,12 @@ function getFormFieldProps(state) {
|
|
|
16941
16931
|
if ('_readOnly' in state) {
|
|
16942
16932
|
props.readOnly = state._readOnly;
|
|
16943
16933
|
}
|
|
16934
|
+
if ('_accessKey' in state) {
|
|
16935
|
+
props.accessKey = state._accessKey;
|
|
16936
|
+
}
|
|
16937
|
+
if ('_shortKey' in state) {
|
|
16938
|
+
props.shortKey = state._shortKey;
|
|
16939
|
+
}
|
|
16944
16940
|
if ('_hasCounter' in state && '_currentLength' in state) {
|
|
16945
16941
|
props.counter = state._hasCounter ? { currentLength: state._currentLength } : undefined;
|
|
16946
16942
|
if (props.counter && '_maxLength' in state) {
|
|
@@ -17232,11 +17228,12 @@ function getInputProps(state, customSuggestions) {
|
|
|
17232
17228
|
id: state._id,
|
|
17233
17229
|
hideLabel: state._hideLabel,
|
|
17234
17230
|
label: state._label,
|
|
17235
|
-
accessKey: state._accessKey,
|
|
17236
17231
|
disabled: state._disabled,
|
|
17237
17232
|
name: state._name,
|
|
17238
17233
|
ariaDescribedBy: ariaDescribedBy,
|
|
17239
17234
|
};
|
|
17235
|
+
if ('_accessKey' in state)
|
|
17236
|
+
props.accessKey = state._accessKey;
|
|
17240
17237
|
if ('_type' in state)
|
|
17241
17238
|
props.type = state._type;
|
|
17242
17239
|
if ('_value' in state)
|
|
@@ -18161,7 +18158,6 @@ class KolHeading {
|
|
|
18161
18158
|
this._label = undefined;
|
|
18162
18159
|
this._level = 0;
|
|
18163
18160
|
this._secondaryHeadline = undefined;
|
|
18164
|
-
this._variant = undefined;
|
|
18165
18161
|
this.state = {
|
|
18166
18162
|
_label: '',
|
|
18167
18163
|
_level: 0,
|
|
@@ -18176,24 +18172,19 @@ class KolHeading {
|
|
|
18176
18172
|
validateSecondaryHeadline(value) {
|
|
18177
18173
|
watchString(this, '_secondaryHeadline', value);
|
|
18178
18174
|
}
|
|
18179
|
-
validateVariant(value) {
|
|
18180
|
-
validateHeadingVariant(this, value);
|
|
18181
|
-
}
|
|
18182
18175
|
componentWillLoad() {
|
|
18183
18176
|
this.validateLabel(this._label);
|
|
18184
18177
|
this.validateLevel(this._level);
|
|
18185
18178
|
this.validateSecondaryHeadline(this._secondaryHeadline);
|
|
18186
|
-
this.validateVariant(this._variant);
|
|
18187
18179
|
}
|
|
18188
18180
|
render() {
|
|
18189
|
-
const { _secondaryHeadline, _label, _level
|
|
18190
|
-
return (hAsync(KolHeadingFc, { key: '
|
|
18181
|
+
const { _secondaryHeadline, _label, _level } = this.state;
|
|
18182
|
+
return (hAsync(KolHeadingFc, { key: '4acb20dadb12cf9f57642b5a3f686e48a69b7c3c', secondaryHeadline: _secondaryHeadline, level: _level }, _label, hAsync("slot", { key: '1b27358b50f7dc744d5a9d06321d63218c524e22', name: "expert", slot: "expert" })));
|
|
18191
18183
|
}
|
|
18192
18184
|
static get watchers() { return {
|
|
18193
18185
|
"_label": ["validateLabel"],
|
|
18194
18186
|
"_level": ["validateLevel"],
|
|
18195
|
-
"_secondaryHeadline": ["validateSecondaryHeadline"]
|
|
18196
|
-
"_variant": ["validateVariant"]
|
|
18187
|
+
"_secondaryHeadline": ["validateSecondaryHeadline"]
|
|
18197
18188
|
}; }
|
|
18198
18189
|
static get style() { return {
|
|
18199
18190
|
default: KolHeadingDefaultStyle0
|
|
@@ -18205,7 +18196,6 @@ class KolHeading {
|
|
|
18205
18196
|
"_label": [1],
|
|
18206
18197
|
"_level": [2],
|
|
18207
18198
|
"_secondaryHeadline": [1, "_secondary-headline"],
|
|
18208
|
-
"_variant": [1],
|
|
18209
18199
|
"state": [32]
|
|
18210
18200
|
},
|
|
18211
18201
|
"$listeners$": undefined,
|
|
@@ -18343,6 +18333,13 @@ class KolImage {
|
|
|
18343
18333
|
}; }
|
|
18344
18334
|
}
|
|
18345
18335
|
|
|
18336
|
+
const orientationPropTypeOptions = ['horizontal', 'vertical'];
|
|
18337
|
+
const validateOrientation = (component, value, defaultValue = 'horizontal') => {
|
|
18338
|
+
watchValidator(component, `_orientation`, (value) => typeof value === 'string' && orientationPropTypeOptions.includes(value), new Set([`KoliBriOrientation {${orientationPropTypeOptions.join(', ')}`]), value, {
|
|
18339
|
+
defaultValue,
|
|
18340
|
+
});
|
|
18341
|
+
};
|
|
18342
|
+
|
|
18346
18343
|
const fillKeyOptionMap = (keyOptionMap, options, preKey = '') => {
|
|
18347
18344
|
options.forEach((option, index) => {
|
|
18348
18345
|
const key = `${preKey}-${index}`;
|
|
@@ -18389,9 +18386,7 @@ class InputRadioController extends InputCheckboxRadioController {
|
|
|
18389
18386
|
this.component = component;
|
|
18390
18387
|
}
|
|
18391
18388
|
validateOrientation(value) {
|
|
18392
|
-
|
|
18393
|
-
defaultValue: 'vertical',
|
|
18394
|
-
});
|
|
18389
|
+
validateOrientation(this.component, value, 'vertical');
|
|
18395
18390
|
}
|
|
18396
18391
|
validateOptions(value) {
|
|
18397
18392
|
validateOptions(this.component, value, {
|
|
@@ -18507,8 +18502,6 @@ const KolFieldControlFc = (props, children) => {
|
|
|
18507
18502
|
|
|
18508
18503
|
function getFieldControlProps(state) {
|
|
18509
18504
|
const props = {
|
|
18510
|
-
accessKey: state._accessKey,
|
|
18511
|
-
shortKey: state._shortKey,
|
|
18512
18505
|
id: state._id,
|
|
18513
18506
|
disabled: state._disabled,
|
|
18514
18507
|
msg: convertMsgToInternMsg(state._msg),
|
|
@@ -18526,6 +18519,12 @@ function getFieldControlProps(state) {
|
|
|
18526
18519
|
if ('_labelAlign' in state) {
|
|
18527
18520
|
props.labelAlign = state._labelAlign;
|
|
18528
18521
|
}
|
|
18522
|
+
if ('_accessKey' in state) {
|
|
18523
|
+
props.accessKey = state._accessKey;
|
|
18524
|
+
}
|
|
18525
|
+
if ('_shortKey' in state) {
|
|
18526
|
+
props.shortKey = state._shortKey;
|
|
18527
|
+
}
|
|
18529
18528
|
return props;
|
|
18530
18529
|
}
|
|
18531
18530
|
const FieldControlStateWrapper = (_a, children) => {
|
|
@@ -18537,7 +18536,7 @@ const IconWrapperFc = (_a) => {
|
|
|
18537
18536
|
var { class: classNames } = _a, other = __rest(_a, ["class"]);
|
|
18538
18537
|
return hAsync(KolIconFc, Object.assign({ class: clsx('kol-checkbox__icon', classNames) }, other));
|
|
18539
18538
|
};
|
|
18540
|
-
const InputWrapperFc = (_a) => {
|
|
18539
|
+
const InputWrapperFc$1 = (_a) => {
|
|
18541
18540
|
var { class: classNames } = _a, other = __rest(_a, ["class"]);
|
|
18542
18541
|
return hAsync(InputFc, Object.assign({ class: clsx('kol-checkbox__input', classNames) }, other, { type: "checkbox" }));
|
|
18543
18542
|
};
|
|
@@ -18556,7 +18555,7 @@ const CheckboxFc = (_a) => {
|
|
|
18556
18555
|
};
|
|
18557
18556
|
return (hAsync("label", Object.assign({ class: clsx('kol-checkbox', cssVariants, classNames) }, other),
|
|
18558
18557
|
hAsync(IconWrapperFc, { label: "", icons: icon }),
|
|
18559
|
-
hAsync(InputWrapperFc, Object.assign({}, inputProps))));
|
|
18558
|
+
hAsync(InputWrapperFc$1, Object.assign({}, inputProps))));
|
|
18560
18559
|
};
|
|
18561
18560
|
|
|
18562
18561
|
function getCheckboxProps(state, inputProps = {}) {
|
|
@@ -20723,7 +20722,50 @@ class KolInputPassword {
|
|
|
20723
20722
|
}; }
|
|
20724
20723
|
}
|
|
20725
20724
|
|
|
20726
|
-
const defaultStyleCss$p = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]) {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n place-items: center;\n display: flex;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-field-control {\n min-height: var(--a11y-min-size);\n display: grid;\n grid-template-columns: auto 1fr;\n grid-template-areas: \"input label\";\n grid-template-rows: auto;\n align-items: center;\n justify-content: left;\n }\n .kol-field-control:has(.kol-field-control__hint) {\n grid-template-columns: auto 1fr;\n grid-template-areas: \"input label\" \"hint hint\";\n grid-template-rows: auto auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label) {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"label input\";\n grid-template-rows: auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label):has(.kol-field-control__hint) {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"label input\" \"hint hint\";\n grid-template-rows: auto auto;\n }\n .kol-field-control__input {\n grid-area: input;\n display: flex;\n min-height: var(--a11y-min-size);\n align-items: center;\n }\n .kol-field-control__label {\n align-items: center;\n cursor: pointer;\n display: flex;\n flex-grow: 1;\n grid-area: label;\n min-height: var(--a11y-min-size);\n }\n .kol-field-control__label--visually-hidden {\n height: 0;\n margin: 0;\n padding: 0;\n visibility: hidden;\n }\n .kol-field-control__label-text::after {\n content: \"\";\n }\n .kol-field-control__tooltip .span-label::after {\n content: \"\";\n }\n .kol-field-control__hint {\n grid-area: hint;\n }\n .kol-field-control--disabled .kol-field-control__label {\n cursor: not-allowed;\n opacity: 0.5;\n }\n .kol-field-control--required .kol-field-control__label-text::after {\n content: \"*\";\n }\n .kol-field-control--required .kol-field-control__tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .kol-form-field {\n display: grid;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text::after {\n content: \"*\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .kol-input-container {\n align-items: center;\n background-color: white;\n display: grid;\n grid-template-columns: 1fr;\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n width: 100%;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start):has(> .kol-input-container__adornment--end) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n}\n@layer kol-component {\n .kol-form-field {\n --border-width: 2px;\n --input-size: 1.5em;\n }\n .kol-form-field__label {\n display: contents;\n }\n .kol-form-field__input {\n display: flex;\n flex-direction: column;\n }\n .kol-form-field__input--orientation-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n }\n .kol-form-field--disabled {\n opacity: unset;\n }\n .kol-input-radio {\n appearance: none;\n border-width: var(--border-width);\n border-style: solid;\n border-radius: 100%;\n cursor: pointer;\n display: flex;\n height: var(--input-size);\n margin: 0;\n min-height: var(--input-size);\n min-width: var(--input-size);\n padding: 0;\n width: var(--input-size);\n }\n .kol-input-radio:before {\n border-radius: 100%;\n content: \"\";\n margin: auto;\n height: calc(var(--input-size) / 2);\n width: calc(var(--input-size) / 2);\n }\n .kol-input-radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-input-radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-input-radio:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}";
|
|
20725
|
+
const InputWrapperFc = (_a) => {
|
|
20726
|
+
var { class: classNames } = _a, other = __rest(_a, ["class"]);
|
|
20727
|
+
return hAsync(InputFc, Object.assign({ class: clsx('kol-input-radio__input', classNames) }, other, { type: "radio" }));
|
|
20728
|
+
};
|
|
20729
|
+
const RadioFc = (_a) => {
|
|
20730
|
+
var _b;
|
|
20731
|
+
var { class: classNames, inputProps } = _a, other = __rest(_a, ["class", "inputProps"]);
|
|
20732
|
+
const showMsg = checkHasMsg(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg, inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched);
|
|
20733
|
+
const cssVariants = {
|
|
20734
|
+
['kol-input-radio--checked']: inputProps === null || inputProps === void 0 ? void 0 : inputProps.checked,
|
|
20735
|
+
['kol-input-radio--disabled']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.disabled),
|
|
20736
|
+
['kol-input-radio--required']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.required),
|
|
20737
|
+
['kol-input-radio--touched']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched),
|
|
20738
|
+
[`kol-input-radio--${((_b = inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg) === null || _b === void 0 ? void 0 : _b.type) || 'error'}`]: Boolean(showMsg),
|
|
20739
|
+
};
|
|
20740
|
+
return (hAsync("label", Object.assign({ class: clsx('kol-input-radio', cssVariants, classNames) }, other),
|
|
20741
|
+
hAsync(InputWrapperFc, Object.assign({}, inputProps))));
|
|
20742
|
+
};
|
|
20743
|
+
|
|
20744
|
+
function getRadioProps(state, inputProps = {}) {
|
|
20745
|
+
const { ariaDescribedBy } = getRenderStates(state);
|
|
20746
|
+
const props = {
|
|
20747
|
+
id: state._id,
|
|
20748
|
+
hideLabel: state._hideLabel,
|
|
20749
|
+
label: state._label,
|
|
20750
|
+
value: state._value,
|
|
20751
|
+
disabled: state._disabled,
|
|
20752
|
+
name: state._name,
|
|
20753
|
+
ariaDescribedBy,
|
|
20754
|
+
};
|
|
20755
|
+
if ('_required' in state)
|
|
20756
|
+
props.required = state._required;
|
|
20757
|
+
if ('_touched' in state)
|
|
20758
|
+
props.touched = state._touched;
|
|
20759
|
+
if ('_msg' in state)
|
|
20760
|
+
props.msg = convertMsgToInternMsg(state._msg);
|
|
20761
|
+
return Object.assign(Object.assign({}, props), inputProps);
|
|
20762
|
+
}
|
|
20763
|
+
const RadioStateWrapper = (_a) => {
|
|
20764
|
+
var { state, inputProps } = _a, other = __rest(_a, ["state", "inputProps"]);
|
|
20765
|
+
return hAsync(RadioFc, Object.assign({ inputProps: getRadioProps(state, inputProps) }, other));
|
|
20766
|
+
};
|
|
20767
|
+
|
|
20768
|
+
const defaultStyleCss$p = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]) {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n place-items: center;\n display: flex;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n .kol-field-control {\n min-height: var(--a11y-min-size);\n display: grid;\n grid-template-columns: auto 1fr;\n grid-template-areas: \"input label\";\n grid-template-rows: auto;\n align-items: center;\n justify-content: left;\n }\n .kol-field-control:has(.kol-field-control__hint) {\n grid-template-columns: auto 1fr;\n grid-template-areas: \"input label\" \"hint hint\";\n grid-template-rows: auto auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label) {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"label input\";\n grid-template-rows: auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label):has(.kol-field-control__hint) {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"label input\" \"hint hint\";\n grid-template-rows: auto auto;\n }\n .kol-field-control__input {\n grid-area: input;\n display: flex;\n min-height: var(--a11y-min-size);\n align-items: center;\n }\n .kol-field-control__label {\n align-items: center;\n cursor: pointer;\n display: flex;\n flex-grow: 1;\n grid-area: label;\n min-height: var(--a11y-min-size);\n }\n .kol-field-control__label--visually-hidden {\n height: 0;\n margin: 0;\n padding: 0;\n visibility: hidden;\n }\n .kol-field-control__label-text::after {\n content: \"\";\n }\n .kol-field-control__tooltip .span-label::after {\n content: \"\";\n }\n .kol-field-control__hint {\n grid-area: hint;\n }\n .kol-field-control--disabled .kol-field-control__label {\n cursor: not-allowed;\n opacity: 0.5;\n }\n .kol-field-control--required .kol-field-control__label-text::after {\n content: \"*\";\n }\n .kol-field-control--required .kol-field-control__tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .kol-form-field {\n display: grid;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text::after {\n content: \"*\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .kol-input-container {\n align-items: center;\n background-color: white;\n display: grid;\n grid-template-columns: 1fr;\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n width: 100%;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start):has(> .kol-input-container__adornment--end) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n}\n@layer kol-component {\n .kol-form-field {\n --border-width: 2px;\n --input-size: 1.5em;\n }\n .kol-form-field__label {\n display: contents;\n }\n .kol-form-field__input {\n display: flex;\n flex-direction: column;\n }\n .kol-form-field__input--orientation-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n }\n .kol-form-field--disabled {\n opacity: unset;\n }\n .kol-input-radio {\n display: flex;\n position: relative;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n }\n .kol-input-radio__input {\n appearance: none;\n border-width: var(--border-width);\n border-style: solid;\n border-radius: 100%;\n cursor: pointer;\n display: flex;\n height: var(--input-size);\n margin: 0;\n min-height: var(--input-size);\n min-width: var(--input-size);\n padding: 0;\n width: var(--input-size);\n }\n .kol-input-radio__input:before {\n border-radius: 100%;\n content: \"\";\n margin: auto;\n height: calc(var(--input-size) / 2);\n width: calc(var(--input-size) / 2);\n }\n .kol-input-radio__input:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-input-radio__input:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-input-radio__input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .kol-input-radio--disabled {\n cursor: not-allowed;\n }\n}";
|
|
20727
20769
|
var KolInputRadioDefaultStyle0 = defaultStyleCss$p;
|
|
20728
20770
|
|
|
20729
20771
|
class KolInputRadio {
|
|
@@ -20752,7 +20794,7 @@ class KolInputRadio {
|
|
|
20752
20794
|
};
|
|
20753
20795
|
}
|
|
20754
20796
|
render() {
|
|
20755
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
20797
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '1dc48b26e8e760c4fa2c5db8ec8d93e6e83e5adc' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
|
|
20756
20798
|
}
|
|
20757
20799
|
getOptionProps(option, id) {
|
|
20758
20800
|
const obj = {
|
|
@@ -20771,24 +20813,21 @@ class KolInputRadio {
|
|
|
20771
20813
|
return obj;
|
|
20772
20814
|
}
|
|
20773
20815
|
getInputProps(option, id, index, selected) {
|
|
20774
|
-
|
|
20775
|
-
|
|
20776
|
-
|
|
20777
|
-
|
|
20778
|
-
|
|
20779
|
-
|
|
20780
|
-
|
|
20781
|
-
|
|
20782
|
-
|
|
20783
|
-
|
|
20784
|
-
obj.disabled = true;
|
|
20785
|
-
}
|
|
20786
|
-
return obj;
|
|
20816
|
+
return {
|
|
20817
|
+
state: this.state,
|
|
20818
|
+
inputProps: Object.assign(Object.assign({ id: id, ref: this.state._value === option.value ? this.catchRef : undefined, 'aria-label': this.state._hideLabel && typeof option.label === 'string' ? option.label : undefined, type: 'radio', name: this.state._name || this.state._id, value: `-${index}`, checked: selected, disabled: option.disabled }, this.controller.onFacade), { onChange: this.onChange, onClick: undefined, onInput: this.onInput, onKeyDown: this.onKeyDown.bind(this), onFocus: (event) => {
|
|
20819
|
+
this.controller.onFacade.onFocus(event);
|
|
20820
|
+
this.inputHasFocus = true;
|
|
20821
|
+
}, onBlur: (event) => {
|
|
20822
|
+
this.controller.onFacade.onBlur(event);
|
|
20823
|
+
this.inputHasFocus = false;
|
|
20824
|
+
} }),
|
|
20825
|
+
};
|
|
20787
20826
|
}
|
|
20788
20827
|
renderOption(option, index) {
|
|
20789
20828
|
const customId = `${this.state._id}-${index}`;
|
|
20790
20829
|
const selected = this.state._value === option.value;
|
|
20791
|
-
return (hAsync(FieldControlStateWrapper, Object.assign({ key: customId }, this.getOptionProps(option, customId)), hAsync(
|
|
20830
|
+
return (hAsync(FieldControlStateWrapper, Object.assign({ key: customId }, this.getOptionProps(option, customId)), hAsync(RadioStateWrapper, Object.assign({}, this.getInputProps(option, customId, index, selected)))));
|
|
20792
20831
|
}
|
|
20793
20832
|
constructor(hostRef) {
|
|
20794
20833
|
registerInstance(this, hostRef);
|
|
@@ -20820,7 +20859,6 @@ class KolInputRadio {
|
|
|
20820
20859
|
});
|
|
20821
20860
|
}
|
|
20822
20861
|
};
|
|
20823
|
-
this._accessKey = undefined;
|
|
20824
20862
|
this._disabled = false;
|
|
20825
20863
|
this._hideMsg = false;
|
|
20826
20864
|
this._hideLabel = false;
|
|
@@ -20833,7 +20871,6 @@ class KolInputRadio {
|
|
|
20833
20871
|
this._options = undefined;
|
|
20834
20872
|
this._orientation = 'vertical';
|
|
20835
20873
|
this._required = false;
|
|
20836
|
-
this._shortKey = undefined;
|
|
20837
20874
|
this._syncValueBySelector = undefined;
|
|
20838
20875
|
this._tooltipAlign = 'top';
|
|
20839
20876
|
this._touched = false;
|
|
@@ -20851,9 +20888,6 @@ class KolInputRadio {
|
|
|
20851
20888
|
showAsAlert() {
|
|
20852
20889
|
return Boolean(this.state._touched) && !this.inputHasFocus;
|
|
20853
20890
|
}
|
|
20854
|
-
validateAccessKey(value) {
|
|
20855
|
-
this.controller.validateAccessKey(value);
|
|
20856
|
-
}
|
|
20857
20891
|
validateTooltipAlign(value) {
|
|
20858
20892
|
this.controller.validateTooltipAlign(value);
|
|
20859
20893
|
}
|
|
@@ -20893,9 +20927,6 @@ class KolInputRadio {
|
|
|
20893
20927
|
validateRequired(value) {
|
|
20894
20928
|
this.controller.validateRequired(value);
|
|
20895
20929
|
}
|
|
20896
|
-
validateShortKey(value) {
|
|
20897
|
-
this.controller.validateShortKey(value);
|
|
20898
|
-
}
|
|
20899
20930
|
validateSyncValueBySelector(value) {
|
|
20900
20931
|
this.controller.validateSyncValueBySelector(value);
|
|
20901
20932
|
}
|
|
@@ -20912,7 +20943,6 @@ class KolInputRadio {
|
|
|
20912
20943
|
static get delegatesFocus() { return true; }
|
|
20913
20944
|
get host() { return getElement(this); }
|
|
20914
20945
|
static get watchers() { return {
|
|
20915
|
-
"_accessKey": ["validateAccessKey"],
|
|
20916
20946
|
"_tooltipAlign": ["validateTooltipAlign"],
|
|
20917
20947
|
"_disabled": ["validateDisabled"],
|
|
20918
20948
|
"_hideLabel": ["validateHideLabel"],
|
|
@@ -20926,7 +20956,6 @@ class KolInputRadio {
|
|
|
20926
20956
|
"_options": ["validateOptions"],
|
|
20927
20957
|
"_orientation": ["validateOrientation"],
|
|
20928
20958
|
"_required": ["validateRequired"],
|
|
20929
|
-
"_shortKey": ["validateShortKey"],
|
|
20930
20959
|
"_syncValueBySelector": ["validateSyncValueBySelector"],
|
|
20931
20960
|
"_touched": ["validateTouched"],
|
|
20932
20961
|
"_value": ["validateValue"]
|
|
@@ -20938,7 +20967,6 @@ class KolInputRadio {
|
|
|
20938
20967
|
"$flags$": 57,
|
|
20939
20968
|
"$tagName$": "kol-input-radio",
|
|
20940
20969
|
"$members$": {
|
|
20941
|
-
"_accessKey": [1, "_access-key"],
|
|
20942
20970
|
"_disabled": [4],
|
|
20943
20971
|
"_hideMsg": [1540, "_hide-msg"],
|
|
20944
20972
|
"_hideLabel": [4, "_hide-label"],
|
|
@@ -20951,7 +20979,6 @@ class KolInputRadio {
|
|
|
20951
20979
|
"_options": [1],
|
|
20952
20980
|
"_orientation": [1],
|
|
20953
20981
|
"_required": [4],
|
|
20954
|
-
"_shortKey": [1, "_short-key"],
|
|
20955
20982
|
"_syncValueBySelector": [1, "_sync-value-by-selector"],
|
|
20956
20983
|
"_tooltipAlign": [1, "_tooltip-align"],
|
|
20957
20984
|
"_touched": [1540],
|
|
@@ -21994,7 +22021,7 @@ const validateModalVariant = (component, value) => {
|
|
|
21994
22021
|
watchValidator(component, '_variant', (value) => typeof value === 'string' && ModalVariantPropTypeOptions.includes(value), new Set(ModalVariantPropTypeOptions), value);
|
|
21995
22022
|
};
|
|
21996
22023
|
|
|
21997
|
-
const defaultStyleCss$j = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]) {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-modal {\n border: 0;\n padding: 0;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n position: relative;\n }\n .kol-modal::backdrop {\n background-color: rgba(0, 0, 0, 0.33);\n }\n .kol-modal__close-button {\n position: absolute;\n top: calc(1rem / var(--kolibri-root-font-size, 16));\n right: calc(1rem / var(--kolibri-root-font-size, 16));\n z-index: 1;\n }\n}";
|
|
22024
|
+
const defaultStyleCss$j = "/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]) {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-modal {\n border: 0;\n padding: 0;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n position: relative;\n min-height: var(--a11y-min-size);\n }\n .kol-modal::backdrop {\n background-color: rgba(0, 0, 0, 0.33);\n }\n .kol-modal__close-button {\n position: absolute;\n top: calc(1rem / var(--kolibri-root-font-size, 16));\n right: calc(1rem / var(--kolibri-root-font-size, 16));\n z-index: 1;\n }\n}";
|
|
21998
22025
|
var KolModalDefaultStyle0 = defaultStyleCss$j;
|
|
21999
22026
|
|
|
22000
22027
|
class KolModal {
|
|
@@ -22214,9 +22241,9 @@ class KolNav {
|
|
|
22214
22241
|
const collapsible = this.state._collapsible === true;
|
|
22215
22242
|
const hideLabel = this.state._hideLabel === true;
|
|
22216
22243
|
const orientation = this.state._orientation;
|
|
22217
|
-
return (hAsync("div", { key: '
|
|
22244
|
+
return (hAsync("div", { key: '2d1746fba7131f7af370b41afdd1d3598d3db006', class: clsx('kol-nav', `kol-nav--${orientation}`, {
|
|
22218
22245
|
'kol-nav--is-compact': this.state._hideLabel,
|
|
22219
|
-
}) }, hAsync("nav", { key: '
|
|
22246
|
+
}) }, hAsync("nav", { key: '490c288e18fa57b21012469a30554b56a76dc518', class: "kol-nav__navigation", "aria-label": this.state._label, id: "nav" }, hAsync(this.linkList, { key: '6ebd5a66f36699c2b55e7ed29380df9c33e7850a', collapsible: collapsible, hideLabel: hideLabel, deep: 0, links: this.state._links, orientation: orientation })), hasCompactButton && (hAsync("div", { key: 'c6fb7c2353d6fd00568a2923f1ce09cf50107f1a', class: "kol-nav__compact" }, hAsync(KolButtonWcTag, { key: 'dec6b58fb116bd3f2c788038e31fc73241708897', class: "kol-nav__toggle-button", _ariaControls: "nav", _ariaExpanded: !hideLabel, _icons: hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left', _hideLabel: true, _label: translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize'), _on: {
|
|
22220
22247
|
onClick: () => {
|
|
22221
22248
|
this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: this.state._hideLabel === false });
|
|
22222
22249
|
},
|
|
@@ -22487,7 +22514,7 @@ class KolPagination {
|
|
|
22487
22514
|
return null;
|
|
22488
22515
|
}
|
|
22489
22516
|
});
|
|
22490
|
-
return (hAsync(Host, { class: "kol-pagination" }, hAsync("nav", { "aria-label": this.state._label }, hAsync("ul", { class: "kol-pagination__navigation-list" }, this.state._hasButtons.first && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--first", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-first'), _on: this.onGoToFirst, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.previous && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--previous", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftSingleArrow, _hideLabel: true, _label: translate('kol-page-back'), _on: this.onGoBackward, _tooltipAlign: this.state._tooltipAlign }))), pageButtons, this.state._hasButtons.next && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--next", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightSingleArrowIcon, _hideLabel: true, _label: translate('kol-page-next'), _on: this.onGoForward, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.last && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--last", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-last'), _on: this.onGoToEnd, _tooltipAlign: this.state._tooltipAlign }))))), ((_a = this.state._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) > 0 && (hAsync(KolSelectTag, { _hideLabel: true, _id: `pagination-size-${this.nonce}`, _label: translate('kol-entries-per-site'), _options: this.state._pageSizeOptions, _on: {
|
|
22517
|
+
return (hAsync(Host, { class: "kol-pagination" }, hAsync("nav", { class: "kol-pagination__navigation", "aria-label": this.state._label }, hAsync("ul", { class: "kol-pagination__navigation-list" }, this.state._hasButtons.first && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--first", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-first'), _on: this.onGoToFirst, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.previous && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--previous", exportparts: "icon", _customClass: this.state._customClass, _disabled: this.state._page <= 1, _icons: leftSingleArrow, _hideLabel: true, _label: translate('kol-page-back'), _on: this.onGoBackward, _tooltipAlign: this.state._tooltipAlign }))), pageButtons, this.state._hasButtons.next && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--next", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightSingleArrowIcon, _hideLabel: true, _label: translate('kol-page-next'), _on: this.onGoForward, _tooltipAlign: this.state._tooltipAlign }))), this.state._hasButtons.last && (hAsync("li", null, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--last", exportparts: "icon", _customClass: this.state._customClass, _disabled: count <= this.state._page, _icons: rightDoubleArrowIcon, _hideLabel: true, _label: translate('kol-page-last'), _on: this.onGoToEnd, _tooltipAlign: this.state._tooltipAlign }))))), ((_a = this.state._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) > 0 && (hAsync(KolSelectTag, { class: "kol-pagination__page-size-select", _hideLabel: true, _id: `pagination-size-${this.nonce}`, _label: translate('kol-entries-per-site'), _options: this.state._pageSizeOptions, _on: {
|
|
22491
22518
|
onChange: this.onChangePageSize,
|
|
22492
22519
|
}, _value: [this.state._pageSize] }))));
|
|
22493
22520
|
}
|
|
@@ -23260,16 +23287,22 @@ const flip$1 = function (options) {
|
|
|
23260
23287
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
23261
23288
|
const nextPlacement = placements[nextIndex];
|
|
23262
23289
|
if (nextPlacement) {
|
|
23263
|
-
|
|
23264
|
-
|
|
23265
|
-
|
|
23266
|
-
|
|
23267
|
-
|
|
23268
|
-
|
|
23269
|
-
|
|
23270
|
-
|
|
23271
|
-
|
|
23272
|
-
|
|
23290
|
+
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
23291
|
+
if (!ignoreCrossAxisOverflow ||
|
|
23292
|
+
// We leave the current main axis only if every placement on that axis
|
|
23293
|
+
// overflows the main axis.
|
|
23294
|
+
overflowsData.every(d => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {
|
|
23295
|
+
// Try next placement and re-run the lifecycle.
|
|
23296
|
+
return {
|
|
23297
|
+
data: {
|
|
23298
|
+
index: nextIndex,
|
|
23299
|
+
overflows: overflowsData
|
|
23300
|
+
},
|
|
23301
|
+
reset: {
|
|
23302
|
+
placement: nextPlacement
|
|
23303
|
+
}
|
|
23304
|
+
};
|
|
23305
|
+
}
|
|
23273
23306
|
}
|
|
23274
23307
|
|
|
23275
23308
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
@@ -24351,6 +24384,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
24351
24384
|
scrollTop: 0
|
|
24352
24385
|
};
|
|
24353
24386
|
const offsets = createCoords(0);
|
|
24387
|
+
|
|
24388
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
24389
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
24390
|
+
function setLeftRTLScrollbarOffset() {
|
|
24391
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
24392
|
+
}
|
|
24354
24393
|
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
24355
24394
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
24356
24395
|
scroll = getNodeScroll(offsetParent);
|
|
@@ -24360,11 +24399,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
24360
24399
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
24361
24400
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
24362
24401
|
} else if (documentElement) {
|
|
24363
|
-
|
|
24364
|
-
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
24365
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
24402
|
+
setLeftRTLScrollbarOffset();
|
|
24366
24403
|
}
|
|
24367
24404
|
}
|
|
24405
|
+
if (isFixed && !isOffsetParentAnElement && documentElement) {
|
|
24406
|
+
setLeftRTLScrollbarOffset();
|
|
24407
|
+
}
|
|
24368
24408
|
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
24369
24409
|
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
24370
24410
|
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
@@ -24541,7 +24581,7 @@ function observeMove(element, onMove) {
|
|
|
24541
24581
|
// Handle <iframe>s
|
|
24542
24582
|
root: root.ownerDocument
|
|
24543
24583
|
});
|
|
24544
|
-
} catch (
|
|
24584
|
+
} catch (_e) {
|
|
24545
24585
|
io = new IntersectionObserver(handleObserve, options);
|
|
24546
24586
|
}
|
|
24547
24587
|
io.observe(element);
|
|
@@ -28259,7 +28299,7 @@ class KolToastContainer {
|
|
|
28259
28299
|
}; }
|
|
28260
28300
|
}
|
|
28261
28301
|
|
|
28262
|
-
const defaultStyleCss$3 = "@charset \"UTF-8\";\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]) {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-link {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-link::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-link__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-toolbar {\n
|
|
28302
|
+
const defaultStyleCss$3 = "@charset \"UTF-8\";\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]) {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n background-color: lightgray;\n color: black;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-link {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-link::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-link__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-toolbar {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-toolbar--orientation-vertical {\n align-items: stretch;\n flex-direction: column;\n }\n .kol-toolbar:focus-within {\n outline: 1px solid;\n outline-offset: 2px;\n }\n}";
|
|
28263
28303
|
var KolToolbarDefaultStyle0 = defaultStyleCss$3;
|
|
28264
28304
|
|
|
28265
28305
|
class KolToolbar {
|
|
@@ -28285,9 +28325,10 @@ class KolToolbar {
|
|
|
28285
28325
|
this.currentIndex = 0;
|
|
28286
28326
|
this._label = undefined;
|
|
28287
28327
|
this._items = undefined;
|
|
28328
|
+
this._orientation = undefined;
|
|
28288
28329
|
}
|
|
28289
28330
|
render() {
|
|
28290
|
-
return (hAsync("div", { key: '
|
|
28331
|
+
return (hAsync("div", { key: '30938e1827e44beda26c1cc9ac80df905f674f91', class: `kol-toolbar kol-toolbar--orientation-${this.state._orientation}`, role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem)));
|
|
28291
28332
|
}
|
|
28292
28333
|
validateLabel(value) {
|
|
28293
28334
|
validateLabel(this, value);
|
|
@@ -28295,6 +28336,9 @@ class KolToolbar {
|
|
|
28295
28336
|
validateItems(value) {
|
|
28296
28337
|
validateToolbarItems(this, value);
|
|
28297
28338
|
}
|
|
28339
|
+
validateOrientation(value) {
|
|
28340
|
+
validateOrientation(this, value);
|
|
28341
|
+
}
|
|
28298
28342
|
getCurrentToolbarItem(index) {
|
|
28299
28343
|
return typeof index === 'number' ? this.indexToElement.get(index) : undefined;
|
|
28300
28344
|
}
|
|
@@ -28304,18 +28348,21 @@ class KolToolbar {
|
|
|
28304
28348
|
}
|
|
28305
28349
|
handleKeyDown(event) {
|
|
28306
28350
|
var _a, _b;
|
|
28307
|
-
const
|
|
28351
|
+
const pressedKey = event.code;
|
|
28352
|
+
const isArrowKey = [KeyboardKey.ArrowUp, KeyboardKey.ArrowDown, KeyboardKey.ArrowRight, KeyboardKey.ArrowLeft].includes(pressedKey);
|
|
28308
28353
|
if (!isArrowKey)
|
|
28309
28354
|
return;
|
|
28310
28355
|
event.preventDefault();
|
|
28311
28356
|
const lastItemIndex = ((_a = this._items) === null || _a === void 0 ? void 0 : _a.length) - 1;
|
|
28312
28357
|
const currentIndex = this.currentIndex;
|
|
28313
28358
|
let nextIndex = 0;
|
|
28314
|
-
switch (
|
|
28315
|
-
case
|
|
28359
|
+
switch (pressedKey) {
|
|
28360
|
+
case KeyboardKey.ArrowUp:
|
|
28361
|
+
case KeyboardKey.ArrowLeft:
|
|
28316
28362
|
nextIndex = currentIndex !== nextIndex ? currentIndex - 1 : lastItemIndex;
|
|
28317
28363
|
break;
|
|
28318
|
-
case
|
|
28364
|
+
case KeyboardKey.ArrowDown:
|
|
28365
|
+
case KeyboardKey.ArrowRight:
|
|
28319
28366
|
if (lastItemIndex !== currentIndex)
|
|
28320
28367
|
nextIndex = currentIndex + 1;
|
|
28321
28368
|
break;
|
|
@@ -28332,12 +28379,14 @@ class KolToolbar {
|
|
|
28332
28379
|
componentWillLoad() {
|
|
28333
28380
|
this.validateLabel(this._label);
|
|
28334
28381
|
this.validateItems(this._items);
|
|
28382
|
+
this.validateOrientation(this._orientation);
|
|
28335
28383
|
this.setFirstEnabledItemIndex();
|
|
28336
28384
|
}
|
|
28337
28385
|
get host() { return getElement(this); }
|
|
28338
28386
|
static get watchers() { return {
|
|
28339
28387
|
"_label": ["validateLabel"],
|
|
28340
|
-
"_items": ["validateItems"]
|
|
28388
|
+
"_items": ["validateItems"],
|
|
28389
|
+
"_orientation": ["validateOrientation"]
|
|
28341
28390
|
}; }
|
|
28342
28391
|
static get style() { return {
|
|
28343
28392
|
default: KolToolbarDefaultStyle0
|
|
@@ -28348,6 +28397,7 @@ class KolToolbar {
|
|
|
28348
28397
|
"$members$": {
|
|
28349
28398
|
"_label": [1],
|
|
28350
28399
|
"_items": [16],
|
|
28400
|
+
"_orientation": [1],
|
|
28351
28401
|
"state": [32],
|
|
28352
28402
|
"currentIndex": [32]
|
|
28353
28403
|
},
|