@public-ui/hydrate 4.0.3 → 4.1.0-rc.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 +642 -200
- package/dist/index.mjs +642 -200
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -146,7 +146,7 @@ function _mergeNamespaces(n, m) {
|
|
|
146
146
|
|
|
147
147
|
const NAMESPACE = 'kolibri';
|
|
148
148
|
const BUILD = /* kolibri */ { hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
|
|
149
|
-
const Env = /* kolibri */ {"kolibriVersion":"4.0.
|
|
149
|
+
const Env = /* kolibri */ {"kolibriVersion":"4.1.0-rc.0"};
|
|
150
150
|
|
|
151
151
|
function getDefaultExportFromCjs (x) {
|
|
152
152
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
@@ -522,7 +522,7 @@ function requireLoglevel () {
|
|
|
522
522
|
var loglevelExports = requireLoglevel();
|
|
523
523
|
var h$1 = /*@__PURE__*/getDefaultExportFromCjs(loglevelExports);
|
|
524
524
|
|
|
525
|
-
const
|
|
525
|
+
const Y=()=>{const t=typeof process<"u"&&process.env?process.env:{},e=t.NODE_ENV==="test",s="VITEST"in t,o="JEST_WORKER_ID"in t,a="PLAYWRIGHT_TEST_BASE_URL"in t,r=t.CI==="true",i=t.TEST==="true"||t.IS_TEST==="true",c=typeof navigator<"u"&&navigator.webdriver===true,y=typeof navigator<"u"&&/playwright|puppeteer|webdriver|selenium|testcafe/i.test(navigator.userAgent);return e||s||o||a||r||i||c||y},n$1={A11yUi:{CSS_STYLE_CACHE:new Map,IS_TEST_ENVIRONMENT:Y(),PERFORMANCE_MEASURES:new Map,STYLING_TASK_QUEUE:new Map,THEMES:new Map}};let f$1=false;const k=/^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/,G=t=>typeof t=="string"&&k.test(t),S=t=>{if(!G(t))throw new Error(`[Theming] The theme identifier "${typeof t=="string"?t:""}" (Type: ${typeof t}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`)},A=t=>t.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s*([{},;])\s*/g,"$1").replace(/:\s+/g,":").replace(/\s+/g," ").replace(/;\}/g,"}").trim(),x=(t,e,s,o)=>T(t,e,s,o),T=(t,e,s,o)=>{o=o??{},o.append=o.append??false,S(t),!f$1&&(f$1=true,h$1.warn(`[Theming] The theme process is locked. This means that the theme "${t}" should not be patched.
|
|
526
526
|
|
|
527
527
|
import { register } from 'adopted-style-sheets';
|
|
528
528
|
import { defineCustomElements } from '...';
|
|
@@ -532,7 +532,7 @@ const $=()=>{const t=typeof process<"u"&&process.env?process.env:{},e=t.NODE_ENV
|
|
|
532
532
|
.then(() => {
|
|
533
533
|
// run your app or website
|
|
534
534
|
})
|
|
535
|
-
.catch(console.warn);`));let
|
|
535
|
+
.catch(console.warn);`));let a=n$1.A11yUi.THEMES.get(t);if(a||(a=new Map,n$1.A11yUi.THEMES.set(t,a)),o.append&&a.has(e)){const r=a.get(e);a.set(e,A(`${r}${s}`));}else a.set(e,A(s));},K=(t,e,s,o)=>g(t,e,s,o),g=(t,e,s,o)=>(S(t),typeof e=="object"&&e!==null&&Object.getOwnPropertyNames(e).forEach(a=>{const r=e[a],i=a.toLowerCase(),c=typeof o?.transformTagName=="function"&&!["GLOBAL","PROPERTIES"].includes(a)?o.transformTagName(i):a;typeof r=="string"&&r.length>0&&T(t,c.toUpperCase(),r,s);}),t),b=t=>{if(t instanceof HTMLElement){if(typeof t.dataset.theme=="string")return t;{let e=t.parentNode;for(;e instanceof ShadowRoot;)e=e.host;return b(e)}}else return null},C=(t={})=>t.themeEncroachCss==="false"||t.themeReset==="true"?false:{mode:t.themeEncroachCssMode==="after"||t.themeEncroachCssMode==="before"?t.themeEncroachCssMode:"before"},U=()=>typeof n$1.A11yUi.Theme=="object"&&n$1.A11yUi.Theme!==null&&typeof n$1.A11yUi.Theme.cache=="boolean"&&typeof n$1.A11yUi.Theme.encroachCss=="object"&&n$1.A11yUi.Theme.encroachCss!==null&&typeof n$1.A11yUi.Theme.encroachCss.mode=="string"&&typeof n$1.A11yUi.Theme.name=="string",w=t=>{if(U())return n$1.A11yUi.Theme;{const e={cache:true,encroachCss:C(),loglevel:"silent",mode:"csr",name:null},s=b(t);return s instanceof HTMLElement&&(e.cache=s.dataset.themeCache!=="false",e.encroachCss=C(s.dataset),e.loglevel=s.dataset.themeLoglevel==="debug"?s.dataset.themeLoglevel:"silent",e.mode=s.dataset.themeMode==="ssr"?s.dataset.themeMode:"csr",e.name=s.dataset.theme||null),e}};const v=new Set,N=new Map,X=/--[^;]+/g,Z=/:/,ee=typeof MutationObserver<"u";let L=25,R=()=>{L=Math.min(25+Math.log2(n$1.A11yUi.STYLING_TASK_QUEUE.size+1)*20,250);};const te=(t,e)=>{let s=e.match(X);if(Array.isArray(s)){s=s.filter(a=>Z.test(a));const o=document.createElement("style");o.innerHTML=`.${t} {${s.join(";")}}`,document.querySelector("head")?.appendChild(o);}v.add(t);},d=(t,e)=>{const s=n$1.A11yUi.THEMES.get(t);if(s instanceof Map){const o=s.get(e);if(o!==void 0)return o}return ""},se=t=>{const e=t.firstChild;if(!(!(e instanceof HTMLStyleElement)||e.dataset.themingFallback!==void 0))for(const s of Array.from(t.childNodes))if(s instanceof HTMLStyleElement&&s.tagName==="STYLE"&&s.dataset.themingFallback===void 0)t.removeChild(s);else break},oe=(t,e)=>{try{if(n$1.A11yUi.Theme?.mode==="ssr")throw new Error("SSR");const s=e.filter(o=>typeof o=="string"&&o.length>0).map(o=>{let a=N.get(o);return a||(a=new CSSStyleSheet,a.replaceSync(o),N.set(o,a)),a});t.adoptedStyleSheets=s;}catch{for(let o=e.length-1;o>=0;o--){const a=e[o];if(typeof a!="string"||a.length===0)continue;const r=e.length-1-o,i=document.createElement("style");switch(i.dataset.themingFallback="",r){case 4:i.dataset.themingBaseA11y="";break;case 3:i.dataset.themingBaseGlobal="";break;case 2:i.dataset.themingBaseComponent="";break;case 1:i.dataset.themingCustomGlobal="";break;case 0:i.dataset.themingCustomComponent="";break;default:i.dataset.themingUnknown="";break}i.innerHTML=a,t.insertBefore(i,t.firstChild);}}},ae=(t,e,s)=>{if(s===false||s?.mode!=="before"&&s?.mode!=="after")return;const o=Array.from(t.childNodes).filter(r=>r instanceof HTMLStyleElement&&r.tagName==="STYLE");let a;try{a=Array.from(t.adoptedStyleSheets);}catch{a=[];}if(!(o.length===0&&a.length===0))if(s.mode==="before"){const r=[...a.map(i=>Array.from(i.cssRules).map(c=>c.cssText).join("")),...o.map(i=>i.innerHTML)];e.unshift(...r);}else o.forEach(r=>e.push(r.innerHTML)),a.forEach(r=>e.push(Array.from(r.cssRules).map(i=>i.cssText).join("")));},ne=(t,e,s)=>{const o=e.name||"default";let a;try{if(t.shadowRoot===null)throw new Error("ShadowRoot is null");a=t.shadowRoot;}catch{a=t;}const r=n$1.A11yUi.CSS_STYLE_CACHE.get(o)?.get(t.tagName);if(r)_(t,a,r,s);else {const i=d(o,"PROPERTIES"),c=d(o,"GLOBAL"),y=d(o,t.tagName);v.has(o)===false&&te(o,c);const u=[i,c,y];if(ae(a,u,e.encroachCss),e.cache===true){let m=n$1.A11yUi.CSS_STYLE_CACHE.get(o);m||(m=new Map,n$1.A11yUi.CSS_STYLE_CACHE.set(o,m)),m.set(t.tagName,u);}_(t,a,u,s);}},_=(t,e,s,o)=>{const a=n$1.A11yUi.Theme?.loglevel==="debug",r=a?performance.now():0;if(se(e),oe(e,s),me(t),requestAnimationFrame(o),a){const i=performance.now()-r,c=n$1.A11yUi.PERFORMANCE_MEASURES.get(t.tagName);c?(c.count+=1,c.totalTime+=i):n$1.A11yUi.PERFORMANCE_MEASURES.set(t.tagName,{count:1,totalTime:i});}},O=t=>{const e=n$1.A11yUi.STYLING_TASK_QUEUE.get(t);if(e){const{resetCss:s,themeDetails:o}=e;ne(t,o,s);}},re=100;let E=(t,e=0)=>{if(e>=re)return;const s=setTimeout(()=>{clearTimeout(s),t.classList.contains("hydrated")?O(t):E(t,e+1);},L);};const ie={attributes:true,attributeFilter:["class"],childList:false,subtree:false},ce={attributes:true,attributeFilter:[],childList:false,subtree:false},I=ee?new MutationObserver((t,e)=>{const s=[];for(const o of t){const a=o.target;a.classList.contains("hydrated")&&n$1.A11yUi.STYLING_TASK_QUEUE.has(a)&&(O(a),s.push(a));}for(const o of s)e.observe(o,ce);}):null;I&&(E=t=>I.observe(t,ie),R=()=>{});const H=new Map;let P=(t,e)=>{if(e){const a=H.get(e);if(a!==void 0)return a}const s=getComputedStyle(t).getPropertyValue("--theme-visibility-delay").trim();let o;if(s.endsWith("ms"))o=parseFloat(s);else if(s.endsWith("s"))o=parseFloat(s)*1e3;else {const a=parseFloat(s);o=isNaN(a)?0:a;}return e&&H.set(e,o),o};n$1.A11yUi.IS_TEST_ENVIRONMENT&&(P=()=>0);const $=(t,e)=>{t.style.setProperty("visibility",e),t.dataset.themed="";},le=(t,e)=>{const s=t.style.visibility||null,o=e.name||"default";n$1.A11yUi.STYLING_TASK_QUEUE.set(t,{resetCss:()=>{const a=P(t,o);a>0?setTimeout(()=>{$(t,s);},a):$(t,s);},themeDetails:e}),t.style.setProperty("visibility","hidden","important"),E(t);},me=t=>{n$1.A11yUi.STYLING_TASK_QUEUE.delete(t),R();},he=(t,e)=>{le(t,{...n$1.A11yUi.Theme,...e});};
|
|
536
536
|
|
|
537
537
|
var KeyEnum;
|
|
538
538
|
(function (KeyEnum) {
|
|
@@ -642,7 +642,7 @@ const setRuntimeMode = (mode) => {
|
|
|
642
642
|
throw new Error(`Invalid NODE_ENV value: ${mode}. Expected one of ${MODES.join(', ')}.`);
|
|
643
643
|
}
|
|
644
644
|
}
|
|
645
|
-
catch (
|
|
645
|
+
catch (_a) {
|
|
646
646
|
runtimeMode = 'production';
|
|
647
647
|
}
|
|
648
648
|
};
|
|
@@ -653,7 +653,7 @@ const getInitialMode = () => {
|
|
|
653
653
|
return nodeEnv;
|
|
654
654
|
}
|
|
655
655
|
}
|
|
656
|
-
catch (
|
|
656
|
+
catch (_a) {
|
|
657
657
|
}
|
|
658
658
|
return 'production';
|
|
659
659
|
};
|
|
@@ -1672,7 +1672,7 @@ const watchJsonArrayString = (component, propName, itemValidation, value, arrayV
|
|
|
1672
1672
|
try {
|
|
1673
1673
|
value = parseJson(value);
|
|
1674
1674
|
}
|
|
1675
|
-
catch (
|
|
1675
|
+
catch (_a) {
|
|
1676
1676
|
}
|
|
1677
1677
|
if (Array.isArray(value)) {
|
|
1678
1678
|
const invalid = value.find((item) => !itemValidation(item));
|
|
@@ -1703,7 +1703,7 @@ const stringifyJson = (value) => {
|
|
|
1703
1703
|
try {
|
|
1704
1704
|
return JSON.stringify(value).replace(/"/g, "'");
|
|
1705
1705
|
}
|
|
1706
|
-
catch (
|
|
1706
|
+
catch (_a) {
|
|
1707
1707
|
Log.warn(['stringifyJson', value]);
|
|
1708
1708
|
Log.error(`↑ The JSON could not be converted to a string. A stringifiable JSON is expected.`);
|
|
1709
1709
|
throw new Error();
|
|
@@ -1715,12 +1715,12 @@ const parseJson = (value) => {
|
|
|
1715
1715
|
try {
|
|
1716
1716
|
return JSON.parse(value);
|
|
1717
1717
|
}
|
|
1718
|
-
catch (
|
|
1718
|
+
catch (_a) {
|
|
1719
1719
|
if (JSON_CHARS.test(value)) {
|
|
1720
1720
|
try {
|
|
1721
1721
|
return JSON.parse(value.replace(/'/g, '"'));
|
|
1722
1722
|
}
|
|
1723
|
-
catch (
|
|
1723
|
+
catch (_b) {
|
|
1724
1724
|
Log.warn(['parseJson', value]);
|
|
1725
1725
|
Log.error(`↑ The JSON string could not be parsed. Make sure that single quotes in the text are escaped (‘).`);
|
|
1726
1726
|
}
|
|
@@ -1928,9 +1928,9 @@ KoliBriUtils.executionLock = false;
|
|
|
1928
1928
|
KoliBriUtils.cache = new Map();
|
|
1929
1929
|
class KoliBriDevHelper {
|
|
1930
1930
|
}
|
|
1931
|
-
KoliBriDevHelper.getCssStyle =
|
|
1932
|
-
KoliBriDevHelper.patchTheme =
|
|
1933
|
-
KoliBriDevHelper.patchThemeTag =
|
|
1931
|
+
KoliBriDevHelper.getCssStyle = d;
|
|
1932
|
+
KoliBriDevHelper.patchTheme = K;
|
|
1933
|
+
KoliBriDevHelper.patchThemeTag = x;
|
|
1934
1934
|
KoliBriDevHelper.querySelector = koliBriQuerySelector;
|
|
1935
1935
|
KoliBriDevHelper.querySelectorAll = koliBriQuerySelectorAll;
|
|
1936
1936
|
KoliBriDevHelper.stringifyJson = stringifyJson;
|
|
@@ -2090,9 +2090,9 @@ const validateCollapsible = (component, value) => {
|
|
|
2090
2090
|
watchBoolean(component, '_collapsible', value);
|
|
2091
2091
|
};
|
|
2092
2092
|
|
|
2093
|
-
const HEX_REGEX = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
2094
|
-
function isHexString(value) {
|
|
2095
|
-
return HEX_REGEX.test(value);
|
|
2093
|
+
const HEX_REGEX$1 = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
2094
|
+
function isHexString$1(value) {
|
|
2095
|
+
return HEX_REGEX$1.test(value);
|
|
2096
2096
|
}
|
|
2097
2097
|
function isColorObjectString(value) {
|
|
2098
2098
|
if (value.startsWith('{')) {
|
|
@@ -2101,7 +2101,7 @@ function isColorObjectString(value) {
|
|
|
2101
2101
|
if (isValidColorPair(parsed))
|
|
2102
2102
|
return { type: 'ColorPair', value: parsed };
|
|
2103
2103
|
}
|
|
2104
|
-
catch (
|
|
2104
|
+
catch (_a) {
|
|
2105
2105
|
return { type: null, value: null };
|
|
2106
2106
|
}
|
|
2107
2107
|
}
|
|
@@ -2110,7 +2110,7 @@ function isColorObjectString(value) {
|
|
|
2110
2110
|
function typeOfColor(value) {
|
|
2111
2111
|
if (value) {
|
|
2112
2112
|
if (typeof value === 'string') {
|
|
2113
|
-
if (isHexString(value))
|
|
2113
|
+
if (isHexString$1(value))
|
|
2114
2114
|
return { type: 'string', valid: true, value: value };
|
|
2115
2115
|
else {
|
|
2116
2116
|
const colorObject = isColorObjectString(value);
|
|
@@ -2127,14 +2127,7 @@ function typeOfColor(value) {
|
|
|
2127
2127
|
return { type: null, valid: false, value: '' };
|
|
2128
2128
|
}
|
|
2129
2129
|
function isValidColorPair(value) {
|
|
2130
|
-
return !!(typeof value === 'object' &&
|
|
2131
|
-
value &&
|
|
2132
|
-
typeof value.backgroundColor === 'string' &&
|
|
2133
|
-
(typeof value.foregroundColor === 'string' ||
|
|
2134
|
-
(value.foregroundColor &&
|
|
2135
|
-
typeof value.foregroundColor.primary === 'string' &&
|
|
2136
|
-
typeof value.foregroundColor.secondary === 'string' &&
|
|
2137
|
-
typeof value.foregroundColor.neutral === 'string')));
|
|
2130
|
+
return !!(typeof value === 'object' && value && typeof value.backgroundColor === 'string' && typeof value.foregroundColor === 'string');
|
|
2138
2131
|
}
|
|
2139
2132
|
function validatorFunction(value) {
|
|
2140
2133
|
const valueType = typeOfColor(value);
|
|
@@ -2150,7 +2143,6 @@ const validateColor = (component, value, options) => {
|
|
|
2150
2143
|
watchValidator(component, '_color', validatorFunction, new Set(['rgb in hex', 'ColorPair']), value, options);
|
|
2151
2144
|
};
|
|
2152
2145
|
const handleColorChange = (value) => {
|
|
2153
|
-
var _a;
|
|
2154
2146
|
let colorContrast;
|
|
2155
2147
|
const valueType = typeOfColor(value);
|
|
2156
2148
|
switch (valueType.type) {
|
|
@@ -2162,8 +2154,6 @@ const handleColorChange = (value) => {
|
|
|
2162
2154
|
let foreground = '';
|
|
2163
2155
|
if (typeof asColorPair.foregroundColor === 'string')
|
|
2164
2156
|
foreground = asColorPair.foregroundColor;
|
|
2165
|
-
else if ((_a = asColorPair.foregroundColor) === null || _a === void 0 ? void 0 : _a.primary)
|
|
2166
|
-
foreground = asColorPair.foregroundColor.primary;
|
|
2167
2157
|
if (!foreground || typeof foreground !== 'string')
|
|
2168
2158
|
foreground = '#fff';
|
|
2169
2159
|
colorContrast = createContrastColorPair({
|
|
@@ -2299,7 +2289,7 @@ const validateIcons = (component, value, options = {}) => {
|
|
|
2299
2289
|
try {
|
|
2300
2290
|
value = parseJson(value);
|
|
2301
2291
|
}
|
|
2302
|
-
catch (
|
|
2292
|
+
catch (_b) {
|
|
2303
2293
|
}
|
|
2304
2294
|
watchValidator(component, '_icons', (value) => {
|
|
2305
2295
|
const valueIsEmptyObject = typeof value === 'object' && value !== null && Object.keys(value).length === 0;
|
|
@@ -2435,7 +2425,7 @@ const validateMsg = (component, value) => {
|
|
|
2435
2425
|
try {
|
|
2436
2426
|
value = parseJson(value);
|
|
2437
2427
|
}
|
|
2438
|
-
catch (
|
|
2428
|
+
catch (_a) {
|
|
2439
2429
|
}
|
|
2440
2430
|
watchValidator(component, `_msg`, (value) => {
|
|
2441
2431
|
if (value === undefined) {
|
|
@@ -2460,7 +2450,7 @@ function normalizeMsg(msg) {
|
|
|
2460
2450
|
try {
|
|
2461
2451
|
return parseJson(msg);
|
|
2462
2452
|
}
|
|
2463
|
-
catch (
|
|
2453
|
+
catch (_a) {
|
|
2464
2454
|
return { _description: msg, _type: 'error' };
|
|
2465
2455
|
}
|
|
2466
2456
|
}
|
|
@@ -2607,7 +2597,7 @@ const validateTableData = (component, value, setStateHooks) => {
|
|
|
2607
2597
|
try {
|
|
2608
2598
|
value = parseJson(value);
|
|
2609
2599
|
}
|
|
2610
|
-
catch (
|
|
2600
|
+
catch (_a) {
|
|
2611
2601
|
}
|
|
2612
2602
|
if (Array.isArray(value) && value.every((data) => typeof data === 'object' && data !== null)) {
|
|
2613
2603
|
setState(component, '_data', value, setStateHooks);
|
|
@@ -2625,7 +2615,7 @@ const validateTableDataFoot = (component, value, setStateHooks) => {
|
|
|
2625
2615
|
try {
|
|
2626
2616
|
value = parseJson(value);
|
|
2627
2617
|
}
|
|
2628
|
-
catch (
|
|
2618
|
+
catch (_a) {
|
|
2629
2619
|
}
|
|
2630
2620
|
if (Array.isArray(value) && value.every((data) => typeof data === 'object' && data !== null)) {
|
|
2631
2621
|
setState(component, '_dataFoot', value, setStateHooks);
|
|
@@ -2661,7 +2651,7 @@ const validateTableSelection = (component, value) => {
|
|
|
2661
2651
|
try {
|
|
2662
2652
|
return parseJson(value);
|
|
2663
2653
|
}
|
|
2664
|
-
catch (
|
|
2654
|
+
catch (_a) {
|
|
2665
2655
|
return undefined;
|
|
2666
2656
|
}
|
|
2667
2657
|
};
|
|
@@ -2683,7 +2673,7 @@ const validateToolbarItems = (component, value) => {
|
|
|
2683
2673
|
try {
|
|
2684
2674
|
value = parseJson(value);
|
|
2685
2675
|
}
|
|
2686
|
-
catch (
|
|
2676
|
+
catch (_a) {
|
|
2687
2677
|
}
|
|
2688
2678
|
if (Array.isArray(value) && value.every((items) => typeof items === 'object' && items !== null)) {
|
|
2689
2679
|
setState(component, '_items', value);
|
|
@@ -2773,10 +2763,10 @@ var appGlobalScript = () => {
|
|
|
2773
2763
|
setMode((elm) => {
|
|
2774
2764
|
try {
|
|
2775
2765
|
if (elm.shadowRoot instanceof ShadowRoot) {
|
|
2776
|
-
|
|
2766
|
+
he(elm, w(elm));
|
|
2777
2767
|
}
|
|
2778
2768
|
}
|
|
2779
|
-
catch (
|
|
2769
|
+
catch (_a) {
|
|
2780
2770
|
}
|
|
2781
2771
|
return 'default';
|
|
2782
2772
|
});
|
|
@@ -4250,6 +4240,21 @@ var getElement = (ref) => {
|
|
|
4250
4240
|
var _a;
|
|
4251
4241
|
return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
|
|
4252
4242
|
};
|
|
4243
|
+
|
|
4244
|
+
// src/runtime/event-emitter.ts
|
|
4245
|
+
var createEvent = (ref, name, flags) => {
|
|
4246
|
+
const elm = getElement(ref);
|
|
4247
|
+
return {
|
|
4248
|
+
emit: (detail) => {
|
|
4249
|
+
return emitEvent(elm, name, {
|
|
4250
|
+
bubbles: true,
|
|
4251
|
+
composed: true,
|
|
4252
|
+
cancelable: true,
|
|
4253
|
+
detail
|
|
4254
|
+
});
|
|
4255
|
+
}
|
|
4256
|
+
};
|
|
4257
|
+
};
|
|
4253
4258
|
var emitEvent = (elm, name, opts) => {
|
|
4254
4259
|
const ev = plt.ce(name, opts);
|
|
4255
4260
|
elm.dispatchEvent(ev);
|
|
@@ -5385,7 +5390,7 @@ var Fragment = (_, children) => children;
|
|
|
5385
5390
|
var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
5386
5391
|
if (listeners && win.document) {
|
|
5387
5392
|
listeners.map(([flags, name, method]) => {
|
|
5388
|
-
const target = elm;
|
|
5393
|
+
const target = getHostListenerTarget(win.document, elm, flags) ;
|
|
5389
5394
|
const handler = hostListenerProxy(hostRef, method);
|
|
5390
5395
|
const opts = hostListenerOpts(flags);
|
|
5391
5396
|
plt.ael(target, name, handler, opts);
|
|
@@ -5407,6 +5412,12 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
|
5407
5412
|
consoleError(e, hostRef.$hostElement$);
|
|
5408
5413
|
}
|
|
5409
5414
|
};
|
|
5415
|
+
var getHostListenerTarget = (doc, elm, flags) => {
|
|
5416
|
+
if (flags & 8 /* TargetWindow */) {
|
|
5417
|
+
return win;
|
|
5418
|
+
}
|
|
5419
|
+
return elm;
|
|
5420
|
+
};
|
|
5410
5421
|
var hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
|
|
5411
5422
|
|
|
5412
5423
|
// src/runtime/vdom/vdom-annotations.ts
|
|
@@ -6039,7 +6050,6 @@ var needsScopedSSR = () => scopedSSR;
|
|
|
6039
6050
|
var scopedSSR = false;
|
|
6040
6051
|
|
|
6041
6052
|
let KolAlertWcTag = 'kol-alert-wc';
|
|
6042
|
-
let KolAvatarWcTag = 'kol-avatar-wc';
|
|
6043
6053
|
let KolBadgeTag = 'kol-badge';
|
|
6044
6054
|
let KolButtonTag = 'kol-button';
|
|
6045
6055
|
let KolButtonWcTag = 'kol-button-wc';
|
|
@@ -6235,7 +6245,7 @@ const initMeta = () => {
|
|
|
6235
6245
|
}
|
|
6236
6246
|
}
|
|
6237
6247
|
}
|
|
6238
|
-
catch (
|
|
6248
|
+
catch (_a) {
|
|
6239
6249
|
}
|
|
6240
6250
|
};
|
|
6241
6251
|
const getKoliBri$1 = () => {
|
|
@@ -6759,9 +6769,11 @@ var a = /*@__PURE__*/getDefaultExportFromCjs(easyBemExports);
|
|
|
6759
6769
|
|
|
6760
6770
|
function c(){const e=new Map,n=(t,o,r)=>{try{return e.get(t)(o,r)}catch{return e.set(t,a(t)).get(t)(o,r)}};return n.forBlock=t=>{const o=(r,s)=>n(t,r,s);return o.forElement=r=>s=>n(t,r,s),o},n}
|
|
6761
6771
|
|
|
6772
|
+
const bem$2 = c();
|
|
6773
|
+
|
|
6762
6774
|
const bem$1 = c();
|
|
6763
|
-
|
|
6764
|
-
|
|
6775
|
+
bem$1('kol-alert', 'closer');
|
|
6776
|
+
bem$1('kol-alert', 'content');
|
|
6765
6777
|
const BEM_CLASS_ALERT__ICON = bem$1('kol-alert', 'icon');
|
|
6766
6778
|
|
|
6767
6779
|
const translateError = translate('kol-error');
|
|
@@ -6787,7 +6799,9 @@ const AlertIcon = ({ type, label }) => {
|
|
|
6787
6799
|
}
|
|
6788
6800
|
};
|
|
6789
6801
|
|
|
6790
|
-
const
|
|
6802
|
+
const alertBem = bem$2.forBlock('kol-alert');
|
|
6803
|
+
const BEM_CLASS_ALERT__CLOSER = alertBem('closer');
|
|
6804
|
+
const BEM_CLASS_ALERT__CONTENT = alertBem('content');
|
|
6791
6805
|
const vibrateOnError = () => {
|
|
6792
6806
|
if (typeof navigator === 'undefined' || typeof navigator.vibrate !== 'function') {
|
|
6793
6807
|
return;
|
|
@@ -6808,18 +6822,19 @@ const vibrateOnError = () => {
|
|
|
6808
6822
|
};
|
|
6809
6823
|
const KolAlertFc = (props, children) => {
|
|
6810
6824
|
const { class: classNames = {}, alert = false, hasCloser = false, label, level = 0, type = 'default', variant = 'msg', onAlertTimeout, onCloserClick } = props, other = __rest(props, ["class", "alert", "hasCloser", "label", "level", "type", "variant", "onAlertTimeout", "onCloserClick"]);
|
|
6825
|
+
const translateCloseAlert = translate('kol-close-alert');
|
|
6811
6826
|
if (alert) {
|
|
6812
6827
|
vibrateOnError();
|
|
6813
6828
|
setTimeout(() => {
|
|
6814
6829
|
onAlertTimeout === null || onAlertTimeout === void 0 ? void 0 : onAlertTimeout();
|
|
6815
6830
|
}, 10000);
|
|
6816
6831
|
}
|
|
6817
|
-
const BEM_CLASS_ROOT =
|
|
6832
|
+
const BEM_CLASS_ROOT = alertBem({
|
|
6818
6833
|
hasCloser: !!hasCloser,
|
|
6819
6834
|
[`type-${type}`]: true,
|
|
6820
6835
|
[`variant-${variant}`]: true,
|
|
6821
6836
|
});
|
|
6822
|
-
const BEM_CLASS__HEADING =
|
|
6837
|
+
const BEM_CLASS__HEADING = alertBem('heading', {
|
|
6823
6838
|
[`h${level}`]: true,
|
|
6824
6839
|
});
|
|
6825
6840
|
const rootProps = Object.assign({ class: clsx(classNames, BEM_CLASS_ROOT) }, other);
|
|
@@ -6930,109 +6945,215 @@ class KolAlertWc {
|
|
|
6930
6945
|
}; }
|
|
6931
6946
|
}
|
|
6932
6947
|
|
|
6933
|
-
const
|
|
6948
|
+
const BEM_BLOCK_AVATAR = 'kol-avatar';
|
|
6949
|
+
const BEM_CLASS_AVATAR__IMAGE = bem$2(BEM_BLOCK_AVATAR, 'image');
|
|
6950
|
+
const BEM_CLASS_AVATAR__INITIALS = bem$2(BEM_BLOCK_AVATAR, 'initials');
|
|
6951
|
+
const AvatarFC = (props) => {
|
|
6952
|
+
const { color, initials, label, src } = props;
|
|
6953
|
+
return (hAsync("div", { "aria-label": translate('kol-avatar-alt', { placeholders: { name: label } }), class: "kol-avatar", role: "img", style: {
|
|
6954
|
+
backgroundColor: color.backgroundColor,
|
|
6955
|
+
color: color.foregroundColor,
|
|
6956
|
+
} }, src ? (hAsync("img", { alt: "", "aria-hidden": "true", class: BEM_CLASS_AVATAR__IMAGE, src: src })) : (hAsync("span", { "aria-hidden": "true", class: BEM_CLASS_AVATAR__INITIALS }, initials))));
|
|
6957
|
+
};
|
|
6934
6958
|
|
|
6935
|
-
|
|
6936
|
-
|
|
6937
|
-
|
|
6938
|
-
|
|
6959
|
+
function createPropDefinition(normalize, validate) {
|
|
6960
|
+
return {
|
|
6961
|
+
normalize,
|
|
6962
|
+
validate,
|
|
6963
|
+
};
|
|
6964
|
+
}
|
|
6965
|
+
function withValidPropValue(propDef, value, callback) {
|
|
6966
|
+
try {
|
|
6967
|
+
const normalized = propDef.normalize(value);
|
|
6968
|
+
if (propDef.validate(normalized)) {
|
|
6969
|
+
callback(normalized);
|
|
6970
|
+
}
|
|
6939
6971
|
}
|
|
6940
|
-
|
|
6941
|
-
|
|
6972
|
+
catch (e) {
|
|
6973
|
+
Log.debug(e);
|
|
6942
6974
|
}
|
|
6943
|
-
static get style() { return {
|
|
6944
|
-
default: defaultStyleCss$K
|
|
6945
|
-
}; }
|
|
6946
|
-
static get cmpMeta() { return {
|
|
6947
|
-
"$flags$": 297,
|
|
6948
|
-
"$tagName$": "kol-avatar",
|
|
6949
|
-
"$members$": {
|
|
6950
|
-
"_color": [1],
|
|
6951
|
-
"_src": [1],
|
|
6952
|
-
"_label": [1]
|
|
6953
|
-
},
|
|
6954
|
-
"$listeners$": undefined,
|
|
6955
|
-
"$lazyBundleId$": "-",
|
|
6956
|
-
"$attrsToReflect$": []
|
|
6957
|
-
}; }
|
|
6958
6975
|
}
|
|
6959
6976
|
|
|
6977
|
+
const HEX_REGEX = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
6978
|
+
function isHexString(value) {
|
|
6979
|
+
return HEX_REGEX.test(value);
|
|
6980
|
+
}
|
|
6981
|
+
function normalizer(value) {
|
|
6982
|
+
if (typeof value === 'string' && isHexString(value)) {
|
|
6983
|
+
const colors = createContrastColorPair(value);
|
|
6984
|
+
return {
|
|
6985
|
+
backgroundColor: colors.background,
|
|
6986
|
+
foregroundColor: colors.foreground,
|
|
6987
|
+
};
|
|
6988
|
+
}
|
|
6989
|
+
else if (typeof value === 'object' && value) {
|
|
6990
|
+
const colorPair = value;
|
|
6991
|
+
if (typeof colorPair.backgroundColor === 'string' &&
|
|
6992
|
+
typeof colorPair.foregroundColor === 'string' &&
|
|
6993
|
+
isHexString(colorPair.backgroundColor) &&
|
|
6994
|
+
isHexString(colorPair.foregroundColor)) {
|
|
6995
|
+
const colors = createContrastColorPair({
|
|
6996
|
+
background: colorPair.backgroundColor,
|
|
6997
|
+
foreground: colorPair.foregroundColor,
|
|
6998
|
+
});
|
|
6999
|
+
return {
|
|
7000
|
+
backgroundColor: colors.background,
|
|
7001
|
+
foregroundColor: colors.foreground,
|
|
7002
|
+
};
|
|
7003
|
+
}
|
|
7004
|
+
}
|
|
7005
|
+
throw new Error(`Invalid color ${value}`);
|
|
7006
|
+
}
|
|
7007
|
+
function validator(value) {
|
|
7008
|
+
return isHexString(value.foregroundColor) && isHexString(value.backgroundColor);
|
|
7009
|
+
}
|
|
7010
|
+
const colorProp = createPropDefinition(normalizer, validator);
|
|
7011
|
+
|
|
7012
|
+
function normalizeString(value) {
|
|
7013
|
+
if (typeof value === 'string') {
|
|
7014
|
+
return value;
|
|
7015
|
+
}
|
|
7016
|
+
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
|
|
7017
|
+
return String(value);
|
|
7018
|
+
}
|
|
7019
|
+
throw new Error(`Invalid string: ${value}`);
|
|
7020
|
+
}
|
|
7021
|
+
function normalizeInteger(value) {
|
|
7022
|
+
if (typeof value === 'number') {
|
|
7023
|
+
return Number.isInteger(value) ? value : Math.round(value);
|
|
7024
|
+
}
|
|
7025
|
+
if (typeof value === 'string') {
|
|
7026
|
+
const parsed = parseInt(value, 10);
|
|
7027
|
+
if (!isNaN(parsed)) {
|
|
7028
|
+
return parsed;
|
|
7029
|
+
}
|
|
7030
|
+
}
|
|
7031
|
+
throw new Error(`Invalid integer: ${value}`);
|
|
7032
|
+
}
|
|
7033
|
+
|
|
7034
|
+
const countProp = createPropDefinition(normalizeInteger, (v) => v >= 0);
|
|
7035
|
+
|
|
6960
7036
|
const formatNameAsInitial = (name) => {
|
|
6961
7037
|
if (name.length === 0) {
|
|
6962
7038
|
return '';
|
|
6963
7039
|
}
|
|
6964
7040
|
return name[0].toUpperCase();
|
|
6965
7041
|
};
|
|
6966
|
-
const
|
|
6967
|
-
|
|
7042
|
+
const normalizeInitials = (value) => {
|
|
7043
|
+
if (typeof value !== 'string') {
|
|
7044
|
+
throw new Error(`Invalid initials value: ${JSON.stringify(value)}`);
|
|
7045
|
+
}
|
|
7046
|
+
const names = value.trim().split(/\s+/);
|
|
6968
7047
|
const first = names[0];
|
|
6969
7048
|
const last = names[names.length - 1];
|
|
6970
7049
|
if (names.length >= 2 && first && last) {
|
|
6971
7050
|
return `${formatNameAsInitial(first)}${formatNameAsInitial(last)}`;
|
|
6972
7051
|
}
|
|
6973
|
-
return formatNameAsInitial(
|
|
7052
|
+
return formatNameAsInitial(value);
|
|
6974
7053
|
};
|
|
7054
|
+
const initialsProp = createPropDefinition(normalizeInitials, (v) => v.length > 0);
|
|
6975
7055
|
|
|
6976
|
-
|
|
6977
|
-
|
|
6978
|
-
|
|
6979
|
-
|
|
6980
|
-
|
|
6981
|
-
|
|
6982
|
-
|
|
6983
|
-
|
|
6984
|
-
|
|
6985
|
-
|
|
6986
|
-
this._color = '#d3d3d3';
|
|
6987
|
-
this.state = {
|
|
6988
|
-
_src: '',
|
|
6989
|
-
_label: '',
|
|
6990
|
-
_color: {
|
|
6991
|
-
backgroundColor: '#d3d3d3',
|
|
6992
|
-
foregroundColor: '#000',
|
|
6993
|
-
},
|
|
6994
|
-
};
|
|
7056
|
+
const labelProp = createPropDefinition(normalizeString, (v) => v.length >= 2 && v.length <= 80);
|
|
7057
|
+
|
|
7058
|
+
const nameProp = createPropDefinition(normalizeString, () => true);
|
|
7059
|
+
|
|
7060
|
+
const srcProp = createPropDefinition(normalizeString, () => true);
|
|
7061
|
+
|
|
7062
|
+
class BaseController {
|
|
7063
|
+
constructor(component, props) {
|
|
7064
|
+
this.component = component;
|
|
7065
|
+
this.props = props;
|
|
6995
7066
|
}
|
|
6996
|
-
|
|
6997
|
-
|
|
6998
|
-
backgroundColor: this.bgColorStr,
|
|
6999
|
-
color: this.colorStr,
|
|
7000
|
-
} }, this.state._src ? (hAsync("img", { alt: "", "aria-hidden": "true", class: "kol-avatar__image", src: this.state._src })) : (hAsync("span", { "aria-hidden": "true", class: "kol-avatar__initials" }, formatLabelAsInitials(this.state._label.trim())))));
|
|
7067
|
+
setProp(key, value) {
|
|
7068
|
+
this.props[key] = value;
|
|
7001
7069
|
}
|
|
7002
|
-
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7007
|
-
|
|
7070
|
+
getProps() {
|
|
7071
|
+
return this.props;
|
|
7072
|
+
}
|
|
7073
|
+
setState(key, value) {
|
|
7074
|
+
this.component[key] = value;
|
|
7075
|
+
}
|
|
7076
|
+
}
|
|
7077
|
+
|
|
7078
|
+
class AvatarController extends BaseController {
|
|
7079
|
+
constructor(states) {
|
|
7080
|
+
super(states, {
|
|
7081
|
+
color: { backgroundColor: '#d3d3d3', foregroundColor: '#3f3f3f' },
|
|
7082
|
+
label: '',
|
|
7083
|
+
src: '',
|
|
7008
7084
|
});
|
|
7009
7085
|
}
|
|
7010
|
-
|
|
7011
|
-
|
|
7086
|
+
componentWillLoad(props) {
|
|
7087
|
+
const { color, label, src } = props;
|
|
7088
|
+
this.watchColor(color);
|
|
7089
|
+
this.watchLabel(label);
|
|
7090
|
+
this.watchSrc(src);
|
|
7012
7091
|
}
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
|
|
7092
|
+
watchColor(value) {
|
|
7093
|
+
withValidPropValue(colorProp, value, (v) => {
|
|
7094
|
+
this.setProp('color', v);
|
|
7095
|
+
});
|
|
7096
|
+
}
|
|
7097
|
+
watchLabel(value) {
|
|
7098
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
7099
|
+
this.setProp('label', v);
|
|
7100
|
+
});
|
|
7101
|
+
withValidPropValue(initialsProp, value, (v) => {
|
|
7102
|
+
this.setState('initials', v);
|
|
7016
7103
|
});
|
|
7017
7104
|
}
|
|
7105
|
+
watchSrc(value) {
|
|
7106
|
+
withValidPropValue(srcProp, value, (v) => {
|
|
7107
|
+
this.setProp('src', v);
|
|
7108
|
+
});
|
|
7109
|
+
}
|
|
7110
|
+
}
|
|
7111
|
+
|
|
7112
|
+
const defaultStyleCss$K = "/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-avatar,\n .kol-avatar__image,\n .kol-avatar__initials {\n border-radius: 50%;\n }\n .kol-avatar {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n display: flex;\n width: calc(100 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(100 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-avatar__initials {\n background-color: inherit;\n margin: auto;\n font-size: calc(40 * 1rem / var(--kolibri-root-font-size, 16));\n }\n}";
|
|
7113
|
+
|
|
7114
|
+
class KolAvatar {
|
|
7115
|
+
constructor(hostRef) {
|
|
7116
|
+
registerInstance(this, hostRef);
|
|
7117
|
+
this.ctrl = new AvatarController(this);
|
|
7118
|
+
this.initials = '';
|
|
7119
|
+
}
|
|
7120
|
+
watchColor(value) {
|
|
7121
|
+
this.ctrl.watchColor(value);
|
|
7122
|
+
}
|
|
7123
|
+
watchLabel(value) {
|
|
7124
|
+
this.ctrl.watchLabel(value);
|
|
7125
|
+
}
|
|
7126
|
+
watchSrc(value) {
|
|
7127
|
+
this.ctrl.watchSrc(value);
|
|
7128
|
+
}
|
|
7018
7129
|
componentWillLoad() {
|
|
7019
|
-
this.
|
|
7020
|
-
|
|
7021
|
-
|
|
7130
|
+
this.ctrl.componentWillLoad({
|
|
7131
|
+
color: this._color,
|
|
7132
|
+
label: this._label,
|
|
7133
|
+
src: this._src,
|
|
7134
|
+
});
|
|
7135
|
+
}
|
|
7136
|
+
render() {
|
|
7137
|
+
const { color, label, src } = this.ctrl.getProps();
|
|
7138
|
+
const { initials } = this;
|
|
7139
|
+
return (hAsync(Host, { key: '356e548cb9a73c0fd50b71c01fc8862d08240a96' }, hAsync(AvatarFC, { key: 'c69025eb44ed63b2fd4e5f1e8cd2bace9aa055ac', color: color, label: label, src: src, initials: initials })));
|
|
7022
7140
|
}
|
|
7023
7141
|
static get watchers() { return {
|
|
7024
|
-
"_color": ["
|
|
7025
|
-
"
|
|
7026
|
-
"
|
|
7142
|
+
"_color": ["watchColor"],
|
|
7143
|
+
"_label": ["watchLabel"],
|
|
7144
|
+
"_src": ["watchSrc"]
|
|
7145
|
+
}; }
|
|
7146
|
+
static get style() { return {
|
|
7147
|
+
default: defaultStyleCss$K
|
|
7027
7148
|
}; }
|
|
7028
7149
|
static get cmpMeta() { return {
|
|
7029
|
-
"$flags$":
|
|
7030
|
-
"$tagName$": "kol-avatar
|
|
7150
|
+
"$flags$": 297,
|
|
7151
|
+
"$tagName$": "kol-avatar",
|
|
7031
7152
|
"$members$": {
|
|
7032
7153
|
"_color": [1],
|
|
7033
|
-
"_src": [1],
|
|
7034
7154
|
"_label": [1],
|
|
7035
|
-
"
|
|
7155
|
+
"_src": [1],
|
|
7156
|
+
"initials": [32]
|
|
7036
7157
|
},
|
|
7037
7158
|
"$listeners$": undefined,
|
|
7038
7159
|
"$lazyBundleId$": "-",
|
|
@@ -15243,7 +15364,14 @@ function linkify (state, silent) {
|
|
|
15243
15364
|
if (url.length <= proto.length) return false
|
|
15244
15365
|
|
|
15245
15366
|
// disallow '*' at the end of the link (conflicts with emphasis)
|
|
15246
|
-
|
|
15367
|
+
// do manual backsearch to avoid perf issues with regex /\*+$/ on "****...****a".
|
|
15368
|
+
let urlEnd = url.length;
|
|
15369
|
+
while (urlEnd > 0 && url.charCodeAt(urlEnd - 1) === 0x2A/* * */) {
|
|
15370
|
+
urlEnd--;
|
|
15371
|
+
}
|
|
15372
|
+
if (urlEnd !== url.length) {
|
|
15373
|
+
url = url.slice(0, urlEnd);
|
|
15374
|
+
}
|
|
15247
15375
|
|
|
15248
15376
|
const fullUrl = state.md.normalizeLink(url);
|
|
15249
15377
|
if (!state.md.validateLink(fullUrl)) return false
|
|
@@ -18640,7 +18768,7 @@ class KolBadge {
|
|
|
18640
18768
|
try {
|
|
18641
18769
|
value = parseJson(value);
|
|
18642
18770
|
}
|
|
18643
|
-
catch (
|
|
18771
|
+
catch (_a) {
|
|
18644
18772
|
}
|
|
18645
18773
|
setState(this, '_smartButton', value);
|
|
18646
18774
|
});
|
|
@@ -18894,7 +19022,7 @@ const searchFormElement = (el) => {
|
|
|
18894
19022
|
el = null;
|
|
18895
19023
|
}
|
|
18896
19024
|
}
|
|
18897
|
-
catch (
|
|
19025
|
+
catch (_a) {
|
|
18898
19026
|
}
|
|
18899
19027
|
if (getExperimentalMode()) {
|
|
18900
19028
|
Log.debug(el);
|
|
@@ -19054,7 +19182,7 @@ class AssociatedInputController {
|
|
|
19054
19182
|
throw new Error(`Invalid value type: ${typeof value}`);
|
|
19055
19183
|
}
|
|
19056
19184
|
}
|
|
19057
|
-
catch (
|
|
19185
|
+
catch (_a) {
|
|
19058
19186
|
element === null || element === void 0 ? void 0 : element.removeAttribute(qualifiedName);
|
|
19059
19187
|
}
|
|
19060
19188
|
}
|
|
@@ -19137,8 +19265,13 @@ class AssociatedInputController {
|
|
|
19137
19265
|
|
|
19138
19266
|
class KolButtonWc {
|
|
19139
19267
|
async focus() {
|
|
19140
|
-
|
|
19141
|
-
|
|
19268
|
+
return new Promise((resolve) => {
|
|
19269
|
+
requestAnimationFrame(() => {
|
|
19270
|
+
var _a;
|
|
19271
|
+
(_a = this.buttonRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
19272
|
+
resolve();
|
|
19273
|
+
});
|
|
19274
|
+
});
|
|
19142
19275
|
}
|
|
19143
19276
|
render() {
|
|
19144
19277
|
var _a;
|
|
@@ -19147,14 +19280,14 @@ class KolButtonWc {
|
|
|
19147
19280
|
const badgeText = this.state._accessKey || this.state._shortKey;
|
|
19148
19281
|
const isDisabled = this.state._disabled === true;
|
|
19149
19282
|
const hideLabel = this.state._hideLabel === true;
|
|
19150
|
-
return (hAsync(Host, { key: '
|
|
19283
|
+
return (hAsync(Host, { key: 'dc1eca07ca0f70563e0429c255badd7a8ea1c54a' }, hAsync("button", { key: '774f57db93456404aeda52dc23e0a99ac57a87c7', ref: (ref) => (this.buttonRef = ref), accessKey: this.state._accessKey, "aria-controls": this.state._ariaControls, "aria-description": ariaDescription || undefined, "aria-expanded": mapBoolean2String(this.state._ariaExpanded), "aria-haspopup": this._ariaHasPopup, "aria-keyshortcuts": this.state._shortKey, "aria-label": hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined, "aria-selected": mapStringOrBoolean2String(this.state._ariaSelected), class: clsx('kol-button', {
|
|
19151
19284
|
'kol-button--disabled': isDisabled,
|
|
19152
19285
|
[`kol-button--${this.state._variant}`]: this.state._variant !== 'custom',
|
|
19153
19286
|
'kol-button--inline': this.state._inline === true,
|
|
19154
19287
|
'kol-button--standalone': this.state._inline === false,
|
|
19155
19288
|
'kol-button--hide-label': hideLabel,
|
|
19156
19289
|
[this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
|
|
19157
|
-
}), disabled: isDisabled, id: this.state._id, name: this.state._name, onClick: this.onClick, onMouseDown: this.onMouseDown, role: this.state._role, tabIndex: this.state._tabIndex, type: this.state._type }, hAsync(KolSpanFc, { key: '
|
|
19290
|
+
}), disabled: isDisabled, id: this.state._id, name: this.state._name, onClick: this.onClick, onMouseDown: this.onMouseDown, role: this.state._role, tabIndex: this.state._tabIndex, type: this.state._type }, hAsync(KolSpanFc, { key: '207058ad84e5fcb90b17a1aa959224144d6478a6', class: "kol-button__text", badgeText: badgeText, icons: this.state._icons, hideLabel: hideLabel, label: hasExpertSlot ? '' : this.state._label }, hAsync("slot", { key: 'f3378730b77da226579b8a11d87672644f9c8bcc', name: "expert", slot: "expert" }))), hideLabel && (hAsync(KolTooltipWcTag, { key: 'aae9c27630d3c669f531e2ec794f106721db61a0', ref: (ref) => (this.tooltipRef = ref), "aria-hidden": "true", hidden: hasExpertSlot, class: "kol-button__tooltip", _badgeText: badgeText, _align: this.state._tooltipAlign, _label: typeof this.state._label === 'string' ? this.state._label : '' }))));
|
|
19158
19291
|
}
|
|
19159
19292
|
constructor(hostRef) {
|
|
19160
19293
|
registerInstance(this, hostRef);
|
|
@@ -19420,7 +19553,7 @@ class KolCardWc {
|
|
|
19420
19553
|
this.validateOnValue = (value) => typeof value === 'object' && value !== null && typeof value.onClose === 'function';
|
|
19421
19554
|
}
|
|
19422
19555
|
render() {
|
|
19423
|
-
return (hAsync(Host, { key: '
|
|
19556
|
+
return (hAsync(Host, { key: '3e7074ef91d24bc6d398fd57c455b56c51977609' }, hAsync("div", { key: '62f46913ae9a90a468dd3a731dfa3f318ac25f82', "aria-labelledby": this.nonce, class: "kol-card", role: "group" }, hAsync(KolHeadingFc, { key: 'f69df4f5bf69cbbabecd468cda9e81294612d1e7', class: "kol-card__header", id: this.nonce, level: this.state._level }, this.state._label), hAsync("div", { key: '5cd3a7173e8a210029f0d4196136382f997b9418', class: "kol-card__content" }, hAsync("slot", { key: '4adda314f9401771df32d1fd5aa071e5c04a393e' })), this.state._hasCloser && (hAsync(KolButtonWcTag, { key: 'af06b358941c99e6786440cfd224ef5c402192dd', class: "kol-card__close-button kol-close-button", "data-testid": "card-close-button", _hideLabel: true, _icons: {
|
|
19424
19557
|
left: {
|
|
19425
19558
|
icon: 'kolicon-cross',
|
|
19426
19559
|
},
|
|
@@ -19473,6 +19606,74 @@ class KolCardWc {
|
|
|
19473
19606
|
}; }
|
|
19474
19607
|
}
|
|
19475
19608
|
|
|
19609
|
+
const clickButtonBem = bem$2.forBlock('kol-click-button');
|
|
19610
|
+
const BEM_CLASS_CLICK_BUTTON = clickButtonBem();
|
|
19611
|
+
const BEM_CLASS_CLICK_BUTTON__LABEL = clickButtonBem('label');
|
|
19612
|
+
const ClickButtonFC = ({ label, handleClick, refButton }) => (hAsync("button", { class: BEM_CLASS_CLICK_BUTTON, ref: refButton, onClick: handleClick, onKeyDown: (event) => event.preventDefault() }, hAsync("span", { class: BEM_CLASS_CLICK_BUTTON__LABEL }, label)));
|
|
19613
|
+
|
|
19614
|
+
class ClickButtonController extends BaseController {
|
|
19615
|
+
constructor(states = {}) {
|
|
19616
|
+
super(states, {
|
|
19617
|
+
label: '',
|
|
19618
|
+
});
|
|
19619
|
+
this.handleClick = () => {
|
|
19620
|
+
console.log(this, this.buttonRef, 'button clicked');
|
|
19621
|
+
};
|
|
19622
|
+
this.setButtonRef = (element) => {
|
|
19623
|
+
this.buttonRef = element;
|
|
19624
|
+
};
|
|
19625
|
+
}
|
|
19626
|
+
componentWillLoad(props) {
|
|
19627
|
+
const { label } = props;
|
|
19628
|
+
this.watchLabel(label);
|
|
19629
|
+
}
|
|
19630
|
+
watchLabel(value) {
|
|
19631
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
19632
|
+
this.setProp('label', v);
|
|
19633
|
+
});
|
|
19634
|
+
}
|
|
19635
|
+
focus() {
|
|
19636
|
+
var _a;
|
|
19637
|
+
(_a = this.buttonRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
19638
|
+
}
|
|
19639
|
+
}
|
|
19640
|
+
|
|
19641
|
+
class KolClickButton {
|
|
19642
|
+
constructor(hostRef) {
|
|
19643
|
+
registerInstance(this, hostRef);
|
|
19644
|
+
this.ctrl = new ClickButtonController();
|
|
19645
|
+
}
|
|
19646
|
+
watchLabel(value) {
|
|
19647
|
+
this.ctrl.watchLabel(value);
|
|
19648
|
+
}
|
|
19649
|
+
async focus() {
|
|
19650
|
+
return Promise.resolve(this.ctrl.focus());
|
|
19651
|
+
}
|
|
19652
|
+
componentWillLoad() {
|
|
19653
|
+
this.ctrl.componentWillLoad({
|
|
19654
|
+
label: this._label,
|
|
19655
|
+
});
|
|
19656
|
+
}
|
|
19657
|
+
render() {
|
|
19658
|
+
const { label } = this.ctrl.getProps();
|
|
19659
|
+
return (hAsync(Host, { key: 'ad1573dd9fb97876e8663c51e9a8251358a7b642' }, hAsync(ClickButtonFC, { key: '3710ca78ad2789f72e41c0628db0aa5942f273d6', label: label, refButton: this.ctrl.setButtonRef, handleClick: this.ctrl.handleClick })));
|
|
19660
|
+
}
|
|
19661
|
+
static get watchers() { return {
|
|
19662
|
+
"_label": ["watchLabel"]
|
|
19663
|
+
}; }
|
|
19664
|
+
static get cmpMeta() { return {
|
|
19665
|
+
"$flags$": 265,
|
|
19666
|
+
"$tagName$": "kol-click-button",
|
|
19667
|
+
"$members$": {
|
|
19668
|
+
"_label": [1],
|
|
19669
|
+
"focus": [64]
|
|
19670
|
+
},
|
|
19671
|
+
"$listeners$": undefined,
|
|
19672
|
+
"$lazyBundleId$": "-",
|
|
19673
|
+
"$attrsToReflect$": []
|
|
19674
|
+
}; }
|
|
19675
|
+
}
|
|
19676
|
+
|
|
19476
19677
|
const getRenderStates = (state) => {
|
|
19477
19678
|
const msg = state._msg;
|
|
19478
19679
|
const description = typeof msg === 'string' ? msg : msg === null || msg === void 0 ? void 0 : msg._description;
|
|
@@ -19786,7 +19987,7 @@ class InputController extends ControlledInputController {
|
|
|
19786
19987
|
try {
|
|
19787
19988
|
value = parseJson(value);
|
|
19788
19989
|
}
|
|
19789
|
-
catch (
|
|
19990
|
+
catch (_a) {
|
|
19790
19991
|
}
|
|
19791
19992
|
setState(this.component, '_smartButton', value);
|
|
19792
19993
|
});
|
|
@@ -19954,8 +20155,13 @@ class KolCombobox {
|
|
|
19954
20155
|
return this.state._value;
|
|
19955
20156
|
}
|
|
19956
20157
|
async focus() {
|
|
19957
|
-
|
|
19958
|
-
|
|
20158
|
+
return new Promise((resolve) => {
|
|
20159
|
+
requestAnimationFrame(() => {
|
|
20160
|
+
var _a;
|
|
20161
|
+
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
20162
|
+
resolve();
|
|
20163
|
+
});
|
|
20164
|
+
});
|
|
19959
20165
|
}
|
|
19960
20166
|
selectOption(option) {
|
|
19961
20167
|
var _a;
|
|
@@ -20069,15 +20275,13 @@ class KolCombobox {
|
|
|
20069
20275
|
}
|
|
20070
20276
|
render() {
|
|
20071
20277
|
const isDisabled = this.state._disabled === true;
|
|
20072
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
20073
|
-
'kol-combobox__delete--disabled': isDisabled,
|
|
20074
|
-
}), _on: {
|
|
20278
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'c062962774ef7e54e9e03de4356dfe6ca4aed117' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'b6a978e5e5096999dec0d258e85513376297fab4', state: this.state }, hAsync("div", { key: '0358e2a7951e151c807d6382f6d050cc3db467cb', class: "kol-combobox__group" }, hAsync(InputStateWrapper, Object.assign({ key: 'c519eb30e7c6eee190dc5ad3c810a7dfc88095c0' }, this.getInputProps())), this.state._value && this.state._hasClearButton && (hAsync(KolButtonWcTag, { key: '71932cc20284d306a6ac59b5db139f270890ccc0', _icons: "kolicon-cross", _label: this.translateDeleteSelection, _hideLabel: true, _variant: "ghost", _disabled: isDisabled, "data-testid": "combobox-delete", class: "kol-combobox__delete", hidden: isDisabled, _on: {
|
|
20075
20279
|
onClick: () => {
|
|
20076
20280
|
this.clearSelection();
|
|
20077
20281
|
},
|
|
20078
|
-
} })), hAsync(KolIconTag, { key: '
|
|
20282
|
+
} })), hAsync(KolIconTag, { key: '936e782f5dfa6cd19abacde645c36a49cdeea47e', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
|
|
20079
20283
|
'kol-custom-suggestions-toggle--disabled': isDisabled,
|
|
20080
|
-
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '
|
|
20284
|
+
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '967f197ca028038ecf7b70276f9d25d9255e7f6a', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this), hidden: !this._isOpen || isDisabled }, Array.isArray(this._filteredSuggestions) &&
|
|
20081
20285
|
this._filteredSuggestions.length > 0 &&
|
|
20082
20286
|
this._filteredSuggestions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { disabled: false, index: index, option: option, searchTerm: this.state._value, ref: (el) => {
|
|
20083
20287
|
if (el)
|
|
@@ -20992,7 +21196,7 @@ const bem = c();
|
|
|
20992
21196
|
const BEM_CLASS_ICON = bem('kol-icon');
|
|
20993
21197
|
const BEM_CLASS_ICON__ICON = bem('kol-icon', 'icon');
|
|
20994
21198
|
|
|
20995
|
-
const defaultStyleCss$y = "/* forward the rem function */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=
|
|
21199
|
+
const defaultStyleCss$y = "/* forward the rem function */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1772024234377\"); /* IE9*/\n src: url(\"kolicons.eot?t=1772024234377#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1772024234377\") format(\"woff2\"), url(\"kolicons.woff?t=1772024234377\") format(\"woff\"), url(\"kolicons.ttf?t=1772024234377\") format(\"truetype\"), url(\"kolicons.svg?t=1772024234377#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n[class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-size: inherit;\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.kolicon-alert-error::before {\n content: \"\\ea01\";\n}\n\n.kolicon-alert-info::before {\n content: \"\\ea02\";\n}\n\n.kolicon-alert-success::before {\n content: \"\\ea03\";\n}\n\n.kolicon-alert-warning::before {\n content: \"\\ea04\";\n}\n\n.kolicon-check::before {\n content: \"\\ea05\";\n}\n\n.kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n}\n\n.kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n}\n\n.kolicon-chevron-down::before {\n content: \"\\ea08\";\n}\n\n.kolicon-chevron-left::before {\n content: \"\\ea09\";\n}\n\n.kolicon-chevron-right::before {\n content: \"\\ea0a\";\n}\n\n.kolicon-chevron-up::before {\n content: \"\\ea0b\";\n}\n\n.kolicon-cogwheel::before {\n content: \"\\ea0c\";\n}\n\n.kolicon-cross::before {\n content: \"\\ea0d\";\n}\n\n.kolicon-eye-closed::before {\n content: \"\\ea0e\";\n}\n\n.kolicon-eye::before {\n content: \"\\ea0f\";\n}\n\n.kolicon-house::before {\n content: \"\\ea10\";\n}\n\n.kolicon-kolibri::before {\n content: \"\\ea11\";\n}\n\n.kolicon-link-external::before {\n content: \"\\ea12\";\n}\n\n.kolicon-link::before {\n content: \"\\ea13\";\n}\n\n.kolicon-minus::before {\n content: \"\\ea14\";\n}\n\n.kolicon-plus::before {\n content: \"\\ea15\";\n}\n\n.kolicon-settings::before {\n content: \"\\ea16\";\n}\n\n.kolicon-sort-asc::before {\n content: \"\\ea17\";\n}\n\n.kolicon-sort-desc::before {\n content: \"\\ea18\";\n}\n\n.kolicon-sort-neutral::before {\n content: \"\\ea19\";\n}\n\n.kolicon-version::before {\n content: \"\\ea1a\";\n}\n\n@layer kol-component {\n /* :host implicitly inherits font-size, see below */\n :host {\n color: inherit;\n display: contents;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n}";
|
|
20996
21200
|
|
|
20997
21201
|
class KolIcon {
|
|
20998
21202
|
render() {
|
|
@@ -21369,8 +21573,13 @@ class KolInputCheckbox {
|
|
|
21369
21573
|
return this.getModelValue();
|
|
21370
21574
|
}
|
|
21371
21575
|
async focus() {
|
|
21372
|
-
|
|
21373
|
-
|
|
21576
|
+
return new Promise((resolve) => {
|
|
21577
|
+
requestAnimationFrame(() => {
|
|
21578
|
+
var _a;
|
|
21579
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
21580
|
+
resolve();
|
|
21581
|
+
});
|
|
21582
|
+
});
|
|
21374
21583
|
}
|
|
21375
21584
|
getFormFieldProps() {
|
|
21376
21585
|
return {
|
|
@@ -21419,7 +21628,7 @@ class KolInputCheckbox {
|
|
|
21419
21628
|
return this.state._icons.unchecked;
|
|
21420
21629
|
}
|
|
21421
21630
|
render() {
|
|
21422
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21631
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '2b60714baa0fe44a7b2cdc4b9ba4c15ea06e9e78' }, this.getFormFieldProps(), { renderNoLabel: true }), hAsync(FieldControlStateWrapper, Object.assign({ key: 'd168e6aa1bb279c0cace1cea064123f438fa43c6' }, this.getFieldControlProps(), { renderNoHint: true }), hAsync(CheckboxStateWrapper, Object.assign({ key: 'eade921d7e22e4d342f3c03bdd0fa2e4348f8990' }, this.getInputProps())))));
|
|
21423
21632
|
}
|
|
21424
21633
|
constructor(hostRef) {
|
|
21425
21634
|
registerInstance(this, hostRef);
|
|
@@ -21627,8 +21836,13 @@ class KolInputColor {
|
|
|
21627
21836
|
return (_a = this.refInputText) === null || _a === void 0 ? void 0 : _a.value;
|
|
21628
21837
|
}
|
|
21629
21838
|
async focus() {
|
|
21630
|
-
|
|
21631
|
-
|
|
21839
|
+
return new Promise((resolve) => {
|
|
21840
|
+
requestAnimationFrame(() => {
|
|
21841
|
+
var _a;
|
|
21842
|
+
(_a = this.refInputText) === null || _a === void 0 ? void 0 : _a.focus();
|
|
21843
|
+
resolve();
|
|
21844
|
+
});
|
|
21845
|
+
});
|
|
21632
21846
|
}
|
|
21633
21847
|
get hasSuggestions() {
|
|
21634
21848
|
return Array.isArray(this.state._suggestions) && this.state._suggestions.length > 0;
|
|
@@ -21651,7 +21865,7 @@ class KolInputColor {
|
|
|
21651
21865
|
return Object.assign(Object.assign({ state: Object.assign(Object.assign({}, this.state), { _suggestions: [] }) }, this.controller.onFacade), { onBlur: this.onBlur, onFocus: this.onFocus });
|
|
21652
21866
|
}
|
|
21653
21867
|
render() {
|
|
21654
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21868
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '703b9c89e8825ad094668fa79ff6bdf5f7ea2773' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '86745daac79e2807932c8b4499ee3338dd9abb52', state: this.state, class: "kol-input-color__inputs-wrapper" }, hAsync("div", { key: '0c102ce638e903dec703f1b3dc982fb4a64f1850', class: "kol-input-color__inputs-wrapper" }, hAsync(InputStateWrapper, Object.assign({ key: '8bff8759040df63aef9fa1e93d65581ba22f82ab', class: "kol-input-color__input kol-input-color__input--color" }, this.getInputColorProps())), hAsync(InputStateWrapper, Object.assign({ key: 'def144fa8005025098a567df05832bfc411dcae4', class: "kol-input-color__input kol-input-color__input--text" }, this.getInputTextProps()))))));
|
|
21655
21869
|
}
|
|
21656
21870
|
constructor(hostRef) {
|
|
21657
21871
|
registerInstance(this, hostRef);
|
|
@@ -21980,8 +22194,13 @@ class KolInputDate {
|
|
|
21980
22194
|
return this.inputRef && this.remapValue((_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value);
|
|
21981
22195
|
}
|
|
21982
22196
|
async focus() {
|
|
21983
|
-
|
|
21984
|
-
|
|
22197
|
+
return new Promise((resolve) => {
|
|
22198
|
+
requestAnimationFrame(() => {
|
|
22199
|
+
var _a;
|
|
22200
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
22201
|
+
resolve();
|
|
22202
|
+
});
|
|
22203
|
+
});
|
|
21985
22204
|
}
|
|
21986
22205
|
async reset() {
|
|
21987
22206
|
this.state = Object.assign(Object.assign({}, this.state), { _value: null });
|
|
@@ -22021,7 +22240,7 @@ class KolInputDate {
|
|
|
22021
22240
|
return Object.assign(Object.assign({ ref: this.catchRef, state: this.state }, this.controller.onFacade), { onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, onChange: this.onChange, onInput: this.onInput });
|
|
22022
22241
|
}
|
|
22023
22242
|
render() {
|
|
22024
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22243
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'e30da09025106eec1e068d7c312c17dff2ebfba8' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'fe3663fd1ae701bbc67c326eb89bde418d59da64', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '9710cfe488dc01075270dd81b3882464157d178d' }, this.getInputProps())))));
|
|
22025
22244
|
}
|
|
22026
22245
|
constructor(hostRef) {
|
|
22027
22246
|
registerInstance(this, hostRef);
|
|
@@ -22368,8 +22587,13 @@ class KolInputEmail {
|
|
|
22368
22587
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
22369
22588
|
}
|
|
22370
22589
|
async focus() {
|
|
22371
|
-
|
|
22372
|
-
|
|
22590
|
+
return new Promise((resolve) => {
|
|
22591
|
+
requestAnimationFrame(() => {
|
|
22592
|
+
var _a;
|
|
22593
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
22594
|
+
resolve();
|
|
22595
|
+
});
|
|
22596
|
+
});
|
|
22373
22597
|
}
|
|
22374
22598
|
getFormFieldProps() {
|
|
22375
22599
|
return {
|
|
@@ -22393,7 +22617,7 @@ class KolInputEmail {
|
|
|
22393
22617
|
} });
|
|
22394
22618
|
}
|
|
22395
22619
|
render() {
|
|
22396
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22620
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'cab521e66e888b933138110984dac2a30c0fa893' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'a659607042aaef2572b3c52fbebaea22085c2095', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '197066107205fe6e91cba9252e937580a4857a3d' }, this.getInputProps())))));
|
|
22397
22621
|
}
|
|
22398
22622
|
constructor(hostRef) {
|
|
22399
22623
|
registerInstance(this, hostRef);
|
|
@@ -22621,8 +22845,13 @@ class KolInputFile {
|
|
|
22621
22845
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.files;
|
|
22622
22846
|
}
|
|
22623
22847
|
async focus() {
|
|
22624
|
-
|
|
22625
|
-
|
|
22848
|
+
return new Promise((resolve) => {
|
|
22849
|
+
requestAnimationFrame(() => {
|
|
22850
|
+
var _a;
|
|
22851
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
22852
|
+
resolve();
|
|
22853
|
+
});
|
|
22854
|
+
});
|
|
22626
22855
|
}
|
|
22627
22856
|
async reset() {
|
|
22628
22857
|
this.controller.setFormAssociatedValue('');
|
|
@@ -22650,7 +22879,7 @@ class KolInputFile {
|
|
|
22650
22879
|
} });
|
|
22651
22880
|
}
|
|
22652
22881
|
render() {
|
|
22653
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22882
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '56d8b72caa11f9762163eb438df3105ab12488e2' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '91d3b43a0cb7773b9ea971aa6ae4225548dc3c64', state: this.state }, hAsync("span", { key: '9ec16436ae93a69f67591a3950ba6de3628a5c1e', class: clsx('kol-input-container__filename', { 'kol-input-container__filename--has-file': this.hasFileSelected }) }, this.filename), hAsync(InputStateWrapper, Object.assign({ key: '6c4d98db86ce73027d7cb074ad1d9e3e905a9efc' }, this.getInputProps())), hAsync(KolButtonWcTag, { key: '12c3f8d02713c249d485adb473da441323149f52', class: "kol-input-container__button", _label: this.translateDataBrowseText, _variant: "primary", _disabled: this._disabled }))));
|
|
22654
22883
|
}
|
|
22655
22884
|
constructor(hostRef) {
|
|
22656
22885
|
registerInstance(this, hostRef);
|
|
@@ -22895,8 +23124,13 @@ class KolInputNumber {
|
|
|
22895
23124
|
return this.remapValue(this.state._value);
|
|
22896
23125
|
}
|
|
22897
23126
|
async focus() {
|
|
22898
|
-
|
|
22899
|
-
|
|
23127
|
+
return new Promise((resolve) => {
|
|
23128
|
+
requestAnimationFrame(() => {
|
|
23129
|
+
var _a;
|
|
23130
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23131
|
+
resolve();
|
|
23132
|
+
});
|
|
23133
|
+
});
|
|
22900
23134
|
}
|
|
22901
23135
|
setInitialValueType(value) {
|
|
22902
23136
|
if (this.controller.isNumberString(value)) {
|
|
@@ -22964,7 +23198,7 @@ class KolInputNumber {
|
|
|
22964
23198
|
}, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "kolicon-minus", label: "" })));
|
|
22965
23199
|
}
|
|
22966
23200
|
render() {
|
|
22967
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23201
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '7f45c137a6623da514ea4ba90ccc5dd08ab821ca' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'af5a258626972db0214687665a78ae75e4e50a04', state: this.state, startAdornment: this.getStepDownButton(), endAdornment: this.getStepUpButton() }, hAsync(InputStateWrapper, Object.assign({ key: '70095f30b4cbd6ef9e350e2269ec4be7e3ffc303' }, this.getInputProps())))));
|
|
22968
23202
|
}
|
|
22969
23203
|
constructor(hostRef) {
|
|
22970
23204
|
registerInstance(this, hostRef);
|
|
@@ -23171,8 +23405,13 @@ class KolInputPassword {
|
|
|
23171
23405
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
23172
23406
|
}
|
|
23173
23407
|
async focus() {
|
|
23174
|
-
|
|
23175
|
-
|
|
23408
|
+
return new Promise((resolve) => {
|
|
23409
|
+
requestAnimationFrame(() => {
|
|
23410
|
+
var _a;
|
|
23411
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23412
|
+
resolve();
|
|
23413
|
+
});
|
|
23414
|
+
});
|
|
23176
23415
|
}
|
|
23177
23416
|
getFormFieldProps() {
|
|
23178
23417
|
return {
|
|
@@ -23206,7 +23445,7 @@ class KolInputPassword {
|
|
|
23206
23445
|
}, icon: `${this._passwordVisible ? 'kolicon-eye-closed' : 'kolicon-eye'}`, disabled: this._disabled }));
|
|
23207
23446
|
}
|
|
23208
23447
|
render() {
|
|
23209
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23448
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '36d62354291a7bf6358ff68f12b6a9c6a7ade4f8' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'f421cdb521eda94cb3be24dec223ffe3fd411f5a', state: this.state, endAdornment: this.getShowPasswordButton() }, hAsync(InputStateWrapper, Object.assign({ key: 'dc06569fc07a474ddf035ec11d449ff9d55b5d70' }, this.getInputProps())))));
|
|
23210
23449
|
}
|
|
23211
23450
|
constructor(hostRef) {
|
|
23212
23451
|
registerInstance(this, hostRef);
|
|
@@ -23451,8 +23690,13 @@ class KolInputRadio {
|
|
|
23451
23690
|
return this._value;
|
|
23452
23691
|
}
|
|
23453
23692
|
async focus() {
|
|
23454
|
-
|
|
23455
|
-
|
|
23693
|
+
return new Promise((resolve) => {
|
|
23694
|
+
requestAnimationFrame(() => {
|
|
23695
|
+
var _a;
|
|
23696
|
+
(_a = this.getFocusableInput()) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23697
|
+
resolve();
|
|
23698
|
+
});
|
|
23699
|
+
});
|
|
23456
23700
|
}
|
|
23457
23701
|
getFocusableInput() {
|
|
23458
23702
|
const options = this.state._options;
|
|
@@ -23489,7 +23733,7 @@ class KolInputRadio {
|
|
|
23489
23733
|
};
|
|
23490
23734
|
}
|
|
23491
23735
|
render() {
|
|
23492
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23736
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'f089864837e627816b92febb97f4442ffe064296' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
|
|
23493
23737
|
}
|
|
23494
23738
|
calculateDisabled(option) {
|
|
23495
23739
|
return Boolean(this.state._disabled) || Boolean(option.disabled);
|
|
@@ -23729,8 +23973,13 @@ const defaultStyleCss$o = "@charset \"UTF-8\";\n/*\n* This file defines the laye
|
|
|
23729
23973
|
|
|
23730
23974
|
class KolInputRange {
|
|
23731
23975
|
async focus() {
|
|
23732
|
-
|
|
23733
|
-
|
|
23976
|
+
return new Promise((resolve) => {
|
|
23977
|
+
requestAnimationFrame(() => {
|
|
23978
|
+
var _a;
|
|
23979
|
+
(_a = this.refInputNumber) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23980
|
+
resolve();
|
|
23981
|
+
});
|
|
23982
|
+
});
|
|
23734
23983
|
}
|
|
23735
23984
|
getSanitizedFloatValue(value) {
|
|
23736
23985
|
const floatValue = parseFloat(value);
|
|
@@ -23799,7 +24048,7 @@ class KolInputRange {
|
|
|
23799
24048
|
const inputsWrapperStyle = {
|
|
23800
24049
|
'--kolibri-input-range--input-number--width': `calc(${String(this.state._max).length}ch + 2em)`,
|
|
23801
24050
|
};
|
|
23802
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24051
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'fa6009c92bd326a16075cb0a8f328ecde89a1b0d' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '4a0b51e44d330991b71c80944894cefab20ea89e', state: this.state }, hAsync("div", { key: 'e7ddf1ce4c09cad830906a611f63f6f56d8466ec', class: "kol-input-range__inputs-wrapper", style: inputsWrapperStyle }, hAsync(InputStateWrapper, Object.assign({ key: 'a4bf095b5442f42ef75e6339fa0bc9131de97a04', class: "kol-input-range__input kol-input-range__input--range" }, this.getInputRangeProps())), hAsync(InputStateWrapper, Object.assign({ key: '4a0446cce3a73c3487df549abc24064469d68c26', class: "kol-input-range__input kol-input-range__input--number" }, this.getInputNumberProps()))), this.hasSuggestions && hAsync(SuggestionsFc, { key: '465bacc9d4ddae28ba87558ba6d5cdb93b27f732', id: this.state._id, suggestions: this.state._suggestions }))));
|
|
23803
24052
|
}
|
|
23804
24053
|
constructor(hostRef) {
|
|
23805
24054
|
registerInstance(this, hostRef);
|
|
@@ -23996,8 +24245,13 @@ class KolInputText {
|
|
|
23996
24245
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
23997
24246
|
}
|
|
23998
24247
|
async focus() {
|
|
23999
|
-
|
|
24000
|
-
|
|
24248
|
+
return new Promise((resolve) => {
|
|
24249
|
+
requestAnimationFrame(() => {
|
|
24250
|
+
var _a;
|
|
24251
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
24252
|
+
resolve();
|
|
24253
|
+
});
|
|
24254
|
+
});
|
|
24001
24255
|
}
|
|
24002
24256
|
async selectionStart() {
|
|
24003
24257
|
var _a;
|
|
@@ -24040,7 +24294,7 @@ class KolInputText {
|
|
|
24040
24294
|
return Object.assign(Object.assign({ ref: this.catchRef, state: this.state, ariaDescribedBy }, this.controller.onFacade), { onBlur: this.onBlur, onChange: this.onChange, onFocus: this.onFocus, onInput: this.onInput, onKeyDown: this.onKeyDown });
|
|
24041
24295
|
}
|
|
24042
24296
|
render() {
|
|
24043
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24297
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '5b2f79fc63b889b52f0369be822edeadae218934' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '246837c2083d17b5773efd67081b47ce6f852be2', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '938ed60af361b9227a191433c28f1befe0fd36e8' }, this.getInputProps())))));
|
|
24044
24298
|
}
|
|
24045
24299
|
constructor(hostRef) {
|
|
24046
24300
|
registerInstance(this, hostRef);
|
|
@@ -24504,15 +24758,20 @@ class KolLinkWc {
|
|
|
24504
24758
|
};
|
|
24505
24759
|
}
|
|
24506
24760
|
async focus() {
|
|
24507
|
-
|
|
24508
|
-
|
|
24761
|
+
return await new Promise((resolve) => {
|
|
24762
|
+
const ref = this.anchorRef;
|
|
24763
|
+
requestAnimationFrame(() => {
|
|
24764
|
+
ref === null || ref === void 0 ? void 0 : ref.focus();
|
|
24765
|
+
resolve();
|
|
24766
|
+
});
|
|
24767
|
+
});
|
|
24509
24768
|
}
|
|
24510
24769
|
render() {
|
|
24511
24770
|
var _a;
|
|
24512
24771
|
const { isExternal, tagAttrs } = this.getRenderValues();
|
|
24513
24772
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
24514
24773
|
const ariaDescription = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim();
|
|
24515
|
-
return (hAsync(Host, { key: '
|
|
24774
|
+
return (hAsync(Host, { key: 'c202c86b81f96025f9ff625b698b8e76630b44f7' }, hAsync("a", Object.assign({ key: '920e43fa27eeac6f56fc9a3a8b80a3a3548a5169', ref: this.catchRef }, tagAttrs, { accessKey: this.state._accessKey, "aria-current": this.state._ariaCurrent, "aria-controls": this.state._ariaControls, "aria-description": ariaDescription || undefined, "aria-disabled": this.state._disabled ? 'true' : undefined, "aria-expanded": typeof this.state._ariaExpanded === 'boolean' ? String(this.state._ariaExpanded) : undefined, "aria-owns": this.state._ariaOwns, "aria-label": this.state._hideLabel && typeof this.state._label === 'string'
|
|
24516
24775
|
? `${this.state._label}${isExternal ? ` (${this.translateOpenLinkInTab})` : ''}`
|
|
24517
24776
|
: undefined, "aria-keyshortcuts": this.state._shortKey, class: clsx('kol-link', {
|
|
24518
24777
|
'kol-link--disabled': this.state._disabled === true,
|
|
@@ -24522,7 +24781,7 @@ class KolLinkWc {
|
|
|
24522
24781
|
'kol-link--inline': this.state._inline === true,
|
|
24523
24782
|
'kol-link--standalone': this.state._inline === false,
|
|
24524
24783
|
[this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
|
|
24525
|
-
}) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: '
|
|
24784
|
+
}) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: '5594d6d55e05f8c41dca31f9500f0db25806efda', class: "kol-link__text", badgeText: this.state._accessKey || this.state._shortKey, icons: this.state._icons, hideLabel: this.state._hideLabel, label: hasExpertSlot ? '' : this.state._label || this.state._href }, hAsync("slot", { key: '3fb6b66a1390abddadb2c40aa57142a5e6f6e61e', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: 'f84bdf9e1984fcd1b999e7ead1748f09f8f06a2d', class: "kol-link__icon", _label: this.state._hideLabel ? '' : this.translateOpenLinkInTab, _icons: 'kolicon-link-external', "aria-hidden": this.state._hideLabel }))), this.state._hideLabel === true && (hAsync(KolTooltipWcTag, { key: '619ebd8fe524c58b12b28e28c80aa3df0b195939', "aria-hidden": "true", class: "kol-link__tooltip", ref: (ref) => (this.tooltipRef = ref), hidden: hasExpertSlot, _badgeText: this.state._accessKey || this.state._shortKey, _align: this.state._tooltipAlign, _label: this.state._label || this.state._href }))));
|
|
24526
24785
|
}
|
|
24527
24786
|
validateAccessKey(value) {
|
|
24528
24787
|
validateAccessKey(this, value);
|
|
@@ -24928,7 +25187,7 @@ class KolNav {
|
|
|
24928
25187
|
}; }
|
|
24929
25188
|
}
|
|
24930
25189
|
|
|
24931
|
-
const defaultStyleCss$h = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text:not(:has(> [name]))::after,\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n @media (max-width: 1024px) {\n .kol-pagination {\n flex-direction: column;\n }\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\n}";
|
|
25190
|
+
const defaultStyleCss$h = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text:not(:has(> [name]))::after,\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n container: paging/inline-size;\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\n @container paging (width < 600px) {\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__button--numbers),\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__separator) {\n display: none;\n }\n }\n}";
|
|
24932
25191
|
|
|
24933
25192
|
class KolPagination {
|
|
24934
25193
|
constructor(hostRef) {
|
|
@@ -25162,7 +25421,7 @@ class KolPaginationWc {
|
|
|
25162
25421
|
return null;
|
|
25163
25422
|
}
|
|
25164
25423
|
});
|
|
25165
|
-
return (hAsync(Host, { class: "kol-pagination" }, hAsync("span", { role: "status", "aria-live": "polite" }, translate('kol-table-visible-range', {
|
|
25424
|
+
return (hAsync(Host, { class: "kol-pagination" }, hAsync("span", { role: "status", "aria-live": "polite", class: "kol-pagination__entries" }, translate('kol-table-visible-range', {
|
|
25166
25425
|
placeholders: {
|
|
25167
25426
|
start: this.getPageStart(),
|
|
25168
25427
|
end: this.getPageEnd(),
|
|
@@ -25175,7 +25434,7 @@ class KolPaginationWc {
|
|
|
25175
25434
|
getUnselectedPageButton(page) {
|
|
25176
25435
|
const pageText = NUMBER_FORMATTER.format(page);
|
|
25177
25436
|
const ariaDescription = `${this.translatePage} ${pageText}`;
|
|
25178
|
-
return (hAsync("li", { key: nonce() }, hAsync(KolButtonWcTag, { class: "kol-pagination__button", _ariaDescription: ariaDescription, _customClass: this.state._customClass, _label: pageText, _on: {
|
|
25437
|
+
return (hAsync("li", { key: nonce() }, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--numbers", _ariaDescription: ariaDescription, _customClass: this.state._customClass, _label: pageText, _on: {
|
|
25179
25438
|
onClick: (event) => {
|
|
25180
25439
|
this.onClick(event, page);
|
|
25181
25440
|
},
|
|
@@ -25216,7 +25475,7 @@ class KolPaginationWc {
|
|
|
25216
25475
|
try {
|
|
25217
25476
|
nextValue = parseJson(nextValue);
|
|
25218
25477
|
}
|
|
25219
|
-
catch (
|
|
25478
|
+
catch (_a) {
|
|
25220
25479
|
nextState.delete('_hasButtons');
|
|
25221
25480
|
}
|
|
25222
25481
|
}
|
|
@@ -27154,7 +27413,7 @@ class KolPopover {
|
|
|
27154
27413
|
try {
|
|
27155
27414
|
this.popoverElement.showPopover();
|
|
27156
27415
|
}
|
|
27157
|
-
catch (
|
|
27416
|
+
catch (_a) {
|
|
27158
27417
|
}
|
|
27159
27418
|
}
|
|
27160
27419
|
}
|
|
@@ -27163,7 +27422,7 @@ class KolPopover {
|
|
|
27163
27422
|
try {
|
|
27164
27423
|
this.popoverElement.hidePopover();
|
|
27165
27424
|
}
|
|
27166
|
-
catch (
|
|
27425
|
+
catch (_b) {
|
|
27167
27426
|
}
|
|
27168
27427
|
}
|
|
27169
27428
|
}
|
|
@@ -27352,11 +27611,11 @@ class KolPopoverButton {
|
|
|
27352
27611
|
(_c = this.cleanupAutoPositioning) === null || _c === void 0 ? void 0 : _c.call(this);
|
|
27353
27612
|
}
|
|
27354
27613
|
render() {
|
|
27355
|
-
return (hAsync("div", { key: '
|
|
27614
|
+
return (hAsync("div", { key: '0e7d5b884be9b05c7c94c2e5e7be8c35b0def1d7', class: clsx('kol-popover-button', {
|
|
27356
27615
|
'kol-popover-button--open': this.popoverOpen,
|
|
27357
27616
|
'kol-popover-button--inline': this.state._inline === true,
|
|
27358
27617
|
'kol-popover-button--standalone': this.state._inline === false,
|
|
27359
|
-
}) }, hAsync(KolButtonWcTag, { key: '
|
|
27618
|
+
}) }, hAsync(KolButtonWcTag, { key: '94ccc86b0c086381c81138687458bc7f24b8daf0', _accessKey: this._accessKey, "_aria-controls": "popover", _ariaDescription: this._ariaDescription, _ariaExpanded: this.popoverOpen, _ariaHasPopup: 'dialog', _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _id: this._id, _inline: this._inline, _label: this._label, _name: this._name, _on: this.on, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant, "data-testid": "popover-button", class: "kol-popover-button__button", ref: (element) => (this.refButton = element) }, hAsync("slot", { key: 'b0fc81b248083132b185e9f675b26a34f536e8da', name: "expert", slot: "expert" })), hAsync("div", { key: '3d97f41b80556b76628c416f655088f5bef5f73b', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: '10cf6cdaff42f908b1ed103526d4e92f28493535' }))));
|
|
27360
27619
|
}
|
|
27361
27620
|
validateInline(value) {
|
|
27362
27621
|
validateInline(this, value, {
|
|
@@ -27839,8 +28098,13 @@ class KolSelectWc {
|
|
|
27839
28098
|
}
|
|
27840
28099
|
}
|
|
27841
28100
|
async focus() {
|
|
27842
|
-
|
|
27843
|
-
|
|
28101
|
+
return new Promise((resolve) => {
|
|
28102
|
+
requestAnimationFrame(() => {
|
|
28103
|
+
var _a;
|
|
28104
|
+
(_a = this.selectRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28105
|
+
resolve();
|
|
28106
|
+
});
|
|
28107
|
+
});
|
|
27844
28108
|
}
|
|
27845
28109
|
getFormFieldProps() {
|
|
27846
28110
|
return {
|
|
@@ -27863,11 +28127,11 @@ class KolSelectWc {
|
|
|
27863
28127
|
} });
|
|
27864
28128
|
}
|
|
27865
28129
|
render() {
|
|
27866
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28130
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '44490eb252cf8e389146f5c8bcaa323a9f42c5cc' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '663ac31f77dfa763ef2a1603fd0597211d37edc7', state: this.state }, hAsync("form", { key: 'c16646ed59f3e5788a89f1d92efd1e2707744649', onSubmit: (event) => {
|
|
27867
28131
|
event.preventDefault();
|
|
27868
28132
|
propagateSubmitEventToForm({
|
|
27869
28133
|
form: this.host});
|
|
27870
|
-
} }, hAsync("input", { key: '
|
|
28134
|
+
} }, hAsync("input", { key: 'fe84cdd692d243ac1c017fc8e9cd10cd32a0b2bb', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: '27465e961d32dc09fe1a6978140693350f813dc0' }, this.getSelectProps()))))));
|
|
27871
28135
|
}
|
|
27872
28136
|
constructor(hostRef) {
|
|
27873
28137
|
registerInstance(this, hostRef);
|
|
@@ -28099,8 +28363,13 @@ class KolSingleSelect {
|
|
|
28099
28363
|
return this._value;
|
|
28100
28364
|
}
|
|
28101
28365
|
async focus() {
|
|
28102
|
-
|
|
28103
|
-
|
|
28366
|
+
return new Promise((resolve) => {
|
|
28367
|
+
requestAnimationFrame(() => {
|
|
28368
|
+
var _a;
|
|
28369
|
+
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28370
|
+
resolve();
|
|
28371
|
+
});
|
|
28372
|
+
});
|
|
28104
28373
|
}
|
|
28105
28374
|
onBlur(event) {
|
|
28106
28375
|
var _a, _b, _c;
|
|
@@ -28272,17 +28541,15 @@ class KolSingleSelect {
|
|
|
28272
28541
|
render() {
|
|
28273
28542
|
var _a;
|
|
28274
28543
|
const isDisabled = this.state._disabled === true;
|
|
28275
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28276
|
-
'kol-single-select__delete--disabled': isDisabled,
|
|
28277
|
-
}), _on: {
|
|
28544
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '9859c88d4eaca7326f1a0db40b320fa88615c429' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '7b7e93ea4fcc87bf11b1b5f513bf5d8d4bb6d0f7', state: this.state }, hAsync("div", { key: '974ffede1255b0cfb8b4b5ec549c766b5a474531', class: "kol-single-select__group" }, hAsync(InputStateWrapper, Object.assign({ key: '30e30746a003b83931011d0837c1d1bfcbff82dd' }, this.getInputProps())), this._inputValue && this.state._hasClearButton && (hAsync(KolButtonWcTag, { key: '851891399be5cb2289fd8bd650681c2a15212efd', _icons: "kolicon-cross", _label: this.translateDeleteSelection, _hideLabel: true, _variant: "ghost", _disabled: isDisabled, "data-testid": "single-select-delete", class: "kol-single-select__delete", hidden: isDisabled, _on: {
|
|
28278
28545
|
onClick: () => {
|
|
28279
28546
|
var _a;
|
|
28280
28547
|
this.clearSelection();
|
|
28281
28548
|
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28282
28549
|
},
|
|
28283
|
-
} })), hAsync(KolIconTag, { key: '
|
|
28550
|
+
} })), hAsync(KolIconTag, { key: '22a363bfd1c0d198b9b7f918b7b4c95255da18c6', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
|
|
28284
28551
|
'kol-custom-suggestions-toggle--disabled': isDisabled,
|
|
28285
|
-
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '
|
|
28552
|
+
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '273e98083d2fdb5ee652c796b32d93103676b957', blockSuggestionMouseOver: this.blockSuggestionMouseOver, onKeyDown: this.handleKeyDownDropdown.bind(this), style: { '--visible-options': `${(_a = this._rows) !== null && _a !== void 0 ? _a : 5}` }, hidden: !this._isOpen || isDisabled }, Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (this._filteredOptions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { index: index, option: option.label, searchTerm: this._inputValue, ref: (el) => {
|
|
28286
28553
|
if (el)
|
|
28287
28554
|
this.refOptions[index] = el;
|
|
28288
28555
|
}, selected: this._value === option.value, disabled: option.disabled ? true : false, onClick: (event) => {
|
|
@@ -28625,6 +28892,175 @@ class KolSingleSelect {
|
|
|
28625
28892
|
}; }
|
|
28626
28893
|
}
|
|
28627
28894
|
|
|
28895
|
+
const skeletonBem = bem$2.forBlock('kol-skeleton');
|
|
28896
|
+
const BEM_CLASS_SKELETON__ACTIONS = skeletonBem('actions');
|
|
28897
|
+
const BEM_CLASS_SKELETON__CONTAINER = skeletonBem('container');
|
|
28898
|
+
const BEM_CLASS_SKELETON__COUNTER = skeletonBem('counter');
|
|
28899
|
+
const BEM_CLASS_SKELETON__NAME = skeletonBem('name');
|
|
28900
|
+
const SkeletonFC = (props) => {
|
|
28901
|
+
const { count, label, name, show, handleClick, refButton } = props;
|
|
28902
|
+
const hasName = !!(show && (name === null || name === void 0 ? void 0 : name.trim()));
|
|
28903
|
+
const BEM_CLASS_ROOT = skeletonBem({
|
|
28904
|
+
'has-name': hasName,
|
|
28905
|
+
'is-hidden': !show,
|
|
28906
|
+
});
|
|
28907
|
+
return (hAsync("div", { class: BEM_CLASS_ROOT }, hAsync("div", { class: BEM_CLASS_SKELETON__CONTAINER }, hasName && hAsync("span", { class: BEM_CLASS_SKELETON__NAME }, name), hAsync("div", { class: BEM_CLASS_SKELETON__COUNTER }, "Count: ", count)), hAsync("div", { class: BEM_CLASS_SKELETON__ACTIONS }, hAsync(ClickButtonFC, { label: label, handleClick: handleClick, refButton: refButton }))));
|
|
28908
|
+
};
|
|
28909
|
+
|
|
28910
|
+
class SkeletonController extends BaseController {
|
|
28911
|
+
constructor(states) {
|
|
28912
|
+
super(states, {
|
|
28913
|
+
count: 0,
|
|
28914
|
+
name: '',
|
|
28915
|
+
});
|
|
28916
|
+
this.onKeydown = (event) => {
|
|
28917
|
+
if (event.key === 'Escape') {
|
|
28918
|
+
console.log('Show should be toggled');
|
|
28919
|
+
void this.toggle();
|
|
28920
|
+
}
|
|
28921
|
+
};
|
|
28922
|
+
this.handleClick = () => {
|
|
28923
|
+
Log.debug('Button clicked, count should be increased');
|
|
28924
|
+
const { count } = this.getProps();
|
|
28925
|
+
const nextCount = count + 1;
|
|
28926
|
+
this.setProp('count', nextCount);
|
|
28927
|
+
this.setState('count', nextCount);
|
|
28928
|
+
};
|
|
28929
|
+
this.setButtonRef = (element) => {
|
|
28930
|
+
this.clickButtonCtrl.setButtonRef(element);
|
|
28931
|
+
};
|
|
28932
|
+
this.clickButtonCtrl = new ClickButtonController({});
|
|
28933
|
+
this.startLoadedEventInterval();
|
|
28934
|
+
}
|
|
28935
|
+
componentWillLoad(props) {
|
|
28936
|
+
const { count, name } = props;
|
|
28937
|
+
this.watchCount(count);
|
|
28938
|
+
this.watchName(name);
|
|
28939
|
+
this.watchLabel(this.component.label);
|
|
28940
|
+
this.clickButtonCtrl.componentWillLoad({
|
|
28941
|
+
label: this.component.label,
|
|
28942
|
+
});
|
|
28943
|
+
}
|
|
28944
|
+
watchCount(value) {
|
|
28945
|
+
withValidPropValue(countProp, value, (v) => {
|
|
28946
|
+
this.setProp('count', v);
|
|
28947
|
+
this.setState('count', v);
|
|
28948
|
+
});
|
|
28949
|
+
}
|
|
28950
|
+
watchName(value) {
|
|
28951
|
+
withValidPropValue(nameProp, value, (v) => {
|
|
28952
|
+
this.setProp('name', v);
|
|
28953
|
+
});
|
|
28954
|
+
}
|
|
28955
|
+
watchLabel(value) {
|
|
28956
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
28957
|
+
this.setState('label', v);
|
|
28958
|
+
this.clickButtonCtrl.watchLabel(v);
|
|
28959
|
+
});
|
|
28960
|
+
}
|
|
28961
|
+
toggle() {
|
|
28962
|
+
this.setState('show', !this.component.show);
|
|
28963
|
+
}
|
|
28964
|
+
focus() {
|
|
28965
|
+
return this.clickButtonCtrl.focus();
|
|
28966
|
+
}
|
|
28967
|
+
startLoadedEventInterval() {
|
|
28968
|
+
this.intervalId = setInterval(() => {
|
|
28969
|
+
const { count } = this.getProps();
|
|
28970
|
+
this.emitLoaded(count);
|
|
28971
|
+
}, 2000);
|
|
28972
|
+
}
|
|
28973
|
+
emitLoaded(count) {
|
|
28974
|
+
if (this.onLoadedCallback) {
|
|
28975
|
+
this.onLoadedCallback(count);
|
|
28976
|
+
}
|
|
28977
|
+
}
|
|
28978
|
+
setOnLoadedCallback(callback) {
|
|
28979
|
+
this.onLoadedCallback = callback;
|
|
28980
|
+
}
|
|
28981
|
+
destroy() {
|
|
28982
|
+
if (this.intervalId) {
|
|
28983
|
+
clearInterval(this.intervalId);
|
|
28984
|
+
this.intervalId = undefined;
|
|
28985
|
+
}
|
|
28986
|
+
}
|
|
28987
|
+
}
|
|
28988
|
+
|
|
28989
|
+
class KolSkeleton {
|
|
28990
|
+
constructor(hostRef) {
|
|
28991
|
+
registerInstance(this, hostRef);
|
|
28992
|
+
this.loaded = createEvent(this, "loaded");
|
|
28993
|
+
this.rendered = createEvent(this, "rendered");
|
|
28994
|
+
this.ctrl = new SkeletonController(this);
|
|
28995
|
+
this.label = 'Label';
|
|
28996
|
+
this.show = true;
|
|
28997
|
+
this.count = 0;
|
|
28998
|
+
}
|
|
28999
|
+
async focus() {
|
|
29000
|
+
return Promise.resolve(this.ctrl.focus());
|
|
29001
|
+
}
|
|
29002
|
+
async toggle() {
|
|
29003
|
+
return Promise.resolve(this.ctrl.toggle());
|
|
29004
|
+
}
|
|
29005
|
+
watchCount(value) {
|
|
29006
|
+
this.ctrl.watchCount(value);
|
|
29007
|
+
}
|
|
29008
|
+
watchName(value) {
|
|
29009
|
+
this.ctrl.watchName(value);
|
|
29010
|
+
}
|
|
29011
|
+
handleKeyDown(event) {
|
|
29012
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
29013
|
+
Log.debug('button pressed');
|
|
29014
|
+
this.ctrl.handleClick();
|
|
29015
|
+
}
|
|
29016
|
+
}
|
|
29017
|
+
onKeydown(event) {
|
|
29018
|
+
this.ctrl.onKeydown(event);
|
|
29019
|
+
}
|
|
29020
|
+
componentWillLoad() {
|
|
29021
|
+
this.ctrl.componentWillLoad({
|
|
29022
|
+
count: this._count,
|
|
29023
|
+
name: this._name,
|
|
29024
|
+
});
|
|
29025
|
+
this.ctrl.setOnLoadedCallback((count) => {
|
|
29026
|
+
this.loaded.emit(count);
|
|
29027
|
+
});
|
|
29028
|
+
}
|
|
29029
|
+
componentDidLoad() {
|
|
29030
|
+
requestAnimationFrame(() => {
|
|
29031
|
+
this.rendered.emit();
|
|
29032
|
+
});
|
|
29033
|
+
}
|
|
29034
|
+
disconnectedCallback() {
|
|
29035
|
+
this.ctrl.destroy();
|
|
29036
|
+
}
|
|
29037
|
+
render() {
|
|
29038
|
+
const { count, name } = this.ctrl.getProps();
|
|
29039
|
+
const { label, show } = this;
|
|
29040
|
+
return (hAsync(Host, { key: '225420664e7c4af6153162c67244b7602a9a2f02' }, hAsync(SkeletonFC, { key: '35c0ce0446877a7e58da64c1c6c2a5fff960c4db', count: count, label: label, name: name, handleClick: () => this.ctrl.handleClick(), onLoaded: this.loaded, onRendered: this.rendered, show: show, refButton: (element) => this.ctrl.setButtonRef(element) })));
|
|
29041
|
+
}
|
|
29042
|
+
static get watchers() { return {
|
|
29043
|
+
"_count": ["watchCount"],
|
|
29044
|
+
"_name": ["watchName"]
|
|
29045
|
+
}; }
|
|
29046
|
+
static get cmpMeta() { return {
|
|
29047
|
+
"$flags$": 265,
|
|
29048
|
+
"$tagName$": "kol-skeleton",
|
|
29049
|
+
"$members$": {
|
|
29050
|
+
"_count": [8],
|
|
29051
|
+
"_name": [1],
|
|
29052
|
+
"label": [32],
|
|
29053
|
+
"show": [32],
|
|
29054
|
+
"count": [32],
|
|
29055
|
+
"focus": [64],
|
|
29056
|
+
"toggle": [64]
|
|
29057
|
+
},
|
|
29058
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"], [8, "keydown", "onKeydown"]],
|
|
29059
|
+
"$lazyBundleId$": "-",
|
|
29060
|
+
"$attrsToReflect$": []
|
|
29061
|
+
}; }
|
|
29062
|
+
}
|
|
29063
|
+
|
|
28628
29064
|
const defaultStyleCss$b = "/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n .kol-skip-nav__list {\n display: grid;\n place-items: center;\n list-style: none;\n }\n .kol-skip-nav__list-item {\n height: 0;\n }\n .kol-skip-nav .kol-link {\n position: absolute;\n left: calc(-99999 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 9999999;\n line-height: 1;\n }\n .kol-skip-nav .kol-link:focus {\n background-color: #fff;\n position: unset;\n left: unset;\n }\n}";
|
|
28629
29065
|
|
|
28630
29066
|
class KolSkipNav {
|
|
@@ -28943,7 +29379,7 @@ class KolTableSettings {
|
|
|
28943
29379
|
}
|
|
28944
29380
|
render() {
|
|
28945
29381
|
const columns = this.getPrimaryRow();
|
|
28946
|
-
return (hAsync(KolPopoverButtonWcTag, { key: '
|
|
29382
|
+
return (hAsync(KolPopoverButtonWcTag, { key: '490b82896c50d36d33fa91b3776c810f2d974e91', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "kolicon-settings", _label: this.translateTableSettings, _popoverAlign: "top", _hideLabel: true }, hAsync("div", { key: 'f56590905cb406de94819f8dc05dd5b44192f352', class: "kol-table-settings__content" }, hAsync(KolHeadingTag, { key: 'af706ca70d69c6df0e91b3427ac3b82ae9b13500', _label: this.translateTableSettings, _level: 0 }), this.errorMessage && hAsync(KolAlertWcTag, { key: 'ec1b9cdb7fd18d87b11d8bb699d9b8764f9c74d8', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), hAsync("form", { key: 'b50a08905d0a39033b2ce95b82a6d456563d114a', onSubmit: this.handleSubmit.bind(this) }, hAsync("div", { key: '1f88fefb1ddf02f2d2b7f5cf31a43f330366d43f', class: "kol-table-settings__columns-container" }, hAsync("div", { key: '8ab029dffd79ce218c2d906585cd21e36ef094a8', class: "kol-table-settings__columns" }, columns.map((column, index) => (hAsync("div", { key: column.key, class: "kol-table-settings__column" }, hAsync(KolInputCheckboxTag, { _checked: column.visible !== false, _label: `${column.label}${column.hidable === false ? ` (${this.translateColumnNotHidable})` : ''}`, _value: true, _hideLabel: true, _disabled: column.hidable === false, _on: { onInput: (_, value) => { var _a; return this.handleVisibilityChange((_a = column.key) !== null && _a !== void 0 ? _a : '', value); } } }), hAsync("span", { class: "kol-table-settings__column-label" }, column.label), hAsync(KolInputNumberTag, { _hideLabel: true, _value: parseColumnWidth(column.width), _label: translate('kol-table-settings-column-width', { placeholders: { column: column.label } }), _min: 1, _disabled: column.resizable === false, _on: { onInput: (_, value) => { var _a; return this.handleWidthChange((_a = column.key) !== null && _a !== void 0 ? _a : '', value); } } }), hAsync(KolButtonWcTag, { _icons: "kolicon-chevron-up", _label: translate('kol-table-settings-move-up', { placeholders: { column: column.label } }), _hideLabel: true, _variant: "ghost", _on: { onClick: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'up'); } }, _disabled: column.sortable === false || index === 0, "data-testid": "table-settings-move-up" }), hAsync(KolButtonWcTag, { _icons: "kolicon-chevron-down", _label: translate('kol-table-settings-move-down', { placeholders: { column: column.label } }), _hideLabel: true, _variant: "ghost", _on: { onClick: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'down'); } }, _disabled: column.sortable === false || index === columns.length - 1, "data-testid": "table-settings-move-down" })))))), hAsync("div", { key: 'ae830d3fe07668cf798515158a98cb669690d9ce', class: "kol-table-settings__actions" }, hAsync(KolButtonWcTag, { key: 'cac77cd375e7e506bec51431989c667210ad78df', _label: this.translateTableSettingsCancel, _variant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), hAsync(KolButtonWcTag, { key: '40204def6561b97cd9d81f76d53c19d7836bd148', _label: this.translateTableSettingsApply, _variant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
|
|
28947
29383
|
}
|
|
28948
29384
|
get host() { return getElement(this); }
|
|
28949
29385
|
static get watchers() { return {
|
|
@@ -29002,7 +29438,7 @@ var KeyboardKey;
|
|
|
29002
29438
|
KeyboardKey["Space"] = " ";
|
|
29003
29439
|
})(KeyboardKey || (KeyboardKey = {}));
|
|
29004
29440
|
|
|
29005
|
-
const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: inline-block;\n }\n .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-popover-button--inline .kol-popover-button__button {\n display: inline;\n }\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings .kol-popover-button__popover {\n background: #fff;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n border-radius: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n border: 1px solid #d1d5db;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n gap: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content minmax(max-content, 1fr) calc(140 * 1rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table__table {\n table-layout: fixed;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__sort {\n display: inline-flex;\n gap: 0.25rem;\n align-items: center;\n }\n .kol-table__sort-order {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n align-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n align-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n align-items: end;\n }\n .kol-table__cell--selection {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__cell--actions {\n white-space: nowrap;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-table__cell--actions .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-link {\n display: inline-flex;\n max-width: fit-content;\n align-items: baseline;\n place-items: center;\n text-align: left;\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-link--standalone {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: stretch;\n }\n .kol-table__cell--actions .kol-link--standalone .kol-link__text {\n display: inline-flex;\n flex: 1 1 100%;\n place-items: center;\n }\n .kol-table__cell--actions .kol-link .kol-span__label {\n text-decoration-line: underline;\n }\n .kol-table__cell--actions .kol-link:focus:not([aria-disabled], [disabled]) .kol-span__label, .kol-table__cell--actions .kol-link:hover:not([aria-disabled], [disabled]) .kol-span__label {\n text-decoration-thickness: 0.2em;\n }\n .kol-table__cell--actions .kol-link__icon {\n display: inline-flex;\n margin-left: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-table__cell-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n display: flex;\n position: relative;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n min-width: calc(var(--a11y-min-size) / 2);\n min-height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text:not(:has(> [name]))::after,\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n @media (max-width: 1024px) {\n .kol-pagination {\n flex-direction: column;\n }\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\n .kol-table-stateful__pagination, .kol-table-stateful__pagination-wrapper {\n display: grid;\n place-items: center;\n }\n @media (min-width: 1024px) {\n .kol-table-stateful__pagination, .kol-table-stateful__pagination-wrapper {\n grid-auto-flow: column;\n }\n }\n}";
|
|
29441
|
+
const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: inline-block;\n }\n .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-popover-button--inline .kol-popover-button__button {\n display: inline;\n }\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings .kol-popover-button__popover {\n background: #fff;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n border-radius: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n border: 1px solid #d1d5db;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n gap: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content minmax(max-content, 1fr) calc(140 * 1rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table__table {\n table-layout: fixed;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__sort {\n display: inline-flex;\n gap: 0.25rem;\n align-items: center;\n }\n .kol-table__sort-order {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n align-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n align-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n align-items: end;\n }\n .kol-table__cell--selection {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__cell--actions {\n white-space: nowrap;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-table__cell--actions .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-link {\n display: inline-flex;\n max-width: fit-content;\n align-items: baseline;\n place-items: center;\n text-align: left;\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-link--standalone {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: stretch;\n }\n .kol-table__cell--actions .kol-link--standalone .kol-link__text {\n display: inline-flex;\n flex: 1 1 100%;\n place-items: center;\n }\n .kol-table__cell--actions .kol-link .kol-span__label {\n text-decoration-line: underline;\n }\n .kol-table__cell--actions .kol-link:focus:not([aria-disabled], [disabled]) .kol-span__label, .kol-table__cell--actions .kol-link:hover:not([aria-disabled], [disabled]) .kol-span__label {\n text-decoration-thickness: 0.2em;\n }\n .kol-table__cell--actions .kol-link__icon {\n display: inline-flex;\n margin-left: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-table__cell-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n display: flex;\n position: relative;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n min-width: calc(var(--a11y-min-size) / 2);\n min-height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text:not(:has(> [name]))::after,\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n container: paging/inline-size;\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\n @container paging (width < 600px) {\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__button--numbers),\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__separator) {\n display: none;\n }\n }\n}";
|
|
29006
29442
|
|
|
29007
29443
|
const PAGINATION_OPTIONS = [10, 20, 50, 100];
|
|
29008
29444
|
const paginationValidator = (value) => value === true || value === '' || (typeof value === 'object' && value !== null);
|
|
@@ -29148,7 +29584,7 @@ class KolTableStateful {
|
|
|
29148
29584
|
try {
|
|
29149
29585
|
value = parseJson(value);
|
|
29150
29586
|
}
|
|
29151
|
-
catch (
|
|
29587
|
+
catch (_a) {
|
|
29152
29588
|
}
|
|
29153
29589
|
watchValidator(this, '_headers', (value) => typeof value === 'object' && value !== null, new Set(['KoliBriTableHeaders']), value, {
|
|
29154
29590
|
hooks: {
|
|
@@ -29211,7 +29647,7 @@ class KolTableStateful {
|
|
|
29211
29647
|
try {
|
|
29212
29648
|
value = parseJson(value);
|
|
29213
29649
|
}
|
|
29214
|
-
catch (
|
|
29650
|
+
catch (_a) {
|
|
29215
29651
|
}
|
|
29216
29652
|
this.showPagination = paginationValidator(value);
|
|
29217
29653
|
watchValidator(this, '_pagination', paginationValidator, new Set(['boolean', 'KoliBriTablePagination']), value, {
|
|
@@ -29332,7 +29768,7 @@ class KolTableStateful {
|
|
|
29332
29768
|
horizontal: (_d = (_c = this.state._headers.horizontal) === null || _c === void 0 ? void 0 : _c.map((row) => row.map((cell) => (Object.assign(Object.assign({}, cell), { sortDirection: this.getHeaderCellSortState(cell), sortOrder: this.getHeaderCellSortOrder(cell) }))))) !== null && _d !== void 0 ? _d : [],
|
|
29333
29769
|
vertical: (_f = (_e = this.state._headers.vertical) === null || _e === void 0 ? void 0 : _e.map((column) => column.map((cell) => (Object.assign(Object.assign({}, cell), { sortDirection: this.getHeaderCellSortState(cell), sortOrder: this.getHeaderCellSortOrder(cell) }))))) !== null && _f !== void 0 ? _f : [],
|
|
29334
29770
|
};
|
|
29335
|
-
return (hAsync(Host, { key: '
|
|
29771
|
+
return (hAsync(Host, { key: 'e1709a711cbb5a5c880a08fe116a1f71cba1eb42', class: "kol-table-stateful" }, this.pageEndSlice > 0 && this.showPagination && paginationTop, hAsync(KolTableStatelessWcTag, { key: '8913690e3c5b72ce1a0b405105cfdedd3112d58f', ref: this.catchRef, _data: displayedData, _headerCells: headerCells, _label: this.state._label, _dataFoot: this.state._dataFoot, _on: {
|
|
29336
29772
|
onSort: (_, payload) => {
|
|
29337
29773
|
this.handleSort(payload);
|
|
29338
29774
|
},
|
|
@@ -29387,7 +29823,7 @@ let KolTableStateless$1 = class KolTableStateless {
|
|
|
29387
29823
|
registerInstance(this, hostRef);
|
|
29388
29824
|
}
|
|
29389
29825
|
render() {
|
|
29390
|
-
return (hAsync(KolTableStatelessWcTag, { key: '
|
|
29826
|
+
return (hAsync(KolTableStatelessWcTag, { key: '804f4c5a9759f8df05272b7c099459411448c59e', _data: this._data, _dataFoot: this._dataFoot, _headerCells: this._headerCells, _label: this._label, _on: this._on, _selection: this._selection, _hasSettingsMenu: this._hasSettingsMenu }));
|
|
29391
29827
|
}
|
|
29392
29828
|
static get style() { return {
|
|
29393
29829
|
default: defaultStyleCss$7
|
|
@@ -30022,12 +30458,12 @@ class KolTableStateless {
|
|
|
30022
30458
|
const dataField = this.createDataField(this.state._data, this.state._headerCells);
|
|
30023
30459
|
this.checkboxRefs = [];
|
|
30024
30460
|
const horizontalHeaders = this.state._headerCells.horizontal;
|
|
30025
|
-
return (hAsync("div", { key: '
|
|
30461
|
+
return (hAsync("div", { key: '2426b838c4e5d373231c0b7d8248b33b3190fce4', class: "kol-table" }, this.state._hasSettingsMenu && hAsync(KolTableSettingsWcTag, { key: 'b967b09672a41cbac225115d85bd7df3a26c747a', _horizontalHeaderCells: horizontalHeaders !== null && horizontalHeaders !== void 0 ? horizontalHeaders : [] }), hAsync("div", { key: '80058544c29bec221fa72701cec3534ae298f519', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? '-1' : undefined }, hAsync("table", { key: 'dca5672b8ef6e439d60ea4c5206917c2bd8da036', class: "kol-table__table", style: {
|
|
30026
30462
|
minWidth: this.getTableMinWidth(),
|
|
30027
|
-
} }, hAsync("caption", { key: '
|
|
30463
|
+
} }, hAsync("caption", { key: 'cc730fb3e4c5951b1d0c04b73901b1e1ba4f0181', class: "kol-table__focus-element kol-table__caption", id: "caption", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined }, this.state._label), Array.isArray(horizontalHeaders) && (hAsync("thead", { key: 'ddab33602df5dcc0d266128a06907b0c5fe81769', class: "kol-table__head" }, [
|
|
30028
30464
|
horizontalHeaders.map((cols, rowIndex) => (hAsync("tr", { class: "kol-table__head-row", key: `thead-${rowIndex}` }, this.state._selection && this.renderHeadingSelectionCell(), rowIndex === 0 && this.renderHeaderTdCell(), Array.isArray(cols) && cols.map((cell, colIndex) => this.renderHeadingCell(cell, rowIndex, colIndex, false))))),
|
|
30029
30465
|
this.renderSpacer('head', horizontalHeaders),
|
|
30030
|
-
])), hAsync("tbody", { key: '
|
|
30466
|
+
])), hAsync("tbody", { key: '59d6cee5b36e8addebb2fd765cb6aa3f8408cfc2', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
|
|
30031
30467
|
}
|
|
30032
30468
|
get host() { return getElement(this); }
|
|
30033
30469
|
static get watchers() { return {
|
|
@@ -30466,8 +30902,13 @@ class KolTextarea {
|
|
|
30466
30902
|
return (_a = this.textareaRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
30467
30903
|
}
|
|
30468
30904
|
async focus() {
|
|
30469
|
-
|
|
30470
|
-
|
|
30905
|
+
return new Promise((resolve) => {
|
|
30906
|
+
requestAnimationFrame(() => {
|
|
30907
|
+
var _a;
|
|
30908
|
+
(_a = this.textareaRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
30909
|
+
resolve();
|
|
30910
|
+
});
|
|
30911
|
+
});
|
|
30471
30912
|
}
|
|
30472
30913
|
getFormFieldProps() {
|
|
30473
30914
|
return {
|
|
@@ -30493,7 +30934,7 @@ class KolTextarea {
|
|
|
30493
30934
|
} });
|
|
30494
30935
|
}
|
|
30495
30936
|
render() {
|
|
30496
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
30937
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'e1a50de8e844b4b8de8363f40f0398e1464a65a8' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '6e6d22422052a45e54cb35054b02853c7ab5d055', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: 'eadd23eef77edf6963b601582b936d190f455706' }, this.getTextAreaProps())))));
|
|
30497
30938
|
}
|
|
30498
30939
|
constructor(hostRef) {
|
|
30499
30940
|
registerInstance(this, hostRef);
|
|
@@ -31575,7 +32016,6 @@ registerComponents([
|
|
|
31575
32016
|
KolAlert,
|
|
31576
32017
|
KolAlertWc,
|
|
31577
32018
|
KolAvatar,
|
|
31578
|
-
KolAvatarWc,
|
|
31579
32019
|
KolBadge,
|
|
31580
32020
|
KolBreadcrumb,
|
|
31581
32021
|
KolButton,
|
|
@@ -31583,6 +32023,7 @@ registerComponents([
|
|
|
31583
32023
|
KolButtonWc,
|
|
31584
32024
|
KolCard,
|
|
31585
32025
|
KolCardWc,
|
|
32026
|
+
KolClickButton,
|
|
31586
32027
|
KolCombobox,
|
|
31587
32028
|
KolDetails,
|
|
31588
32029
|
KolDialog,
|
|
@@ -31618,6 +32059,7 @@ registerComponents([
|
|
|
31618
32059
|
KolSelect,
|
|
31619
32060
|
KolSelectWc,
|
|
31620
32061
|
KolSingleSelect,
|
|
32062
|
+
KolSkeleton,
|
|
31621
32063
|
KolSkipNav,
|
|
31622
32064
|
KolSpin,
|
|
31623
32065
|
KolSplitButton,
|
|
@@ -31657,7 +32099,7 @@ function prototypeKoliBri(name, cb) {
|
|
|
31657
32099
|
},
|
|
31658
32100
|
});
|
|
31659
32101
|
}
|
|
31660
|
-
catch (
|
|
32102
|
+
catch (_a) {
|
|
31661
32103
|
Log.debug(`KoliBri property ${name} is already bind.`);
|
|
31662
32104
|
}
|
|
31663
32105
|
}
|