@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.mjs
CHANGED
|
@@ -2663,7 +2663,7 @@ const I=(t,e)=>s=>s(t,e),P$1=(t,e)=>s=>s(t,e,{append:!1}),$=()=>{const t=typeof
|
|
|
2663
2663
|
.then(() => {
|
|
2664
2664
|
// run your app or website
|
|
2665
2665
|
})
|
|
2666
|
-
.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)=>
|
|
2666
|
+
.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);}}
|
|
2667
2667
|
|
|
2668
2668
|
var KeyEnum;
|
|
2669
2669
|
(function (KeyEnum) {
|
|
@@ -4038,7 +4038,7 @@ const handleColorChange = (value) => {
|
|
|
4038
4038
|
break;
|
|
4039
4039
|
}
|
|
4040
4040
|
case null:
|
|
4041
|
-
Log.warn(`_color was empty or invalid (${JSON.stringify(value)})
|
|
4041
|
+
Log.warn(`_color was empty or invalid (${JSON.stringify(value)})`);
|
|
4042
4042
|
colorContrast = createContrastColorPair({
|
|
4043
4043
|
background: '#000',
|
|
4044
4044
|
foreground: '#000',
|
|
@@ -4099,11 +4099,6 @@ const validateHasIconsWhenExpanded = (component, value) => {
|
|
|
4099
4099
|
watchBoolean(component, '_hasIconsWhenExpanded', value);
|
|
4100
4100
|
};
|
|
4101
4101
|
|
|
4102
|
-
const headingVariantPropTypeOptions = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'strong'];
|
|
4103
|
-
const validateHeadingVariant = (component, value) => {
|
|
4104
|
-
watchValidator(component, `_variant`, (value) => typeof value === 'string' && headingVariantPropTypeOptions.includes(value), new Set([`KoliBriHeadingVariant {${headingVariantPropTypeOptions.join(', ')}`]), value);
|
|
4105
|
-
};
|
|
4106
|
-
|
|
4107
4102
|
const validateHideLabel = (component, value, options = {}) => {
|
|
4108
4103
|
watchBoolean(component, '_hideLabel', value, options);
|
|
4109
4104
|
};
|
|
@@ -4485,8 +4480,6 @@ const inputTextTypeOptions = ['text', 'search', 'url', 'tel'];
|
|
|
4485
4480
|
|
|
4486
4481
|
const inputTypeOnOffOptions = ['on', 'off'];
|
|
4487
4482
|
|
|
4488
|
-
const orientationOptions = ['horizontal', 'vertical'];
|
|
4489
|
-
|
|
4490
4483
|
var KoliBriProgressVariantEnum;
|
|
4491
4484
|
(function (KoliBriProgressVariantEnum) {
|
|
4492
4485
|
KoliBriProgressVariantEnum["bar"] = "bar";
|
|
@@ -4620,10 +4613,9 @@ function getSubHeadlineTag(level) {
|
|
|
4620
4613
|
return level === 1 ? 'span' : getHeadlineTag(level);
|
|
4621
4614
|
}
|
|
4622
4615
|
const KolHeadlineFc = (_a, children) => {
|
|
4623
|
-
var { class: classNames, level = MIN_HEADING_LEVEL
|
|
4616
|
+
var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
|
|
4624
4617
|
const HeadlineTag = getHeadlineTag(level);
|
|
4625
|
-
|
|
4626
|
-
return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline', `kol-headline--${finalVariant}`, classNames) }, other), children));
|
|
4618
|
+
return (hAsync(HeadlineTag, Object.assign({ class: clsx('kol-headline', `kol-headline--${HeadlineTag}`, classNames) }, other), children));
|
|
4627
4619
|
};
|
|
4628
4620
|
const KolSecondaryHeadlineFc = (_a, children) => {
|
|
4629
4621
|
var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
|
|
@@ -16120,7 +16112,7 @@ class KolBadge {
|
|
|
16120
16112
|
const UNIQUE_LABELS = new Set();
|
|
16121
16113
|
function addNavLabel(ariaLabel) {
|
|
16122
16114
|
if (UNIQUE_LABELS.has(ariaLabel)) {
|
|
16123
|
-
Log.
|
|
16115
|
+
Log.warn(`There already is a nav element with the label "${ariaLabel}"`);
|
|
16124
16116
|
}
|
|
16125
16117
|
else {
|
|
16126
16118
|
UNIQUE_LABELS.add(ariaLabel);
|
|
@@ -16928,8 +16920,6 @@ function getFormFieldProps(state) {
|
|
|
16928
16920
|
hideLabel: state._hideLabel,
|
|
16929
16921
|
hideMsg: state._hideMsg,
|
|
16930
16922
|
touched: state._touched,
|
|
16931
|
-
accessKey: state._accessKey,
|
|
16932
|
-
shortKey: state._shortKey,
|
|
16933
16923
|
};
|
|
16934
16924
|
if ('_required' in state) {
|
|
16935
16925
|
props.required = state._required;
|
|
@@ -16937,6 +16927,12 @@ function getFormFieldProps(state) {
|
|
|
16937
16927
|
if ('_readOnly' in state) {
|
|
16938
16928
|
props.readOnly = state._readOnly;
|
|
16939
16929
|
}
|
|
16930
|
+
if ('_accessKey' in state) {
|
|
16931
|
+
props.accessKey = state._accessKey;
|
|
16932
|
+
}
|
|
16933
|
+
if ('_shortKey' in state) {
|
|
16934
|
+
props.shortKey = state._shortKey;
|
|
16935
|
+
}
|
|
16940
16936
|
if ('_hasCounter' in state && '_currentLength' in state) {
|
|
16941
16937
|
props.counter = state._hasCounter ? { currentLength: state._currentLength } : undefined;
|
|
16942
16938
|
if (props.counter && '_maxLength' in state) {
|
|
@@ -17228,11 +17224,12 @@ function getInputProps(state, customSuggestions) {
|
|
|
17228
17224
|
id: state._id,
|
|
17229
17225
|
hideLabel: state._hideLabel,
|
|
17230
17226
|
label: state._label,
|
|
17231
|
-
accessKey: state._accessKey,
|
|
17232
17227
|
disabled: state._disabled,
|
|
17233
17228
|
name: state._name,
|
|
17234
17229
|
ariaDescribedBy: ariaDescribedBy,
|
|
17235
17230
|
};
|
|
17231
|
+
if ('_accessKey' in state)
|
|
17232
|
+
props.accessKey = state._accessKey;
|
|
17236
17233
|
if ('_type' in state)
|
|
17237
17234
|
props.type = state._type;
|
|
17238
17235
|
if ('_value' in state)
|
|
@@ -18157,7 +18154,6 @@ class KolHeading {
|
|
|
18157
18154
|
this._label = undefined;
|
|
18158
18155
|
this._level = 0;
|
|
18159
18156
|
this._secondaryHeadline = undefined;
|
|
18160
|
-
this._variant = undefined;
|
|
18161
18157
|
this.state = {
|
|
18162
18158
|
_label: '',
|
|
18163
18159
|
_level: 0,
|
|
@@ -18172,24 +18168,19 @@ class KolHeading {
|
|
|
18172
18168
|
validateSecondaryHeadline(value) {
|
|
18173
18169
|
watchString(this, '_secondaryHeadline', value);
|
|
18174
18170
|
}
|
|
18175
|
-
validateVariant(value) {
|
|
18176
|
-
validateHeadingVariant(this, value);
|
|
18177
|
-
}
|
|
18178
18171
|
componentWillLoad() {
|
|
18179
18172
|
this.validateLabel(this._label);
|
|
18180
18173
|
this.validateLevel(this._level);
|
|
18181
18174
|
this.validateSecondaryHeadline(this._secondaryHeadline);
|
|
18182
|
-
this.validateVariant(this._variant);
|
|
18183
18175
|
}
|
|
18184
18176
|
render() {
|
|
18185
|
-
const { _secondaryHeadline, _label, _level
|
|
18186
|
-
return (hAsync(KolHeadingFc, { key: '
|
|
18177
|
+
const { _secondaryHeadline, _label, _level } = this.state;
|
|
18178
|
+
return (hAsync(KolHeadingFc, { key: '4acb20dadb12cf9f57642b5a3f686e48a69b7c3c', secondaryHeadline: _secondaryHeadline, level: _level }, _label, hAsync("slot", { key: '1b27358b50f7dc744d5a9d06321d63218c524e22', name: "expert", slot: "expert" })));
|
|
18187
18179
|
}
|
|
18188
18180
|
static get watchers() { return {
|
|
18189
18181
|
"_label": ["validateLabel"],
|
|
18190
18182
|
"_level": ["validateLevel"],
|
|
18191
|
-
"_secondaryHeadline": ["validateSecondaryHeadline"]
|
|
18192
|
-
"_variant": ["validateVariant"]
|
|
18183
|
+
"_secondaryHeadline": ["validateSecondaryHeadline"]
|
|
18193
18184
|
}; }
|
|
18194
18185
|
static get style() { return {
|
|
18195
18186
|
default: KolHeadingDefaultStyle0
|
|
@@ -18201,7 +18192,6 @@ class KolHeading {
|
|
|
18201
18192
|
"_label": [1],
|
|
18202
18193
|
"_level": [2],
|
|
18203
18194
|
"_secondaryHeadline": [1, "_secondary-headline"],
|
|
18204
|
-
"_variant": [1],
|
|
18205
18195
|
"state": [32]
|
|
18206
18196
|
},
|
|
18207
18197
|
"$listeners$": undefined,
|
|
@@ -18339,6 +18329,13 @@ class KolImage {
|
|
|
18339
18329
|
}; }
|
|
18340
18330
|
}
|
|
18341
18331
|
|
|
18332
|
+
const orientationPropTypeOptions = ['horizontal', 'vertical'];
|
|
18333
|
+
const validateOrientation = (component, value, defaultValue = 'horizontal') => {
|
|
18334
|
+
watchValidator(component, `_orientation`, (value) => typeof value === 'string' && orientationPropTypeOptions.includes(value), new Set([`KoliBriOrientation {${orientationPropTypeOptions.join(', ')}`]), value, {
|
|
18335
|
+
defaultValue,
|
|
18336
|
+
});
|
|
18337
|
+
};
|
|
18338
|
+
|
|
18342
18339
|
const fillKeyOptionMap = (keyOptionMap, options, preKey = '') => {
|
|
18343
18340
|
options.forEach((option, index) => {
|
|
18344
18341
|
const key = `${preKey}-${index}`;
|
|
@@ -18385,9 +18382,7 @@ class InputRadioController extends InputCheckboxRadioController {
|
|
|
18385
18382
|
this.component = component;
|
|
18386
18383
|
}
|
|
18387
18384
|
validateOrientation(value) {
|
|
18388
|
-
|
|
18389
|
-
defaultValue: 'vertical',
|
|
18390
|
-
});
|
|
18385
|
+
validateOrientation(this.component, value, 'vertical');
|
|
18391
18386
|
}
|
|
18392
18387
|
validateOptions(value) {
|
|
18393
18388
|
validateOptions(this.component, value, {
|
|
@@ -18503,8 +18498,6 @@ const KolFieldControlFc = (props, children) => {
|
|
|
18503
18498
|
|
|
18504
18499
|
function getFieldControlProps(state) {
|
|
18505
18500
|
const props = {
|
|
18506
|
-
accessKey: state._accessKey,
|
|
18507
|
-
shortKey: state._shortKey,
|
|
18508
18501
|
id: state._id,
|
|
18509
18502
|
disabled: state._disabled,
|
|
18510
18503
|
msg: convertMsgToInternMsg(state._msg),
|
|
@@ -18522,6 +18515,12 @@ function getFieldControlProps(state) {
|
|
|
18522
18515
|
if ('_labelAlign' in state) {
|
|
18523
18516
|
props.labelAlign = state._labelAlign;
|
|
18524
18517
|
}
|
|
18518
|
+
if ('_accessKey' in state) {
|
|
18519
|
+
props.accessKey = state._accessKey;
|
|
18520
|
+
}
|
|
18521
|
+
if ('_shortKey' in state) {
|
|
18522
|
+
props.shortKey = state._shortKey;
|
|
18523
|
+
}
|
|
18525
18524
|
return props;
|
|
18526
18525
|
}
|
|
18527
18526
|
const FieldControlStateWrapper = (_a, children) => {
|
|
@@ -18533,7 +18532,7 @@ const IconWrapperFc = (_a) => {
|
|
|
18533
18532
|
var { class: classNames } = _a, other = __rest(_a, ["class"]);
|
|
18534
18533
|
return hAsync(KolIconFc, Object.assign({ class: clsx('kol-checkbox__icon', classNames) }, other));
|
|
18535
18534
|
};
|
|
18536
|
-
const InputWrapperFc = (_a) => {
|
|
18535
|
+
const InputWrapperFc$1 = (_a) => {
|
|
18537
18536
|
var { class: classNames } = _a, other = __rest(_a, ["class"]);
|
|
18538
18537
|
return hAsync(InputFc, Object.assign({ class: clsx('kol-checkbox__input', classNames) }, other, { type: "checkbox" }));
|
|
18539
18538
|
};
|
|
@@ -18552,7 +18551,7 @@ const CheckboxFc = (_a) => {
|
|
|
18552
18551
|
};
|
|
18553
18552
|
return (hAsync("label", Object.assign({ class: clsx('kol-checkbox', cssVariants, classNames) }, other),
|
|
18554
18553
|
hAsync(IconWrapperFc, { label: "", icons: icon }),
|
|
18555
|
-
hAsync(InputWrapperFc, Object.assign({}, inputProps))));
|
|
18554
|
+
hAsync(InputWrapperFc$1, Object.assign({}, inputProps))));
|
|
18556
18555
|
};
|
|
18557
18556
|
|
|
18558
18557
|
function getCheckboxProps(state, inputProps = {}) {
|
|
@@ -20719,7 +20718,50 @@ class KolInputPassword {
|
|
|
20719
20718
|
}; }
|
|
20720
20719
|
}
|
|
20721
20720
|
|
|
20722
|
-
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}";
|
|
20721
|
+
const InputWrapperFc = (_a) => {
|
|
20722
|
+
var { class: classNames } = _a, other = __rest(_a, ["class"]);
|
|
20723
|
+
return hAsync(InputFc, Object.assign({ class: clsx('kol-input-radio__input', classNames) }, other, { type: "radio" }));
|
|
20724
|
+
};
|
|
20725
|
+
const RadioFc = (_a) => {
|
|
20726
|
+
var _b;
|
|
20727
|
+
var { class: classNames, inputProps } = _a, other = __rest(_a, ["class", "inputProps"]);
|
|
20728
|
+
const showMsg = checkHasMsg(inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg, inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched);
|
|
20729
|
+
const cssVariants = {
|
|
20730
|
+
['kol-input-radio--checked']: inputProps === null || inputProps === void 0 ? void 0 : inputProps.checked,
|
|
20731
|
+
['kol-input-radio--disabled']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.disabled),
|
|
20732
|
+
['kol-input-radio--required']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.required),
|
|
20733
|
+
['kol-input-radio--touched']: Boolean(inputProps === null || inputProps === void 0 ? void 0 : inputProps.touched),
|
|
20734
|
+
[`kol-input-radio--${((_b = inputProps === null || inputProps === void 0 ? void 0 : inputProps.msg) === null || _b === void 0 ? void 0 : _b.type) || 'error'}`]: Boolean(showMsg),
|
|
20735
|
+
};
|
|
20736
|
+
return (hAsync("label", Object.assign({ class: clsx('kol-input-radio', cssVariants, classNames) }, other),
|
|
20737
|
+
hAsync(InputWrapperFc, Object.assign({}, inputProps))));
|
|
20738
|
+
};
|
|
20739
|
+
|
|
20740
|
+
function getRadioProps(state, inputProps = {}) {
|
|
20741
|
+
const { ariaDescribedBy } = getRenderStates(state);
|
|
20742
|
+
const props = {
|
|
20743
|
+
id: state._id,
|
|
20744
|
+
hideLabel: state._hideLabel,
|
|
20745
|
+
label: state._label,
|
|
20746
|
+
value: state._value,
|
|
20747
|
+
disabled: state._disabled,
|
|
20748
|
+
name: state._name,
|
|
20749
|
+
ariaDescribedBy,
|
|
20750
|
+
};
|
|
20751
|
+
if ('_required' in state)
|
|
20752
|
+
props.required = state._required;
|
|
20753
|
+
if ('_touched' in state)
|
|
20754
|
+
props.touched = state._touched;
|
|
20755
|
+
if ('_msg' in state)
|
|
20756
|
+
props.msg = convertMsgToInternMsg(state._msg);
|
|
20757
|
+
return Object.assign(Object.assign({}, props), inputProps);
|
|
20758
|
+
}
|
|
20759
|
+
const RadioStateWrapper = (_a) => {
|
|
20760
|
+
var { state, inputProps } = _a, other = __rest(_a, ["state", "inputProps"]);
|
|
20761
|
+
return hAsync(RadioFc, Object.assign({ inputProps: getRadioProps(state, inputProps) }, other));
|
|
20762
|
+
};
|
|
20763
|
+
|
|
20764
|
+
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}";
|
|
20723
20765
|
var KolInputRadioDefaultStyle0 = defaultStyleCss$p;
|
|
20724
20766
|
|
|
20725
20767
|
class KolInputRadio {
|
|
@@ -20748,7 +20790,7 @@ class KolInputRadio {
|
|
|
20748
20790
|
};
|
|
20749
20791
|
}
|
|
20750
20792
|
render() {
|
|
20751
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
20793
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '1dc48b26e8e760c4fa2c5db8ec8d93e6e83e5adc' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
|
|
20752
20794
|
}
|
|
20753
20795
|
getOptionProps(option, id) {
|
|
20754
20796
|
const obj = {
|
|
@@ -20767,24 +20809,21 @@ class KolInputRadio {
|
|
|
20767
20809
|
return obj;
|
|
20768
20810
|
}
|
|
20769
20811
|
getInputProps(option, id, index, selected) {
|
|
20770
|
-
|
|
20771
|
-
|
|
20772
|
-
|
|
20773
|
-
|
|
20774
|
-
|
|
20775
|
-
|
|
20776
|
-
|
|
20777
|
-
|
|
20778
|
-
|
|
20779
|
-
|
|
20780
|
-
obj.disabled = true;
|
|
20781
|
-
}
|
|
20782
|
-
return obj;
|
|
20812
|
+
return {
|
|
20813
|
+
state: this.state,
|
|
20814
|
+
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) => {
|
|
20815
|
+
this.controller.onFacade.onFocus(event);
|
|
20816
|
+
this.inputHasFocus = true;
|
|
20817
|
+
}, onBlur: (event) => {
|
|
20818
|
+
this.controller.onFacade.onBlur(event);
|
|
20819
|
+
this.inputHasFocus = false;
|
|
20820
|
+
} }),
|
|
20821
|
+
};
|
|
20783
20822
|
}
|
|
20784
20823
|
renderOption(option, index) {
|
|
20785
20824
|
const customId = `${this.state._id}-${index}`;
|
|
20786
20825
|
const selected = this.state._value === option.value;
|
|
20787
|
-
return (hAsync(FieldControlStateWrapper, Object.assign({ key: customId }, this.getOptionProps(option, customId)), hAsync(
|
|
20826
|
+
return (hAsync(FieldControlStateWrapper, Object.assign({ key: customId }, this.getOptionProps(option, customId)), hAsync(RadioStateWrapper, Object.assign({}, this.getInputProps(option, customId, index, selected)))));
|
|
20788
20827
|
}
|
|
20789
20828
|
constructor(hostRef) {
|
|
20790
20829
|
registerInstance(this, hostRef);
|
|
@@ -20816,7 +20855,6 @@ class KolInputRadio {
|
|
|
20816
20855
|
});
|
|
20817
20856
|
}
|
|
20818
20857
|
};
|
|
20819
|
-
this._accessKey = undefined;
|
|
20820
20858
|
this._disabled = false;
|
|
20821
20859
|
this._hideMsg = false;
|
|
20822
20860
|
this._hideLabel = false;
|
|
@@ -20829,7 +20867,6 @@ class KolInputRadio {
|
|
|
20829
20867
|
this._options = undefined;
|
|
20830
20868
|
this._orientation = 'vertical';
|
|
20831
20869
|
this._required = false;
|
|
20832
|
-
this._shortKey = undefined;
|
|
20833
20870
|
this._syncValueBySelector = undefined;
|
|
20834
20871
|
this._tooltipAlign = 'top';
|
|
20835
20872
|
this._touched = false;
|
|
@@ -20847,9 +20884,6 @@ class KolInputRadio {
|
|
|
20847
20884
|
showAsAlert() {
|
|
20848
20885
|
return Boolean(this.state._touched) && !this.inputHasFocus;
|
|
20849
20886
|
}
|
|
20850
|
-
validateAccessKey(value) {
|
|
20851
|
-
this.controller.validateAccessKey(value);
|
|
20852
|
-
}
|
|
20853
20887
|
validateTooltipAlign(value) {
|
|
20854
20888
|
this.controller.validateTooltipAlign(value);
|
|
20855
20889
|
}
|
|
@@ -20889,9 +20923,6 @@ class KolInputRadio {
|
|
|
20889
20923
|
validateRequired(value) {
|
|
20890
20924
|
this.controller.validateRequired(value);
|
|
20891
20925
|
}
|
|
20892
|
-
validateShortKey(value) {
|
|
20893
|
-
this.controller.validateShortKey(value);
|
|
20894
|
-
}
|
|
20895
20926
|
validateSyncValueBySelector(value) {
|
|
20896
20927
|
this.controller.validateSyncValueBySelector(value);
|
|
20897
20928
|
}
|
|
@@ -20908,7 +20939,6 @@ class KolInputRadio {
|
|
|
20908
20939
|
static get delegatesFocus() { return true; }
|
|
20909
20940
|
get host() { return getElement(this); }
|
|
20910
20941
|
static get watchers() { return {
|
|
20911
|
-
"_accessKey": ["validateAccessKey"],
|
|
20912
20942
|
"_tooltipAlign": ["validateTooltipAlign"],
|
|
20913
20943
|
"_disabled": ["validateDisabled"],
|
|
20914
20944
|
"_hideLabel": ["validateHideLabel"],
|
|
@@ -20922,7 +20952,6 @@ class KolInputRadio {
|
|
|
20922
20952
|
"_options": ["validateOptions"],
|
|
20923
20953
|
"_orientation": ["validateOrientation"],
|
|
20924
20954
|
"_required": ["validateRequired"],
|
|
20925
|
-
"_shortKey": ["validateShortKey"],
|
|
20926
20955
|
"_syncValueBySelector": ["validateSyncValueBySelector"],
|
|
20927
20956
|
"_touched": ["validateTouched"],
|
|
20928
20957
|
"_value": ["validateValue"]
|
|
@@ -20934,7 +20963,6 @@ class KolInputRadio {
|
|
|
20934
20963
|
"$flags$": 57,
|
|
20935
20964
|
"$tagName$": "kol-input-radio",
|
|
20936
20965
|
"$members$": {
|
|
20937
|
-
"_accessKey": [1, "_access-key"],
|
|
20938
20966
|
"_disabled": [4],
|
|
20939
20967
|
"_hideMsg": [1540, "_hide-msg"],
|
|
20940
20968
|
"_hideLabel": [4, "_hide-label"],
|
|
@@ -20947,7 +20975,6 @@ class KolInputRadio {
|
|
|
20947
20975
|
"_options": [1],
|
|
20948
20976
|
"_orientation": [1],
|
|
20949
20977
|
"_required": [4],
|
|
20950
|
-
"_shortKey": [1, "_short-key"],
|
|
20951
20978
|
"_syncValueBySelector": [1, "_sync-value-by-selector"],
|
|
20952
20979
|
"_tooltipAlign": [1, "_tooltip-align"],
|
|
20953
20980
|
"_touched": [1540],
|
|
@@ -21990,7 +22017,7 @@ const validateModalVariant = (component, value) => {
|
|
|
21990
22017
|
watchValidator(component, '_variant', (value) => typeof value === 'string' && ModalVariantPropTypeOptions.includes(value), new Set(ModalVariantPropTypeOptions), value);
|
|
21991
22018
|
};
|
|
21992
22019
|
|
|
21993
|
-
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}";
|
|
22020
|
+
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}";
|
|
21994
22021
|
var KolModalDefaultStyle0 = defaultStyleCss$j;
|
|
21995
22022
|
|
|
21996
22023
|
class KolModal {
|
|
@@ -22210,9 +22237,9 @@ class KolNav {
|
|
|
22210
22237
|
const collapsible = this.state._collapsible === true;
|
|
22211
22238
|
const hideLabel = this.state._hideLabel === true;
|
|
22212
22239
|
const orientation = this.state._orientation;
|
|
22213
|
-
return (hAsync("div", { key: '
|
|
22240
|
+
return (hAsync("div", { key: '2d1746fba7131f7af370b41afdd1d3598d3db006', class: clsx('kol-nav', `kol-nav--${orientation}`, {
|
|
22214
22241
|
'kol-nav--is-compact': this.state._hideLabel,
|
|
22215
|
-
}) }, hAsync("nav", { key: '
|
|
22242
|
+
}) }, 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: {
|
|
22216
22243
|
onClick: () => {
|
|
22217
22244
|
this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: this.state._hideLabel === false });
|
|
22218
22245
|
},
|
|
@@ -22483,7 +22510,7 @@ class KolPagination {
|
|
|
22483
22510
|
return null;
|
|
22484
22511
|
}
|
|
22485
22512
|
});
|
|
22486
|
-
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: {
|
|
22513
|
+
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: {
|
|
22487
22514
|
onChange: this.onChangePageSize,
|
|
22488
22515
|
}, _value: [this.state._pageSize] }))));
|
|
22489
22516
|
}
|
|
@@ -23256,16 +23283,22 @@ const flip$1 = function (options) {
|
|
|
23256
23283
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
23257
23284
|
const nextPlacement = placements[nextIndex];
|
|
23258
23285
|
if (nextPlacement) {
|
|
23259
|
-
|
|
23260
|
-
|
|
23261
|
-
|
|
23262
|
-
|
|
23263
|
-
|
|
23264
|
-
|
|
23265
|
-
|
|
23266
|
-
|
|
23267
|
-
|
|
23268
|
-
|
|
23286
|
+
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
23287
|
+
if (!ignoreCrossAxisOverflow ||
|
|
23288
|
+
// We leave the current main axis only if every placement on that axis
|
|
23289
|
+
// overflows the main axis.
|
|
23290
|
+
overflowsData.every(d => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {
|
|
23291
|
+
// Try next placement and re-run the lifecycle.
|
|
23292
|
+
return {
|
|
23293
|
+
data: {
|
|
23294
|
+
index: nextIndex,
|
|
23295
|
+
overflows: overflowsData
|
|
23296
|
+
},
|
|
23297
|
+
reset: {
|
|
23298
|
+
placement: nextPlacement
|
|
23299
|
+
}
|
|
23300
|
+
};
|
|
23301
|
+
}
|
|
23269
23302
|
}
|
|
23270
23303
|
|
|
23271
23304
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
@@ -24347,6 +24380,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
24347
24380
|
scrollTop: 0
|
|
24348
24381
|
};
|
|
24349
24382
|
const offsets = createCoords(0);
|
|
24383
|
+
|
|
24384
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
24385
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
24386
|
+
function setLeftRTLScrollbarOffset() {
|
|
24387
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
24388
|
+
}
|
|
24350
24389
|
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
24351
24390
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
24352
24391
|
scroll = getNodeScroll(offsetParent);
|
|
@@ -24356,11 +24395,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
24356
24395
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
24357
24396
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
24358
24397
|
} else if (documentElement) {
|
|
24359
|
-
|
|
24360
|
-
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
24361
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
24398
|
+
setLeftRTLScrollbarOffset();
|
|
24362
24399
|
}
|
|
24363
24400
|
}
|
|
24401
|
+
if (isFixed && !isOffsetParentAnElement && documentElement) {
|
|
24402
|
+
setLeftRTLScrollbarOffset();
|
|
24403
|
+
}
|
|
24364
24404
|
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
24365
24405
|
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
24366
24406
|
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
@@ -24537,7 +24577,7 @@ function observeMove(element, onMove) {
|
|
|
24537
24577
|
// Handle <iframe>s
|
|
24538
24578
|
root: root.ownerDocument
|
|
24539
24579
|
});
|
|
24540
|
-
} catch (
|
|
24580
|
+
} catch (_e) {
|
|
24541
24581
|
io = new IntersectionObserver(handleObserve, options);
|
|
24542
24582
|
}
|
|
24543
24583
|
io.observe(element);
|
|
@@ -28255,7 +28295,7 @@ class KolToastContainer {
|
|
|
28255
28295
|
}; }
|
|
28256
28296
|
}
|
|
28257
28297
|
|
|
28258
|
-
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
|
|
28298
|
+
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}";
|
|
28259
28299
|
var KolToolbarDefaultStyle0 = defaultStyleCss$3;
|
|
28260
28300
|
|
|
28261
28301
|
class KolToolbar {
|
|
@@ -28281,9 +28321,10 @@ class KolToolbar {
|
|
|
28281
28321
|
this.currentIndex = 0;
|
|
28282
28322
|
this._label = undefined;
|
|
28283
28323
|
this._items = undefined;
|
|
28324
|
+
this._orientation = undefined;
|
|
28284
28325
|
}
|
|
28285
28326
|
render() {
|
|
28286
|
-
return (hAsync("div", { key: '
|
|
28327
|
+
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)));
|
|
28287
28328
|
}
|
|
28288
28329
|
validateLabel(value) {
|
|
28289
28330
|
validateLabel(this, value);
|
|
@@ -28291,6 +28332,9 @@ class KolToolbar {
|
|
|
28291
28332
|
validateItems(value) {
|
|
28292
28333
|
validateToolbarItems(this, value);
|
|
28293
28334
|
}
|
|
28335
|
+
validateOrientation(value) {
|
|
28336
|
+
validateOrientation(this, value);
|
|
28337
|
+
}
|
|
28294
28338
|
getCurrentToolbarItem(index) {
|
|
28295
28339
|
return typeof index === 'number' ? this.indexToElement.get(index) : undefined;
|
|
28296
28340
|
}
|
|
@@ -28300,18 +28344,21 @@ class KolToolbar {
|
|
|
28300
28344
|
}
|
|
28301
28345
|
handleKeyDown(event) {
|
|
28302
28346
|
var _a, _b;
|
|
28303
|
-
const
|
|
28347
|
+
const pressedKey = event.code;
|
|
28348
|
+
const isArrowKey = [KeyboardKey.ArrowUp, KeyboardKey.ArrowDown, KeyboardKey.ArrowRight, KeyboardKey.ArrowLeft].includes(pressedKey);
|
|
28304
28349
|
if (!isArrowKey)
|
|
28305
28350
|
return;
|
|
28306
28351
|
event.preventDefault();
|
|
28307
28352
|
const lastItemIndex = ((_a = this._items) === null || _a === void 0 ? void 0 : _a.length) - 1;
|
|
28308
28353
|
const currentIndex = this.currentIndex;
|
|
28309
28354
|
let nextIndex = 0;
|
|
28310
|
-
switch (
|
|
28311
|
-
case
|
|
28355
|
+
switch (pressedKey) {
|
|
28356
|
+
case KeyboardKey.ArrowUp:
|
|
28357
|
+
case KeyboardKey.ArrowLeft:
|
|
28312
28358
|
nextIndex = currentIndex !== nextIndex ? currentIndex - 1 : lastItemIndex;
|
|
28313
28359
|
break;
|
|
28314
|
-
case
|
|
28360
|
+
case KeyboardKey.ArrowDown:
|
|
28361
|
+
case KeyboardKey.ArrowRight:
|
|
28315
28362
|
if (lastItemIndex !== currentIndex)
|
|
28316
28363
|
nextIndex = currentIndex + 1;
|
|
28317
28364
|
break;
|
|
@@ -28328,12 +28375,14 @@ class KolToolbar {
|
|
|
28328
28375
|
componentWillLoad() {
|
|
28329
28376
|
this.validateLabel(this._label);
|
|
28330
28377
|
this.validateItems(this._items);
|
|
28378
|
+
this.validateOrientation(this._orientation);
|
|
28331
28379
|
this.setFirstEnabledItemIndex();
|
|
28332
28380
|
}
|
|
28333
28381
|
get host() { return getElement(this); }
|
|
28334
28382
|
static get watchers() { return {
|
|
28335
28383
|
"_label": ["validateLabel"],
|
|
28336
|
-
"_items": ["validateItems"]
|
|
28384
|
+
"_items": ["validateItems"],
|
|
28385
|
+
"_orientation": ["validateOrientation"]
|
|
28337
28386
|
}; }
|
|
28338
28387
|
static get style() { return {
|
|
28339
28388
|
default: KolToolbarDefaultStyle0
|
|
@@ -28344,6 +28393,7 @@ class KolToolbar {
|
|
|
28344
28393
|
"$members$": {
|
|
28345
28394
|
"_label": [1],
|
|
28346
28395
|
"_items": [16],
|
|
28396
|
+
"_orientation": [1],
|
|
28347
28397
|
"state": [32],
|
|
28348
28398
|
"currentIndex": [32]
|
|
28349
28399
|
},
|