@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.mjs
CHANGED
|
@@ -144,7 +144,7 @@ function _mergeNamespaces(n, m) {
|
|
|
144
144
|
|
|
145
145
|
const NAMESPACE = 'kolibri';
|
|
146
146
|
const BUILD = /* kolibri */ { hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
|
|
147
|
-
const Env = /* kolibri */ {"kolibriVersion":"4.0.
|
|
147
|
+
const Env = /* kolibri */ {"kolibriVersion":"4.1.0-rc.0"};
|
|
148
148
|
|
|
149
149
|
function getDefaultExportFromCjs (x) {
|
|
150
150
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
@@ -520,7 +520,7 @@ function requireLoglevel () {
|
|
|
520
520
|
var loglevelExports = requireLoglevel();
|
|
521
521
|
var h$1 = /*@__PURE__*/getDefaultExportFromCjs(loglevelExports);
|
|
522
522
|
|
|
523
|
-
const
|
|
523
|
+
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.
|
|
524
524
|
|
|
525
525
|
import { register } from 'adopted-style-sheets';
|
|
526
526
|
import { defineCustomElements } from '...';
|
|
@@ -530,7 +530,7 @@ const $=()=>{const t=typeof process<"u"&&process.env?process.env:{},e=t.NODE_ENV
|
|
|
530
530
|
.then(() => {
|
|
531
531
|
// run your app or website
|
|
532
532
|
})
|
|
533
|
-
.catch(console.warn);`));let
|
|
533
|
+
.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});};
|
|
534
534
|
|
|
535
535
|
var KeyEnum;
|
|
536
536
|
(function (KeyEnum) {
|
|
@@ -640,7 +640,7 @@ const setRuntimeMode = (mode) => {
|
|
|
640
640
|
throw new Error(`Invalid NODE_ENV value: ${mode}. Expected one of ${MODES.join(', ')}.`);
|
|
641
641
|
}
|
|
642
642
|
}
|
|
643
|
-
catch (
|
|
643
|
+
catch (_a) {
|
|
644
644
|
runtimeMode = 'production';
|
|
645
645
|
}
|
|
646
646
|
};
|
|
@@ -651,7 +651,7 @@ const getInitialMode = () => {
|
|
|
651
651
|
return nodeEnv;
|
|
652
652
|
}
|
|
653
653
|
}
|
|
654
|
-
catch (
|
|
654
|
+
catch (_a) {
|
|
655
655
|
}
|
|
656
656
|
return 'production';
|
|
657
657
|
};
|
|
@@ -1670,7 +1670,7 @@ const watchJsonArrayString = (component, propName, itemValidation, value, arrayV
|
|
|
1670
1670
|
try {
|
|
1671
1671
|
value = parseJson(value);
|
|
1672
1672
|
}
|
|
1673
|
-
catch (
|
|
1673
|
+
catch (_a) {
|
|
1674
1674
|
}
|
|
1675
1675
|
if (Array.isArray(value)) {
|
|
1676
1676
|
const invalid = value.find((item) => !itemValidation(item));
|
|
@@ -1701,7 +1701,7 @@ const stringifyJson = (value) => {
|
|
|
1701
1701
|
try {
|
|
1702
1702
|
return JSON.stringify(value).replace(/"/g, "'");
|
|
1703
1703
|
}
|
|
1704
|
-
catch (
|
|
1704
|
+
catch (_a) {
|
|
1705
1705
|
Log.warn(['stringifyJson', value]);
|
|
1706
1706
|
Log.error(`↑ The JSON could not be converted to a string. A stringifiable JSON is expected.`);
|
|
1707
1707
|
throw new Error();
|
|
@@ -1713,12 +1713,12 @@ const parseJson = (value) => {
|
|
|
1713
1713
|
try {
|
|
1714
1714
|
return JSON.parse(value);
|
|
1715
1715
|
}
|
|
1716
|
-
catch (
|
|
1716
|
+
catch (_a) {
|
|
1717
1717
|
if (JSON_CHARS.test(value)) {
|
|
1718
1718
|
try {
|
|
1719
1719
|
return JSON.parse(value.replace(/'/g, '"'));
|
|
1720
1720
|
}
|
|
1721
|
-
catch (
|
|
1721
|
+
catch (_b) {
|
|
1722
1722
|
Log.warn(['parseJson', value]);
|
|
1723
1723
|
Log.error(`↑ The JSON string could not be parsed. Make sure that single quotes in the text are escaped (‘).`);
|
|
1724
1724
|
}
|
|
@@ -1926,9 +1926,9 @@ KoliBriUtils.executionLock = false;
|
|
|
1926
1926
|
KoliBriUtils.cache = new Map();
|
|
1927
1927
|
class KoliBriDevHelper {
|
|
1928
1928
|
}
|
|
1929
|
-
KoliBriDevHelper.getCssStyle =
|
|
1930
|
-
KoliBriDevHelper.patchTheme =
|
|
1931
|
-
KoliBriDevHelper.patchThemeTag =
|
|
1929
|
+
KoliBriDevHelper.getCssStyle = d;
|
|
1930
|
+
KoliBriDevHelper.patchTheme = K;
|
|
1931
|
+
KoliBriDevHelper.patchThemeTag = x;
|
|
1932
1932
|
KoliBriDevHelper.querySelector = koliBriQuerySelector;
|
|
1933
1933
|
KoliBriDevHelper.querySelectorAll = koliBriQuerySelectorAll;
|
|
1934
1934
|
KoliBriDevHelper.stringifyJson = stringifyJson;
|
|
@@ -2088,9 +2088,9 @@ const validateCollapsible = (component, value) => {
|
|
|
2088
2088
|
watchBoolean(component, '_collapsible', value);
|
|
2089
2089
|
};
|
|
2090
2090
|
|
|
2091
|
-
const HEX_REGEX = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
2092
|
-
function isHexString(value) {
|
|
2093
|
-
return HEX_REGEX.test(value);
|
|
2091
|
+
const HEX_REGEX$1 = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
2092
|
+
function isHexString$1(value) {
|
|
2093
|
+
return HEX_REGEX$1.test(value);
|
|
2094
2094
|
}
|
|
2095
2095
|
function isColorObjectString(value) {
|
|
2096
2096
|
if (value.startsWith('{')) {
|
|
@@ -2099,7 +2099,7 @@ function isColorObjectString(value) {
|
|
|
2099
2099
|
if (isValidColorPair(parsed))
|
|
2100
2100
|
return { type: 'ColorPair', value: parsed };
|
|
2101
2101
|
}
|
|
2102
|
-
catch (
|
|
2102
|
+
catch (_a) {
|
|
2103
2103
|
return { type: null, value: null };
|
|
2104
2104
|
}
|
|
2105
2105
|
}
|
|
@@ -2108,7 +2108,7 @@ function isColorObjectString(value) {
|
|
|
2108
2108
|
function typeOfColor(value) {
|
|
2109
2109
|
if (value) {
|
|
2110
2110
|
if (typeof value === 'string') {
|
|
2111
|
-
if (isHexString(value))
|
|
2111
|
+
if (isHexString$1(value))
|
|
2112
2112
|
return { type: 'string', valid: true, value: value };
|
|
2113
2113
|
else {
|
|
2114
2114
|
const colorObject = isColorObjectString(value);
|
|
@@ -2125,14 +2125,7 @@ function typeOfColor(value) {
|
|
|
2125
2125
|
return { type: null, valid: false, value: '' };
|
|
2126
2126
|
}
|
|
2127
2127
|
function isValidColorPair(value) {
|
|
2128
|
-
return !!(typeof value === 'object' &&
|
|
2129
|
-
value &&
|
|
2130
|
-
typeof value.backgroundColor === 'string' &&
|
|
2131
|
-
(typeof value.foregroundColor === 'string' ||
|
|
2132
|
-
(value.foregroundColor &&
|
|
2133
|
-
typeof value.foregroundColor.primary === 'string' &&
|
|
2134
|
-
typeof value.foregroundColor.secondary === 'string' &&
|
|
2135
|
-
typeof value.foregroundColor.neutral === 'string')));
|
|
2128
|
+
return !!(typeof value === 'object' && value && typeof value.backgroundColor === 'string' && typeof value.foregroundColor === 'string');
|
|
2136
2129
|
}
|
|
2137
2130
|
function validatorFunction(value) {
|
|
2138
2131
|
const valueType = typeOfColor(value);
|
|
@@ -2148,7 +2141,6 @@ const validateColor = (component, value, options) => {
|
|
|
2148
2141
|
watchValidator(component, '_color', validatorFunction, new Set(['rgb in hex', 'ColorPair']), value, options);
|
|
2149
2142
|
};
|
|
2150
2143
|
const handleColorChange = (value) => {
|
|
2151
|
-
var _a;
|
|
2152
2144
|
let colorContrast;
|
|
2153
2145
|
const valueType = typeOfColor(value);
|
|
2154
2146
|
switch (valueType.type) {
|
|
@@ -2160,8 +2152,6 @@ const handleColorChange = (value) => {
|
|
|
2160
2152
|
let foreground = '';
|
|
2161
2153
|
if (typeof asColorPair.foregroundColor === 'string')
|
|
2162
2154
|
foreground = asColorPair.foregroundColor;
|
|
2163
|
-
else if ((_a = asColorPair.foregroundColor) === null || _a === void 0 ? void 0 : _a.primary)
|
|
2164
|
-
foreground = asColorPair.foregroundColor.primary;
|
|
2165
2155
|
if (!foreground || typeof foreground !== 'string')
|
|
2166
2156
|
foreground = '#fff';
|
|
2167
2157
|
colorContrast = createContrastColorPair({
|
|
@@ -2297,7 +2287,7 @@ const validateIcons = (component, value, options = {}) => {
|
|
|
2297
2287
|
try {
|
|
2298
2288
|
value = parseJson(value);
|
|
2299
2289
|
}
|
|
2300
|
-
catch (
|
|
2290
|
+
catch (_b) {
|
|
2301
2291
|
}
|
|
2302
2292
|
watchValidator(component, '_icons', (value) => {
|
|
2303
2293
|
const valueIsEmptyObject = typeof value === 'object' && value !== null && Object.keys(value).length === 0;
|
|
@@ -2433,7 +2423,7 @@ const validateMsg = (component, value) => {
|
|
|
2433
2423
|
try {
|
|
2434
2424
|
value = parseJson(value);
|
|
2435
2425
|
}
|
|
2436
|
-
catch (
|
|
2426
|
+
catch (_a) {
|
|
2437
2427
|
}
|
|
2438
2428
|
watchValidator(component, `_msg`, (value) => {
|
|
2439
2429
|
if (value === undefined) {
|
|
@@ -2458,7 +2448,7 @@ function normalizeMsg(msg) {
|
|
|
2458
2448
|
try {
|
|
2459
2449
|
return parseJson(msg);
|
|
2460
2450
|
}
|
|
2461
|
-
catch (
|
|
2451
|
+
catch (_a) {
|
|
2462
2452
|
return { _description: msg, _type: 'error' };
|
|
2463
2453
|
}
|
|
2464
2454
|
}
|
|
@@ -2605,7 +2595,7 @@ const validateTableData = (component, value, setStateHooks) => {
|
|
|
2605
2595
|
try {
|
|
2606
2596
|
value = parseJson(value);
|
|
2607
2597
|
}
|
|
2608
|
-
catch (
|
|
2598
|
+
catch (_a) {
|
|
2609
2599
|
}
|
|
2610
2600
|
if (Array.isArray(value) && value.every((data) => typeof data === 'object' && data !== null)) {
|
|
2611
2601
|
setState(component, '_data', value, setStateHooks);
|
|
@@ -2623,7 +2613,7 @@ const validateTableDataFoot = (component, value, setStateHooks) => {
|
|
|
2623
2613
|
try {
|
|
2624
2614
|
value = parseJson(value);
|
|
2625
2615
|
}
|
|
2626
|
-
catch (
|
|
2616
|
+
catch (_a) {
|
|
2627
2617
|
}
|
|
2628
2618
|
if (Array.isArray(value) && value.every((data) => typeof data === 'object' && data !== null)) {
|
|
2629
2619
|
setState(component, '_dataFoot', value, setStateHooks);
|
|
@@ -2659,7 +2649,7 @@ const validateTableSelection = (component, value) => {
|
|
|
2659
2649
|
try {
|
|
2660
2650
|
return parseJson(value);
|
|
2661
2651
|
}
|
|
2662
|
-
catch (
|
|
2652
|
+
catch (_a) {
|
|
2663
2653
|
return undefined;
|
|
2664
2654
|
}
|
|
2665
2655
|
};
|
|
@@ -2681,7 +2671,7 @@ const validateToolbarItems = (component, value) => {
|
|
|
2681
2671
|
try {
|
|
2682
2672
|
value = parseJson(value);
|
|
2683
2673
|
}
|
|
2684
|
-
catch (
|
|
2674
|
+
catch (_a) {
|
|
2685
2675
|
}
|
|
2686
2676
|
if (Array.isArray(value) && value.every((items) => typeof items === 'object' && items !== null)) {
|
|
2687
2677
|
setState(component, '_items', value);
|
|
@@ -2771,10 +2761,10 @@ var appGlobalScript = () => {
|
|
|
2771
2761
|
setMode((elm) => {
|
|
2772
2762
|
try {
|
|
2773
2763
|
if (elm.shadowRoot instanceof ShadowRoot) {
|
|
2774
|
-
|
|
2764
|
+
he(elm, w(elm));
|
|
2775
2765
|
}
|
|
2776
2766
|
}
|
|
2777
|
-
catch (
|
|
2767
|
+
catch (_a) {
|
|
2778
2768
|
}
|
|
2779
2769
|
return 'default';
|
|
2780
2770
|
});
|
|
@@ -4248,6 +4238,21 @@ var getElement = (ref) => {
|
|
|
4248
4238
|
var _a;
|
|
4249
4239
|
return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
|
|
4250
4240
|
};
|
|
4241
|
+
|
|
4242
|
+
// src/runtime/event-emitter.ts
|
|
4243
|
+
var createEvent = (ref, name, flags) => {
|
|
4244
|
+
const elm = getElement(ref);
|
|
4245
|
+
return {
|
|
4246
|
+
emit: (detail) => {
|
|
4247
|
+
return emitEvent(elm, name, {
|
|
4248
|
+
bubbles: true,
|
|
4249
|
+
composed: true,
|
|
4250
|
+
cancelable: true,
|
|
4251
|
+
detail
|
|
4252
|
+
});
|
|
4253
|
+
}
|
|
4254
|
+
};
|
|
4255
|
+
};
|
|
4251
4256
|
var emitEvent = (elm, name, opts) => {
|
|
4252
4257
|
const ev = plt.ce(name, opts);
|
|
4253
4258
|
elm.dispatchEvent(ev);
|
|
@@ -5383,7 +5388,7 @@ var Fragment = (_, children) => children;
|
|
|
5383
5388
|
var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
5384
5389
|
if (listeners && win.document) {
|
|
5385
5390
|
listeners.map(([flags, name, method]) => {
|
|
5386
|
-
const target = elm;
|
|
5391
|
+
const target = getHostListenerTarget(win.document, elm, flags) ;
|
|
5387
5392
|
const handler = hostListenerProxy(hostRef, method);
|
|
5388
5393
|
const opts = hostListenerOpts(flags);
|
|
5389
5394
|
plt.ael(target, name, handler, opts);
|
|
@@ -5405,6 +5410,12 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
|
5405
5410
|
consoleError(e, hostRef.$hostElement$);
|
|
5406
5411
|
}
|
|
5407
5412
|
};
|
|
5413
|
+
var getHostListenerTarget = (doc, elm, flags) => {
|
|
5414
|
+
if (flags & 8 /* TargetWindow */) {
|
|
5415
|
+
return win;
|
|
5416
|
+
}
|
|
5417
|
+
return elm;
|
|
5418
|
+
};
|
|
5408
5419
|
var hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
|
|
5409
5420
|
|
|
5410
5421
|
// src/runtime/vdom/vdom-annotations.ts
|
|
@@ -6037,7 +6048,6 @@ var needsScopedSSR = () => scopedSSR;
|
|
|
6037
6048
|
var scopedSSR = false;
|
|
6038
6049
|
|
|
6039
6050
|
let KolAlertWcTag = 'kol-alert-wc';
|
|
6040
|
-
let KolAvatarWcTag = 'kol-avatar-wc';
|
|
6041
6051
|
let KolBadgeTag = 'kol-badge';
|
|
6042
6052
|
let KolButtonTag = 'kol-button';
|
|
6043
6053
|
let KolButtonWcTag = 'kol-button-wc';
|
|
@@ -6233,7 +6243,7 @@ const initMeta = () => {
|
|
|
6233
6243
|
}
|
|
6234
6244
|
}
|
|
6235
6245
|
}
|
|
6236
|
-
catch (
|
|
6246
|
+
catch (_a) {
|
|
6237
6247
|
}
|
|
6238
6248
|
};
|
|
6239
6249
|
const getKoliBri$1 = () => {
|
|
@@ -6757,9 +6767,11 @@ var a = /*@__PURE__*/getDefaultExportFromCjs(easyBemExports);
|
|
|
6757
6767
|
|
|
6758
6768
|
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}
|
|
6759
6769
|
|
|
6770
|
+
const bem$2 = c();
|
|
6771
|
+
|
|
6760
6772
|
const bem$1 = c();
|
|
6761
|
-
|
|
6762
|
-
|
|
6773
|
+
bem$1('kol-alert', 'closer');
|
|
6774
|
+
bem$1('kol-alert', 'content');
|
|
6763
6775
|
const BEM_CLASS_ALERT__ICON = bem$1('kol-alert', 'icon');
|
|
6764
6776
|
|
|
6765
6777
|
const translateError = translate('kol-error');
|
|
@@ -6785,7 +6797,9 @@ const AlertIcon = ({ type, label }) => {
|
|
|
6785
6797
|
}
|
|
6786
6798
|
};
|
|
6787
6799
|
|
|
6788
|
-
const
|
|
6800
|
+
const alertBem = bem$2.forBlock('kol-alert');
|
|
6801
|
+
const BEM_CLASS_ALERT__CLOSER = alertBem('closer');
|
|
6802
|
+
const BEM_CLASS_ALERT__CONTENT = alertBem('content');
|
|
6789
6803
|
const vibrateOnError = () => {
|
|
6790
6804
|
if (typeof navigator === 'undefined' || typeof navigator.vibrate !== 'function') {
|
|
6791
6805
|
return;
|
|
@@ -6806,18 +6820,19 @@ const vibrateOnError = () => {
|
|
|
6806
6820
|
};
|
|
6807
6821
|
const KolAlertFc = (props, children) => {
|
|
6808
6822
|
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"]);
|
|
6823
|
+
const translateCloseAlert = translate('kol-close-alert');
|
|
6809
6824
|
if (alert) {
|
|
6810
6825
|
vibrateOnError();
|
|
6811
6826
|
setTimeout(() => {
|
|
6812
6827
|
onAlertTimeout === null || onAlertTimeout === void 0 ? void 0 : onAlertTimeout();
|
|
6813
6828
|
}, 10000);
|
|
6814
6829
|
}
|
|
6815
|
-
const BEM_CLASS_ROOT =
|
|
6830
|
+
const BEM_CLASS_ROOT = alertBem({
|
|
6816
6831
|
hasCloser: !!hasCloser,
|
|
6817
6832
|
[`type-${type}`]: true,
|
|
6818
6833
|
[`variant-${variant}`]: true,
|
|
6819
6834
|
});
|
|
6820
|
-
const BEM_CLASS__HEADING =
|
|
6835
|
+
const BEM_CLASS__HEADING = alertBem('heading', {
|
|
6821
6836
|
[`h${level}`]: true,
|
|
6822
6837
|
});
|
|
6823
6838
|
const rootProps = Object.assign({ class: clsx(classNames, BEM_CLASS_ROOT) }, other);
|
|
@@ -6928,109 +6943,215 @@ class KolAlertWc {
|
|
|
6928
6943
|
}; }
|
|
6929
6944
|
}
|
|
6930
6945
|
|
|
6931
|
-
const
|
|
6946
|
+
const BEM_BLOCK_AVATAR = 'kol-avatar';
|
|
6947
|
+
const BEM_CLASS_AVATAR__IMAGE = bem$2(BEM_BLOCK_AVATAR, 'image');
|
|
6948
|
+
const BEM_CLASS_AVATAR__INITIALS = bem$2(BEM_BLOCK_AVATAR, 'initials');
|
|
6949
|
+
const AvatarFC = (props) => {
|
|
6950
|
+
const { color, initials, label, src } = props;
|
|
6951
|
+
return (hAsync("div", { "aria-label": translate('kol-avatar-alt', { placeholders: { name: label } }), class: "kol-avatar", role: "img", style: {
|
|
6952
|
+
backgroundColor: color.backgroundColor,
|
|
6953
|
+
color: color.foregroundColor,
|
|
6954
|
+
} }, 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))));
|
|
6955
|
+
};
|
|
6932
6956
|
|
|
6933
|
-
|
|
6934
|
-
|
|
6935
|
-
|
|
6936
|
-
|
|
6957
|
+
function createPropDefinition(normalize, validate) {
|
|
6958
|
+
return {
|
|
6959
|
+
normalize,
|
|
6960
|
+
validate,
|
|
6961
|
+
};
|
|
6962
|
+
}
|
|
6963
|
+
function withValidPropValue(propDef, value, callback) {
|
|
6964
|
+
try {
|
|
6965
|
+
const normalized = propDef.normalize(value);
|
|
6966
|
+
if (propDef.validate(normalized)) {
|
|
6967
|
+
callback(normalized);
|
|
6968
|
+
}
|
|
6937
6969
|
}
|
|
6938
|
-
|
|
6939
|
-
|
|
6970
|
+
catch (e) {
|
|
6971
|
+
Log.debug(e);
|
|
6940
6972
|
}
|
|
6941
|
-
static get style() { return {
|
|
6942
|
-
default: defaultStyleCss$K
|
|
6943
|
-
}; }
|
|
6944
|
-
static get cmpMeta() { return {
|
|
6945
|
-
"$flags$": 297,
|
|
6946
|
-
"$tagName$": "kol-avatar",
|
|
6947
|
-
"$members$": {
|
|
6948
|
-
"_color": [1],
|
|
6949
|
-
"_src": [1],
|
|
6950
|
-
"_label": [1]
|
|
6951
|
-
},
|
|
6952
|
-
"$listeners$": undefined,
|
|
6953
|
-
"$lazyBundleId$": "-",
|
|
6954
|
-
"$attrsToReflect$": []
|
|
6955
|
-
}; }
|
|
6956
6973
|
}
|
|
6957
6974
|
|
|
6975
|
+
const HEX_REGEX = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
6976
|
+
function isHexString(value) {
|
|
6977
|
+
return HEX_REGEX.test(value);
|
|
6978
|
+
}
|
|
6979
|
+
function normalizer(value) {
|
|
6980
|
+
if (typeof value === 'string' && isHexString(value)) {
|
|
6981
|
+
const colors = createContrastColorPair(value);
|
|
6982
|
+
return {
|
|
6983
|
+
backgroundColor: colors.background,
|
|
6984
|
+
foregroundColor: colors.foreground,
|
|
6985
|
+
};
|
|
6986
|
+
}
|
|
6987
|
+
else if (typeof value === 'object' && value) {
|
|
6988
|
+
const colorPair = value;
|
|
6989
|
+
if (typeof colorPair.backgroundColor === 'string' &&
|
|
6990
|
+
typeof colorPair.foregroundColor === 'string' &&
|
|
6991
|
+
isHexString(colorPair.backgroundColor) &&
|
|
6992
|
+
isHexString(colorPair.foregroundColor)) {
|
|
6993
|
+
const colors = createContrastColorPair({
|
|
6994
|
+
background: colorPair.backgroundColor,
|
|
6995
|
+
foreground: colorPair.foregroundColor,
|
|
6996
|
+
});
|
|
6997
|
+
return {
|
|
6998
|
+
backgroundColor: colors.background,
|
|
6999
|
+
foregroundColor: colors.foreground,
|
|
7000
|
+
};
|
|
7001
|
+
}
|
|
7002
|
+
}
|
|
7003
|
+
throw new Error(`Invalid color ${value}`);
|
|
7004
|
+
}
|
|
7005
|
+
function validator(value) {
|
|
7006
|
+
return isHexString(value.foregroundColor) && isHexString(value.backgroundColor);
|
|
7007
|
+
}
|
|
7008
|
+
const colorProp = createPropDefinition(normalizer, validator);
|
|
7009
|
+
|
|
7010
|
+
function normalizeString(value) {
|
|
7011
|
+
if (typeof value === 'string') {
|
|
7012
|
+
return value;
|
|
7013
|
+
}
|
|
7014
|
+
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
|
|
7015
|
+
return String(value);
|
|
7016
|
+
}
|
|
7017
|
+
throw new Error(`Invalid string: ${value}`);
|
|
7018
|
+
}
|
|
7019
|
+
function normalizeInteger(value) {
|
|
7020
|
+
if (typeof value === 'number') {
|
|
7021
|
+
return Number.isInteger(value) ? value : Math.round(value);
|
|
7022
|
+
}
|
|
7023
|
+
if (typeof value === 'string') {
|
|
7024
|
+
const parsed = parseInt(value, 10);
|
|
7025
|
+
if (!isNaN(parsed)) {
|
|
7026
|
+
return parsed;
|
|
7027
|
+
}
|
|
7028
|
+
}
|
|
7029
|
+
throw new Error(`Invalid integer: ${value}`);
|
|
7030
|
+
}
|
|
7031
|
+
|
|
7032
|
+
const countProp = createPropDefinition(normalizeInteger, (v) => v >= 0);
|
|
7033
|
+
|
|
6958
7034
|
const formatNameAsInitial = (name) => {
|
|
6959
7035
|
if (name.length === 0) {
|
|
6960
7036
|
return '';
|
|
6961
7037
|
}
|
|
6962
7038
|
return name[0].toUpperCase();
|
|
6963
7039
|
};
|
|
6964
|
-
const
|
|
6965
|
-
|
|
7040
|
+
const normalizeInitials = (value) => {
|
|
7041
|
+
if (typeof value !== 'string') {
|
|
7042
|
+
throw new Error(`Invalid initials value: ${JSON.stringify(value)}`);
|
|
7043
|
+
}
|
|
7044
|
+
const names = value.trim().split(/\s+/);
|
|
6966
7045
|
const first = names[0];
|
|
6967
7046
|
const last = names[names.length - 1];
|
|
6968
7047
|
if (names.length >= 2 && first && last) {
|
|
6969
7048
|
return `${formatNameAsInitial(first)}${formatNameAsInitial(last)}`;
|
|
6970
7049
|
}
|
|
6971
|
-
return formatNameAsInitial(
|
|
7050
|
+
return formatNameAsInitial(value);
|
|
6972
7051
|
};
|
|
7052
|
+
const initialsProp = createPropDefinition(normalizeInitials, (v) => v.length > 0);
|
|
6973
7053
|
|
|
6974
|
-
|
|
6975
|
-
|
|
6976
|
-
|
|
6977
|
-
|
|
6978
|
-
|
|
6979
|
-
|
|
6980
|
-
|
|
6981
|
-
|
|
6982
|
-
|
|
6983
|
-
|
|
6984
|
-
this._color = '#d3d3d3';
|
|
6985
|
-
this.state = {
|
|
6986
|
-
_src: '',
|
|
6987
|
-
_label: '',
|
|
6988
|
-
_color: {
|
|
6989
|
-
backgroundColor: '#d3d3d3',
|
|
6990
|
-
foregroundColor: '#000',
|
|
6991
|
-
},
|
|
6992
|
-
};
|
|
7054
|
+
const labelProp = createPropDefinition(normalizeString, (v) => v.length >= 2 && v.length <= 80);
|
|
7055
|
+
|
|
7056
|
+
const nameProp = createPropDefinition(normalizeString, () => true);
|
|
7057
|
+
|
|
7058
|
+
const srcProp = createPropDefinition(normalizeString, () => true);
|
|
7059
|
+
|
|
7060
|
+
class BaseController {
|
|
7061
|
+
constructor(component, props) {
|
|
7062
|
+
this.component = component;
|
|
7063
|
+
this.props = props;
|
|
6993
7064
|
}
|
|
6994
|
-
|
|
6995
|
-
|
|
6996
|
-
backgroundColor: this.bgColorStr,
|
|
6997
|
-
color: this.colorStr,
|
|
6998
|
-
} }, 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())))));
|
|
7065
|
+
setProp(key, value) {
|
|
7066
|
+
this.props[key] = value;
|
|
6999
7067
|
}
|
|
7000
|
-
|
|
7001
|
-
|
|
7002
|
-
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7068
|
+
getProps() {
|
|
7069
|
+
return this.props;
|
|
7070
|
+
}
|
|
7071
|
+
setState(key, value) {
|
|
7072
|
+
this.component[key] = value;
|
|
7073
|
+
}
|
|
7074
|
+
}
|
|
7075
|
+
|
|
7076
|
+
class AvatarController extends BaseController {
|
|
7077
|
+
constructor(states) {
|
|
7078
|
+
super(states, {
|
|
7079
|
+
color: { backgroundColor: '#d3d3d3', foregroundColor: '#3f3f3f' },
|
|
7080
|
+
label: '',
|
|
7081
|
+
src: '',
|
|
7006
7082
|
});
|
|
7007
7083
|
}
|
|
7008
|
-
|
|
7009
|
-
|
|
7084
|
+
componentWillLoad(props) {
|
|
7085
|
+
const { color, label, src } = props;
|
|
7086
|
+
this.watchColor(color);
|
|
7087
|
+
this.watchLabel(label);
|
|
7088
|
+
this.watchSrc(src);
|
|
7010
7089
|
}
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
|
|
7090
|
+
watchColor(value) {
|
|
7091
|
+
withValidPropValue(colorProp, value, (v) => {
|
|
7092
|
+
this.setProp('color', v);
|
|
7093
|
+
});
|
|
7094
|
+
}
|
|
7095
|
+
watchLabel(value) {
|
|
7096
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
7097
|
+
this.setProp('label', v);
|
|
7098
|
+
});
|
|
7099
|
+
withValidPropValue(initialsProp, value, (v) => {
|
|
7100
|
+
this.setState('initials', v);
|
|
7014
7101
|
});
|
|
7015
7102
|
}
|
|
7103
|
+
watchSrc(value) {
|
|
7104
|
+
withValidPropValue(srcProp, value, (v) => {
|
|
7105
|
+
this.setProp('src', v);
|
|
7106
|
+
});
|
|
7107
|
+
}
|
|
7108
|
+
}
|
|
7109
|
+
|
|
7110
|
+
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}";
|
|
7111
|
+
|
|
7112
|
+
class KolAvatar {
|
|
7113
|
+
constructor(hostRef) {
|
|
7114
|
+
registerInstance(this, hostRef);
|
|
7115
|
+
this.ctrl = new AvatarController(this);
|
|
7116
|
+
this.initials = '';
|
|
7117
|
+
}
|
|
7118
|
+
watchColor(value) {
|
|
7119
|
+
this.ctrl.watchColor(value);
|
|
7120
|
+
}
|
|
7121
|
+
watchLabel(value) {
|
|
7122
|
+
this.ctrl.watchLabel(value);
|
|
7123
|
+
}
|
|
7124
|
+
watchSrc(value) {
|
|
7125
|
+
this.ctrl.watchSrc(value);
|
|
7126
|
+
}
|
|
7016
7127
|
componentWillLoad() {
|
|
7017
|
-
this.
|
|
7018
|
-
|
|
7019
|
-
|
|
7128
|
+
this.ctrl.componentWillLoad({
|
|
7129
|
+
color: this._color,
|
|
7130
|
+
label: this._label,
|
|
7131
|
+
src: this._src,
|
|
7132
|
+
});
|
|
7133
|
+
}
|
|
7134
|
+
render() {
|
|
7135
|
+
const { color, label, src } = this.ctrl.getProps();
|
|
7136
|
+
const { initials } = this;
|
|
7137
|
+
return (hAsync(Host, { key: '356e548cb9a73c0fd50b71c01fc8862d08240a96' }, hAsync(AvatarFC, { key: 'c69025eb44ed63b2fd4e5f1e8cd2bace9aa055ac', color: color, label: label, src: src, initials: initials })));
|
|
7020
7138
|
}
|
|
7021
7139
|
static get watchers() { return {
|
|
7022
|
-
"_color": ["
|
|
7023
|
-
"
|
|
7024
|
-
"
|
|
7140
|
+
"_color": ["watchColor"],
|
|
7141
|
+
"_label": ["watchLabel"],
|
|
7142
|
+
"_src": ["watchSrc"]
|
|
7143
|
+
}; }
|
|
7144
|
+
static get style() { return {
|
|
7145
|
+
default: defaultStyleCss$K
|
|
7025
7146
|
}; }
|
|
7026
7147
|
static get cmpMeta() { return {
|
|
7027
|
-
"$flags$":
|
|
7028
|
-
"$tagName$": "kol-avatar
|
|
7148
|
+
"$flags$": 297,
|
|
7149
|
+
"$tagName$": "kol-avatar",
|
|
7029
7150
|
"$members$": {
|
|
7030
7151
|
"_color": [1],
|
|
7031
|
-
"_src": [1],
|
|
7032
7152
|
"_label": [1],
|
|
7033
|
-
"
|
|
7153
|
+
"_src": [1],
|
|
7154
|
+
"initials": [32]
|
|
7034
7155
|
},
|
|
7035
7156
|
"$listeners$": undefined,
|
|
7036
7157
|
"$lazyBundleId$": "-",
|
|
@@ -15241,7 +15362,14 @@ function linkify (state, silent) {
|
|
|
15241
15362
|
if (url.length <= proto.length) return false
|
|
15242
15363
|
|
|
15243
15364
|
// disallow '*' at the end of the link (conflicts with emphasis)
|
|
15244
|
-
|
|
15365
|
+
// do manual backsearch to avoid perf issues with regex /\*+$/ on "****...****a".
|
|
15366
|
+
let urlEnd = url.length;
|
|
15367
|
+
while (urlEnd > 0 && url.charCodeAt(urlEnd - 1) === 0x2A/* * */) {
|
|
15368
|
+
urlEnd--;
|
|
15369
|
+
}
|
|
15370
|
+
if (urlEnd !== url.length) {
|
|
15371
|
+
url = url.slice(0, urlEnd);
|
|
15372
|
+
}
|
|
15245
15373
|
|
|
15246
15374
|
const fullUrl = state.md.normalizeLink(url);
|
|
15247
15375
|
if (!state.md.validateLink(fullUrl)) return false
|
|
@@ -18638,7 +18766,7 @@ class KolBadge {
|
|
|
18638
18766
|
try {
|
|
18639
18767
|
value = parseJson(value);
|
|
18640
18768
|
}
|
|
18641
|
-
catch (
|
|
18769
|
+
catch (_a) {
|
|
18642
18770
|
}
|
|
18643
18771
|
setState(this, '_smartButton', value);
|
|
18644
18772
|
});
|
|
@@ -18892,7 +19020,7 @@ const searchFormElement = (el) => {
|
|
|
18892
19020
|
el = null;
|
|
18893
19021
|
}
|
|
18894
19022
|
}
|
|
18895
|
-
catch (
|
|
19023
|
+
catch (_a) {
|
|
18896
19024
|
}
|
|
18897
19025
|
if (getExperimentalMode()) {
|
|
18898
19026
|
Log.debug(el);
|
|
@@ -19052,7 +19180,7 @@ class AssociatedInputController {
|
|
|
19052
19180
|
throw new Error(`Invalid value type: ${typeof value}`);
|
|
19053
19181
|
}
|
|
19054
19182
|
}
|
|
19055
|
-
catch (
|
|
19183
|
+
catch (_a) {
|
|
19056
19184
|
element === null || element === void 0 ? void 0 : element.removeAttribute(qualifiedName);
|
|
19057
19185
|
}
|
|
19058
19186
|
}
|
|
@@ -19135,8 +19263,13 @@ class AssociatedInputController {
|
|
|
19135
19263
|
|
|
19136
19264
|
class KolButtonWc {
|
|
19137
19265
|
async focus() {
|
|
19138
|
-
|
|
19139
|
-
|
|
19266
|
+
return new Promise((resolve) => {
|
|
19267
|
+
requestAnimationFrame(() => {
|
|
19268
|
+
var _a;
|
|
19269
|
+
(_a = this.buttonRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
19270
|
+
resolve();
|
|
19271
|
+
});
|
|
19272
|
+
});
|
|
19140
19273
|
}
|
|
19141
19274
|
render() {
|
|
19142
19275
|
var _a;
|
|
@@ -19145,14 +19278,14 @@ class KolButtonWc {
|
|
|
19145
19278
|
const badgeText = this.state._accessKey || this.state._shortKey;
|
|
19146
19279
|
const isDisabled = this.state._disabled === true;
|
|
19147
19280
|
const hideLabel = this.state._hideLabel === true;
|
|
19148
|
-
return (hAsync(Host, { key: '
|
|
19281
|
+
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', {
|
|
19149
19282
|
'kol-button--disabled': isDisabled,
|
|
19150
19283
|
[`kol-button--${this.state._variant}`]: this.state._variant !== 'custom',
|
|
19151
19284
|
'kol-button--inline': this.state._inline === true,
|
|
19152
19285
|
'kol-button--standalone': this.state._inline === false,
|
|
19153
19286
|
'kol-button--hide-label': hideLabel,
|
|
19154
19287
|
[this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
|
|
19155
|
-
}), 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: '
|
|
19288
|
+
}), 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 : '' }))));
|
|
19156
19289
|
}
|
|
19157
19290
|
constructor(hostRef) {
|
|
19158
19291
|
registerInstance(this, hostRef);
|
|
@@ -19418,7 +19551,7 @@ class KolCardWc {
|
|
|
19418
19551
|
this.validateOnValue = (value) => typeof value === 'object' && value !== null && typeof value.onClose === 'function';
|
|
19419
19552
|
}
|
|
19420
19553
|
render() {
|
|
19421
|
-
return (hAsync(Host, { key: '
|
|
19554
|
+
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: {
|
|
19422
19555
|
left: {
|
|
19423
19556
|
icon: 'kolicon-cross',
|
|
19424
19557
|
},
|
|
@@ -19471,6 +19604,74 @@ class KolCardWc {
|
|
|
19471
19604
|
}; }
|
|
19472
19605
|
}
|
|
19473
19606
|
|
|
19607
|
+
const clickButtonBem = bem$2.forBlock('kol-click-button');
|
|
19608
|
+
const BEM_CLASS_CLICK_BUTTON = clickButtonBem();
|
|
19609
|
+
const BEM_CLASS_CLICK_BUTTON__LABEL = clickButtonBem('label');
|
|
19610
|
+
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)));
|
|
19611
|
+
|
|
19612
|
+
class ClickButtonController extends BaseController {
|
|
19613
|
+
constructor(states = {}) {
|
|
19614
|
+
super(states, {
|
|
19615
|
+
label: '',
|
|
19616
|
+
});
|
|
19617
|
+
this.handleClick = () => {
|
|
19618
|
+
console.log(this, this.buttonRef, 'button clicked');
|
|
19619
|
+
};
|
|
19620
|
+
this.setButtonRef = (element) => {
|
|
19621
|
+
this.buttonRef = element;
|
|
19622
|
+
};
|
|
19623
|
+
}
|
|
19624
|
+
componentWillLoad(props) {
|
|
19625
|
+
const { label } = props;
|
|
19626
|
+
this.watchLabel(label);
|
|
19627
|
+
}
|
|
19628
|
+
watchLabel(value) {
|
|
19629
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
19630
|
+
this.setProp('label', v);
|
|
19631
|
+
});
|
|
19632
|
+
}
|
|
19633
|
+
focus() {
|
|
19634
|
+
var _a;
|
|
19635
|
+
(_a = this.buttonRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
19636
|
+
}
|
|
19637
|
+
}
|
|
19638
|
+
|
|
19639
|
+
class KolClickButton {
|
|
19640
|
+
constructor(hostRef) {
|
|
19641
|
+
registerInstance(this, hostRef);
|
|
19642
|
+
this.ctrl = new ClickButtonController();
|
|
19643
|
+
}
|
|
19644
|
+
watchLabel(value) {
|
|
19645
|
+
this.ctrl.watchLabel(value);
|
|
19646
|
+
}
|
|
19647
|
+
async focus() {
|
|
19648
|
+
return Promise.resolve(this.ctrl.focus());
|
|
19649
|
+
}
|
|
19650
|
+
componentWillLoad() {
|
|
19651
|
+
this.ctrl.componentWillLoad({
|
|
19652
|
+
label: this._label,
|
|
19653
|
+
});
|
|
19654
|
+
}
|
|
19655
|
+
render() {
|
|
19656
|
+
const { label } = this.ctrl.getProps();
|
|
19657
|
+
return (hAsync(Host, { key: 'ad1573dd9fb97876e8663c51e9a8251358a7b642' }, hAsync(ClickButtonFC, { key: '3710ca78ad2789f72e41c0628db0aa5942f273d6', label: label, refButton: this.ctrl.setButtonRef, handleClick: this.ctrl.handleClick })));
|
|
19658
|
+
}
|
|
19659
|
+
static get watchers() { return {
|
|
19660
|
+
"_label": ["watchLabel"]
|
|
19661
|
+
}; }
|
|
19662
|
+
static get cmpMeta() { return {
|
|
19663
|
+
"$flags$": 265,
|
|
19664
|
+
"$tagName$": "kol-click-button",
|
|
19665
|
+
"$members$": {
|
|
19666
|
+
"_label": [1],
|
|
19667
|
+
"focus": [64]
|
|
19668
|
+
},
|
|
19669
|
+
"$listeners$": undefined,
|
|
19670
|
+
"$lazyBundleId$": "-",
|
|
19671
|
+
"$attrsToReflect$": []
|
|
19672
|
+
}; }
|
|
19673
|
+
}
|
|
19674
|
+
|
|
19474
19675
|
const getRenderStates = (state) => {
|
|
19475
19676
|
const msg = state._msg;
|
|
19476
19677
|
const description = typeof msg === 'string' ? msg : msg === null || msg === void 0 ? void 0 : msg._description;
|
|
@@ -19784,7 +19985,7 @@ class InputController extends ControlledInputController {
|
|
|
19784
19985
|
try {
|
|
19785
19986
|
value = parseJson(value);
|
|
19786
19987
|
}
|
|
19787
|
-
catch (
|
|
19988
|
+
catch (_a) {
|
|
19788
19989
|
}
|
|
19789
19990
|
setState(this.component, '_smartButton', value);
|
|
19790
19991
|
});
|
|
@@ -19952,8 +20153,13 @@ class KolCombobox {
|
|
|
19952
20153
|
return this.state._value;
|
|
19953
20154
|
}
|
|
19954
20155
|
async focus() {
|
|
19955
|
-
|
|
19956
|
-
|
|
20156
|
+
return new Promise((resolve) => {
|
|
20157
|
+
requestAnimationFrame(() => {
|
|
20158
|
+
var _a;
|
|
20159
|
+
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
20160
|
+
resolve();
|
|
20161
|
+
});
|
|
20162
|
+
});
|
|
19957
20163
|
}
|
|
19958
20164
|
selectOption(option) {
|
|
19959
20165
|
var _a;
|
|
@@ -20067,15 +20273,13 @@ class KolCombobox {
|
|
|
20067
20273
|
}
|
|
20068
20274
|
render() {
|
|
20069
20275
|
const isDisabled = this.state._disabled === true;
|
|
20070
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
20071
|
-
'kol-combobox__delete--disabled': isDisabled,
|
|
20072
|
-
}), _on: {
|
|
20276
|
+
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: {
|
|
20073
20277
|
onClick: () => {
|
|
20074
20278
|
this.clearSelection();
|
|
20075
20279
|
},
|
|
20076
|
-
} })), hAsync(KolIconTag, { key: '
|
|
20280
|
+
} })), hAsync(KolIconTag, { key: '936e782f5dfa6cd19abacde645c36a49cdeea47e', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
|
|
20077
20281
|
'kol-custom-suggestions-toggle--disabled': isDisabled,
|
|
20078
|
-
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '
|
|
20282
|
+
}), 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) &&
|
|
20079
20283
|
this._filteredSuggestions.length > 0 &&
|
|
20080
20284
|
this._filteredSuggestions.map((option, index) => (hAsync(CustomSuggestionsOptionFc, { disabled: false, index: index, option: option, searchTerm: this.state._value, ref: (el) => {
|
|
20081
20285
|
if (el)
|
|
@@ -20990,7 +21194,7 @@ const bem = c();
|
|
|
20990
21194
|
const BEM_CLASS_ICON = bem('kol-icon');
|
|
20991
21195
|
const BEM_CLASS_ICON__ICON = bem('kol-icon', 'icon');
|
|
20992
21196
|
|
|
20993
|
-
const defaultStyleCss$y = "/* forward the rem function */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=
|
|
21197
|
+
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}";
|
|
20994
21198
|
|
|
20995
21199
|
class KolIcon {
|
|
20996
21200
|
render() {
|
|
@@ -21367,8 +21571,13 @@ class KolInputCheckbox {
|
|
|
21367
21571
|
return this.getModelValue();
|
|
21368
21572
|
}
|
|
21369
21573
|
async focus() {
|
|
21370
|
-
|
|
21371
|
-
|
|
21574
|
+
return new Promise((resolve) => {
|
|
21575
|
+
requestAnimationFrame(() => {
|
|
21576
|
+
var _a;
|
|
21577
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
21578
|
+
resolve();
|
|
21579
|
+
});
|
|
21580
|
+
});
|
|
21372
21581
|
}
|
|
21373
21582
|
getFormFieldProps() {
|
|
21374
21583
|
return {
|
|
@@ -21417,7 +21626,7 @@ class KolInputCheckbox {
|
|
|
21417
21626
|
return this.state._icons.unchecked;
|
|
21418
21627
|
}
|
|
21419
21628
|
render() {
|
|
21420
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21629
|
+
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())))));
|
|
21421
21630
|
}
|
|
21422
21631
|
constructor(hostRef) {
|
|
21423
21632
|
registerInstance(this, hostRef);
|
|
@@ -21625,8 +21834,13 @@ class KolInputColor {
|
|
|
21625
21834
|
return (_a = this.refInputText) === null || _a === void 0 ? void 0 : _a.value;
|
|
21626
21835
|
}
|
|
21627
21836
|
async focus() {
|
|
21628
|
-
|
|
21629
|
-
|
|
21837
|
+
return new Promise((resolve) => {
|
|
21838
|
+
requestAnimationFrame(() => {
|
|
21839
|
+
var _a;
|
|
21840
|
+
(_a = this.refInputText) === null || _a === void 0 ? void 0 : _a.focus();
|
|
21841
|
+
resolve();
|
|
21842
|
+
});
|
|
21843
|
+
});
|
|
21630
21844
|
}
|
|
21631
21845
|
get hasSuggestions() {
|
|
21632
21846
|
return Array.isArray(this.state._suggestions) && this.state._suggestions.length > 0;
|
|
@@ -21649,7 +21863,7 @@ class KolInputColor {
|
|
|
21649
21863
|
return Object.assign(Object.assign({ state: Object.assign(Object.assign({}, this.state), { _suggestions: [] }) }, this.controller.onFacade), { onBlur: this.onBlur, onFocus: this.onFocus });
|
|
21650
21864
|
}
|
|
21651
21865
|
render() {
|
|
21652
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21866
|
+
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()))))));
|
|
21653
21867
|
}
|
|
21654
21868
|
constructor(hostRef) {
|
|
21655
21869
|
registerInstance(this, hostRef);
|
|
@@ -21978,8 +22192,13 @@ class KolInputDate {
|
|
|
21978
22192
|
return this.inputRef && this.remapValue((_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value);
|
|
21979
22193
|
}
|
|
21980
22194
|
async focus() {
|
|
21981
|
-
|
|
21982
|
-
|
|
22195
|
+
return new Promise((resolve) => {
|
|
22196
|
+
requestAnimationFrame(() => {
|
|
22197
|
+
var _a;
|
|
22198
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
22199
|
+
resolve();
|
|
22200
|
+
});
|
|
22201
|
+
});
|
|
21983
22202
|
}
|
|
21984
22203
|
async reset() {
|
|
21985
22204
|
this.state = Object.assign(Object.assign({}, this.state), { _value: null });
|
|
@@ -22019,7 +22238,7 @@ class KolInputDate {
|
|
|
22019
22238
|
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 });
|
|
22020
22239
|
}
|
|
22021
22240
|
render() {
|
|
22022
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22241
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'e30da09025106eec1e068d7c312c17dff2ebfba8' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'fe3663fd1ae701bbc67c326eb89bde418d59da64', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '9710cfe488dc01075270dd81b3882464157d178d' }, this.getInputProps())))));
|
|
22023
22242
|
}
|
|
22024
22243
|
constructor(hostRef) {
|
|
22025
22244
|
registerInstance(this, hostRef);
|
|
@@ -22366,8 +22585,13 @@ class KolInputEmail {
|
|
|
22366
22585
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
22367
22586
|
}
|
|
22368
22587
|
async focus() {
|
|
22369
|
-
|
|
22370
|
-
|
|
22588
|
+
return new Promise((resolve) => {
|
|
22589
|
+
requestAnimationFrame(() => {
|
|
22590
|
+
var _a;
|
|
22591
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
22592
|
+
resolve();
|
|
22593
|
+
});
|
|
22594
|
+
});
|
|
22371
22595
|
}
|
|
22372
22596
|
getFormFieldProps() {
|
|
22373
22597
|
return {
|
|
@@ -22391,7 +22615,7 @@ class KolInputEmail {
|
|
|
22391
22615
|
} });
|
|
22392
22616
|
}
|
|
22393
22617
|
render() {
|
|
22394
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22618
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'cab521e66e888b933138110984dac2a30c0fa893' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'a659607042aaef2572b3c52fbebaea22085c2095', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '197066107205fe6e91cba9252e937580a4857a3d' }, this.getInputProps())))));
|
|
22395
22619
|
}
|
|
22396
22620
|
constructor(hostRef) {
|
|
22397
22621
|
registerInstance(this, hostRef);
|
|
@@ -22619,8 +22843,13 @@ class KolInputFile {
|
|
|
22619
22843
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.files;
|
|
22620
22844
|
}
|
|
22621
22845
|
async focus() {
|
|
22622
|
-
|
|
22623
|
-
|
|
22846
|
+
return new Promise((resolve) => {
|
|
22847
|
+
requestAnimationFrame(() => {
|
|
22848
|
+
var _a;
|
|
22849
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
22850
|
+
resolve();
|
|
22851
|
+
});
|
|
22852
|
+
});
|
|
22624
22853
|
}
|
|
22625
22854
|
async reset() {
|
|
22626
22855
|
this.controller.setFormAssociatedValue('');
|
|
@@ -22648,7 +22877,7 @@ class KolInputFile {
|
|
|
22648
22877
|
} });
|
|
22649
22878
|
}
|
|
22650
22879
|
render() {
|
|
22651
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22880
|
+
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 }))));
|
|
22652
22881
|
}
|
|
22653
22882
|
constructor(hostRef) {
|
|
22654
22883
|
registerInstance(this, hostRef);
|
|
@@ -22893,8 +23122,13 @@ class KolInputNumber {
|
|
|
22893
23122
|
return this.remapValue(this.state._value);
|
|
22894
23123
|
}
|
|
22895
23124
|
async focus() {
|
|
22896
|
-
|
|
22897
|
-
|
|
23125
|
+
return new Promise((resolve) => {
|
|
23126
|
+
requestAnimationFrame(() => {
|
|
23127
|
+
var _a;
|
|
23128
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23129
|
+
resolve();
|
|
23130
|
+
});
|
|
23131
|
+
});
|
|
22898
23132
|
}
|
|
22899
23133
|
setInitialValueType(value) {
|
|
22900
23134
|
if (this.controller.isNumberString(value)) {
|
|
@@ -22962,7 +23196,7 @@ class KolInputNumber {
|
|
|
22962
23196
|
}, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "kolicon-minus", label: "" })));
|
|
22963
23197
|
}
|
|
22964
23198
|
render() {
|
|
22965
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23199
|
+
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())))));
|
|
22966
23200
|
}
|
|
22967
23201
|
constructor(hostRef) {
|
|
22968
23202
|
registerInstance(this, hostRef);
|
|
@@ -23169,8 +23403,13 @@ class KolInputPassword {
|
|
|
23169
23403
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
23170
23404
|
}
|
|
23171
23405
|
async focus() {
|
|
23172
|
-
|
|
23173
|
-
|
|
23406
|
+
return new Promise((resolve) => {
|
|
23407
|
+
requestAnimationFrame(() => {
|
|
23408
|
+
var _a;
|
|
23409
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23410
|
+
resolve();
|
|
23411
|
+
});
|
|
23412
|
+
});
|
|
23174
23413
|
}
|
|
23175
23414
|
getFormFieldProps() {
|
|
23176
23415
|
return {
|
|
@@ -23204,7 +23443,7 @@ class KolInputPassword {
|
|
|
23204
23443
|
}, icon: `${this._passwordVisible ? 'kolicon-eye-closed' : 'kolicon-eye'}`, disabled: this._disabled }));
|
|
23205
23444
|
}
|
|
23206
23445
|
render() {
|
|
23207
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23446
|
+
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())))));
|
|
23208
23447
|
}
|
|
23209
23448
|
constructor(hostRef) {
|
|
23210
23449
|
registerInstance(this, hostRef);
|
|
@@ -23449,8 +23688,13 @@ class KolInputRadio {
|
|
|
23449
23688
|
return this._value;
|
|
23450
23689
|
}
|
|
23451
23690
|
async focus() {
|
|
23452
|
-
|
|
23453
|
-
|
|
23691
|
+
return new Promise((resolve) => {
|
|
23692
|
+
requestAnimationFrame(() => {
|
|
23693
|
+
var _a;
|
|
23694
|
+
(_a = this.getFocusableInput()) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23695
|
+
resolve();
|
|
23696
|
+
});
|
|
23697
|
+
});
|
|
23454
23698
|
}
|
|
23455
23699
|
getFocusableInput() {
|
|
23456
23700
|
const options = this.state._options;
|
|
@@ -23487,7 +23731,7 @@ class KolInputRadio {
|
|
|
23487
23731
|
};
|
|
23488
23732
|
}
|
|
23489
23733
|
render() {
|
|
23490
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23734
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'f089864837e627816b92febb97f4442ffe064296' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
|
|
23491
23735
|
}
|
|
23492
23736
|
calculateDisabled(option) {
|
|
23493
23737
|
return Boolean(this.state._disabled) || Boolean(option.disabled);
|
|
@@ -23727,8 +23971,13 @@ const defaultStyleCss$o = "@charset \"UTF-8\";\n/*\n* This file defines the laye
|
|
|
23727
23971
|
|
|
23728
23972
|
class KolInputRange {
|
|
23729
23973
|
async focus() {
|
|
23730
|
-
|
|
23731
|
-
|
|
23974
|
+
return new Promise((resolve) => {
|
|
23975
|
+
requestAnimationFrame(() => {
|
|
23976
|
+
var _a;
|
|
23977
|
+
(_a = this.refInputNumber) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23978
|
+
resolve();
|
|
23979
|
+
});
|
|
23980
|
+
});
|
|
23732
23981
|
}
|
|
23733
23982
|
getSanitizedFloatValue(value) {
|
|
23734
23983
|
const floatValue = parseFloat(value);
|
|
@@ -23797,7 +24046,7 @@ class KolInputRange {
|
|
|
23797
24046
|
const inputsWrapperStyle = {
|
|
23798
24047
|
'--kolibri-input-range--input-number--width': `calc(${String(this.state._max).length}ch + 2em)`,
|
|
23799
24048
|
};
|
|
23800
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24049
|
+
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 }))));
|
|
23801
24050
|
}
|
|
23802
24051
|
constructor(hostRef) {
|
|
23803
24052
|
registerInstance(this, hostRef);
|
|
@@ -23994,8 +24243,13 @@ class KolInputText {
|
|
|
23994
24243
|
return (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
23995
24244
|
}
|
|
23996
24245
|
async focus() {
|
|
23997
|
-
|
|
23998
|
-
|
|
24246
|
+
return new Promise((resolve) => {
|
|
24247
|
+
requestAnimationFrame(() => {
|
|
24248
|
+
var _a;
|
|
24249
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
24250
|
+
resolve();
|
|
24251
|
+
});
|
|
24252
|
+
});
|
|
23999
24253
|
}
|
|
24000
24254
|
async selectionStart() {
|
|
24001
24255
|
var _a;
|
|
@@ -24038,7 +24292,7 @@ class KolInputText {
|
|
|
24038
24292
|
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 });
|
|
24039
24293
|
}
|
|
24040
24294
|
render() {
|
|
24041
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24295
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '5b2f79fc63b889b52f0369be822edeadae218934' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '246837c2083d17b5773efd67081b47ce6f852be2', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '938ed60af361b9227a191433c28f1befe0fd36e8' }, this.getInputProps())))));
|
|
24042
24296
|
}
|
|
24043
24297
|
constructor(hostRef) {
|
|
24044
24298
|
registerInstance(this, hostRef);
|
|
@@ -24502,15 +24756,20 @@ class KolLinkWc {
|
|
|
24502
24756
|
};
|
|
24503
24757
|
}
|
|
24504
24758
|
async focus() {
|
|
24505
|
-
|
|
24506
|
-
|
|
24759
|
+
return await new Promise((resolve) => {
|
|
24760
|
+
const ref = this.anchorRef;
|
|
24761
|
+
requestAnimationFrame(() => {
|
|
24762
|
+
ref === null || ref === void 0 ? void 0 : ref.focus();
|
|
24763
|
+
resolve();
|
|
24764
|
+
});
|
|
24765
|
+
});
|
|
24507
24766
|
}
|
|
24508
24767
|
render() {
|
|
24509
24768
|
var _a;
|
|
24510
24769
|
const { isExternal, tagAttrs } = this.getRenderValues();
|
|
24511
24770
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
24512
24771
|
const ariaDescription = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim();
|
|
24513
|
-
return (hAsync(Host, { key: '
|
|
24772
|
+
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'
|
|
24514
24773
|
? `${this.state._label}${isExternal ? ` (${this.translateOpenLinkInTab})` : ''}`
|
|
24515
24774
|
: undefined, "aria-keyshortcuts": this.state._shortKey, class: clsx('kol-link', {
|
|
24516
24775
|
'kol-link--disabled': this.state._disabled === true,
|
|
@@ -24520,7 +24779,7 @@ class KolLinkWc {
|
|
|
24520
24779
|
'kol-link--inline': this.state._inline === true,
|
|
24521
24780
|
'kol-link--standalone': this.state._inline === false,
|
|
24522
24781
|
[this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
|
|
24523
|
-
}) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: '
|
|
24782
|
+
}) }, 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 }))));
|
|
24524
24783
|
}
|
|
24525
24784
|
validateAccessKey(value) {
|
|
24526
24785
|
validateAccessKey(this, value);
|
|
@@ -24926,7 +25185,7 @@ class KolNav {
|
|
|
24926
25185
|
}; }
|
|
24927
25186
|
}
|
|
24928
25187
|
|
|
24929
|
-
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}";
|
|
25188
|
+
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}";
|
|
24930
25189
|
|
|
24931
25190
|
class KolPagination {
|
|
24932
25191
|
constructor(hostRef) {
|
|
@@ -25160,7 +25419,7 @@ class KolPaginationWc {
|
|
|
25160
25419
|
return null;
|
|
25161
25420
|
}
|
|
25162
25421
|
});
|
|
25163
|
-
return (hAsync(Host, { class: "kol-pagination" }, hAsync("span", { role: "status", "aria-live": "polite" }, translate('kol-table-visible-range', {
|
|
25422
|
+
return (hAsync(Host, { class: "kol-pagination" }, hAsync("span", { role: "status", "aria-live": "polite", class: "kol-pagination__entries" }, translate('kol-table-visible-range', {
|
|
25164
25423
|
placeholders: {
|
|
25165
25424
|
start: this.getPageStart(),
|
|
25166
25425
|
end: this.getPageEnd(),
|
|
@@ -25173,7 +25432,7 @@ class KolPaginationWc {
|
|
|
25173
25432
|
getUnselectedPageButton(page) {
|
|
25174
25433
|
const pageText = NUMBER_FORMATTER.format(page);
|
|
25175
25434
|
const ariaDescription = `${this.translatePage} ${pageText}`;
|
|
25176
|
-
return (hAsync("li", { key: nonce() }, hAsync(KolButtonWcTag, { class: "kol-pagination__button", _ariaDescription: ariaDescription, _customClass: this.state._customClass, _label: pageText, _on: {
|
|
25435
|
+
return (hAsync("li", { key: nonce() }, hAsync(KolButtonWcTag, { class: "kol-pagination__button kol-pagination__button--numbers", _ariaDescription: ariaDescription, _customClass: this.state._customClass, _label: pageText, _on: {
|
|
25177
25436
|
onClick: (event) => {
|
|
25178
25437
|
this.onClick(event, page);
|
|
25179
25438
|
},
|
|
@@ -25214,7 +25473,7 @@ class KolPaginationWc {
|
|
|
25214
25473
|
try {
|
|
25215
25474
|
nextValue = parseJson(nextValue);
|
|
25216
25475
|
}
|
|
25217
|
-
catch (
|
|
25476
|
+
catch (_a) {
|
|
25218
25477
|
nextState.delete('_hasButtons');
|
|
25219
25478
|
}
|
|
25220
25479
|
}
|
|
@@ -27152,7 +27411,7 @@ class KolPopover {
|
|
|
27152
27411
|
try {
|
|
27153
27412
|
this.popoverElement.showPopover();
|
|
27154
27413
|
}
|
|
27155
|
-
catch (
|
|
27414
|
+
catch (_a) {
|
|
27156
27415
|
}
|
|
27157
27416
|
}
|
|
27158
27417
|
}
|
|
@@ -27161,7 +27420,7 @@ class KolPopover {
|
|
|
27161
27420
|
try {
|
|
27162
27421
|
this.popoverElement.hidePopover();
|
|
27163
27422
|
}
|
|
27164
|
-
catch (
|
|
27423
|
+
catch (_b) {
|
|
27165
27424
|
}
|
|
27166
27425
|
}
|
|
27167
27426
|
}
|
|
@@ -27350,11 +27609,11 @@ class KolPopoverButton {
|
|
|
27350
27609
|
(_c = this.cleanupAutoPositioning) === null || _c === void 0 ? void 0 : _c.call(this);
|
|
27351
27610
|
}
|
|
27352
27611
|
render() {
|
|
27353
|
-
return (hAsync("div", { key: '
|
|
27612
|
+
return (hAsync("div", { key: '0e7d5b884be9b05c7c94c2e5e7be8c35b0def1d7', class: clsx('kol-popover-button', {
|
|
27354
27613
|
'kol-popover-button--open': this.popoverOpen,
|
|
27355
27614
|
'kol-popover-button--inline': this.state._inline === true,
|
|
27356
27615
|
'kol-popover-button--standalone': this.state._inline === false,
|
|
27357
|
-
}) }, hAsync(KolButtonWcTag, { key: '
|
|
27616
|
+
}) }, 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' }))));
|
|
27358
27617
|
}
|
|
27359
27618
|
validateInline(value) {
|
|
27360
27619
|
validateInline(this, value, {
|
|
@@ -27837,8 +28096,13 @@ class KolSelectWc {
|
|
|
27837
28096
|
}
|
|
27838
28097
|
}
|
|
27839
28098
|
async focus() {
|
|
27840
|
-
|
|
27841
|
-
|
|
28099
|
+
return new Promise((resolve) => {
|
|
28100
|
+
requestAnimationFrame(() => {
|
|
28101
|
+
var _a;
|
|
28102
|
+
(_a = this.selectRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28103
|
+
resolve();
|
|
28104
|
+
});
|
|
28105
|
+
});
|
|
27842
28106
|
}
|
|
27843
28107
|
getFormFieldProps() {
|
|
27844
28108
|
return {
|
|
@@ -27861,11 +28125,11 @@ class KolSelectWc {
|
|
|
27861
28125
|
} });
|
|
27862
28126
|
}
|
|
27863
28127
|
render() {
|
|
27864
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28128
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '44490eb252cf8e389146f5c8bcaa323a9f42c5cc' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '663ac31f77dfa763ef2a1603fd0597211d37edc7', state: this.state }, hAsync("form", { key: 'c16646ed59f3e5788a89f1d92efd1e2707744649', onSubmit: (event) => {
|
|
27865
28129
|
event.preventDefault();
|
|
27866
28130
|
propagateSubmitEventToForm({
|
|
27867
28131
|
form: this.host});
|
|
27868
|
-
} }, hAsync("input", { key: '
|
|
28132
|
+
} }, hAsync("input", { key: 'fe84cdd692d243ac1c017fc8e9cd10cd32a0b2bb', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: '27465e961d32dc09fe1a6978140693350f813dc0' }, this.getSelectProps()))))));
|
|
27869
28133
|
}
|
|
27870
28134
|
constructor(hostRef) {
|
|
27871
28135
|
registerInstance(this, hostRef);
|
|
@@ -28097,8 +28361,13 @@ class KolSingleSelect {
|
|
|
28097
28361
|
return this._value;
|
|
28098
28362
|
}
|
|
28099
28363
|
async focus() {
|
|
28100
|
-
|
|
28101
|
-
|
|
28364
|
+
return new Promise((resolve) => {
|
|
28365
|
+
requestAnimationFrame(() => {
|
|
28366
|
+
var _a;
|
|
28367
|
+
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28368
|
+
resolve();
|
|
28369
|
+
});
|
|
28370
|
+
});
|
|
28102
28371
|
}
|
|
28103
28372
|
onBlur(event) {
|
|
28104
28373
|
var _a, _b, _c;
|
|
@@ -28270,17 +28539,15 @@ class KolSingleSelect {
|
|
|
28270
28539
|
render() {
|
|
28271
28540
|
var _a;
|
|
28272
28541
|
const isDisabled = this.state._disabled === true;
|
|
28273
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28274
|
-
'kol-single-select__delete--disabled': isDisabled,
|
|
28275
|
-
}), _on: {
|
|
28542
|
+
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: {
|
|
28276
28543
|
onClick: () => {
|
|
28277
28544
|
var _a;
|
|
28278
28545
|
this.clearSelection();
|
|
28279
28546
|
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28280
28547
|
},
|
|
28281
|
-
} })), hAsync(KolIconTag, { key: '
|
|
28548
|
+
} })), hAsync(KolIconTag, { key: '22a363bfd1c0d198b9b7f918b7b4c95255da18c6', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
|
|
28282
28549
|
'kol-custom-suggestions-toggle--disabled': isDisabled,
|
|
28283
|
-
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '
|
|
28550
|
+
}), 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) => {
|
|
28284
28551
|
if (el)
|
|
28285
28552
|
this.refOptions[index] = el;
|
|
28286
28553
|
}, selected: this._value === option.value, disabled: option.disabled ? true : false, onClick: (event) => {
|
|
@@ -28623,6 +28890,175 @@ class KolSingleSelect {
|
|
|
28623
28890
|
}; }
|
|
28624
28891
|
}
|
|
28625
28892
|
|
|
28893
|
+
const skeletonBem = bem$2.forBlock('kol-skeleton');
|
|
28894
|
+
const BEM_CLASS_SKELETON__ACTIONS = skeletonBem('actions');
|
|
28895
|
+
const BEM_CLASS_SKELETON__CONTAINER = skeletonBem('container');
|
|
28896
|
+
const BEM_CLASS_SKELETON__COUNTER = skeletonBem('counter');
|
|
28897
|
+
const BEM_CLASS_SKELETON__NAME = skeletonBem('name');
|
|
28898
|
+
const SkeletonFC = (props) => {
|
|
28899
|
+
const { count, label, name, show, handleClick, refButton } = props;
|
|
28900
|
+
const hasName = !!(show && (name === null || name === void 0 ? void 0 : name.trim()));
|
|
28901
|
+
const BEM_CLASS_ROOT = skeletonBem({
|
|
28902
|
+
'has-name': hasName,
|
|
28903
|
+
'is-hidden': !show,
|
|
28904
|
+
});
|
|
28905
|
+
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 }))));
|
|
28906
|
+
};
|
|
28907
|
+
|
|
28908
|
+
class SkeletonController extends BaseController {
|
|
28909
|
+
constructor(states) {
|
|
28910
|
+
super(states, {
|
|
28911
|
+
count: 0,
|
|
28912
|
+
name: '',
|
|
28913
|
+
});
|
|
28914
|
+
this.onKeydown = (event) => {
|
|
28915
|
+
if (event.key === 'Escape') {
|
|
28916
|
+
console.log('Show should be toggled');
|
|
28917
|
+
void this.toggle();
|
|
28918
|
+
}
|
|
28919
|
+
};
|
|
28920
|
+
this.handleClick = () => {
|
|
28921
|
+
Log.debug('Button clicked, count should be increased');
|
|
28922
|
+
const { count } = this.getProps();
|
|
28923
|
+
const nextCount = count + 1;
|
|
28924
|
+
this.setProp('count', nextCount);
|
|
28925
|
+
this.setState('count', nextCount);
|
|
28926
|
+
};
|
|
28927
|
+
this.setButtonRef = (element) => {
|
|
28928
|
+
this.clickButtonCtrl.setButtonRef(element);
|
|
28929
|
+
};
|
|
28930
|
+
this.clickButtonCtrl = new ClickButtonController({});
|
|
28931
|
+
this.startLoadedEventInterval();
|
|
28932
|
+
}
|
|
28933
|
+
componentWillLoad(props) {
|
|
28934
|
+
const { count, name } = props;
|
|
28935
|
+
this.watchCount(count);
|
|
28936
|
+
this.watchName(name);
|
|
28937
|
+
this.watchLabel(this.component.label);
|
|
28938
|
+
this.clickButtonCtrl.componentWillLoad({
|
|
28939
|
+
label: this.component.label,
|
|
28940
|
+
});
|
|
28941
|
+
}
|
|
28942
|
+
watchCount(value) {
|
|
28943
|
+
withValidPropValue(countProp, value, (v) => {
|
|
28944
|
+
this.setProp('count', v);
|
|
28945
|
+
this.setState('count', v);
|
|
28946
|
+
});
|
|
28947
|
+
}
|
|
28948
|
+
watchName(value) {
|
|
28949
|
+
withValidPropValue(nameProp, value, (v) => {
|
|
28950
|
+
this.setProp('name', v);
|
|
28951
|
+
});
|
|
28952
|
+
}
|
|
28953
|
+
watchLabel(value) {
|
|
28954
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
28955
|
+
this.setState('label', v);
|
|
28956
|
+
this.clickButtonCtrl.watchLabel(v);
|
|
28957
|
+
});
|
|
28958
|
+
}
|
|
28959
|
+
toggle() {
|
|
28960
|
+
this.setState('show', !this.component.show);
|
|
28961
|
+
}
|
|
28962
|
+
focus() {
|
|
28963
|
+
return this.clickButtonCtrl.focus();
|
|
28964
|
+
}
|
|
28965
|
+
startLoadedEventInterval() {
|
|
28966
|
+
this.intervalId = setInterval(() => {
|
|
28967
|
+
const { count } = this.getProps();
|
|
28968
|
+
this.emitLoaded(count);
|
|
28969
|
+
}, 2000);
|
|
28970
|
+
}
|
|
28971
|
+
emitLoaded(count) {
|
|
28972
|
+
if (this.onLoadedCallback) {
|
|
28973
|
+
this.onLoadedCallback(count);
|
|
28974
|
+
}
|
|
28975
|
+
}
|
|
28976
|
+
setOnLoadedCallback(callback) {
|
|
28977
|
+
this.onLoadedCallback = callback;
|
|
28978
|
+
}
|
|
28979
|
+
destroy() {
|
|
28980
|
+
if (this.intervalId) {
|
|
28981
|
+
clearInterval(this.intervalId);
|
|
28982
|
+
this.intervalId = undefined;
|
|
28983
|
+
}
|
|
28984
|
+
}
|
|
28985
|
+
}
|
|
28986
|
+
|
|
28987
|
+
class KolSkeleton {
|
|
28988
|
+
constructor(hostRef) {
|
|
28989
|
+
registerInstance(this, hostRef);
|
|
28990
|
+
this.loaded = createEvent(this, "loaded");
|
|
28991
|
+
this.rendered = createEvent(this, "rendered");
|
|
28992
|
+
this.ctrl = new SkeletonController(this);
|
|
28993
|
+
this.label = 'Label';
|
|
28994
|
+
this.show = true;
|
|
28995
|
+
this.count = 0;
|
|
28996
|
+
}
|
|
28997
|
+
async focus() {
|
|
28998
|
+
return Promise.resolve(this.ctrl.focus());
|
|
28999
|
+
}
|
|
29000
|
+
async toggle() {
|
|
29001
|
+
return Promise.resolve(this.ctrl.toggle());
|
|
29002
|
+
}
|
|
29003
|
+
watchCount(value) {
|
|
29004
|
+
this.ctrl.watchCount(value);
|
|
29005
|
+
}
|
|
29006
|
+
watchName(value) {
|
|
29007
|
+
this.ctrl.watchName(value);
|
|
29008
|
+
}
|
|
29009
|
+
handleKeyDown(event) {
|
|
29010
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
29011
|
+
Log.debug('button pressed');
|
|
29012
|
+
this.ctrl.handleClick();
|
|
29013
|
+
}
|
|
29014
|
+
}
|
|
29015
|
+
onKeydown(event) {
|
|
29016
|
+
this.ctrl.onKeydown(event);
|
|
29017
|
+
}
|
|
29018
|
+
componentWillLoad() {
|
|
29019
|
+
this.ctrl.componentWillLoad({
|
|
29020
|
+
count: this._count,
|
|
29021
|
+
name: this._name,
|
|
29022
|
+
});
|
|
29023
|
+
this.ctrl.setOnLoadedCallback((count) => {
|
|
29024
|
+
this.loaded.emit(count);
|
|
29025
|
+
});
|
|
29026
|
+
}
|
|
29027
|
+
componentDidLoad() {
|
|
29028
|
+
requestAnimationFrame(() => {
|
|
29029
|
+
this.rendered.emit();
|
|
29030
|
+
});
|
|
29031
|
+
}
|
|
29032
|
+
disconnectedCallback() {
|
|
29033
|
+
this.ctrl.destroy();
|
|
29034
|
+
}
|
|
29035
|
+
render() {
|
|
29036
|
+
const { count, name } = this.ctrl.getProps();
|
|
29037
|
+
const { label, show } = this;
|
|
29038
|
+
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) })));
|
|
29039
|
+
}
|
|
29040
|
+
static get watchers() { return {
|
|
29041
|
+
"_count": ["watchCount"],
|
|
29042
|
+
"_name": ["watchName"]
|
|
29043
|
+
}; }
|
|
29044
|
+
static get cmpMeta() { return {
|
|
29045
|
+
"$flags$": 265,
|
|
29046
|
+
"$tagName$": "kol-skeleton",
|
|
29047
|
+
"$members$": {
|
|
29048
|
+
"_count": [8],
|
|
29049
|
+
"_name": [1],
|
|
29050
|
+
"label": [32],
|
|
29051
|
+
"show": [32],
|
|
29052
|
+
"count": [32],
|
|
29053
|
+
"focus": [64],
|
|
29054
|
+
"toggle": [64]
|
|
29055
|
+
},
|
|
29056
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"], [8, "keydown", "onKeydown"]],
|
|
29057
|
+
"$lazyBundleId$": "-",
|
|
29058
|
+
"$attrsToReflect$": []
|
|
29059
|
+
}; }
|
|
29060
|
+
}
|
|
29061
|
+
|
|
28626
29062
|
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}";
|
|
28627
29063
|
|
|
28628
29064
|
class KolSkipNav {
|
|
@@ -28941,7 +29377,7 @@ class KolTableSettings {
|
|
|
28941
29377
|
}
|
|
28942
29378
|
render() {
|
|
28943
29379
|
const columns = this.getPrimaryRow();
|
|
28944
|
-
return (hAsync(KolPopoverButtonWcTag, { key: '
|
|
29380
|
+
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" }))))));
|
|
28945
29381
|
}
|
|
28946
29382
|
get host() { return getElement(this); }
|
|
28947
29383
|
static get watchers() { return {
|
|
@@ -29000,7 +29436,7 @@ var KeyboardKey;
|
|
|
29000
29436
|
KeyboardKey["Space"] = " ";
|
|
29001
29437
|
})(KeyboardKey || (KeyboardKey = {}));
|
|
29002
29438
|
|
|
29003
|
-
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}";
|
|
29439
|
+
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}";
|
|
29004
29440
|
|
|
29005
29441
|
const PAGINATION_OPTIONS = [10, 20, 50, 100];
|
|
29006
29442
|
const paginationValidator = (value) => value === true || value === '' || (typeof value === 'object' && value !== null);
|
|
@@ -29146,7 +29582,7 @@ class KolTableStateful {
|
|
|
29146
29582
|
try {
|
|
29147
29583
|
value = parseJson(value);
|
|
29148
29584
|
}
|
|
29149
|
-
catch (
|
|
29585
|
+
catch (_a) {
|
|
29150
29586
|
}
|
|
29151
29587
|
watchValidator(this, '_headers', (value) => typeof value === 'object' && value !== null, new Set(['KoliBriTableHeaders']), value, {
|
|
29152
29588
|
hooks: {
|
|
@@ -29209,7 +29645,7 @@ class KolTableStateful {
|
|
|
29209
29645
|
try {
|
|
29210
29646
|
value = parseJson(value);
|
|
29211
29647
|
}
|
|
29212
|
-
catch (
|
|
29648
|
+
catch (_a) {
|
|
29213
29649
|
}
|
|
29214
29650
|
this.showPagination = paginationValidator(value);
|
|
29215
29651
|
watchValidator(this, '_pagination', paginationValidator, new Set(['boolean', 'KoliBriTablePagination']), value, {
|
|
@@ -29330,7 +29766,7 @@ class KolTableStateful {
|
|
|
29330
29766
|
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 : [],
|
|
29331
29767
|
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 : [],
|
|
29332
29768
|
};
|
|
29333
|
-
return (hAsync(Host, { key: '
|
|
29769
|
+
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: {
|
|
29334
29770
|
onSort: (_, payload) => {
|
|
29335
29771
|
this.handleSort(payload);
|
|
29336
29772
|
},
|
|
@@ -29385,7 +29821,7 @@ let KolTableStateless$1 = class KolTableStateless {
|
|
|
29385
29821
|
registerInstance(this, hostRef);
|
|
29386
29822
|
}
|
|
29387
29823
|
render() {
|
|
29388
|
-
return (hAsync(KolTableStatelessWcTag, { key: '
|
|
29824
|
+
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 }));
|
|
29389
29825
|
}
|
|
29390
29826
|
static get style() { return {
|
|
29391
29827
|
default: defaultStyleCss$7
|
|
@@ -30020,12 +30456,12 @@ class KolTableStateless {
|
|
|
30020
30456
|
const dataField = this.createDataField(this.state._data, this.state._headerCells);
|
|
30021
30457
|
this.checkboxRefs = [];
|
|
30022
30458
|
const horizontalHeaders = this.state._headerCells.horizontal;
|
|
30023
|
-
return (hAsync("div", { key: '
|
|
30459
|
+
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: {
|
|
30024
30460
|
minWidth: this.getTableMinWidth(),
|
|
30025
|
-
} }, hAsync("caption", { key: '
|
|
30461
|
+
} }, 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" }, [
|
|
30026
30462
|
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))))),
|
|
30027
30463
|
this.renderSpacer('head', horizontalHeaders),
|
|
30028
|
-
])), hAsync("tbody", { key: '
|
|
30464
|
+
])), hAsync("tbody", { key: '59d6cee5b36e8addebb2fd765cb6aa3f8408cfc2', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
|
|
30029
30465
|
}
|
|
30030
30466
|
get host() { return getElement(this); }
|
|
30031
30467
|
static get watchers() { return {
|
|
@@ -30464,8 +30900,13 @@ class KolTextarea {
|
|
|
30464
30900
|
return (_a = this.textareaRef) === null || _a === void 0 ? void 0 : _a.value;
|
|
30465
30901
|
}
|
|
30466
30902
|
async focus() {
|
|
30467
|
-
|
|
30468
|
-
|
|
30903
|
+
return new Promise((resolve) => {
|
|
30904
|
+
requestAnimationFrame(() => {
|
|
30905
|
+
var _a;
|
|
30906
|
+
(_a = this.textareaRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
30907
|
+
resolve();
|
|
30908
|
+
});
|
|
30909
|
+
});
|
|
30469
30910
|
}
|
|
30470
30911
|
getFormFieldProps() {
|
|
30471
30912
|
return {
|
|
@@ -30491,7 +30932,7 @@ class KolTextarea {
|
|
|
30491
30932
|
} });
|
|
30492
30933
|
}
|
|
30493
30934
|
render() {
|
|
30494
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
30935
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'e1a50de8e844b4b8de8363f40f0398e1464a65a8' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '6e6d22422052a45e54cb35054b02853c7ab5d055', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: 'eadd23eef77edf6963b601582b936d190f455706' }, this.getTextAreaProps())))));
|
|
30495
30936
|
}
|
|
30496
30937
|
constructor(hostRef) {
|
|
30497
30938
|
registerInstance(this, hostRef);
|
|
@@ -31573,7 +32014,6 @@ registerComponents([
|
|
|
31573
32014
|
KolAlert,
|
|
31574
32015
|
KolAlertWc,
|
|
31575
32016
|
KolAvatar,
|
|
31576
|
-
KolAvatarWc,
|
|
31577
32017
|
KolBadge,
|
|
31578
32018
|
KolBreadcrumb,
|
|
31579
32019
|
KolButton,
|
|
@@ -31581,6 +32021,7 @@ registerComponents([
|
|
|
31581
32021
|
KolButtonWc,
|
|
31582
32022
|
KolCard,
|
|
31583
32023
|
KolCardWc,
|
|
32024
|
+
KolClickButton,
|
|
31584
32025
|
KolCombobox,
|
|
31585
32026
|
KolDetails,
|
|
31586
32027
|
KolDialog,
|
|
@@ -31616,6 +32057,7 @@ registerComponents([
|
|
|
31616
32057
|
KolSelect,
|
|
31617
32058
|
KolSelectWc,
|
|
31618
32059
|
KolSingleSelect,
|
|
32060
|
+
KolSkeleton,
|
|
31619
32061
|
KolSkipNav,
|
|
31620
32062
|
KolSpin,
|
|
31621
32063
|
KolSplitButton,
|
|
@@ -31655,7 +32097,7 @@ function prototypeKoliBri(name, cb) {
|
|
|
31655
32097
|
},
|
|
31656
32098
|
});
|
|
31657
32099
|
}
|
|
31658
|
-
catch (
|
|
32100
|
+
catch (_a) {
|
|
31659
32101
|
Log.debug(`KoliBri property ${name} is already bind.`);
|
|
31660
32102
|
}
|
|
31661
32103
|
}
|