@public-ui/hydrate 4.1.0 → 4.1.1-rc.1
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 +504 -327
- package/dist/index.mjs +504 -327
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -146,7 +146,7 @@ function _mergeNamespaces(n, m) {
|
|
|
146
146
|
|
|
147
147
|
const NAMESPACE = 'kolibri';
|
|
148
148
|
const BUILD = /* kolibri */ { hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
|
|
149
|
-
const Env = /* kolibri */ {"kolibriVersion":"4.1.
|
|
149
|
+
const Env = /* kolibri */ {"kolibriVersion":"4.1.1-rc.1"};
|
|
150
150
|
|
|
151
151
|
function getDefaultExportFromCjs (x) {
|
|
152
152
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
@@ -2024,10 +2024,6 @@ const validateAllowMultiSort = (component, value, options = {}) => {
|
|
|
2024
2024
|
watchBoolean(component, '_allowMultiSort', value, Object.assign({ defaultValue: false }, options));
|
|
2025
2025
|
};
|
|
2026
2026
|
|
|
2027
|
-
const validateAlt = (component, value, options = {}) => {
|
|
2028
|
-
watchString(component, '_alt', value, options);
|
|
2029
|
-
};
|
|
2030
|
-
|
|
2031
2027
|
const alternativeButtonLinkRolePropTypeOptions = ['tab', 'treeitem'];
|
|
2032
2028
|
const validateAlternativeButtonLinkRole = (component, value) => {
|
|
2033
2029
|
watchValidator(component, `_role`, (value) => typeof value === 'string' && alternativeButtonLinkRolePropTypeOptions.includes(value), new Set([`KoliBriAlternativeButtonLinkRole {${alternativeButtonLinkRolePropTypeOptions.join(', ')}`]), value);
|
|
@@ -2323,18 +2319,6 @@ const validateId = (component, value) => {
|
|
|
2323
2319
|
watchString(component, '_id', value);
|
|
2324
2320
|
};
|
|
2325
2321
|
|
|
2326
|
-
const validateImageSizes = (component, value, options = {}) => {
|
|
2327
|
-
watchString(component, '_sizes', value, options);
|
|
2328
|
-
};
|
|
2329
|
-
|
|
2330
|
-
const validateImageSource = (component, value, options) => {
|
|
2331
|
-
watchString(component, '_src', value, options);
|
|
2332
|
-
};
|
|
2333
|
-
|
|
2334
|
-
const validateImageSrcset = (component, value, options = {}) => {
|
|
2335
|
-
watchString(component, '_srcset', value, options);
|
|
2336
|
-
};
|
|
2337
|
-
|
|
2338
2322
|
const validateIndeterminate = (component, value) => {
|
|
2339
2323
|
watchBoolean(component, '_indeterminate', value);
|
|
2340
2324
|
};
|
|
@@ -2402,11 +2386,6 @@ const validateLinkTarget = (component, value) => {
|
|
|
2402
2386
|
watchString(component, '_target', value);
|
|
2403
2387
|
};
|
|
2404
2388
|
|
|
2405
|
-
const loadingOptions = ['eager', 'lazy'];
|
|
2406
|
-
function validateLoading(component, value) {
|
|
2407
|
-
watchValidator(component, '_loading', (value) => typeof value === 'string' && loadingOptions.includes(value), new Set(loadingOptions), value);
|
|
2408
|
-
}
|
|
2409
|
-
|
|
2410
2389
|
const validateMax = (component, value, options) => {
|
|
2411
2390
|
watchNumber(component, '_max', value, options);
|
|
2412
2391
|
};
|
|
@@ -2509,12 +2488,6 @@ const validatePopoverCallbacks = (component, value) => {
|
|
|
2509
2488
|
watchValidator(component, `_on`, (value) => typeof value === 'object' && value !== null, new Set(['PopoverCallbacksPropType {Events.onClose}']), value);
|
|
2510
2489
|
};
|
|
2511
2490
|
|
|
2512
|
-
const validateQuote = (component, value) => {
|
|
2513
|
-
watchString(component, '_quote', value, {
|
|
2514
|
-
required: true,
|
|
2515
|
-
});
|
|
2516
|
-
};
|
|
2517
|
-
|
|
2518
2491
|
const validateReadOnly = (component, value) => {
|
|
2519
2492
|
watchBoolean(component, '_readOnly', value);
|
|
2520
2493
|
};
|
|
@@ -2706,10 +2679,6 @@ const validateTypeInputText = (component, value) => {
|
|
|
2706
2679
|
watchValidator(component, '_type', isInputTextTypePropType, new Set(inputTextTypeOptions), value);
|
|
2707
2680
|
};
|
|
2708
2681
|
|
|
2709
|
-
const validateUnit = (component, value) => {
|
|
2710
|
-
watchString(component, '_unit', value);
|
|
2711
|
-
};
|
|
2712
|
-
|
|
2713
2682
|
const alertVariantOptions = ['card', 'msg'];
|
|
2714
2683
|
const isAlertVariantPropType = (value) => {
|
|
2715
2684
|
return typeof value === 'string' && alertVariantOptions.includes(value);
|
|
@@ -2734,22 +2703,6 @@ const validateVariantInputCheckbox = (component, value) => {
|
|
|
2734
2703
|
watchValidator(component, '_variant', isInputCheckboxVariantPropType, new Set(inputCheckboxVariantOptions), value);
|
|
2735
2704
|
};
|
|
2736
2705
|
|
|
2737
|
-
const progressVariantOptions = ['bar', 'cycle'];
|
|
2738
|
-
const isProgressVariantPropType = (value) => {
|
|
2739
|
-
return typeof value === 'string' && progressVariantOptions.includes(value);
|
|
2740
|
-
};
|
|
2741
|
-
const validateVariantProgress = (component, value) => {
|
|
2742
|
-
watchValidator(component, '_variant', isProgressVariantPropType, new Set(progressVariantOptions), value);
|
|
2743
|
-
};
|
|
2744
|
-
|
|
2745
|
-
const quoteVariantOptions = ['block', 'inline'];
|
|
2746
|
-
const isQuoteVariantPropType = (value) => {
|
|
2747
|
-
return typeof value === 'string' && quoteVariantOptions.includes(value);
|
|
2748
|
-
};
|
|
2749
|
-
const validateVariantQuote = (component, value) => {
|
|
2750
|
-
watchValidator(component, '_variant', isQuoteVariantPropType, new Set(quoteVariantOptions), value);
|
|
2751
|
-
};
|
|
2752
|
-
|
|
2753
2706
|
const spinVariantPropTypeOptions = ['cycle', 'dot', 'none'];
|
|
2754
2707
|
const validateSpinVariant = (component, value) => {
|
|
2755
2708
|
watchValidator(component, '_variant', (value) => typeof value === 'string' && spinVariantPropTypeOptions.includes(value), new Set(spinVariantPropTypeOptions), value);
|
|
@@ -6329,7 +6282,7 @@ const watchHeadingLevel = (component, value) => {
|
|
|
6329
6282
|
validateLevel(component, value);
|
|
6330
6283
|
};
|
|
6331
6284
|
|
|
6332
|
-
const defaultStyleCss$M = "/*\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/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n@layer kol-component {\n @media (prefers-reduced-motion) {\n .collapsible__wrapper-animation, .collapsible__wrapper {\n transition
|
|
6285
|
+
const defaultStyleCss$M = "/*\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/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n@layer kol-component {\n @media (prefers-reduced-motion) {\n .collapsible__wrapper-animation, .collapsible__wrapper {\n transition: none !important;\n }\n }\n .collapsible {\n /* @see https://github.com/public-ui/kolibri/issues/5952 */\n }\n @media print {\n :not(.collapsible--open) .collapsible__wrapper-animation {\n display: none;\n }\n }\n .collapsible__wrapper {\n /* Forces the element into its own GPU compositing layer (via 3D transform). Helps prevent rendering/layout bugs (e.g. #7511) and may improve animation performance. */\n transform: translateZ(0);\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.3s;\n }\n .collapsible__wrapper-animation {\n opacity: 0;\n transform: scaleY(0);\n transform-origin: top;\n min-height: 0;\n /* This property is important to keep in sync with the visual transition (template-rows). Without it interactive elements within the accordion would stay focusable. */\n visibility: hidden;\n transition: transform 0.3s, opacity 0.3s, visibility 0.3s;\n }\n .collapsible--open .collapsible__wrapper {\n grid-template-rows: 1fr;\n }\n .collapsible--open .collapsible__wrapper-animation {\n opacity: 1;\n transform: scaleY(1);\n visibility: visible;\n }\n .collapsible {\n /*\n * Inside a button, the caption text is always centered.\n * So we have to align the text to the left.\n */\n }\n .collapsible__heading-button button .kol-span {\n align-items: flex-start;\n }\n .collapsible--open:focus-within {\n position: relative;\n z-index: 100;\n }\n}";
|
|
6333
6286
|
|
|
6334
6287
|
featureHint(`[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.
|
|
6335
6288
|
|
|
@@ -6974,6 +6927,42 @@ function withValidPropValue(propDef, value, callback) {
|
|
|
6974
6927
|
}
|
|
6975
6928
|
}
|
|
6976
6929
|
|
|
6930
|
+
function normalizeString(value) {
|
|
6931
|
+
if (typeof value === 'string') {
|
|
6932
|
+
return value;
|
|
6933
|
+
}
|
|
6934
|
+
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
|
|
6935
|
+
return String(value);
|
|
6936
|
+
}
|
|
6937
|
+
throw new Error(`Invalid string: ${value}`);
|
|
6938
|
+
}
|
|
6939
|
+
function normalizeInteger(value) {
|
|
6940
|
+
if (typeof value === 'number') {
|
|
6941
|
+
return Number.isInteger(value) ? value : Math.round(value);
|
|
6942
|
+
}
|
|
6943
|
+
if (typeof value === 'string') {
|
|
6944
|
+
const parsed = parseInt(value, 10);
|
|
6945
|
+
if (!isNaN(parsed)) {
|
|
6946
|
+
return parsed;
|
|
6947
|
+
}
|
|
6948
|
+
}
|
|
6949
|
+
throw new Error(`Invalid integer: ${value}`);
|
|
6950
|
+
}
|
|
6951
|
+
function normalizeNumber(value) {
|
|
6952
|
+
if (typeof value === 'number') {
|
|
6953
|
+
return value;
|
|
6954
|
+
}
|
|
6955
|
+
if (typeof value === 'string') {
|
|
6956
|
+
const parsed = Number(value);
|
|
6957
|
+
if (!isNaN(parsed)) {
|
|
6958
|
+
return parsed;
|
|
6959
|
+
}
|
|
6960
|
+
}
|
|
6961
|
+
throw new Error(`Invalid number: ${value}`);
|
|
6962
|
+
}
|
|
6963
|
+
|
|
6964
|
+
const altProp = createPropDefinition(normalizeString, (v) => v.length > 0);
|
|
6965
|
+
|
|
6977
6966
|
const HEX_REGEX = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
6978
6967
|
function isHexString(value) {
|
|
6979
6968
|
return HEX_REGEX.test(value);
|
|
@@ -7009,30 +6998,10 @@ function validator(value) {
|
|
|
7009
6998
|
}
|
|
7010
6999
|
const colorProp = createPropDefinition(normalizer, validator);
|
|
7011
7000
|
|
|
7012
|
-
function normalizeString(value) {
|
|
7013
|
-
if (typeof value === 'string') {
|
|
7014
|
-
return value;
|
|
7015
|
-
}
|
|
7016
|
-
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
|
|
7017
|
-
return String(value);
|
|
7018
|
-
}
|
|
7019
|
-
throw new Error(`Invalid string: ${value}`);
|
|
7020
|
-
}
|
|
7021
|
-
function normalizeInteger(value) {
|
|
7022
|
-
if (typeof value === 'number') {
|
|
7023
|
-
return Number.isInteger(value) ? value : Math.round(value);
|
|
7024
|
-
}
|
|
7025
|
-
if (typeof value === 'string') {
|
|
7026
|
-
const parsed = parseInt(value, 10);
|
|
7027
|
-
if (!isNaN(parsed)) {
|
|
7028
|
-
return parsed;
|
|
7029
|
-
}
|
|
7030
|
-
}
|
|
7031
|
-
throw new Error(`Invalid integer: ${value}`);
|
|
7032
|
-
}
|
|
7033
|
-
|
|
7034
7001
|
const countProp = createPropDefinition(normalizeInteger, (v) => v >= 0);
|
|
7035
7002
|
|
|
7003
|
+
const hrefProp = createPropDefinition(normalizeString, (v) => v.length > 0);
|
|
7004
|
+
|
|
7036
7005
|
const formatNameAsInitial = (name) => {
|
|
7037
7006
|
if (name.length === 0) {
|
|
7038
7007
|
return '';
|
|
@@ -7055,10 +7024,39 @@ const initialsProp = createPropDefinition(normalizeInitials, (v) => v.length > 0
|
|
|
7055
7024
|
|
|
7056
7025
|
const labelProp = createPropDefinition(normalizeString, (v) => v.length >= 2 && v.length <= 80);
|
|
7057
7026
|
|
|
7027
|
+
const LOADING_OPTIONS = ['eager', 'lazy'];
|
|
7028
|
+
const LOADING_SET = new Set(LOADING_OPTIONS);
|
|
7029
|
+
const loadingProp = createPropDefinition((value) => normalizeString(value), (v) => LOADING_SET.has(v));
|
|
7030
|
+
|
|
7031
|
+
const maxProp = createPropDefinition(normalizeNumber, (v) => v > 0);
|
|
7032
|
+
|
|
7058
7033
|
const nameProp = createPropDefinition(normalizeString, () => true);
|
|
7059
7034
|
|
|
7035
|
+
const quoteProp = createPropDefinition(normalizeString, () => true);
|
|
7036
|
+
|
|
7037
|
+
const sizesProp = createPropDefinition(normalizeString, () => true);
|
|
7038
|
+
|
|
7060
7039
|
const srcProp = createPropDefinition(normalizeString, () => true);
|
|
7061
7040
|
|
|
7041
|
+
const srcsetProp = createPropDefinition(normalizeString, () => true);
|
|
7042
|
+
|
|
7043
|
+
const unitProp = createPropDefinition(normalizeString, (v) => v.length > 0);
|
|
7044
|
+
|
|
7045
|
+
const valueProp = createPropDefinition(normalizeNumber, (v) => v >= 0);
|
|
7046
|
+
|
|
7047
|
+
const progressVariantOptions = ['bar', 'cycle'];
|
|
7048
|
+
const variantProgressProp = createPropDefinition((value) => {
|
|
7049
|
+
const str = normalizeString(value);
|
|
7050
|
+
if (progressVariantOptions.includes(str)) {
|
|
7051
|
+
return str;
|
|
7052
|
+
}
|
|
7053
|
+
throw new Error(`Invalid progress variant: ${str}`);
|
|
7054
|
+
}, () => true);
|
|
7055
|
+
|
|
7056
|
+
const QUOTE_VARIANT_OPTIONS = ['block', 'inline'];
|
|
7057
|
+
const QUOTE_VARIANT_SET = new Set(QUOTE_VARIANT_OPTIONS);
|
|
7058
|
+
const variantQuoteProp = createPropDefinition((value) => normalizeString(value), (v) => QUOTE_VARIANT_SET.has(v));
|
|
7059
|
+
|
|
7062
7060
|
class BaseController {
|
|
7063
7061
|
constructor(component, props) {
|
|
7064
7062
|
this.component = component;
|
|
@@ -19553,7 +19551,7 @@ class KolCardWc {
|
|
|
19553
19551
|
this.validateOnValue = (value) => typeof value === 'object' && value !== null && typeof value.onClose === 'function';
|
|
19554
19552
|
}
|
|
19555
19553
|
render() {
|
|
19556
|
-
return (hAsync(Host, { key: '
|
|
19554
|
+
return (hAsync(Host, { key: '674a6314014c048aa08444b0a2b5968889b766dc' }, hAsync("div", { key: '222ede676ce0fbefd43a8bfea23c1916f5df1969', "aria-labelledby": this.nonce, class: "kol-card", role: "group" }, hAsync(KolHeadingFc, { key: '75332c1ff5ddb4b4d033cc119b4bde91d65c9623', class: "kol-card__header", id: this.nonce, level: this.state._level }, this.state._label), hAsync("div", { key: '3e2b7ec0db3781392fae154c9e68546ec5dbc5fa', class: "kol-card__content" }, hAsync("slot", { key: '7a6516db0b5fe8afb25c84278ba7e036ad05f124' })), this.state._hasCloser && (hAsync(KolButtonWcTag, { key: 'd24b492cbeff9ee1ffb49281e014f44d9075f694', class: "kol-card__close-button kol-close-button", "data-testid": "card-close-button", _hideLabel: true, _icons: {
|
|
19557
19555
|
left: {
|
|
19558
19556
|
icon: 'kolicon-cross',
|
|
19559
19557
|
},
|
|
@@ -19656,7 +19654,7 @@ class KolClickButton {
|
|
|
19656
19654
|
}
|
|
19657
19655
|
render() {
|
|
19658
19656
|
const { label } = this.ctrl.getProps();
|
|
19659
|
-
return (hAsync(Host, { key: '
|
|
19657
|
+
return (hAsync(Host, { key: '11394f305e6917a1ec8a907f6e5b75f6f9678487' }, hAsync(ClickButtonFC, { key: '19f96f81e970adc62f756f034934751457c8154a', label: label, refButton: this.ctrl.setButtonRef, handleClick: this.ctrl.handleClick })));
|
|
19660
19658
|
}
|
|
19661
19659
|
static get watchers() { return {
|
|
19662
19660
|
"_label": ["watchLabel"]
|
|
@@ -20018,6 +20016,9 @@ class InputController extends ControlledInputController {
|
|
|
20018
20016
|
}
|
|
20019
20017
|
onBlur(event) {
|
|
20020
20018
|
var _a;
|
|
20019
|
+
if (this.component._disabled) {
|
|
20020
|
+
return;
|
|
20021
|
+
}
|
|
20021
20022
|
this.component._touched = true;
|
|
20022
20023
|
this.emitEvent(KolEvent.blur);
|
|
20023
20024
|
if (typeof ((_a = this.component._on) === null || _a === void 0 ? void 0 : _a.onBlur) === 'function') {
|
|
@@ -20595,7 +20596,7 @@ class KolCombobox {
|
|
|
20595
20596
|
}; }
|
|
20596
20597
|
}
|
|
20597
20598
|
|
|
20598
|
-
const defaultStyleCss$D = "/* 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/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n@layer kol-component {\n @media (prefers-reduced-motion) {\n .collapsible__wrapper-animation, .collapsible__wrapper {\n transition
|
|
20599
|
+
const defaultStyleCss$D = "/* 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/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n@layer kol-component {\n @media (prefers-reduced-motion) {\n .collapsible__wrapper-animation, .collapsible__wrapper {\n transition: none !important;\n }\n }\n .collapsible {\n /* @see https://github.com/public-ui/kolibri/issues/5952 */\n }\n @media print {\n :not(.collapsible--open) .collapsible__wrapper-animation {\n display: none;\n }\n }\n .collapsible__wrapper {\n /* Forces the element into its own GPU compositing layer (via 3D transform). Helps prevent rendering/layout bugs (e.g. #7511) and may improve animation performance. */\n transform: translateZ(0);\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.3s;\n }\n .collapsible__wrapper-animation {\n opacity: 0;\n transform: scaleY(0);\n transform-origin: top;\n min-height: 0;\n /* This property is important to keep in sync with the visual transition (template-rows). Without it interactive elements within the accordion would stay focusable. */\n visibility: hidden;\n transition: transform 0.3s, opacity 0.3s, visibility 0.3s;\n }\n .collapsible--open .collapsible__wrapper {\n grid-template-rows: 1fr;\n }\n .collapsible--open .collapsible__wrapper-animation {\n opacity: 1;\n transform: scaleY(1);\n visibility: visible;\n }\n .collapsible {\n /*\n * Inside a button, the caption text is always centered.\n * So we have to align the text to the left.\n */\n }\n .collapsible__heading-button button .kol-span {\n align-items: flex-start;\n }\n .collapsible--open:focus-within {\n position: relative;\n z-index: 100;\n }\n}\n@layer kol-component {\n .kol-details__heading-button {\n display: flex;\n }\n .kol-details__heading-button .kol-button {\n min-height: auto;\n }\n .kol-details__heading-button .kol-button .kol-span__label {\n border-bottom-color: grey;\n border-bottom-style: solid;\n }\n .collapsible--open .kol-details__heading-button .kol-icon::part(icon) {\n transform: rotate(90deg);\n }\n}";
|
|
20599
20600
|
|
|
20600
20601
|
class KolDetails {
|
|
20601
20602
|
constructor(hostRef) {
|
|
@@ -21196,7 +21197,7 @@ const bem = c();
|
|
|
21196
21197
|
const BEM_CLASS_ICON = bem('kol-icon');
|
|
21197
21198
|
const BEM_CLASS_ICON__ICON = bem('kol-icon', 'icon');
|
|
21198
21199
|
|
|
21199
|
-
const defaultStyleCss$y = "/* forward the rem function */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=
|
|
21200
|
+
const defaultStyleCss$y = "/* forward the rem function */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1772777938670\"); /* IE9*/\n src: url(\"kolicons.eot?t=1772777938670#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1772777938670\") format(\"woff2\"), url(\"kolicons.woff?t=1772777938670\") format(\"woff\"), url(\"kolicons.ttf?t=1772777938670\") format(\"truetype\"), url(\"kolicons.svg?t=1772777938670#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}";
|
|
21200
21201
|
|
|
21201
21202
|
class KolIcon {
|
|
21202
21203
|
render() {
|
|
@@ -21241,51 +21242,97 @@ class KolIcon {
|
|
|
21241
21242
|
}; }
|
|
21242
21243
|
}
|
|
21243
21244
|
|
|
21245
|
+
const ImageFC = (props) => {
|
|
21246
|
+
const { alt, loading, sizes, src, srcset } = props;
|
|
21247
|
+
return hAsync("img", { class: "kol-image", alt: alt, loading: loading, sizes: sizes || undefined, src: src, srcset: srcset || undefined });
|
|
21248
|
+
};
|
|
21249
|
+
|
|
21250
|
+
class ImageController extends BaseController {
|
|
21251
|
+
constructor(states = {}) {
|
|
21252
|
+
super(states, {
|
|
21253
|
+
alt: '',
|
|
21254
|
+
loading: 'lazy',
|
|
21255
|
+
sizes: '',
|
|
21256
|
+
src: '',
|
|
21257
|
+
srcset: '',
|
|
21258
|
+
});
|
|
21259
|
+
}
|
|
21260
|
+
componentWillLoad(props) {
|
|
21261
|
+
const { alt, loading, sizes, src, srcset } = props;
|
|
21262
|
+
this.watchAlt(alt);
|
|
21263
|
+
this.watchLoading(loading);
|
|
21264
|
+
this.watchSizes(sizes);
|
|
21265
|
+
this.watchSrc(src);
|
|
21266
|
+
this.watchSrcset(srcset);
|
|
21267
|
+
}
|
|
21268
|
+
watchAlt(value) {
|
|
21269
|
+
withValidPropValue(altProp, value, (v) => {
|
|
21270
|
+
this.setProp('alt', v);
|
|
21271
|
+
});
|
|
21272
|
+
}
|
|
21273
|
+
watchLoading(value) {
|
|
21274
|
+
withValidPropValue(loadingProp, value, (v) => {
|
|
21275
|
+
this.setProp('loading', v);
|
|
21276
|
+
});
|
|
21277
|
+
}
|
|
21278
|
+
watchSizes(value) {
|
|
21279
|
+
withValidPropValue(sizesProp, value, (v) => {
|
|
21280
|
+
this.setProp('sizes', v);
|
|
21281
|
+
});
|
|
21282
|
+
}
|
|
21283
|
+
watchSrc(value) {
|
|
21284
|
+
withValidPropValue(srcProp, value, (v) => {
|
|
21285
|
+
this.setProp('src', v);
|
|
21286
|
+
});
|
|
21287
|
+
}
|
|
21288
|
+
watchSrcset(value) {
|
|
21289
|
+
withValidPropValue(srcsetProp, value, (v) => {
|
|
21290
|
+
this.setProp('srcset', v);
|
|
21291
|
+
});
|
|
21292
|
+
}
|
|
21293
|
+
}
|
|
21294
|
+
|
|
21244
21295
|
const defaultStyleCss$x = "/*\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 .kol-image {\n display: inline-block;\n max-width: 100%;\n max-height: 100%;\n }\n}";
|
|
21245
21296
|
|
|
21246
21297
|
class KolImage {
|
|
21247
21298
|
constructor(hostRef) {
|
|
21248
21299
|
registerInstance(this, hostRef);
|
|
21249
|
-
this.
|
|
21250
|
-
this.state = {
|
|
21251
|
-
_alt: '',
|
|
21252
|
-
_loading: 'lazy',
|
|
21253
|
-
_src: '',
|
|
21254
|
-
};
|
|
21300
|
+
this.ctrl = new ImageController();
|
|
21255
21301
|
}
|
|
21256
|
-
|
|
21257
|
-
|
|
21302
|
+
watchAlt(value) {
|
|
21303
|
+
this.ctrl.watchAlt(value);
|
|
21258
21304
|
}
|
|
21259
|
-
|
|
21260
|
-
|
|
21305
|
+
watchLoading(value) {
|
|
21306
|
+
this.ctrl.watchLoading(value);
|
|
21261
21307
|
}
|
|
21262
|
-
|
|
21263
|
-
|
|
21308
|
+
watchSizes(value) {
|
|
21309
|
+
this.ctrl.watchSizes(value);
|
|
21264
21310
|
}
|
|
21265
|
-
|
|
21266
|
-
|
|
21267
|
-
required: true,
|
|
21268
|
-
});
|
|
21311
|
+
watchSrc(value) {
|
|
21312
|
+
this.ctrl.watchSrc(value);
|
|
21269
21313
|
}
|
|
21270
|
-
|
|
21271
|
-
|
|
21314
|
+
watchSrcset(value) {
|
|
21315
|
+
this.ctrl.watchSrcset(value);
|
|
21272
21316
|
}
|
|
21273
21317
|
componentWillLoad() {
|
|
21274
|
-
this.
|
|
21275
|
-
|
|
21276
|
-
|
|
21277
|
-
|
|
21278
|
-
|
|
21318
|
+
this.ctrl.componentWillLoad({
|
|
21319
|
+
alt: this._alt,
|
|
21320
|
+
loading: this._loading,
|
|
21321
|
+
sizes: this._sizes,
|
|
21322
|
+
src: this._src,
|
|
21323
|
+
srcset: this._srcset,
|
|
21324
|
+
});
|
|
21279
21325
|
}
|
|
21280
21326
|
render() {
|
|
21281
|
-
|
|
21327
|
+
const { alt, loading, sizes, src, srcset } = this.ctrl.getProps();
|
|
21328
|
+
return (hAsync(Host, { key: '9c00292c9961637155bfcc81fbb758fabd87ff54' }, hAsync(ImageFC, { key: 'e793818eaee3d037838c8931aa603e720bec618f', alt: alt, loading: loading, sizes: sizes, src: src, srcset: srcset })));
|
|
21282
21329
|
}
|
|
21283
21330
|
static get watchers() { return {
|
|
21284
|
-
"_alt": ["
|
|
21285
|
-
"_loading": ["
|
|
21286
|
-
"_sizes": ["
|
|
21287
|
-
"_src": ["
|
|
21288
|
-
"_srcset": ["
|
|
21331
|
+
"_alt": ["watchAlt"],
|
|
21332
|
+
"_loading": ["watchLoading"],
|
|
21333
|
+
"_sizes": ["watchSizes"],
|
|
21334
|
+
"_src": ["watchSrc"],
|
|
21335
|
+
"_srcset": ["watchSrcset"]
|
|
21289
21336
|
}; }
|
|
21290
21337
|
static get style() { return {
|
|
21291
21338
|
default: defaultStyleCss$x
|
|
@@ -21298,8 +21345,7 @@ class KolImage {
|
|
|
21298
21345
|
"_loading": [1],
|
|
21299
21346
|
"_sizes": [1],
|
|
21300
21347
|
"_src": [1],
|
|
21301
|
-
"_srcset": [1]
|
|
21302
|
-
"state": [32]
|
|
21348
|
+
"_srcset": [1]
|
|
21303
21349
|
},
|
|
21304
21350
|
"$listeners$": undefined,
|
|
21305
21351
|
"$lazyBundleId$": "-",
|
|
@@ -21615,6 +21661,9 @@ class KolInputCheckbox {
|
|
|
21615
21661
|
this.controller.onFacade.onFocus(event);
|
|
21616
21662
|
this.inputHasFocus = true;
|
|
21617
21663
|
}, onBlur: (event) => {
|
|
21664
|
+
if (this._disabled) {
|
|
21665
|
+
return;
|
|
21666
|
+
}
|
|
21618
21667
|
this.controller.onFacade.onBlur(event);
|
|
21619
21668
|
this.inputHasFocus = false;
|
|
21620
21669
|
}, onClick: undefined }),
|
|
@@ -21628,7 +21677,7 @@ class KolInputCheckbox {
|
|
|
21628
21677
|
return this.state._icons.unchecked;
|
|
21629
21678
|
}
|
|
21630
21679
|
render() {
|
|
21631
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21680
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '1d18c433405df0be50a37b2d303a0d0d6f9acd1a' }, this.getFormFieldProps(), { renderNoLabel: true }), hAsync(FieldControlStateWrapper, Object.assign({ key: '0a155cfebb876d42f12c399d338b818ec02d8360' }, this.getFieldControlProps(), { renderNoHint: true }), hAsync(CheckboxStateWrapper, Object.assign({ key: '93ab0bbc68cf85072f3d30d64d8e2d73cd4ffbd2' }, this.getInputProps())))));
|
|
21632
21681
|
}
|
|
21633
21682
|
constructor(hostRef) {
|
|
21634
21683
|
registerInstance(this, hostRef);
|
|
@@ -21865,7 +21914,7 @@ class KolInputColor {
|
|
|
21865
21914
|
return Object.assign(Object.assign({ state: Object.assign(Object.assign({}, this.state), { _suggestions: [] }) }, this.controller.onFacade), { onBlur: this.onBlur, onFocus: this.onFocus });
|
|
21866
21915
|
}
|
|
21867
21916
|
render() {
|
|
21868
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21917
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '83e502774da47d21bab0518ccba6a9fecba7e9ee' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '70c40f601ba979a5f39e37dfced8592cc21bb244', state: this.state, class: "kol-input-color__inputs-wrapper" }, hAsync("div", { key: 'd707b8a1e4bd13f63dd2e5cbbcf1b6904fe72fdb', class: "kol-input-color__inputs-wrapper" }, hAsync(InputStateWrapper, Object.assign({ key: '6a35b4d967822c287cb1e0fede8cff8dd1133212', class: "kol-input-color__input kol-input-color__input--color" }, this.getInputColorProps())), hAsync(InputStateWrapper, Object.assign({ key: '13c6236e6e9752e4a1b1d632fd4883dc2f887b5e', class: "kol-input-color__input kol-input-color__input--text" }, this.getInputTextProps()))))));
|
|
21869
21918
|
}
|
|
21870
21919
|
constructor(hostRef) {
|
|
21871
21920
|
registerInstance(this, hostRef);
|
|
@@ -22240,7 +22289,7 @@ class KolInputDate {
|
|
|
22240
22289
|
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 });
|
|
22241
22290
|
}
|
|
22242
22291
|
render() {
|
|
22243
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22292
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '7ffb5c0dbd6165b4db8da1e28b4546cabdee725e' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'd7ca3cd025d5a28a44a13f5931332deb6887fe56', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: 'af04a17100a40f0ae593e414b853e1a80954dce2' }, this.getInputProps())))));
|
|
22244
22293
|
}
|
|
22245
22294
|
constructor(hostRef) {
|
|
22246
22295
|
registerInstance(this, hostRef);
|
|
@@ -22617,7 +22666,7 @@ class KolInputEmail {
|
|
|
22617
22666
|
} });
|
|
22618
22667
|
}
|
|
22619
22668
|
render() {
|
|
22620
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22669
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '76457a8344c3b1870a5a833a5672952f50dd7fd1' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '1e5b73a97fbe32e6546529f91731ae8144c01b00', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '50c0fca0d6d5f8452912859d2c42a0f48ff0d839' }, this.getInputProps())))));
|
|
22621
22670
|
}
|
|
22622
22671
|
constructor(hostRef) {
|
|
22623
22672
|
registerInstance(this, hostRef);
|
|
@@ -22837,7 +22886,7 @@ class InputFileController extends InputIconController {
|
|
|
22837
22886
|
}
|
|
22838
22887
|
}
|
|
22839
22888
|
|
|
22840
|
-
const defaultStyleCss$s = "@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 .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-input {\n background-color: transparent;\n width: 100%;\n min-width: var(--a11y-min-size);\n }\n .kol-input:focus {\n outline: none;\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-input {\n opacity: 0;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 10) 0.5em;\n cursor: pointer;\n }\n .kol-input::-webkit-file-upload-button, .kol-input::file-selector-button {\n cursor: pointer;\n }\n .kol-input:disabled, .kol-input:disabled::-webkit-file-upload-button, .kol-input:disabled::file-selector-button {\n cursor: not-allowed;\n pointer-events: none;\n }\n .kol-input-container__container {\n display: flex;\n overflow: hidden;\n align-items: center;\n }\n .kol-input-container__filename {\n margin-left: calc(4 * 1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n flex-grow: 1;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start):has(> .kol-input-container__adornment--end) {\n grid-template-columns: auto 1fr;\n }\n}";
|
|
22889
|
+
const defaultStyleCss$s = "@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 .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-input {\n background-color: transparent;\n width: 100%;\n min-width: var(--a11y-min-size);\n }\n .kol-input:focus {\n outline: none;\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-input {\n opacity: 0;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 10) 0.5em;\n cursor: pointer;\n }\n .kol-input::-webkit-file-upload-button, .kol-input::file-selector-button {\n cursor: pointer;\n }\n .kol-input:disabled, .kol-input:disabled::-webkit-file-upload-button, .kol-input:disabled::file-selector-button {\n cursor: not-allowed;\n pointer-events: none;\n }\n .kol-input-container__container {\n display: flex;\n overflow: hidden;\n align-items: center;\n }\n .kol-input-container__filename {\n overflow: hidden;\n flex-grow: 1;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start):has(> .kol-input-container__adornment--end) {\n grid-template-columns: auto 1fr;\n }\n}";
|
|
22841
22890
|
|
|
22842
22891
|
class KolInputFile {
|
|
22843
22892
|
async getValue() {
|
|
@@ -22879,7 +22928,7 @@ class KolInputFile {
|
|
|
22879
22928
|
} });
|
|
22880
22929
|
}
|
|
22881
22930
|
render() {
|
|
22882
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22931
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '8c7389b8ce4e26ba8db5151f7fe8269a12e4b3fa' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '5068b6d834b7aac5fff730b57e7d976d03a6742b', state: this.state }, hAsync("span", { key: 'a772d993717f0ab0a48849cfd07ec1c9d21f5b26', class: clsx('kol-input-container__filename', { 'kol-input-container__filename--has-file': this.hasFileSelected }) }, this.filename), hAsync(InputStateWrapper, Object.assign({ key: 'd2abd0c382ce1c372c5e8460005ad8db446f3711' }, this.getInputProps())), hAsync(KolButtonWcTag, { key: 'a4a27385a1d792eabb6b42cdc7204d966c58adc5', class: "kol-input-container__button", _label: this.translateDataBrowseText, _variant: "primary", _disabled: this._disabled }))));
|
|
22883
22932
|
}
|
|
22884
22933
|
constructor(hostRef) {
|
|
22885
22934
|
registerInstance(this, hostRef);
|
|
@@ -22914,15 +22963,21 @@ class KolInputFile {
|
|
|
22914
22963
|
(_c = (_b = (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.classList.remove('kol-input-container--is-dragover');
|
|
22915
22964
|
};
|
|
22916
22965
|
this.onDrop = (event) => {
|
|
22917
|
-
var _a, _b, _c
|
|
22966
|
+
var _a, _b, _c;
|
|
22918
22967
|
event.preventDefault();
|
|
22919
|
-
|
|
22920
|
-
|
|
22968
|
+
if (!this.inputRef) {
|
|
22969
|
+
return;
|
|
22970
|
+
}
|
|
22971
|
+
(_b = (_a = this.inputRef.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.classList.remove('kol-input-container--is-dragover');
|
|
22972
|
+
if ((_c = event.dataTransfer) === null || _c === void 0 ? void 0 : _c.files.length) {
|
|
22921
22973
|
const files = event.dataTransfer.files;
|
|
22974
|
+
this.inputRef.files = files;
|
|
22922
22975
|
this.filename = Array.from(files)
|
|
22923
22976
|
.map((file) => file.name)
|
|
22924
22977
|
.join(', ');
|
|
22925
22978
|
this.controller.setFormAssociatedValue(files);
|
|
22979
|
+
this.controller.onFacade.onChange(event, files);
|
|
22980
|
+
this.controller.onFacade.onInput(event, false, files);
|
|
22926
22981
|
}
|
|
22927
22982
|
};
|
|
22928
22983
|
this.onChange = (event) => {
|
|
@@ -23198,7 +23253,7 @@ class KolInputNumber {
|
|
|
23198
23253
|
}, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "kolicon-minus", label: "" })));
|
|
23199
23254
|
}
|
|
23200
23255
|
render() {
|
|
23201
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23256
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '46e15bc14991167121d75201c8db74fe9a17c15c' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'be9e3ac1883e398434b2f04fb5d8dca1aad0c49e', state: this.state, startAdornment: this.getStepDownButton(), endAdornment: this.getStepUpButton() }, hAsync(InputStateWrapper, Object.assign({ key: '9260cc2a06ab894cc5e604428650a51d9d5f9762' }, this.getInputProps())))));
|
|
23202
23257
|
}
|
|
23203
23258
|
constructor(hostRef) {
|
|
23204
23259
|
registerInstance(this, hostRef);
|
|
@@ -23445,7 +23500,7 @@ class KolInputPassword {
|
|
|
23445
23500
|
}, icon: `${this._passwordVisible ? 'kolicon-eye-closed' : 'kolicon-eye'}`, disabled: this._disabled }));
|
|
23446
23501
|
}
|
|
23447
23502
|
render() {
|
|
23448
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23503
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '159f5467dc3480813005ad8336e1bf3a21617dc5' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'cae34e405accaae63bc98011589f633e02b7715f', state: this.state, endAdornment: this.getShowPasswordButton() }, hAsync(InputStateWrapper, Object.assign({ key: '6dc2593c8c8f67134cdf90405069d12a6365a378' }, this.getInputProps())))));
|
|
23449
23504
|
}
|
|
23450
23505
|
constructor(hostRef) {
|
|
23451
23506
|
registerInstance(this, hostRef);
|
|
@@ -23733,7 +23788,7 @@ class KolInputRadio {
|
|
|
23733
23788
|
};
|
|
23734
23789
|
}
|
|
23735
23790
|
render() {
|
|
23736
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23791
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'dd1f3327b146841f7aa4df53dd50139f7a09fcb6' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
|
|
23737
23792
|
}
|
|
23738
23793
|
calculateDisabled(option) {
|
|
23739
23794
|
return Boolean(this.state._disabled) || Boolean(option.disabled);
|
|
@@ -24048,7 +24103,7 @@ class KolInputRange {
|
|
|
24048
24103
|
const inputsWrapperStyle = {
|
|
24049
24104
|
'--kolibri-input-range--input-number--width': `calc(${String(this.state._max).length}ch + 2em)`,
|
|
24050
24105
|
};
|
|
24051
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24106
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'f1db0f59140c9af3f4daab8e81623edbaa3d4462' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'ea17dd310a2ecf8eaca9099a503079f970eda3e0', state: this.state }, hAsync("div", { key: 'afb4b3ea7364ac8a3678e9e93eb75371ece32dce', class: "kol-input-range__inputs-wrapper", style: inputsWrapperStyle }, hAsync(InputStateWrapper, Object.assign({ key: 'e76b06941bfec34ec4bfa1c230da4410ab048bea', class: "kol-input-range__input kol-input-range__input--range" }, this.getInputRangeProps())), hAsync(InputStateWrapper, Object.assign({ key: '7ceeb5dea35fe624a7406a0e3bf300d005516c04', class: "kol-input-range__input kol-input-range__input--number" }, this.getInputNumberProps()))), this.hasSuggestions && hAsync(SuggestionsFc, { key: '614a46a0655686e363ba547f35ec873dae37e633', id: this.state._id, suggestions: this.state._suggestions }))));
|
|
24052
24107
|
}
|
|
24053
24108
|
constructor(hostRef) {
|
|
24054
24109
|
registerInstance(this, hostRef);
|
|
@@ -24294,7 +24349,7 @@ class KolInputText {
|
|
|
24294
24349
|
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 });
|
|
24295
24350
|
}
|
|
24296
24351
|
render() {
|
|
24297
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24352
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '1f08b07d5c57ea8d3ea2191669dfc49851a87129' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'd966f9e1ead1faf5373d070479ed6867236180ef', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '92514fe63dbf446c275bb4858545aa1d1fecacc4' }, this.getInputProps())))));
|
|
24298
24353
|
}
|
|
24299
24354
|
constructor(hostRef) {
|
|
24300
24355
|
registerInstance(this, hostRef);
|
|
@@ -24554,7 +24609,7 @@ class KolKolibri {
|
|
|
24554
24609
|
}
|
|
24555
24610
|
render() {
|
|
24556
24611
|
const fillColor = `rgb(${this.state._color.red},${this.state._color.green},${this.state._color.blue})`;
|
|
24557
|
-
return (hAsync("svg", { key: '
|
|
24612
|
+
return (hAsync("svg", { key: '379669bd1a72ef94670286c09a454ec336aa673c', class: "kol-kolibri", role: "img", "aria-label": this.translateKolibriLogo, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 600 600", fill: fillColor }, hAsync("path", { key: 'ca616a219ff9f4506348a50f23139efce59375db', d: "M353 322L213 304V434L353 322Z" }), hAsync("path", { key: 'ec29beceba2d43050ee2c2f4a6cdb89e0bdb5155', d: "M209 564V304L149 434L209 564Z" }), hAsync("path", { key: 'd34171862cd342bd7b7a6bfbe91ff96b56e84cb7', d: "M357 316L417 250L361 210L275 244L357 316Z" }), hAsync("path", { key: 'af50ed74e0b1b450d4cbcb352d6b3f65a201c004', d: "M329 218L237 92L250 222L272 241L329 218Z" }), hAsync("path", { key: '6578357d46128aa327ce8d5a6145823a1ad4b8a6', d: "M353 318L35 36L213 300L353 318Z" }), hAsync("path", { key: '4dd78bf515c2e22c259e1cf69d7b84a2a99c1ee7', d: "M391 286L565 272L421 252L391 286Z" }), this.state._labeled === true && (hAsync("text", { key: '71da6ff8c46931ac1c2ef80db6a7a02397ef095b', class: "kol-kolibri__text", x: "250", y: "525", fill: fillColor }, "KoliBri"))));
|
|
24558
24613
|
}
|
|
24559
24614
|
validateColor(value) {
|
|
24560
24615
|
validateColor(this, value, {
|
|
@@ -24612,7 +24667,7 @@ class KolLink {
|
|
|
24612
24667
|
return Promise.resolve((_a = this.linkWcRef) === null || _a === void 0 ? void 0 : _a.focus());
|
|
24613
24668
|
}
|
|
24614
24669
|
render() {
|
|
24615
|
-
return (hAsync(KolLinkWcTag, { key: '
|
|
24670
|
+
return (hAsync(KolLinkWcTag, { key: 'ba849f55e205381940159f7ebaaf3d9431bc3ccb', ref: this.catchRef, _accessKey: this._accessKey, _ariaCurrentValue: this._ariaCurrentValue, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _disabled: this._disabled, _download: this._download, _hideLabel: this._hideLabel, _href: this._href, _icons: this._icons, _inline: this._inline, _label: this._label, _on: this._on, _shortKey: this._shortKey, _target: this._target, _tooltipAlign: this._tooltipAlign, _variant: this._variant }, hAsync("slot", { key: '4c1076ba57da1a4ac782a2cfa78ec87d143eb732', name: "expert", slot: "expert" })));
|
|
24616
24671
|
}
|
|
24617
24672
|
static get style() { return {
|
|
24618
24673
|
default: defaultStyleCss$l
|
|
@@ -24665,7 +24720,7 @@ class KolLinkButton {
|
|
|
24665
24720
|
return Promise.resolve((_a = this.linkWcRef) === null || _a === void 0 ? void 0 : _a.focus());
|
|
24666
24721
|
}
|
|
24667
24722
|
render() {
|
|
24668
|
-
return (hAsync(KolLinkWcTag, { key: '
|
|
24723
|
+
return (hAsync(KolLinkWcTag, { key: 'f22cce5b6288c65af9fd7fb745d6607aef367f5e', ref: this.catchRef, _accessKey: this._accessKey, _ariaCurrentValue: this._ariaCurrentValue, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _customClass: this._customClass, _disabled: this._disabled, _download: this._download, _hideLabel: this._hideLabel, _href: this._href, _icons: this._icons, _label: this._label, _on: this._on, _shortKey: this._shortKey, _target: this._target, _tooltipAlign: this._tooltipAlign, _variant: this._variant }, hAsync("slot", { key: '4bb6733d914718772eeed7c35e8aef9862953783', name: "expert", slot: "expert" })));
|
|
24669
24724
|
}
|
|
24670
24725
|
static get style() { return {
|
|
24671
24726
|
default: defaultStyleCss$k
|
|
@@ -24771,7 +24826,7 @@ class KolLinkWc {
|
|
|
24771
24826
|
const { isExternal, tagAttrs } = this.getRenderValues();
|
|
24772
24827
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
24773
24828
|
const ariaDescription = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim();
|
|
24774
|
-
return (hAsync(Host, { key: '
|
|
24829
|
+
return (hAsync(Host, { key: '2ac6ea4cbd5ee86a3a2e04912e7d9c959fadb438' }, hAsync("a", Object.assign({ key: '33411ccc263bb4e8e7233f299262e6777a996919', 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'
|
|
24775
24830
|
? `${this.state._label}${isExternal ? ` (${this.translateOpenLinkInTab})` : ''}`
|
|
24776
24831
|
: undefined, "aria-keyshortcuts": this.state._shortKey, class: clsx('kol-link', {
|
|
24777
24832
|
'kol-link--disabled': this.state._disabled === true,
|
|
@@ -24781,7 +24836,7 @@ class KolLinkWc {
|
|
|
24781
24836
|
'kol-link--inline': this.state._inline === true,
|
|
24782
24837
|
'kol-link--standalone': this.state._inline === false,
|
|
24783
24838
|
[this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
|
|
24784
|
-
}) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: '
|
|
24839
|
+
}) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: 'b8c63edd9bdd9950084a0414a247984a2b491254', 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: '3121263798c54a7758f67c543841241d1b101bc8', name: "expert", slot: "expert" })), isExternal && (hAsync(KolIconTag, { key: '9710f9b5a03204f9c5b1d8727cfbd72fa3e17c72', 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: '457ec43b8d82eca1817fbece9a0387ac66d95b9c', "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 }))));
|
|
24785
24840
|
}
|
|
24786
24841
|
validateAccessKey(value) {
|
|
24787
24842
|
validateAccessKey(this, value);
|
|
@@ -24960,7 +25015,7 @@ class KolModal {
|
|
|
24960
25015
|
await ((_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.closeModal());
|
|
24961
25016
|
}
|
|
24962
25017
|
render() {
|
|
24963
|
-
return (hAsync(KolDialogWcTag, { key: '
|
|
25018
|
+
return (hAsync(KolDialogWcTag, { key: 'bfc37fce6c2d856d9e3c66d2309b9982647e5ffc', ref: this.catchRef, _label: this._label, _on: this._on, _variant: this._variant, _width: this._width }, hAsync("slot", { key: '94f594ce9be9f53e52e41b03f24f3a5439251b7f' })));
|
|
24964
25019
|
}
|
|
24965
25020
|
static get style() { return {
|
|
24966
25021
|
default: defaultStyleCss$j
|
|
@@ -25111,9 +25166,9 @@ class KolNav {
|
|
|
25111
25166
|
}
|
|
25112
25167
|
render() {
|
|
25113
25168
|
const collapsible = this.state._collapsible === true;
|
|
25114
|
-
return (hAsync("div", { key: '
|
|
25169
|
+
return (hAsync("div", { key: '83f3a54075e964de98639af6164d6b7c7038f09d', class: clsx('kol-nav', {
|
|
25115
25170
|
'kol-nav--is-compact': this.state._hideLabel,
|
|
25116
|
-
}) }, hAsync("nav", { key: '
|
|
25171
|
+
}) }, hAsync("nav", { key: '60083858418df055dd74e9e34889dc209fadf21c', "aria-label": this.state._label, class: "kol-nav__navigation", id: this.navId }, hAsync(this.linkList, { key: '504913d780a54f9138b478a666a9a1d8e002bf6d', collapsible: collapsible, deep: 0, links: this.state._links, id: this.listId })), this.state._hasCompactButton && (hAsync("div", { key: '2d1855f772a146a9ae4f59ca5f9efe584c0d7e60', class: "kol-nav__compact" }, hAsync(KolButtonWcTag, { key: '66086c4c3df6a121e360ef6db61975c525ffbf19', class: "kol-nav__toggle-button", _ariaControls: this.navId, _ariaExpanded: !this.state._hideLabel, _icons: this.state._hideLabel ? 'kolicon-chevron-right' : 'kolicon-chevron-left', _hideLabel: true, _label: translate(this.state._hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize'), _on: {
|
|
25117
25172
|
onClick: () => {
|
|
25118
25173
|
this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: !this.state._hideLabel });
|
|
25119
25174
|
},
|
|
@@ -25200,7 +25255,7 @@ class KolPagination {
|
|
|
25200
25255
|
this._tooltipAlign = 'top';
|
|
25201
25256
|
}
|
|
25202
25257
|
render() {
|
|
25203
|
-
return (hAsync(KolPaginationWcTag, { key: '
|
|
25258
|
+
return (hAsync(KolPaginationWcTag, { key: 'bc9c9f8febdf832f1c067967714956125dd74e4b', _boundaryCount: this._boundaryCount, _label: this._label, _customClass: this._customClass, _on: this._on, _hasButtons: this._hasButtons, _page: this._page, _pageSize: this._pageSize, _pageSizeOptions: this._pageSizeOptions, _siblingCount: this._siblingCount, _tooltipAlign: this._tooltipAlign, _max: this._max }));
|
|
25204
25259
|
}
|
|
25205
25260
|
static get style() { return {
|
|
25206
25261
|
default: defaultStyleCss$h
|
|
@@ -25615,10 +25670,6 @@ const oppositeSideMap = {
|
|
|
25615
25670
|
bottom: 'top',
|
|
25616
25671
|
top: 'bottom'
|
|
25617
25672
|
};
|
|
25618
|
-
const oppositeAlignmentMap = {
|
|
25619
|
-
start: 'end',
|
|
25620
|
-
end: 'start'
|
|
25621
|
-
};
|
|
25622
25673
|
function clamp(start, value, end) {
|
|
25623
25674
|
return max(start, min(value, end));
|
|
25624
25675
|
}
|
|
@@ -25637,9 +25688,9 @@ function getOppositeAxis(axis) {
|
|
|
25637
25688
|
function getAxisLength(axis) {
|
|
25638
25689
|
return axis === 'y' ? 'height' : 'width';
|
|
25639
25690
|
}
|
|
25640
|
-
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
25641
25691
|
function getSideAxis(placement) {
|
|
25642
|
-
|
|
25692
|
+
const firstChar = placement[0];
|
|
25693
|
+
return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';
|
|
25643
25694
|
}
|
|
25644
25695
|
function getAlignmentAxis(placement) {
|
|
25645
25696
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -25662,7 +25713,7 @@ function getExpandedPlacements(placement) {
|
|
|
25662
25713
|
return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
|
|
25663
25714
|
}
|
|
25664
25715
|
function getOppositeAlignmentPlacement(placement) {
|
|
25665
|
-
return placement.replace(
|
|
25716
|
+
return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');
|
|
25666
25717
|
}
|
|
25667
25718
|
const lrPlacement = ['left', 'right'];
|
|
25668
25719
|
const rlPlacement = ['right', 'left'];
|
|
@@ -25693,7 +25744,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
|
25693
25744
|
return list;
|
|
25694
25745
|
}
|
|
25695
25746
|
function getOppositePlacement(placement) {
|
|
25696
|
-
|
|
25747
|
+
const side = getSide(placement);
|
|
25748
|
+
return oppositeSideMap[side] + placement.slice(side.length);
|
|
25697
25749
|
}
|
|
25698
25750
|
function expandPaddingObject(padding) {
|
|
25699
25751
|
return {
|
|
@@ -25852,6 +25904,9 @@ async function detectOverflow(state, options) {
|
|
|
25852
25904
|
};
|
|
25853
25905
|
}
|
|
25854
25906
|
|
|
25907
|
+
// Maximum number of resets that can occur before bailing to avoid infinite reset loops.
|
|
25908
|
+
const MAX_RESET_COUNT = 50;
|
|
25909
|
+
|
|
25855
25910
|
/**
|
|
25856
25911
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
25857
25912
|
* next to a given reference element.
|
|
@@ -25866,7 +25921,10 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25866
25921
|
middleware = [],
|
|
25867
25922
|
platform
|
|
25868
25923
|
} = config;
|
|
25869
|
-
const
|
|
25924
|
+
const platformWithDetectOverflow = platform.detectOverflow ? platform : {
|
|
25925
|
+
...platform,
|
|
25926
|
+
detectOverflow
|
|
25927
|
+
};
|
|
25870
25928
|
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
|
|
25871
25929
|
let rects = await platform.getElementRects({
|
|
25872
25930
|
reference,
|
|
@@ -25878,14 +25936,17 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25878
25936
|
y
|
|
25879
25937
|
} = computeCoordsFromPlacement(rects, placement, rtl);
|
|
25880
25938
|
let statefulPlacement = placement;
|
|
25881
|
-
let middlewareData = {};
|
|
25882
25939
|
let resetCount = 0;
|
|
25883
|
-
|
|
25884
|
-
|
|
25940
|
+
const middlewareData = {};
|
|
25941
|
+
for (let i = 0; i < middleware.length; i++) {
|
|
25942
|
+
const currentMiddleware = middleware[i];
|
|
25943
|
+
if (!currentMiddleware) {
|
|
25944
|
+
continue;
|
|
25945
|
+
}
|
|
25885
25946
|
const {
|
|
25886
25947
|
name,
|
|
25887
25948
|
fn
|
|
25888
|
-
} =
|
|
25949
|
+
} = currentMiddleware;
|
|
25889
25950
|
const {
|
|
25890
25951
|
x: nextX,
|
|
25891
25952
|
y: nextY,
|
|
@@ -25899,10 +25960,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25899
25960
|
strategy,
|
|
25900
25961
|
middlewareData,
|
|
25901
25962
|
rects,
|
|
25902
|
-
platform:
|
|
25903
|
-
...platform,
|
|
25904
|
-
detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow
|
|
25905
|
-
},
|
|
25963
|
+
platform: platformWithDetectOverflow,
|
|
25906
25964
|
elements: {
|
|
25907
25965
|
reference,
|
|
25908
25966
|
floating
|
|
@@ -25910,14 +25968,11 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25910
25968
|
});
|
|
25911
25969
|
x = nextX != null ? nextX : x;
|
|
25912
25970
|
y = nextY != null ? nextY : y;
|
|
25913
|
-
middlewareData = {
|
|
25914
|
-
...middlewareData,
|
|
25915
|
-
|
|
25916
|
-
...middlewareData[name],
|
|
25917
|
-
...data
|
|
25918
|
-
}
|
|
25971
|
+
middlewareData[name] = {
|
|
25972
|
+
...middlewareData[name],
|
|
25973
|
+
...data
|
|
25919
25974
|
};
|
|
25920
|
-
if (reset && resetCount
|
|
25975
|
+
if (reset && resetCount < MAX_RESET_COUNT) {
|
|
25921
25976
|
resetCount++;
|
|
25922
25977
|
if (typeof reset === 'object') {
|
|
25923
25978
|
if (reset.placement) {
|
|
@@ -26370,7 +26425,6 @@ function isShadowRoot(value) {
|
|
|
26370
26425
|
}
|
|
26371
26426
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
26372
26427
|
}
|
|
26373
|
-
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
26374
26428
|
function isOverflowElement(element) {
|
|
26375
26429
|
const {
|
|
26376
26430
|
overflow,
|
|
@@ -26378,32 +26432,35 @@ function isOverflowElement(element) {
|
|
|
26378
26432
|
overflowY,
|
|
26379
26433
|
display
|
|
26380
26434
|
} = getComputedStyle$1(element);
|
|
26381
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) &&
|
|
26435
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';
|
|
26382
26436
|
}
|
|
26383
|
-
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
26384
26437
|
function isTableElement(element) {
|
|
26385
|
-
return
|
|
26438
|
+
return /^(table|td|th)$/.test(getNodeName(element));
|
|
26386
26439
|
}
|
|
26387
|
-
const topLayerSelectors = [':popover-open', ':modal'];
|
|
26388
26440
|
function isTopLayer(element) {
|
|
26389
|
-
|
|
26390
|
-
|
|
26391
|
-
return
|
|
26392
|
-
} catch (_e) {
|
|
26393
|
-
return false;
|
|
26441
|
+
try {
|
|
26442
|
+
if (element.matches(':popover-open')) {
|
|
26443
|
+
return true;
|
|
26394
26444
|
}
|
|
26395
|
-
})
|
|
26445
|
+
} catch (_e) {
|
|
26446
|
+
// no-op
|
|
26447
|
+
}
|
|
26448
|
+
try {
|
|
26449
|
+
return element.matches(':modal');
|
|
26450
|
+
} catch (_e) {
|
|
26451
|
+
return false;
|
|
26452
|
+
}
|
|
26396
26453
|
}
|
|
26397
|
-
const
|
|
26398
|
-
const
|
|
26399
|
-
const
|
|
26454
|
+
const willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
|
|
26455
|
+
const containRe = /paint|layout|strict|content/;
|
|
26456
|
+
const isNotNone = value => !!value && value !== 'none';
|
|
26457
|
+
let isWebKitValue;
|
|
26400
26458
|
function isContainingBlock(elementOrCss) {
|
|
26401
|
-
const webkit = isWebKit();
|
|
26402
26459
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
26403
26460
|
|
|
26404
26461
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
26405
26462
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
26406
|
-
return
|
|
26463
|
+
return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');
|
|
26407
26464
|
}
|
|
26408
26465
|
function getContainingBlock(element) {
|
|
26409
26466
|
let currentNode = getParentNode(element);
|
|
@@ -26418,12 +26475,13 @@ function getContainingBlock(element) {
|
|
|
26418
26475
|
return null;
|
|
26419
26476
|
}
|
|
26420
26477
|
function isWebKit() {
|
|
26421
|
-
if (
|
|
26422
|
-
|
|
26478
|
+
if (isWebKitValue == null) {
|
|
26479
|
+
isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');
|
|
26480
|
+
}
|
|
26481
|
+
return isWebKitValue;
|
|
26423
26482
|
}
|
|
26424
|
-
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
26425
26483
|
function isLastTraversableNode(node) {
|
|
26426
|
-
return
|
|
26484
|
+
return /^(html|body|#document)$/.test(getNodeName(node));
|
|
26427
26485
|
}
|
|
26428
26486
|
function getComputedStyle$1(element) {
|
|
26429
26487
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -26479,8 +26537,9 @@ function getOverflowAncestors(node, list, traverseIframes) {
|
|
|
26479
26537
|
if (isBody) {
|
|
26480
26538
|
const frameElement = getFrameElement(win);
|
|
26481
26539
|
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
|
|
26540
|
+
} else {
|
|
26541
|
+
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
26482
26542
|
}
|
|
26483
|
-
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
26484
26543
|
}
|
|
26485
26544
|
function getFrameElement(win) {
|
|
26486
26545
|
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
|
@@ -26657,7 +26716,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
26657
26716
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
26658
26717
|
scroll = getNodeScroll(offsetParent);
|
|
26659
26718
|
}
|
|
26660
|
-
if (
|
|
26719
|
+
if (isOffsetParentAnElement) {
|
|
26661
26720
|
const offsetRect = getBoundingClientRect(offsetParent);
|
|
26662
26721
|
scale = getScale(offsetParent);
|
|
26663
26722
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
@@ -26745,7 +26804,6 @@ function getViewportRect(element, strategy) {
|
|
|
26745
26804
|
};
|
|
26746
26805
|
}
|
|
26747
26806
|
|
|
26748
|
-
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
26749
26807
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
26750
26808
|
function getInnerBoundingClientRect(element, strategy) {
|
|
26751
26809
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -26810,7 +26868,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
26810
26868
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
26811
26869
|
currentContainingBlockComputedStyle = null;
|
|
26812
26870
|
}
|
|
26813
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
26871
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
26814
26872
|
if (shouldDropCurrentNode) {
|
|
26815
26873
|
// Drop non-containing blocks.
|
|
26816
26874
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -26835,20 +26893,23 @@ function getClippingRect(_ref) {
|
|
|
26835
26893
|
} = _ref;
|
|
26836
26894
|
const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
|
|
26837
26895
|
const clippingAncestors = [...elementClippingAncestors, rootBoundary];
|
|
26838
|
-
const
|
|
26839
|
-
|
|
26840
|
-
|
|
26841
|
-
|
|
26842
|
-
|
|
26843
|
-
|
|
26844
|
-
|
|
26845
|
-
|
|
26846
|
-
|
|
26896
|
+
const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
|
|
26897
|
+
let top = firstRect.top;
|
|
26898
|
+
let right = firstRect.right;
|
|
26899
|
+
let bottom = firstRect.bottom;
|
|
26900
|
+
let left = firstRect.left;
|
|
26901
|
+
for (let i = 1; i < clippingAncestors.length; i++) {
|
|
26902
|
+
const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
|
|
26903
|
+
top = max(rect.top, top);
|
|
26904
|
+
right = min(rect.right, right);
|
|
26905
|
+
bottom = min(rect.bottom, bottom);
|
|
26906
|
+
left = max(rect.left, left);
|
|
26907
|
+
}
|
|
26847
26908
|
return {
|
|
26848
|
-
width:
|
|
26849
|
-
height:
|
|
26850
|
-
x:
|
|
26851
|
-
y:
|
|
26909
|
+
width: right - left,
|
|
26910
|
+
height: bottom - top,
|
|
26911
|
+
x: left,
|
|
26912
|
+
y: top
|
|
26852
26913
|
};
|
|
26853
26914
|
}
|
|
26854
26915
|
|
|
@@ -27099,7 +27160,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
27099
27160
|
animationFrame = false
|
|
27100
27161
|
} = options;
|
|
27101
27162
|
const referenceEl = unwrapElement(reference);
|
|
27102
|
-
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];
|
|
27163
|
+
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];
|
|
27103
27164
|
ancestors.forEach(ancestor => {
|
|
27104
27165
|
ancestorScroll && ancestor.addEventListener('scroll', update, {
|
|
27105
27166
|
passive: true
|
|
@@ -27112,7 +27173,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
27112
27173
|
if (elementResize) {
|
|
27113
27174
|
resizeObserver = new ResizeObserver(_ref => {
|
|
27114
27175
|
let [firstEntry] = _ref;
|
|
27115
|
-
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
|
|
27176
|
+
if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
|
|
27116
27177
|
// Prevent update loops when using the `size` middleware.
|
|
27117
27178
|
// https://github.com/floating-ui/floating-ui/issues/1740
|
|
27118
27179
|
resizeObserver.unobserve(floating);
|
|
@@ -27127,7 +27188,9 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
27127
27188
|
if (referenceEl && !animationFrame) {
|
|
27128
27189
|
resizeObserver.observe(referenceEl);
|
|
27129
27190
|
}
|
|
27130
|
-
|
|
27191
|
+
if (floating) {
|
|
27192
|
+
resizeObserver.observe(floating);
|
|
27193
|
+
}
|
|
27131
27194
|
}
|
|
27132
27195
|
let frameId;
|
|
27133
27196
|
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
|
@@ -27395,7 +27458,7 @@ class KolPopover {
|
|
|
27395
27458
|
}
|
|
27396
27459
|
}
|
|
27397
27460
|
render() {
|
|
27398
|
-
return (hAsync(Host, { key: '
|
|
27461
|
+
return (hAsync(Host, { key: '751d5e78e0828db0d6aa60fd3bb6f11975a5b245', ref: this.catchHostAndTriggerElement, class: "kol-popover" }, hAsync("div", { key: '4c53a7572790e7b73f3ef0645ad50628a663710b', class: clsx('kol-popover__content', { 'kol-popover__content--visible': this.state._visible }), ref: this.catchPopoverElement, popover: "auto" }, hAsync("div", { key: 'ae6c14b05282f0ceed5fc0f48e4233f7ee26d2ec', class: clsx('kol-popover__arrow', `kol-popover__arrow--${this.state._align}`), ref: this.catchArrowElement }), hAsync("slot", { key: 'b200b482e665bfe097d783a620eac5122e61e63c' }))));
|
|
27399
27462
|
}
|
|
27400
27463
|
validateAlign(value) {
|
|
27401
27464
|
validateAlign(this, value);
|
|
@@ -27460,7 +27523,7 @@ class KolPopover {
|
|
|
27460
27523
|
}; }
|
|
27461
27524
|
}
|
|
27462
27525
|
|
|
27463
|
-
const defaultStyleCss$g = "@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 .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: 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-
|
|
27526
|
+
const defaultStyleCss$g = "@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 .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: 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__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-popover-button--open .kol-button__tooltip {\n display: none;\n }\n .kol-popover-button--inline .kol-button {\n min-width: 0;\n min-height: 1em;\n }\n}";
|
|
27464
27527
|
|
|
27465
27528
|
let KolPopoverButton$1 = class KolPopoverButton {
|
|
27466
27529
|
constructor(hostRef) {
|
|
@@ -27489,7 +27552,7 @@ let KolPopoverButton$1 = class KolPopoverButton {
|
|
|
27489
27552
|
return Promise.resolve((_a = this.ref) === null || _a === void 0 ? void 0 : _a.focus());
|
|
27490
27553
|
}
|
|
27491
27554
|
render() {
|
|
27492
|
-
return (hAsync(KolPopoverButtonWcTag, { key: '
|
|
27555
|
+
return (hAsync(KolPopoverButtonWcTag, { key: 'd405c3e4ea58c0d884d854e8bf847f471bc7e4ba', ref: this.catchRef, _accessKey: this._accessKey, _ariaDescription: this._ariaDescription, _customClass: this._customClass, _disabled: this._disabled, _hideLabel: this._hideLabel, _icons: this._icons, _inline: this._inline, _label: this._label, _name: this._name, _popoverAlign: this._popoverAlign, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }, hAsync("slot", { key: '9098b79390a2413a30c74badf954b1276941e44d', name: "expert", slot: "expert" }), hAsync("slot", { key: '213ab1212f3b13899c33e46531b6c97e1c28db7b' })));
|
|
27493
27556
|
}
|
|
27494
27557
|
static get style() { return {
|
|
27495
27558
|
default: defaultStyleCss$g
|
|
@@ -27611,11 +27674,11 @@ class KolPopoverButton {
|
|
|
27611
27674
|
(_c = this.cleanupAutoPositioning) === null || _c === void 0 ? void 0 : _c.call(this);
|
|
27612
27675
|
}
|
|
27613
27676
|
render() {
|
|
27614
|
-
return (hAsync("div", { key: '
|
|
27677
|
+
return (hAsync("div", { key: 'f80a8d16ce68736215e1a9f8048f29db0f5ab5a3', class: clsx('kol-popover-button', {
|
|
27615
27678
|
'kol-popover-button--open': this.popoverOpen,
|
|
27616
27679
|
'kol-popover-button--inline': this.state._inline === true,
|
|
27617
27680
|
'kol-popover-button--standalone': this.state._inline === false,
|
|
27618
|
-
}) }, hAsync(KolButtonWcTag, { key: '
|
|
27681
|
+
}) }, hAsync(KolButtonWcTag, { key: '1cc0f470c4b156eb2770fd1c0094582a54e81606', _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: 'a3a78e63b6da951f4527cb34df0d8c33507cc95e', name: "expert", slot: "expert" })), hAsync("div", { key: '695ead35ce982e1495b9edc1677fe623def67680', ref: (element) => (this.refPopover = element), "data-testid": "popover-content", popover: "auto", id: "popover", class: "kol-popover-button__popover" }, hAsync("slot", { key: '0b8abeae9ef69ff8cf09022fd91c24ef895e10d9' }))));
|
|
27619
27682
|
}
|
|
27620
27683
|
validateInline(value) {
|
|
27621
27684
|
validateInline(this, value, {
|
|
@@ -27668,94 +27731,160 @@ class KolPopoverButton {
|
|
|
27668
27731
|
}; }
|
|
27669
27732
|
}
|
|
27670
27733
|
|
|
27671
|
-
const
|
|
27672
|
-
|
|
27673
|
-
const
|
|
27674
|
-
const
|
|
27675
|
-
return (hAsync("svg", { width: "100", viewBox: "0 0 120 120", xmlns: "http://www.w3.org/2000/svg" }, hAsync("circle", { class: "kol-progress__cycle-background", cx: "60", cy: "60", r: "54.5", fill: "currentColor", stroke: "currentColor", "stroke-width": "8" }), hAsync("circle", { class: "kol-progress__cycle-whitespace", cx: "60", cy: "60", r: "59", fill: "currentColor", stroke: "currentColor", "stroke-width": "3" }), hAsync("circle", { class: "kol-progress__cycle-border", cx: "60", cy: "60", r: "59", fill: "currentColor", stroke: "currentColor", "stroke-width": "1" }), hAsync("circle", { class: "kol-progress__cycle-whitespace", cx: "60", cy: "60", r: "51", fill: "currentColor", stroke: "currentColor", "stroke-width": "1" }), hAsync("circle", { class: "kol-progress__cycle-border", cx: "60", cy: "60", r: "50", fill: "currentColor", stroke: "currentColor", "stroke-width": "1" }), hAsync("circle", { class: "kol-progress__cycle-progress", fill: "currentColor", stroke: "currentColor", "stroke-linecap": "round", "stroke-dasharray": `${Math.round((state._value / state._max) * fullCircle)}px ${fullCircle}px`, "stroke-width": "6", cx: "60", cy: "60", r: "54.5" })));
|
|
27676
|
-
};
|
|
27677
|
-
const BarSvg = ({ state }) => {
|
|
27678
|
-
const percentage = 100 * (state._value / state._max);
|
|
27734
|
+
const FULL_CIRCLE = 342;
|
|
27735
|
+
const CycleSvg = ({ max, value }) => (hAsync("svg", { width: "100", viewBox: "0 0 120 120", xmlns: "http://www.w3.org/2000/svg" }, hAsync("circle", { class: "kol-progress__cycle-background", cx: "60", cy: "60", r: "54.5", fill: "currentColor", stroke: "currentColor", "stroke-width": "8" }), hAsync("circle", { class: "kol-progress__cycle-whitespace", cx: "60", cy: "60", r: "59", fill: "currentColor", stroke: "currentColor", "stroke-width": "3" }), hAsync("circle", { class: "kol-progress__cycle-border", cx: "60", cy: "60", r: "59", fill: "currentColor", stroke: "currentColor", "stroke-width": "1" }), hAsync("circle", { class: "kol-progress__cycle-whitespace", cx: "60", cy: "60", r: "51", fill: "currentColor", stroke: "currentColor", "stroke-width": "1" }), hAsync("circle", { class: "kol-progress__cycle-border", cx: "60", cy: "60", r: "50", fill: "currentColor", stroke: "currentColor", "stroke-width": "1" }), hAsync("circle", { class: "kol-progress__cycle-progress", fill: "currentColor", stroke: "currentColor", "stroke-linecap": "round", "stroke-dasharray": `${Math.round((value / max) * FULL_CIRCLE)}px ${FULL_CIRCLE}px`, "stroke-width": "6", cx: "60", cy: "60", r: "54.5" })));
|
|
27736
|
+
const BarSvg = ({ max, value }) => {
|
|
27737
|
+
const percentage = 100 * (value / max);
|
|
27679
27738
|
return (hAsync("svg", { xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "12", overflow: "visible" }, hAsync("rect", { class: "kol-progress__bar-background", x: "1", y: "1", height: "11", rx: "5", fill: "currentColor", stroke: "currentColor", "stroke-width": "3", width: "100%" }), hAsync("rect", { class: "kol-progress__bar-border", x: "1", y: "1", height: "11", rx: "5", fill: "currentColor", stroke: "currentColor", "stroke-width": "1", width: "100%" }), hAsync("rect", { class: "kol-progress__bar-progress", x: "3", y: "3", height: "7", rx: "3.5", fill: "currentColor", stroke: "currentColor", "stroke-width": "3", style: { width: `calc(${percentage}% - 4px)` } })));
|
|
27680
27739
|
};
|
|
27681
|
-
const createProgressSVG = (
|
|
27682
|
-
switch (
|
|
27740
|
+
const createProgressSVG = (variant, max, value) => {
|
|
27741
|
+
switch (variant) {
|
|
27683
27742
|
case 'cycle':
|
|
27684
|
-
return hAsync(CycleSvg, {
|
|
27743
|
+
return hAsync(CycleSvg, { max: max, value: value });
|
|
27685
27744
|
case 'bar':
|
|
27686
|
-
return hAsync(BarSvg, {
|
|
27745
|
+
return hAsync(BarSvg, { max: max, value: value });
|
|
27687
27746
|
default:
|
|
27688
|
-
throw new Error(`Progress variant ${
|
|
27747
|
+
throw new Error(`Progress variant ${variant} not implemented.`);
|
|
27689
27748
|
}
|
|
27690
27749
|
};
|
|
27691
|
-
|
|
27692
|
-
|
|
27693
|
-
|
|
27694
|
-
|
|
27695
|
-
|
|
27696
|
-
|
|
27697
|
-
|
|
27698
|
-
|
|
27699
|
-
|
|
27700
|
-
|
|
27701
|
-
|
|
27750
|
+
const ProgressFC = (props) => {
|
|
27751
|
+
const { label, max, unit, value, variant, liveValue } = props;
|
|
27752
|
+
const isPercentage = unit === '%';
|
|
27753
|
+
const liveProgressValue = isPercentage ? `${Math.round((liveValue / max) * 100)}` : liveValue;
|
|
27754
|
+
const displayValue = isPercentage ? Math.round((value / max) * 100) : value;
|
|
27755
|
+
const valueColumnWidth = `${`${(isPercentage ? 100 : max) + 1}`.length}ch`;
|
|
27756
|
+
return (hAsync("div", { class: "kol-progress" }, hAsync("div", { "aria-hidden": "true", class: {
|
|
27757
|
+
'kol-progress__cycle': variant === 'cycle',
|
|
27758
|
+
'kol-progress__bar': variant === 'bar',
|
|
27759
|
+
} }, variant === 'bar' && label && hAsync("div", { class: "kol-progress__bar-label" }, label), createProgressSVG(variant, max, value), variant === 'cycle' && (hAsync("div", { class: "kol-progress__cycle-text" }, label && hAsync("div", { class: "kol-progress__cycle-label" }, label), hAsync("div", { class: "kol-progress__cycle-value" }, `${displayValue} ${unit}`))), variant === 'bar' && (hAsync("div", { class: "kol-progress__bar-value", style: { width: valueColumnWidth } }, displayValue)), variant === 'bar' && hAsync("div", { class: "kol-progress__bar-unit" }, unit)), hAsync("progress", { class: "visually-hidden", "aria-busy": value < max ? 'true' : 'false', max: max, value: value }), hAsync("span", { "aria-live": "polite", "aria-relevant": "removals text", class: "visually-hidden" }, isPercentage ? `${liveProgressValue} %` : `${liveProgressValue} von ${max} ${unit}`)));
|
|
27760
|
+
};
|
|
27761
|
+
|
|
27762
|
+
class ProgressController extends BaseController {
|
|
27763
|
+
constructor(states) {
|
|
27764
|
+
super(states, {
|
|
27765
|
+
label: '',
|
|
27766
|
+
max: 100,
|
|
27767
|
+
unit: '%',
|
|
27768
|
+
value: 0,
|
|
27769
|
+
variant: 'bar',
|
|
27770
|
+
});
|
|
27702
27771
|
}
|
|
27703
|
-
|
|
27704
|
-
const
|
|
27705
|
-
|
|
27706
|
-
|
|
27707
|
-
|
|
27708
|
-
|
|
27709
|
-
|
|
27710
|
-
|
|
27772
|
+
componentWillLoad(props) {
|
|
27773
|
+
const { label, max, unit, value, variant } = props;
|
|
27774
|
+
this.watchLabel(label);
|
|
27775
|
+
this.watchMax(max);
|
|
27776
|
+
this.watchUnit(unit);
|
|
27777
|
+
this.watchValue(value);
|
|
27778
|
+
this.watchVariant(variant);
|
|
27779
|
+
this.setState('liveValue', this.getProps().value);
|
|
27780
|
+
this.setState('max', this.getProps().max);
|
|
27781
|
+
this.startLiveValueInterval();
|
|
27711
27782
|
}
|
|
27712
|
-
|
|
27713
|
-
|
|
27783
|
+
watchLabel(value) {
|
|
27784
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
27785
|
+
this.setProp('label', v);
|
|
27786
|
+
});
|
|
27714
27787
|
}
|
|
27715
|
-
|
|
27716
|
-
|
|
27717
|
-
|
|
27718
|
-
|
|
27719
|
-
watchNumber(this, '_max', value, {
|
|
27720
|
-
required: true,
|
|
27788
|
+
watchMax(value) {
|
|
27789
|
+
withValidPropValue(maxProp, value, (v) => {
|
|
27790
|
+
this.setProp('max', v);
|
|
27791
|
+
this.setState('max', v);
|
|
27721
27792
|
});
|
|
27793
|
+
this.watchValue(this.getProps().value);
|
|
27722
27794
|
}
|
|
27723
|
-
|
|
27724
|
-
|
|
27795
|
+
watchUnit(value) {
|
|
27796
|
+
withValidPropValue(unitProp, value, (v) => {
|
|
27797
|
+
this.setProp('unit', v);
|
|
27798
|
+
this.setState('unit', v);
|
|
27799
|
+
});
|
|
27725
27800
|
}
|
|
27726
|
-
|
|
27727
|
-
|
|
27728
|
-
value
|
|
27729
|
-
}
|
|
27730
|
-
watchNumber(this, '_value', value, {
|
|
27731
|
-
required: true,
|
|
27801
|
+
watchValue(value) {
|
|
27802
|
+
withValidPropValue(valueProp, this.clampValue(value), (v) => {
|
|
27803
|
+
this.setProp('value', v);
|
|
27732
27804
|
});
|
|
27733
27805
|
}
|
|
27734
|
-
|
|
27735
|
-
|
|
27806
|
+
watchVariant(value) {
|
|
27807
|
+
withValidPropValue(variantProgressProp, value, (v) => {
|
|
27808
|
+
this.setProp('variant', v);
|
|
27809
|
+
this.setState('variant', v);
|
|
27810
|
+
});
|
|
27736
27811
|
}
|
|
27737
|
-
|
|
27738
|
-
|
|
27739
|
-
|
|
27740
|
-
|
|
27741
|
-
|
|
27742
|
-
|
|
27743
|
-
|
|
27812
|
+
clampValue(value) {
|
|
27813
|
+
if (typeof value === 'number') {
|
|
27814
|
+
if (value > this.component.max) {
|
|
27815
|
+
value = this.component.max;
|
|
27816
|
+
}
|
|
27817
|
+
if (value < 0) {
|
|
27818
|
+
value = 0;
|
|
27819
|
+
}
|
|
27820
|
+
}
|
|
27821
|
+
return value;
|
|
27822
|
+
}
|
|
27823
|
+
startLiveValueInterval() {
|
|
27744
27824
|
this.interval = setInterval(() => {
|
|
27745
|
-
|
|
27746
|
-
|
|
27825
|
+
const { value } = this.getProps();
|
|
27826
|
+
if (this.component.liveValue !== value) {
|
|
27827
|
+
this.setState('liveValue', value);
|
|
27747
27828
|
}
|
|
27748
27829
|
}, 5000);
|
|
27749
27830
|
}
|
|
27831
|
+
destroy() {
|
|
27832
|
+
if (this.interval) {
|
|
27833
|
+
clearInterval(this.interval);
|
|
27834
|
+
this.interval = undefined;
|
|
27835
|
+
}
|
|
27836
|
+
}
|
|
27837
|
+
}
|
|
27838
|
+
|
|
27839
|
+
const defaultStyleCss$f = "/* 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-progress__bar {\n display: grid;\n column-gap: 0.05rem;\n align-items: center;\n grid-template-areas: \"LABEL LABEL LABEL\" \"BAR VALUE UNIT\";\n grid-template-columns: 1fr auto;\n }\n .kol-progress__bar-label {\n grid-column-end: 2;\n grid-area: LABEL;\n }\n .kol-progress__bar svg {\n grid-area: BAR;\n }\n .kol-progress__bar-value {\n grid-area: VALUE;\n text-align: right;\n }\n .kol-progress__bar-unit {\n grid-area: UNIT;\n }\n .kol-progress__bar-border {\n fill: transparent;\n stroke: black;\n }\n .kol-progress__bar-background {\n fill: lightgray;\n stroke: white;\n }\n .kol-progress__bar-progress {\n fill: #0075ff;\n stroke: transparent;\n }\n @media (prefers-reduced-motion: no-preference) {\n .kol-progress__bar-progress {\n transition: 250ms ease-in-out 50ms;\n }\n }\n .kol-progress__cycle {\n display: grid;\n align-content: center;\n justify-items: center;\n grid-template-areas: \"ALL\";\n grid-template-columns: auto;\n }\n .kol-progress__cycle > * {\n grid-area: ALL;\n }\n .kol-progress__cycle-text {\n display: flex;\n flex-direction: column;\n justify-content: center;\n font-size: x-small;\n text-align: center;\n }\n .kol-progress__cycle-text * {\n background-color: white;\n }\n .kol-progress__cycle-background {\n fill: transparent;\n stroke: lightgray;\n }\n .kol-progress__cycle-border {\n fill: transparent;\n stroke: black;\n }\n .kol-progress__cycle-whitespace {\n fill: transparent;\n stroke: white;\n }\n .kol-progress__cycle-progress {\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n fill: transparent;\n stroke: #0075ff;\n }\n @media (prefers-reduced-motion: no-preference) {\n .kol-progress__cycle-progress {\n transition: 250ms ease-in-out 50ms;\n }\n }\n}";
|
|
27840
|
+
|
|
27841
|
+
class KolProgress {
|
|
27842
|
+
constructor(hostRef) {
|
|
27843
|
+
registerInstance(this, hostRef);
|
|
27844
|
+
this.ctrl = new ProgressController(this);
|
|
27845
|
+
this.unit = '%';
|
|
27846
|
+
this.variant = 'bar';
|
|
27847
|
+
this.liveValue = 0;
|
|
27848
|
+
this.max = this._max;
|
|
27849
|
+
}
|
|
27850
|
+
watchLabel(value) {
|
|
27851
|
+
this.ctrl.watchLabel(value);
|
|
27852
|
+
}
|
|
27853
|
+
watchMax(value) {
|
|
27854
|
+
this.ctrl.watchMax(value);
|
|
27855
|
+
}
|
|
27856
|
+
watchUnit(value) {
|
|
27857
|
+
this.ctrl.watchUnit(value);
|
|
27858
|
+
}
|
|
27859
|
+
watchValue(value) {
|
|
27860
|
+
this.ctrl.watchValue(value);
|
|
27861
|
+
}
|
|
27862
|
+
watchVariant(value) {
|
|
27863
|
+
this.ctrl.watchVariant(value);
|
|
27864
|
+
}
|
|
27865
|
+
componentWillLoad() {
|
|
27866
|
+
this.ctrl.componentWillLoad({
|
|
27867
|
+
label: this._label,
|
|
27868
|
+
max: this._max,
|
|
27869
|
+
unit: this._unit,
|
|
27870
|
+
value: this._value,
|
|
27871
|
+
variant: this._variant,
|
|
27872
|
+
});
|
|
27873
|
+
}
|
|
27750
27874
|
disconnectedCallback() {
|
|
27751
|
-
|
|
27875
|
+
this.ctrl.destroy();
|
|
27876
|
+
}
|
|
27877
|
+
render() {
|
|
27878
|
+
const { label, max, unit, value, variant } = this.ctrl.getProps();
|
|
27879
|
+
const { liveValue } = this;
|
|
27880
|
+
return (hAsync(Host, { key: 'c101389f829d2be6f356a198fff8a557d6bcac46' }, hAsync(ProgressFC, { key: '805ea44845b7fb33b5e993b9dd4f5b2848933d7b', label: label, max: max, unit: unit, value: value, variant: variant, liveValue: liveValue })));
|
|
27752
27881
|
}
|
|
27753
27882
|
static get watchers() { return {
|
|
27754
|
-
"_label": ["
|
|
27755
|
-
"_max": ["
|
|
27756
|
-
"_unit": ["
|
|
27757
|
-
"_value": ["
|
|
27758
|
-
"_variant": ["
|
|
27883
|
+
"_label": ["watchLabel"],
|
|
27884
|
+
"_max": ["watchMax"],
|
|
27885
|
+
"_unit": ["watchUnit"],
|
|
27886
|
+
"_value": ["watchValue"],
|
|
27887
|
+
"_variant": ["watchVariant"]
|
|
27759
27888
|
}; }
|
|
27760
27889
|
static get style() { return {
|
|
27761
27890
|
default: defaultStyleCss$f
|
|
@@ -27769,7 +27898,10 @@ class KolProgress {
|
|
|
27769
27898
|
"_unit": [1],
|
|
27770
27899
|
"_value": [2],
|
|
27771
27900
|
"_variant": [1],
|
|
27772
|
-
"
|
|
27901
|
+
"unit": [32],
|
|
27902
|
+
"variant": [32],
|
|
27903
|
+
"liveValue": [32],
|
|
27904
|
+
"max": [32]
|
|
27773
27905
|
},
|
|
27774
27906
|
"$listeners$": undefined,
|
|
27775
27907
|
"$lazyBundleId$": "-",
|
|
@@ -27777,47 +27909,93 @@ class KolProgress {
|
|
|
27777
27909
|
}; }
|
|
27778
27910
|
}
|
|
27779
27911
|
|
|
27780
|
-
const
|
|
27912
|
+
const quoteBem = bem$2.forBlock('kol-quote');
|
|
27913
|
+
const BEM_CLASS_QUOTE__BLOCKQUOTE = quoteBem('blockquote');
|
|
27914
|
+
const BEM_CLASS_QUOTE__CITE = quoteBem('cite');
|
|
27915
|
+
const BEM_CLASS_QUOTE__FIGCAPTION = quoteBem('figcaption');
|
|
27916
|
+
const BEM_CLASS_QUOTE__QUOTE = quoteBem('quote');
|
|
27917
|
+
const QuoteFC = (props) => {
|
|
27918
|
+
const { href, label, quote, variant } = props;
|
|
27919
|
+
const hasExpertSlot = quote === '';
|
|
27920
|
+
const BEM_CLASS_ROOT = quoteBem({ [variant]: true });
|
|
27921
|
+
return (hAsync("figure", { class: BEM_CLASS_ROOT }, variant === 'block' ? (hAsync("blockquote", { class: BEM_CLASS_QUOTE__BLOCKQUOTE, cite: href }, quote, hAsync("span", { "aria-hidden": !hasExpertSlot ? 'true' : undefined, hidden: !hasExpertSlot }, hAsync("slot", { name: "expert" })))) : (hAsync("q", { class: BEM_CLASS_QUOTE__QUOTE, cite: href }, quote, hAsync("span", { "aria-hidden": !hasExpertSlot ? 'true' : undefined, hidden: !hasExpertSlot }, hAsync("slot", { name: "expert" })))), typeof label === 'string' && label.length > 0 && (hAsync("figcaption", { class: BEM_CLASS_QUOTE__FIGCAPTION }, hAsync("cite", { class: BEM_CLASS_QUOTE__CITE }, hAsync(KolLinkTag, { _href: href, _label: label, _target: "_blank" }))))));
|
|
27922
|
+
};
|
|
27923
|
+
|
|
27924
|
+
class QuoteController extends BaseController {
|
|
27925
|
+
constructor() {
|
|
27926
|
+
super({}, {
|
|
27927
|
+
href: '',
|
|
27928
|
+
label: '',
|
|
27929
|
+
quote: '',
|
|
27930
|
+
variant: 'inline',
|
|
27931
|
+
});
|
|
27932
|
+
}
|
|
27933
|
+
componentWillLoad(props) {
|
|
27934
|
+
const { href, label, quote, variant } = props;
|
|
27935
|
+
this.watchHref(href);
|
|
27936
|
+
this.watchLabel(label);
|
|
27937
|
+
this.watchQuote(quote);
|
|
27938
|
+
this.watchVariant(variant);
|
|
27939
|
+
}
|
|
27940
|
+
watchHref(value) {
|
|
27941
|
+
withValidPropValue(hrefProp, value, (v) => {
|
|
27942
|
+
this.setProp('href', v);
|
|
27943
|
+
});
|
|
27944
|
+
}
|
|
27945
|
+
watchLabel(value) {
|
|
27946
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
27947
|
+
this.setProp('label', v);
|
|
27948
|
+
});
|
|
27949
|
+
}
|
|
27950
|
+
watchQuote(value) {
|
|
27951
|
+
withValidPropValue(quoteProp, value, (v) => {
|
|
27952
|
+
this.setProp('quote', v);
|
|
27953
|
+
});
|
|
27954
|
+
}
|
|
27955
|
+
watchVariant(value) {
|
|
27956
|
+
withValidPropValue(variantQuoteProp, value, (v) => {
|
|
27957
|
+
this.setProp('variant', v);
|
|
27958
|
+
});
|
|
27959
|
+
}
|
|
27960
|
+
}
|
|
27961
|
+
|
|
27962
|
+
const defaultStyleCss$e = "@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-quote {\n display: inline;\n margin: 0;\n padding: 0;\n }\n .kol-quote__cite::before {\n content: \"—\";\n }\n .kol-quote--block .kol-quote__cite::before {\n padding-right: 0.5em;\n }\n .kol-quote--inline .kol-quote__cite::before {\n padding: 0.5em;\n }\n .kol-quote--block .kol-quote__figcaption {\n display: inline;\n margin: 0;\n padding: 0;\n }\n .kol-quote__blockquote::before {\n content: open-quote;\n }\n .kol-quote__blockquote::after {\n content: close-quote;\n }\n}";
|
|
27781
27963
|
|
|
27782
27964
|
class KolQuote {
|
|
27783
27965
|
constructor(hostRef) {
|
|
27784
27966
|
registerInstance(this, hostRef);
|
|
27967
|
+
this.ctrl = new QuoteController();
|
|
27785
27968
|
this._variant = 'inline';
|
|
27786
|
-
this.state = {
|
|
27787
|
-
_href: '',
|
|
27788
|
-
_quote: '',
|
|
27789
|
-
_variant: 'inline',
|
|
27790
|
-
};
|
|
27791
27969
|
}
|
|
27792
|
-
|
|
27793
|
-
|
|
27970
|
+
watchHref(value) {
|
|
27971
|
+
this.ctrl.watchHref(value);
|
|
27794
27972
|
}
|
|
27795
|
-
|
|
27796
|
-
|
|
27797
|
-
required: true,
|
|
27798
|
-
});
|
|
27973
|
+
watchLabel(value) {
|
|
27974
|
+
this.ctrl.watchLabel(value);
|
|
27799
27975
|
}
|
|
27800
|
-
|
|
27801
|
-
|
|
27976
|
+
watchQuote(value) {
|
|
27977
|
+
this.ctrl.watchQuote(value);
|
|
27802
27978
|
}
|
|
27803
|
-
|
|
27804
|
-
|
|
27979
|
+
watchVariant(value) {
|
|
27980
|
+
this.ctrl.watchVariant(value);
|
|
27805
27981
|
}
|
|
27806
27982
|
componentWillLoad() {
|
|
27807
|
-
this.
|
|
27808
|
-
|
|
27809
|
-
|
|
27810
|
-
|
|
27983
|
+
this.ctrl.componentWillLoad({
|
|
27984
|
+
href: this._href,
|
|
27985
|
+
label: this._label,
|
|
27986
|
+
quote: this._quote,
|
|
27987
|
+
variant: this._variant,
|
|
27988
|
+
});
|
|
27811
27989
|
}
|
|
27812
27990
|
render() {
|
|
27813
|
-
const
|
|
27814
|
-
return (hAsync(
|
|
27991
|
+
const { href, label, quote, variant } = this.ctrl.getProps();
|
|
27992
|
+
return (hAsync(Host, { key: 'd00028f8f46d69f8af987135505eb7ce06adb2fc' }, hAsync(QuoteFC, { key: '06a839262e565e7cbc6e19baff0d1869ca9fda78', href: href, label: label, quote: quote, variant: variant })));
|
|
27815
27993
|
}
|
|
27816
27994
|
static get watchers() { return {
|
|
27817
|
-
"
|
|
27818
|
-
"
|
|
27819
|
-
"_quote": ["
|
|
27820
|
-
"_variant": ["
|
|
27995
|
+
"_href": ["watchHref"],
|
|
27996
|
+
"_label": ["watchLabel"],
|
|
27997
|
+
"_quote": ["watchQuote"],
|
|
27998
|
+
"_variant": ["watchVariant"]
|
|
27821
27999
|
}; }
|
|
27822
28000
|
static get style() { return {
|
|
27823
28001
|
default: defaultStyleCss$e
|
|
@@ -27826,11 +28004,10 @@ class KolQuote {
|
|
|
27826
28004
|
"$flags$": 297,
|
|
27827
28005
|
"$tagName$": "kol-quote",
|
|
27828
28006
|
"$members$": {
|
|
27829
|
-
"_label": [1],
|
|
27830
28007
|
"_href": [1],
|
|
28008
|
+
"_label": [1],
|
|
27831
28009
|
"_quote": [1],
|
|
27832
|
-
"_variant": [1]
|
|
27833
|
-
"state": [32]
|
|
28010
|
+
"_variant": [1]
|
|
27834
28011
|
},
|
|
27835
28012
|
"$listeners$": undefined,
|
|
27836
28013
|
"$lazyBundleId$": "-",
|
|
@@ -27864,7 +28041,7 @@ class KolSelect {
|
|
|
27864
28041
|
return Promise.resolve((_a = this.selectWcRef) === null || _a === void 0 ? void 0 : _a.focus());
|
|
27865
28042
|
}
|
|
27866
28043
|
render() {
|
|
27867
|
-
return (hAsync(Host, { key: '
|
|
28044
|
+
return (hAsync(Host, { key: '1e92431ea58a4bfc3f0de2bdf454f6a9e027fe98', class: "kol-select" }, hAsync(KolSelectWcTag, { key: '57a74fe2dae64061fe7ca517db9b4ebd93c89a73', ref: this.catchRef, _accessKey: this._accessKey, _disabled: this._disabled, _hideLabel: this._hideLabel, _hideMsg: this._hideMsg, _hint: this._hint, _icons: this._icons, _label: this._label, _msg: this._msg, _multiple: this._multiple, _name: this._name, _on: this._on, _options: this._options, _required: this._required, _rows: this._rows, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tabIndex: this._tabIndex, _tooltipAlign: this._tooltipAlign, _touched: this._touched, _value: this._value }, hAsync("slot", { key: '409f1436592a63649350d56f3dc6d4a7901aad9f', name: "expert", slot: "expert" }))));
|
|
27868
28045
|
}
|
|
27869
28046
|
static get style() { return {
|
|
27870
28047
|
default: defaultStyleCss$d
|
|
@@ -28127,11 +28304,11 @@ class KolSelectWc {
|
|
|
28127
28304
|
} });
|
|
28128
28305
|
}
|
|
28129
28306
|
render() {
|
|
28130
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28307
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '5f0a307074c04096c87c8562bb4b32cd7a68fe33' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '1c4df443d35659907835ce2a72d16fb2a23be340', state: this.state }, hAsync("form", { key: '78f8b37700ac271ebcfb92529e0fefbd79fffedd', onSubmit: (event) => {
|
|
28131
28308
|
event.preventDefault();
|
|
28132
28309
|
propagateSubmitEventToForm({
|
|
28133
28310
|
form: this.host});
|
|
28134
|
-
} }, hAsync("input", { key: '
|
|
28311
|
+
} }, hAsync("input", { key: '73ccb43eee0a4e71e9fa907d4e6a40bdf903fb33', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: '4cb054a8550a6c58eac0fdc23e751152c141c592' }, this.getSelectProps()))))));
|
|
28135
28312
|
}
|
|
28136
28313
|
constructor(hostRef) {
|
|
28137
28314
|
registerInstance(this, hostRef);
|
|
@@ -28541,15 +28718,15 @@ class KolSingleSelect {
|
|
|
28541
28718
|
render() {
|
|
28542
28719
|
var _a;
|
|
28543
28720
|
const isDisabled = this.state._disabled === true;
|
|
28544
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28721
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'ad9a38a46479da356b1907afd906c0af53d0207e' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '43954af770afef0dd073dc250071d43022553c20', state: this.state }, hAsync("div", { key: 'd169f4b094570987aa89e37845df5c32dbb59e14', class: "kol-single-select__group" }, hAsync(InputStateWrapper, Object.assign({ key: '05c882735fb65b1d38415cbdf18bf0965ac3d879' }, this.getInputProps())), this._inputValue && this.state._hasClearButton && (hAsync(KolButtonWcTag, { key: '573c57f90fed05f2a37c01176c6b6400c6776d6c', _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: {
|
|
28545
28722
|
onClick: () => {
|
|
28546
28723
|
var _a;
|
|
28547
28724
|
this.clearSelection();
|
|
28548
28725
|
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28549
28726
|
},
|
|
28550
|
-
} })), hAsync(KolIconTag, { key: '
|
|
28727
|
+
} })), hAsync(KolIconTag, { key: '1c7113d7a3b0f2f7880565019f8564e6158bd739', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
|
|
28551
28728
|
'kol-custom-suggestions-toggle--disabled': isDisabled,
|
|
28552
|
-
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '
|
|
28729
|
+
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '62384a52d06f722bf25cbec7172dcf8f45a811ea', 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) => {
|
|
28553
28730
|
if (el)
|
|
28554
28731
|
this.refOptions[index] = el;
|
|
28555
28732
|
}, selected: this._value === option.value, disabled: option.disabled ? true : false, onClick: (event) => {
|
|
@@ -29037,7 +29214,7 @@ class KolSkeleton {
|
|
|
29037
29214
|
render() {
|
|
29038
29215
|
const { count, name } = this.ctrl.getProps();
|
|
29039
29216
|
const { label, show } = this;
|
|
29040
|
-
return (hAsync(Host, { key: '
|
|
29217
|
+
return (hAsync(Host, { key: '6358ec20f7531a0a536b84c0a1dd2f54e6b2bf7a' }, hAsync(SkeletonFC, { key: '715b10c0aa93c24425c55b01a737d1950128225f', count: count, label: label, name: name, handleClick: () => this.ctrl.handleClick(), onLoaded: this.loaded, onRendered: this.rendered, show: show, refButton: (element) => this.ctrl.setButtonRef(element) })));
|
|
29041
29218
|
}
|
|
29042
29219
|
static get watchers() { return {
|
|
29043
29220
|
"_count": ["watchCount"],
|
|
@@ -29072,7 +29249,7 @@ class KolSkipNav {
|
|
|
29072
29249
|
};
|
|
29073
29250
|
}
|
|
29074
29251
|
render() {
|
|
29075
|
-
return (hAsync("nav", { key: '
|
|
29252
|
+
return (hAsync("nav", { key: 'a6ded7b2bae70f051fc586555aef04f635ded319', class: "kol-skip-nav", "aria-label": this.state._label }, hAsync("ul", { key: 'f56a7c1fc39183f822a1bf782829b01b4252b44d', class: "kol-skip-nav__list" }, this.state._links.map((link, index) => {
|
|
29076
29253
|
return (hAsync("li", { class: "kol-skip-nav__list-item", key: index }, hAsync(KolLinkWcTag, Object.assign({}, link, { ref: index === 0 ? (el) => (this.firstLinkRef = el) : undefined }))));
|
|
29077
29254
|
}))));
|
|
29078
29255
|
}
|
|
@@ -29121,7 +29298,7 @@ class KolSkipNav {
|
|
|
29121
29298
|
}; }
|
|
29122
29299
|
}
|
|
29123
29300
|
|
|
29124
|
-
const defaultStyleCss$a = "/* 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 @keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n @keyframes prixClipFix {\n 0% {\n border-color: #fff;\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n 25% {\n border-color: #666;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);\n }\n 50% {\n border-color: #000;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);\n }\n 75% {\n border-color: #000;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);\n }\n 100% {\n border-color: #000;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n }\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion#toning_down_the_animation_scaling */\n @media (prefers-reduced-motion) {\n .kol-spin__loader {\n animation-duration: 4s;\n }\n .kol-spin__loader::before {\n animation-duration: 6s;\n }\n }\n .kol-spin__spinner--cycle {\n width: calc(48 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(48 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-spin__loader {\n border-radius: 50%;\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n animation: 2s linear infinite rotate;\n }\n .kol-spin__loader::before {\n border-radius: 50%;\n position: absolute;\n inset: 0;\n content: \"\";\n animation: 3s linear infinite prixClipFix;\n border: 5px solid #333;\n }\n}\n@layer kol-component {\n @keyframes spin1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n }\n @keyframes spin2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(calc(16 * 1rem / var(--kolibri-root-font-size, 16)), 0);\n }\n }\n @keyframes spin3 {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n }\n }\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion#toning_down_the_animation_scaling */\n @media (prefers-reduced-motion) {\n .kol-spin__spinner-element {\n animation-duration: 2s;\n }\n }\n .kol-spin__spinner--dot {\n width: calc(48 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-spin__spinner-element {\n border-radius: 50%;\n position: absolute;\n top: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16));\n width: calc(12.8 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(12.8 * 1rem / var(--kolibri-root-font-size, 16));\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n border: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16)) solid #fff;\n }\n .kol-spin__spinner-element--1 {\n background-color: #000;\n left: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 0;\n animation: 1s infinite spin1;\n }\n .kol-spin__spinner-element--2 {\n background-color: #000;\n left: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 1;\n animation: 1s infinite spin2;\n }\n .kol-spin__spinner-element--3 {\n background-color: #000;\n left: calc(17.6 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 1;\n animation: 1s infinite spin2;\n }\n .kol-spin__spinner-element--neutral {\n background-color: #666;\n left: calc(33.6 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 0;\n animation: 1s infinite spin3;\n }\n}\n@layer kol-component {\n .kol-spin__spinner {\n display: block;\n position: relative;\n padding: calc(2 * 1rem / var(--kolibri-root-font-size, 16));\n }\n}";
|
|
29301
|
+
const defaultStyleCss$a = "/* 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 @keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n @keyframes prixClipFix {\n 0% {\n border-color: #fff;\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n 25% {\n border-color: #666;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);\n }\n 50% {\n border-color: #000;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);\n }\n 75% {\n border-color: #000;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);\n }\n 100% {\n border-color: #000;\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n }\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion#toning_down_the_animation_scaling */\n @media (prefers-reduced-motion) {\n .kol-spin__loader {\n animation-duration: 4s !important;\n }\n .kol-spin__loader::before {\n animation-duration: 6s !important;\n }\n }\n .kol-spin__spinner--cycle {\n width: calc(48 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(48 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-spin__loader {\n border-radius: 50%;\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n animation: 2s linear infinite rotate;\n }\n .kol-spin__loader::before {\n border-radius: 50%;\n position: absolute;\n inset: 0;\n content: \"\";\n animation: 3s linear infinite prixClipFix;\n border: 5px solid #333;\n }\n}\n@layer kol-component {\n @keyframes spin1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n }\n @keyframes spin2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(calc(16 * 1rem / var(--kolibri-root-font-size, 16)), 0);\n }\n }\n @keyframes spin3 {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n }\n }\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion#toning_down_the_animation_scaling */\n @media (prefers-reduced-motion) {\n .kol-spin__spinner-element {\n animation-duration: 2s !important;\n }\n }\n .kol-spin__spinner--dot {\n width: calc(48 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-spin__spinner-element {\n border-radius: 50%;\n position: absolute;\n top: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16));\n width: calc(12.8 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(12.8 * 1rem / var(--kolibri-root-font-size, 16));\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n border: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16)) solid #fff;\n }\n .kol-spin__spinner-element--1 {\n background-color: #000;\n left: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 0;\n animation: 1s infinite spin1;\n }\n .kol-spin__spinner-element--2 {\n background-color: #000;\n left: calc(0.16 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 1;\n animation: 1s infinite spin2;\n }\n .kol-spin__spinner-element--3 {\n background-color: #000;\n left: calc(17.6 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 1;\n animation: 1s infinite spin2;\n }\n .kol-spin__spinner-element--neutral {\n background-color: #666;\n left: calc(33.6 * 1rem / var(--kolibri-root-font-size, 16));\n z-index: 0;\n animation: 1s infinite spin3;\n }\n}\n@layer kol-component {\n .kol-spin__spinner {\n display: block;\n position: relative;\n padding: calc(2 * 1rem / var(--kolibri-root-font-size, 16));\n }\n}";
|
|
29125
29302
|
|
|
29126
29303
|
function renderSpin(variant) {
|
|
29127
29304
|
switch (variant) {
|
|
@@ -29148,7 +29325,7 @@ class KolSpin {
|
|
|
29148
29325
|
}
|
|
29149
29326
|
render() {
|
|
29150
29327
|
var _a, _b;
|
|
29151
|
-
return (hAsync(Host, { key: '
|
|
29328
|
+
return (hAsync(Host, { key: 'a65699e1797bd8ec134c364e7221a084b43be1fb', class: "kol-spin" }, this.state._show ? (hAsync(Fragment, null, hAsync("span", { class: clsx('kol-spin__spinner', `kol-spin__spinner--${this.state._variant}`) }, renderSpin(this.state._variant)), hAsync("span", { "aria-busy": "true", class: "visually-hidden", role: "alert" }, (_a = this.state._label) !== null && _a !== void 0 ? _a : this.translateActionRunning))) : (this.showToggled && (hAsync("span", { "aria-busy": "false", class: "visually-hidden", role: "alert" }, (_b = this.state._label) !== null && _b !== void 0 ? _b : this.translateActionDone)))));
|
|
29152
29329
|
}
|
|
29153
29330
|
validateShow(value) {
|
|
29154
29331
|
this.showToggled = this.state._show === true && this._show === false;
|
|
@@ -29235,10 +29412,10 @@ class KolSplitButton {
|
|
|
29235
29412
|
}
|
|
29236
29413
|
render() {
|
|
29237
29414
|
const i18nDropdownLabel = 'kol-split-button-dropdown-label';
|
|
29238
|
-
return (hAsync("div", { key: '
|
|
29415
|
+
return (hAsync("div", { key: 'd78bc8dd9db17e47d7341304963c68855c957881', class: "kol-split-button" }, hAsync("div", { key: 'd1156a676b55082b2465bb6936bb272287c3c59b', class: "kol-split-button__root" }, hAsync(KolButtonWcTag, { key: '640ec607e31a21e9c1873ef1ebe509b1b23dc7d6', class: clsx('kol-split-button__button', {
|
|
29239
29416
|
[this._variant]: this._variant !== 'custom',
|
|
29240
29417
|
[this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
|
|
29241
|
-
}), ref: this.catchPrimaryRef, _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: '
|
|
29418
|
+
}), ref: this.catchPrimaryRef, _accessKey: this._accessKey, _ariaControls: this._ariaControls, _ariaDescription: this._ariaDescription, _ariaExpanded: this._ariaExpanded, _ariaSelected: this._ariaSelected, _customClass: this._customClass, _disabled: this._disabled, _icons: this._icons, _hideLabel: this._hideLabel, _label: this._label, _name: this._name, _on: this.clickButtonHandler, _shortKey: this._shortKey, _syncValueBySelector: this._syncValueBySelector, _tooltipAlign: this._tooltipAlign, _type: this._type, _value: this._value, _variant: this._variant }), hAsync("div", { key: '29ab6f963a74581b514bdc06d68bec88a6835f5b', class: "kol-split-button__horizontal-line" }), hAsync(KolButtonWcTag, { key: 'a8bb82ea82d8051f34e2b187d75dd7da63356d40', class: "kol-split-button__secondary-button", _disabled: this._disabled, _hideLabel: true, _icons: "kolicon-chevron-down", _label: this.state._show ? translate(`${i18nDropdownLabel}-close`) : translate(`${i18nDropdownLabel}-open`), _on: this.clickToggleHandler })), hAsync(KolPopoverWcTag, { key: '5993a01d500e06067ab0ff044808da91b9bfa8eb', _show: this.state._show, _on: { onClose: this.handleOnClose }, _align: "bottom" }, hAsync("slot", { key: 'ceb376d48a5226d27a93594dc735b1db65c2d661' }))));
|
|
29242
29419
|
}
|
|
29243
29420
|
async closePopup() {
|
|
29244
29421
|
this.handleOnClose();
|
|
@@ -29379,7 +29556,7 @@ class KolTableSettings {
|
|
|
29379
29556
|
}
|
|
29380
29557
|
render() {
|
|
29381
29558
|
const columns = this.getPrimaryRow();
|
|
29382
|
-
return (hAsync(KolPopoverButtonWcTag, { key: '
|
|
29559
|
+
return (hAsync(KolPopoverButtonWcTag, { key: '6b14b66960b20d563cb179151d92bd5ad637ee70', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "kolicon-settings", _label: this.translateTableSettings, _popoverAlign: "top", _hideLabel: true }, hAsync("div", { key: 'c74cdedbe619d4a1645fd1ce81710f0a74252261', class: "kol-table-settings__content" }, hAsync(KolHeadingTag, { key: '815873c0a097ec6c2687600da1220edc2d1a73e7', _label: this.translateTableSettings, _level: 0 }), this.errorMessage && hAsync(KolAlertWcTag, { key: 'd2fdd21fbaa2cfc12c92aa14e47e5c7786098224', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), hAsync("form", { key: '6b09b4361de06b27ca7e6caba3a6f33d1f984ec6', onSubmit: this.handleSubmit.bind(this) }, hAsync("div", { key: '90221e20a5b9af7885fb1f562a03e78966cc8927', class: "kol-table-settings__columns-container" }, hAsync("div", { key: '08005a0dd7c15640e93871ad2e013b05eefde867', 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: '97508d969aded22fdb44a598f831dadf50a12d12', class: "kol-table-settings__actions" }, hAsync(KolButtonWcTag, { key: '86b461aa0c52eb41fea1c52cca06a69b57f403ce', _label: this.translateTableSettingsCancel, _variant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), hAsync(KolButtonWcTag, { key: '117088cffd7c22f19528f12b14df6ef239e08339', _label: this.translateTableSettingsApply, _variant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
|
|
29383
29560
|
}
|
|
29384
29561
|
get host() { return getElement(this); }
|
|
29385
29562
|
static get watchers() { return {
|
|
@@ -29438,7 +29615,7 @@ var KeyboardKey;
|
|
|
29438
29615
|
KeyboardKey["Space"] = " ";
|
|
29439
29616
|
})(KeyboardKey || (KeyboardKey = {}));
|
|
29440
29617
|
|
|
29441
|
-
const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: inline-block;\n }\n .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-popover-button--inline .kol-popover-button__button {\n display: inline;\n }\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings .kol-popover-button__popover {\n background: #fff;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n border-radius: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n border: 1px solid #d1d5db;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n gap: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content minmax(max-content, 1fr) calc(140 * 1rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table__table {\n table-layout: fixed;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__sort {\n display: inline-flex;\n gap: 0.25rem;\n align-items: center;\n }\n .kol-table__sort-order {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n align-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n align-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n align-items: end;\n }\n .kol-table__cell--selection {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__cell--actions {\n white-space: nowrap;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-table__cell--actions .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-link {\n display: inline-flex;\n max-width: fit-content;\n align-items: baseline;\n place-items: center;\n text-align: left;\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-link--standalone {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: stretch;\n }\n .kol-table__cell--actions .kol-link--standalone .kol-link__text {\n display: inline-flex;\n flex: 1 1 100%;\n place-items: center;\n }\n .kol-table__cell--actions .kol-link .kol-span__label {\n text-decoration-line: underline;\n }\n .kol-table__cell--actions .kol-link:focus:not([aria-disabled], [disabled]) .kol-span__label, .kol-table__cell--actions .kol-link:hover:not([aria-disabled], [disabled]) .kol-span__label {\n text-decoration-thickness: 0.2em;\n }\n .kol-table__cell--actions .kol-link__icon {\n display: inline-flex;\n margin-left: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-table__cell-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n display: flex;\n position: relative;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n min-width: calc(var(--a11y-min-size) / 2);\n min-height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text:not(:has(> [name]))::after,\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n container: paging/inline-size;\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\n @container paging (width < 600px) {\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__button--numbers),\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__separator) {\n display: none;\n }\n }\n}";
|
|
29618
|
+
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__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}";
|
|
29442
29619
|
|
|
29443
29620
|
const PAGINATION_OPTIONS = [10, 20, 50, 100];
|
|
29444
29621
|
const paginationValidator = (value) => value === true || value === '' || (typeof value === 'object' && value !== null);
|
|
@@ -29696,7 +29873,7 @@ class KolTableStateful {
|
|
|
29696
29873
|
label: `${this.state._label} (${translate(`kol-pagination-position-${position}`)})`,
|
|
29697
29874
|
},
|
|
29698
29875
|
});
|
|
29699
|
-
return (hAsync("div", { class: `kol-table-stateful__pagination kol-table-stateful__pagination--${this.state._paginationPosition}` }, hAsync("div", { class: "kol-table-stateful__pagination-wrapper" }, hAsync(KolPaginationWcTag, {
|
|
29876
|
+
return (hAsync("div", { class: `kol-table-stateful__pagination kol-table-stateful__pagination--${this.state._paginationPosition}` }, hAsync("div", { class: "kol-table-stateful__pagination-wrapper" }, hAsync(KolPaginationWcTag, { _boundaryCount: this.state._pagination._boundaryCount, _customClass: this.state._pagination._customClass, _hasButtons: this.state._pagination._hasButtons, _on: this.handlePagination, _page: this.state._pagination._page, _pageSize: this.state._pagination._pageSize, _pageSizeOptions: this.state._pagination._pageSizeOptions || PAGINATION_OPTIONS, _siblingCount: this.state._pagination._siblingCount, _tooltipAlign: "bottom", _max: this.state._pagination._max || this.state._pagination._max || this.state._data.length, _label: label }))));
|
|
29700
29877
|
}
|
|
29701
29878
|
getHeaderCellSortState(headerCell) {
|
|
29702
29879
|
if (headerCell.type !== undefined && headerCell.type !== 'default') {
|
|
@@ -29768,7 +29945,7 @@ class KolTableStateful {
|
|
|
29768
29945
|
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 : [],
|
|
29769
29946
|
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 : [],
|
|
29770
29947
|
};
|
|
29771
|
-
return (hAsync(Host, { key: '
|
|
29948
|
+
return (hAsync(Host, { key: '675f42b50769cc6b92d978ad22347c53c38254bf', class: "kol-table-stateful" }, this.pageEndSlice > 0 && this.showPagination && paginationTop, hAsync(KolTableStatelessWcTag, { key: 'ceedd6907c37267a37f369d25b693730e5032167', ref: this.catchRef, _data: displayedData, _headerCells: headerCells, _label: this.state._label, _dataFoot: this.state._dataFoot, _on: {
|
|
29772
29949
|
onSort: (_, payload) => {
|
|
29773
29950
|
this.handleSort(payload);
|
|
29774
29951
|
},
|
|
@@ -29816,14 +29993,14 @@ class KolTableStateful {
|
|
|
29816
29993
|
}; }
|
|
29817
29994
|
}
|
|
29818
29995
|
|
|
29819
|
-
const defaultStyleCss$7 = "@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}";
|
|
29996
|
+
const defaultStyleCss$7 = "@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__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}";
|
|
29820
29997
|
|
|
29821
29998
|
let KolTableStateless$1 = class KolTableStateless {
|
|
29822
29999
|
constructor(hostRef) {
|
|
29823
30000
|
registerInstance(this, hostRef);
|
|
29824
30001
|
}
|
|
29825
30002
|
render() {
|
|
29826
|
-
return (hAsync(KolTableStatelessWcTag, { key: '
|
|
30003
|
+
return (hAsync(KolTableStatelessWcTag, { key: '541709e219e411cb6e8b393a2022bdac2d4882fb', _data: this._data, _dataFoot: this._dataFoot, _headerCells: this._headerCells, _label: this._label, _on: this._on, _selection: this._selection, _hasSettingsMenu: this._hasSettingsMenu }));
|
|
29827
30004
|
}
|
|
29828
30005
|
static get style() { return {
|
|
29829
30006
|
default: defaultStyleCss$7
|
|
@@ -30458,12 +30635,12 @@ class KolTableStateless {
|
|
|
30458
30635
|
const dataField = this.createDataField(this.state._data, this.state._headerCells);
|
|
30459
30636
|
this.checkboxRefs = [];
|
|
30460
30637
|
const horizontalHeaders = this.state._headerCells.horizontal;
|
|
30461
|
-
return (hAsync("div", { key: '
|
|
30638
|
+
return (hAsync("div", { key: '6fc7172f92e4e8ee5d3e371450ecc78d1586e349', class: "kol-table" }, this.state._hasSettingsMenu && hAsync(KolTableSettingsWcTag, { key: 'c738173c7d3c1555d48e13e999cc2dc054cf7d77', _horizontalHeaderCells: horizontalHeaders !== null && horizontalHeaders !== void 0 ? horizontalHeaders : [] }), hAsync("div", { key: '876b00c8872832d3c3b4305b24d015cd0b6cdcdf', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? '-1' : undefined }, hAsync("table", { key: '3891c562f3116a3c2fd1b73c56550f76ff9f130c', class: "kol-table__table", style: {
|
|
30462
30639
|
minWidth: this.getTableMinWidth(),
|
|
30463
|
-
} }, hAsync("caption", { key: '
|
|
30640
|
+
} }, hAsync("caption", { key: '6ef854c57ed64b7be0672c6103dacb6ec9f3e586', class: "kol-table__focus-element kol-table__caption", id: "caption", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined }, this.state._label), Array.isArray(horizontalHeaders) && (hAsync("thead", { key: '20145089a078dfc98e48194d19cd0f341bedc312', class: "kol-table__head" }, [
|
|
30464
30641
|
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))))),
|
|
30465
30642
|
this.renderSpacer('head', horizontalHeaders),
|
|
30466
|
-
])), hAsync("tbody", { key: '
|
|
30643
|
+
])), hAsync("tbody", { key: 'e29a121864fcbc05ef1ddb6b6deb1dccac7aeb8e', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
|
|
30467
30644
|
}
|
|
30468
30645
|
get host() { return getElement(this); }
|
|
30469
30646
|
static get watchers() { return {
|
|
@@ -30701,9 +30878,9 @@ class KolTabs {
|
|
|
30701
30878
|
}, _icons: "kolicon-plus", "data-testid": "tabs-create-button" }))));
|
|
30702
30879
|
}
|
|
30703
30880
|
render() {
|
|
30704
|
-
return (hAsync("div", { key: '
|
|
30881
|
+
return (hAsync("div", { key: '5378ca59742be923ad17c9df87c85ef02f1a9a83', ref: (el) => {
|
|
30705
30882
|
this.tabPanelsElement = el;
|
|
30706
|
-
}, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: '
|
|
30883
|
+
}, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: 'd24a5c490c92b0b711ff5fa51126419b6b21d8ad', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
|
|
30707
30884
|
}
|
|
30708
30885
|
validateAlign(value) {
|
|
30709
30886
|
validateAlign(this, value);
|
|
@@ -30934,7 +31111,7 @@ class KolTextarea {
|
|
|
30934
31111
|
} });
|
|
30935
31112
|
}
|
|
30936
31113
|
render() {
|
|
30937
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
31114
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '633c65295555ee15873eb7c5944c4df5b8ffe99f' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '687e9d1ed39ae95c6550dc6c617a3011d05f3857', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: '75121bbf58bb7432bd63d2a4e84d028f41b52d7c' }, this.getTextAreaProps())))));
|
|
30938
31115
|
}
|
|
30939
31116
|
constructor(hostRef) {
|
|
30940
31117
|
registerInstance(this, hostRef);
|
|
@@ -31201,7 +31378,7 @@ class KolToastContainer {
|
|
|
31201
31378
|
}
|
|
31202
31379
|
}
|
|
31203
31380
|
render() {
|
|
31204
|
-
return (hAsync(Host, { key: '
|
|
31381
|
+
return (hAsync(Host, { key: 'de1eab4d373513f210a0ae8d36a457e254e1e076', class: "kol-toast-container" }, this.state._toastStates.length > 1 && (hAsync(KolButtonTag, { key: 'f550cd34eec6f1a2a9de5792903034b772de6197', _label: this.translateToastCloseAll, class: "kol-toast-container__button-close-all", _on: {
|
|
31205
31382
|
onClick: () => {
|
|
31206
31383
|
void this.closeAll();
|
|
31207
31384
|
},
|
|
@@ -31255,7 +31432,7 @@ class KolToolbar {
|
|
|
31255
31432
|
return Object.assign(Object.assign({}, rest), { _icons, _disabled });
|
|
31256
31433
|
}
|
|
31257
31434
|
render() {
|
|
31258
|
-
return (hAsync("div", { key: '
|
|
31435
|
+
return (hAsync("div", { key: 'b06dfa2910d806e9bf84be705ddc1052eef2168e', class: `kol-toolbar kol-toolbar--orientation-${this.state._orientation}`, role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem)));
|
|
31259
31436
|
}
|
|
31260
31437
|
validateLabel(value) {
|
|
31261
31438
|
validateLabel(this, value);
|
|
@@ -31498,7 +31675,7 @@ class KolTooltipWc {
|
|
|
31498
31675
|
this.showOrHideTooltip();
|
|
31499
31676
|
}
|
|
31500
31677
|
render() {
|
|
31501
|
-
return (hAsync(Host, { key: '
|
|
31678
|
+
return (hAsync(Host, { key: '07e22b125ed6eb3e7fcd14157171288b10065f14', class: "kol-tooltip" }, hAsync("div", { key: '8aa3cc6860d49752a3cf50bfa54bb3942e30d35a', class: "kol-tooltip__floating", hidden: this.state._label.length === 0, ref: this.catchTooltipElement }, hAsync("div", { key: 'b75e7e36ee291c6dcddd3a22cf398a92c0410939', class: "kol-tooltip__arrow", ref: this.catchArrowElement }), hAsync(KolSpanFc, { key: '7aba521889cb5624d580719b4d49bd49b8b2a8cf', class: "kol-tooltip__content", id: this.state._id, badgeText: this._badgeText, label: this.state._label }))));
|
|
31502
31679
|
}
|
|
31503
31680
|
validateBadgeText(value) {
|
|
31504
31681
|
validateBadgeText(this, value);
|
|
@@ -31576,7 +31753,7 @@ class KolTree {
|
|
|
31576
31753
|
registerInstance(this, hostRef);
|
|
31577
31754
|
}
|
|
31578
31755
|
render() {
|
|
31579
|
-
return (hAsync(KolTreeWcTag, { key: '
|
|
31756
|
+
return (hAsync(KolTreeWcTag, { key: 'd80ef53eb88006c0247391eefe6e13dbcfb06b81', _label: this._label }, hAsync("slot", { key: '7bd6fbba7b91939d863f0048a06ce2a74d4524fa' })));
|
|
31580
31757
|
}
|
|
31581
31758
|
static get style() { return {
|
|
31582
31759
|
default: defaultStyleCss$2
|
|
@@ -31616,7 +31793,7 @@ class KolTreeItem {
|
|
|
31616
31793
|
return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
|
|
31617
31794
|
}
|
|
31618
31795
|
render() {
|
|
31619
|
-
return (hAsync(KolTreeItemWcTag, { key: '
|
|
31796
|
+
return (hAsync(KolTreeItemWcTag, { key: '1fd84dd20ebe2a6082b026baa4acc28a5c50ab11', _active: this._active, _label: this._label, _open: this._open, _href: this._href, ref: (element) => (this.element = element) }, hAsync("slot", { key: '04feee9cc8420f26d90ae4ad326ae5b18701893d' })));
|
|
31620
31797
|
}
|
|
31621
31798
|
static get style() { return {
|
|
31622
31799
|
default: defaultStyleCss$1
|
|
@@ -31654,12 +31831,12 @@ class KolTreeItemWc {
|
|
|
31654
31831
|
}
|
|
31655
31832
|
render() {
|
|
31656
31833
|
const { _href, _active, _hasChildren, _open, _label } = this.state;
|
|
31657
|
-
return (hAsync(Host, { key: '
|
|
31834
|
+
return (hAsync(Host, { key: '0911b3ee1e2a5bbe41270de1d18f08f264a90559', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '6e7a15926da303380f7146f0f6fcab1954e6b7bc', class: "kol-tree-item", style: {
|
|
31658
31835
|
'--level': `${this.level}`,
|
|
31659
|
-
} }, hAsync(KolLinkWcTag, { key: '
|
|
31836
|
+
} }, hAsync(KolLinkWcTag, { key: '8d4ac9fd10ec270dfc01229ddcc9309d73f7f651', class: clsx('kol-tree-item__link', {
|
|
31660
31837
|
'kol-tree-item__link--first-level': this.level === 0,
|
|
31661
31838
|
'kol-tree-item__link--active': _active,
|
|
31662
|
-
}), _href: _href, _label: "", _role: "treeitem", _tabIndex: _active ? 0 : -1, _ariaExpanded: _hasChildren ? _open : undefined, _ariaOwns: _hasChildren ? this.groupId : undefined, ref: (element) => (this.linkElement = element) }, hAsync("span", { key: '
|
|
31839
|
+
}), _href: _href, _label: "", _role: "treeitem", _tabIndex: _active ? 0 : -1, _ariaExpanded: _hasChildren ? _open : undefined, _ariaOwns: _hasChildren ? this.groupId : undefined, ref: (element) => (this.linkElement = element) }, hAsync("span", { key: '882fd6382f1d4ab63735b1b4e204829e59202957', class: "kol-tree-item__link-inner", slot: "expert" }, _hasChildren ? (hAsync("span", { class: "kol-tree-item__toggle-button", onClick: (event) => (_open ? void this.handleCollapseClick(event) : void this.handleExpandClick(event)) }, hAsync(KolIconTag, { class: "kol-tree-item__toggle-button-icon", _icons: `kolicon kolicon-${_open ? 'chevron-down' : 'chevron-right'}`, _label: '' }))) : (hAsync("span", { class: "kol-tree-item__toggle-button-placeholder" })), hAsync("span", { key: 'a114f114a215afab329b9021300f5282322fc2b0', class: "kol-tree-item__text" }, _label))), hAsync("ul", { key: '9bd5e8bbe1596c83fae014dffe6abb82f16094ed', class: "kol-tree-item__children", hidden: !_hasChildren || !_open, role: "group", id: this.groupId }, hAsync("slot", { key: '31018743e2906aaf51f5c8f59e1f7242f111c0f9' })))));
|
|
31663
31840
|
}
|
|
31664
31841
|
validateActive(value) {
|
|
31665
31842
|
validateActive(this, value || false);
|
|
@@ -31766,7 +31943,7 @@ class KolTreeWc {
|
|
|
31766
31943
|
validateLabel(this, value);
|
|
31767
31944
|
}
|
|
31768
31945
|
render() {
|
|
31769
|
-
return (hAsync(Host, { key: '
|
|
31946
|
+
return (hAsync(Host, { key: '35a6c7c7cf981eca928ad6e9a3e18c9ce9edf606', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("nav", { key: 'af115cf6342afeeffe2d4a8b119000f9685f3d26', class: "kol-tree", "aria-label": this.state._label }, hAsync("ul", { key: '0d86cee9ca2ca5317bf40e7a5acc4adb554b4406', class: "kol-tree__treeview-navigation", role: "tree", "aria-label": this.state._label }, hAsync("slot", { key: '0aa3900c280259281fe4caedfd62e1800eb193fe' })))));
|
|
31770
31947
|
}
|
|
31771
31948
|
static isTreeItem(element) {
|
|
31772
31949
|
return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
|
|
@@ -31965,7 +32142,7 @@ class KolVersion {
|
|
|
31965
32142
|
};
|
|
31966
32143
|
}
|
|
31967
32144
|
render() {
|
|
31968
|
-
return (hAsync(Host, { key: '
|
|
32145
|
+
return (hAsync(Host, { key: 'c8e72198321e8cdab71e9292a10c294f979daf51', class: "kol-version" }, hAsync(KolBadgeTag, { key: '9c1141344592a00a5d7e3081b397ecf13e8bf6b5', _color: "#bec5c9", _icons: {
|
|
31969
32146
|
left: { icon: 'kolicon-version', label: this.translateVersion },
|
|
31970
32147
|
}, _label: this.state._label })));
|
|
31971
32148
|
}
|