@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.mjs
CHANGED
|
@@ -144,7 +144,7 @@ function _mergeNamespaces(n, m) {
|
|
|
144
144
|
|
|
145
145
|
const NAMESPACE = 'kolibri';
|
|
146
146
|
const BUILD = /* kolibri */ { hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
|
|
147
|
-
const Env = /* kolibri */ {"kolibriVersion":"4.1.
|
|
147
|
+
const Env = /* kolibri */ {"kolibriVersion":"4.1.1-rc.1"};
|
|
148
148
|
|
|
149
149
|
function getDefaultExportFromCjs (x) {
|
|
150
150
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
@@ -2022,10 +2022,6 @@ const validateAllowMultiSort = (component, value, options = {}) => {
|
|
|
2022
2022
|
watchBoolean(component, '_allowMultiSort', value, Object.assign({ defaultValue: false }, options));
|
|
2023
2023
|
};
|
|
2024
2024
|
|
|
2025
|
-
const validateAlt = (component, value, options = {}) => {
|
|
2026
|
-
watchString(component, '_alt', value, options);
|
|
2027
|
-
};
|
|
2028
|
-
|
|
2029
2025
|
const alternativeButtonLinkRolePropTypeOptions = ['tab', 'treeitem'];
|
|
2030
2026
|
const validateAlternativeButtonLinkRole = (component, value) => {
|
|
2031
2027
|
watchValidator(component, `_role`, (value) => typeof value === 'string' && alternativeButtonLinkRolePropTypeOptions.includes(value), new Set([`KoliBriAlternativeButtonLinkRole {${alternativeButtonLinkRolePropTypeOptions.join(', ')}`]), value);
|
|
@@ -2321,18 +2317,6 @@ const validateId = (component, value) => {
|
|
|
2321
2317
|
watchString(component, '_id', value);
|
|
2322
2318
|
};
|
|
2323
2319
|
|
|
2324
|
-
const validateImageSizes = (component, value, options = {}) => {
|
|
2325
|
-
watchString(component, '_sizes', value, options);
|
|
2326
|
-
};
|
|
2327
|
-
|
|
2328
|
-
const validateImageSource = (component, value, options) => {
|
|
2329
|
-
watchString(component, '_src', value, options);
|
|
2330
|
-
};
|
|
2331
|
-
|
|
2332
|
-
const validateImageSrcset = (component, value, options = {}) => {
|
|
2333
|
-
watchString(component, '_srcset', value, options);
|
|
2334
|
-
};
|
|
2335
|
-
|
|
2336
2320
|
const validateIndeterminate = (component, value) => {
|
|
2337
2321
|
watchBoolean(component, '_indeterminate', value);
|
|
2338
2322
|
};
|
|
@@ -2400,11 +2384,6 @@ const validateLinkTarget = (component, value) => {
|
|
|
2400
2384
|
watchString(component, '_target', value);
|
|
2401
2385
|
};
|
|
2402
2386
|
|
|
2403
|
-
const loadingOptions = ['eager', 'lazy'];
|
|
2404
|
-
function validateLoading(component, value) {
|
|
2405
|
-
watchValidator(component, '_loading', (value) => typeof value === 'string' && loadingOptions.includes(value), new Set(loadingOptions), value);
|
|
2406
|
-
}
|
|
2407
|
-
|
|
2408
2387
|
const validateMax = (component, value, options) => {
|
|
2409
2388
|
watchNumber(component, '_max', value, options);
|
|
2410
2389
|
};
|
|
@@ -2507,12 +2486,6 @@ const validatePopoverCallbacks = (component, value) => {
|
|
|
2507
2486
|
watchValidator(component, `_on`, (value) => typeof value === 'object' && value !== null, new Set(['PopoverCallbacksPropType {Events.onClose}']), value);
|
|
2508
2487
|
};
|
|
2509
2488
|
|
|
2510
|
-
const validateQuote = (component, value) => {
|
|
2511
|
-
watchString(component, '_quote', value, {
|
|
2512
|
-
required: true,
|
|
2513
|
-
});
|
|
2514
|
-
};
|
|
2515
|
-
|
|
2516
2489
|
const validateReadOnly = (component, value) => {
|
|
2517
2490
|
watchBoolean(component, '_readOnly', value);
|
|
2518
2491
|
};
|
|
@@ -2704,10 +2677,6 @@ const validateTypeInputText = (component, value) => {
|
|
|
2704
2677
|
watchValidator(component, '_type', isInputTextTypePropType, new Set(inputTextTypeOptions), value);
|
|
2705
2678
|
};
|
|
2706
2679
|
|
|
2707
|
-
const validateUnit = (component, value) => {
|
|
2708
|
-
watchString(component, '_unit', value);
|
|
2709
|
-
};
|
|
2710
|
-
|
|
2711
2680
|
const alertVariantOptions = ['card', 'msg'];
|
|
2712
2681
|
const isAlertVariantPropType = (value) => {
|
|
2713
2682
|
return typeof value === 'string' && alertVariantOptions.includes(value);
|
|
@@ -2732,22 +2701,6 @@ const validateVariantInputCheckbox = (component, value) => {
|
|
|
2732
2701
|
watchValidator(component, '_variant', isInputCheckboxVariantPropType, new Set(inputCheckboxVariantOptions), value);
|
|
2733
2702
|
};
|
|
2734
2703
|
|
|
2735
|
-
const progressVariantOptions = ['bar', 'cycle'];
|
|
2736
|
-
const isProgressVariantPropType = (value) => {
|
|
2737
|
-
return typeof value === 'string' && progressVariantOptions.includes(value);
|
|
2738
|
-
};
|
|
2739
|
-
const validateVariantProgress = (component, value) => {
|
|
2740
|
-
watchValidator(component, '_variant', isProgressVariantPropType, new Set(progressVariantOptions), value);
|
|
2741
|
-
};
|
|
2742
|
-
|
|
2743
|
-
const quoteVariantOptions = ['block', 'inline'];
|
|
2744
|
-
const isQuoteVariantPropType = (value) => {
|
|
2745
|
-
return typeof value === 'string' && quoteVariantOptions.includes(value);
|
|
2746
|
-
};
|
|
2747
|
-
const validateVariantQuote = (component, value) => {
|
|
2748
|
-
watchValidator(component, '_variant', isQuoteVariantPropType, new Set(quoteVariantOptions), value);
|
|
2749
|
-
};
|
|
2750
|
-
|
|
2751
2704
|
const spinVariantPropTypeOptions = ['cycle', 'dot', 'none'];
|
|
2752
2705
|
const validateSpinVariant = (component, value) => {
|
|
2753
2706
|
watchValidator(component, '_variant', (value) => typeof value === 'string' && spinVariantPropTypeOptions.includes(value), new Set(spinVariantPropTypeOptions), value);
|
|
@@ -6327,7 +6280,7 @@ const watchHeadingLevel = (component, value) => {
|
|
|
6327
6280
|
validateLevel(component, value);
|
|
6328
6281
|
};
|
|
6329
6282
|
|
|
6330
|
-
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
|
|
6283
|
+
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}";
|
|
6331
6284
|
|
|
6332
6285
|
featureHint(`[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.
|
|
6333
6286
|
|
|
@@ -6972,6 +6925,42 @@ function withValidPropValue(propDef, value, callback) {
|
|
|
6972
6925
|
}
|
|
6973
6926
|
}
|
|
6974
6927
|
|
|
6928
|
+
function normalizeString(value) {
|
|
6929
|
+
if (typeof value === 'string') {
|
|
6930
|
+
return value;
|
|
6931
|
+
}
|
|
6932
|
+
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
|
|
6933
|
+
return String(value);
|
|
6934
|
+
}
|
|
6935
|
+
throw new Error(`Invalid string: ${value}`);
|
|
6936
|
+
}
|
|
6937
|
+
function normalizeInteger(value) {
|
|
6938
|
+
if (typeof value === 'number') {
|
|
6939
|
+
return Number.isInteger(value) ? value : Math.round(value);
|
|
6940
|
+
}
|
|
6941
|
+
if (typeof value === 'string') {
|
|
6942
|
+
const parsed = parseInt(value, 10);
|
|
6943
|
+
if (!isNaN(parsed)) {
|
|
6944
|
+
return parsed;
|
|
6945
|
+
}
|
|
6946
|
+
}
|
|
6947
|
+
throw new Error(`Invalid integer: ${value}`);
|
|
6948
|
+
}
|
|
6949
|
+
function normalizeNumber(value) {
|
|
6950
|
+
if (typeof value === 'number') {
|
|
6951
|
+
return value;
|
|
6952
|
+
}
|
|
6953
|
+
if (typeof value === 'string') {
|
|
6954
|
+
const parsed = Number(value);
|
|
6955
|
+
if (!isNaN(parsed)) {
|
|
6956
|
+
return parsed;
|
|
6957
|
+
}
|
|
6958
|
+
}
|
|
6959
|
+
throw new Error(`Invalid number: ${value}`);
|
|
6960
|
+
}
|
|
6961
|
+
|
|
6962
|
+
const altProp = createPropDefinition(normalizeString, (v) => v.length > 0);
|
|
6963
|
+
|
|
6975
6964
|
const HEX_REGEX = /^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;
|
|
6976
6965
|
function isHexString(value) {
|
|
6977
6966
|
return HEX_REGEX.test(value);
|
|
@@ -7007,30 +6996,10 @@ function validator(value) {
|
|
|
7007
6996
|
}
|
|
7008
6997
|
const colorProp = createPropDefinition(normalizer, validator);
|
|
7009
6998
|
|
|
7010
|
-
function normalizeString(value) {
|
|
7011
|
-
if (typeof value === 'string') {
|
|
7012
|
-
return value;
|
|
7013
|
-
}
|
|
7014
|
-
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
|
|
7015
|
-
return String(value);
|
|
7016
|
-
}
|
|
7017
|
-
throw new Error(`Invalid string: ${value}`);
|
|
7018
|
-
}
|
|
7019
|
-
function normalizeInteger(value) {
|
|
7020
|
-
if (typeof value === 'number') {
|
|
7021
|
-
return Number.isInteger(value) ? value : Math.round(value);
|
|
7022
|
-
}
|
|
7023
|
-
if (typeof value === 'string') {
|
|
7024
|
-
const parsed = parseInt(value, 10);
|
|
7025
|
-
if (!isNaN(parsed)) {
|
|
7026
|
-
return parsed;
|
|
7027
|
-
}
|
|
7028
|
-
}
|
|
7029
|
-
throw new Error(`Invalid integer: ${value}`);
|
|
7030
|
-
}
|
|
7031
|
-
|
|
7032
6999
|
const countProp = createPropDefinition(normalizeInteger, (v) => v >= 0);
|
|
7033
7000
|
|
|
7001
|
+
const hrefProp = createPropDefinition(normalizeString, (v) => v.length > 0);
|
|
7002
|
+
|
|
7034
7003
|
const formatNameAsInitial = (name) => {
|
|
7035
7004
|
if (name.length === 0) {
|
|
7036
7005
|
return '';
|
|
@@ -7053,10 +7022,39 @@ const initialsProp = createPropDefinition(normalizeInitials, (v) => v.length > 0
|
|
|
7053
7022
|
|
|
7054
7023
|
const labelProp = createPropDefinition(normalizeString, (v) => v.length >= 2 && v.length <= 80);
|
|
7055
7024
|
|
|
7025
|
+
const LOADING_OPTIONS = ['eager', 'lazy'];
|
|
7026
|
+
const LOADING_SET = new Set(LOADING_OPTIONS);
|
|
7027
|
+
const loadingProp = createPropDefinition((value) => normalizeString(value), (v) => LOADING_SET.has(v));
|
|
7028
|
+
|
|
7029
|
+
const maxProp = createPropDefinition(normalizeNumber, (v) => v > 0);
|
|
7030
|
+
|
|
7056
7031
|
const nameProp = createPropDefinition(normalizeString, () => true);
|
|
7057
7032
|
|
|
7033
|
+
const quoteProp = createPropDefinition(normalizeString, () => true);
|
|
7034
|
+
|
|
7035
|
+
const sizesProp = createPropDefinition(normalizeString, () => true);
|
|
7036
|
+
|
|
7058
7037
|
const srcProp = createPropDefinition(normalizeString, () => true);
|
|
7059
7038
|
|
|
7039
|
+
const srcsetProp = createPropDefinition(normalizeString, () => true);
|
|
7040
|
+
|
|
7041
|
+
const unitProp = createPropDefinition(normalizeString, (v) => v.length > 0);
|
|
7042
|
+
|
|
7043
|
+
const valueProp = createPropDefinition(normalizeNumber, (v) => v >= 0);
|
|
7044
|
+
|
|
7045
|
+
const progressVariantOptions = ['bar', 'cycle'];
|
|
7046
|
+
const variantProgressProp = createPropDefinition((value) => {
|
|
7047
|
+
const str = normalizeString(value);
|
|
7048
|
+
if (progressVariantOptions.includes(str)) {
|
|
7049
|
+
return str;
|
|
7050
|
+
}
|
|
7051
|
+
throw new Error(`Invalid progress variant: ${str}`);
|
|
7052
|
+
}, () => true);
|
|
7053
|
+
|
|
7054
|
+
const QUOTE_VARIANT_OPTIONS = ['block', 'inline'];
|
|
7055
|
+
const QUOTE_VARIANT_SET = new Set(QUOTE_VARIANT_OPTIONS);
|
|
7056
|
+
const variantQuoteProp = createPropDefinition((value) => normalizeString(value), (v) => QUOTE_VARIANT_SET.has(v));
|
|
7057
|
+
|
|
7060
7058
|
class BaseController {
|
|
7061
7059
|
constructor(component, props) {
|
|
7062
7060
|
this.component = component;
|
|
@@ -19551,7 +19549,7 @@ class KolCardWc {
|
|
|
19551
19549
|
this.validateOnValue = (value) => typeof value === 'object' && value !== null && typeof value.onClose === 'function';
|
|
19552
19550
|
}
|
|
19553
19551
|
render() {
|
|
19554
|
-
return (hAsync(Host, { key: '
|
|
19552
|
+
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: {
|
|
19555
19553
|
left: {
|
|
19556
19554
|
icon: 'kolicon-cross',
|
|
19557
19555
|
},
|
|
@@ -19654,7 +19652,7 @@ class KolClickButton {
|
|
|
19654
19652
|
}
|
|
19655
19653
|
render() {
|
|
19656
19654
|
const { label } = this.ctrl.getProps();
|
|
19657
|
-
return (hAsync(Host, { key: '
|
|
19655
|
+
return (hAsync(Host, { key: '11394f305e6917a1ec8a907f6e5b75f6f9678487' }, hAsync(ClickButtonFC, { key: '19f96f81e970adc62f756f034934751457c8154a', label: label, refButton: this.ctrl.setButtonRef, handleClick: this.ctrl.handleClick })));
|
|
19658
19656
|
}
|
|
19659
19657
|
static get watchers() { return {
|
|
19660
19658
|
"_label": ["watchLabel"]
|
|
@@ -20016,6 +20014,9 @@ class InputController extends ControlledInputController {
|
|
|
20016
20014
|
}
|
|
20017
20015
|
onBlur(event) {
|
|
20018
20016
|
var _a;
|
|
20017
|
+
if (this.component._disabled) {
|
|
20018
|
+
return;
|
|
20019
|
+
}
|
|
20019
20020
|
this.component._touched = true;
|
|
20020
20021
|
this.emitEvent(KolEvent.blur);
|
|
20021
20022
|
if (typeof ((_a = this.component._on) === null || _a === void 0 ? void 0 : _a.onBlur) === 'function') {
|
|
@@ -20593,7 +20594,7 @@ class KolCombobox {
|
|
|
20593
20594
|
}; }
|
|
20594
20595
|
}
|
|
20595
20596
|
|
|
20596
|
-
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
|
|
20597
|
+
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}";
|
|
20597
20598
|
|
|
20598
20599
|
class KolDetails {
|
|
20599
20600
|
constructor(hostRef) {
|
|
@@ -21194,7 +21195,7 @@ const bem = c();
|
|
|
21194
21195
|
const BEM_CLASS_ICON = bem('kol-icon');
|
|
21195
21196
|
const BEM_CLASS_ICON__ICON = bem('kol-icon', 'icon');
|
|
21196
21197
|
|
|
21197
|
-
const defaultStyleCss$y = "/* forward the rem function */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=
|
|
21198
|
+
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}";
|
|
21198
21199
|
|
|
21199
21200
|
class KolIcon {
|
|
21200
21201
|
render() {
|
|
@@ -21239,51 +21240,97 @@ class KolIcon {
|
|
|
21239
21240
|
}; }
|
|
21240
21241
|
}
|
|
21241
21242
|
|
|
21243
|
+
const ImageFC = (props) => {
|
|
21244
|
+
const { alt, loading, sizes, src, srcset } = props;
|
|
21245
|
+
return hAsync("img", { class: "kol-image", alt: alt, loading: loading, sizes: sizes || undefined, src: src, srcset: srcset || undefined });
|
|
21246
|
+
};
|
|
21247
|
+
|
|
21248
|
+
class ImageController extends BaseController {
|
|
21249
|
+
constructor(states = {}) {
|
|
21250
|
+
super(states, {
|
|
21251
|
+
alt: '',
|
|
21252
|
+
loading: 'lazy',
|
|
21253
|
+
sizes: '',
|
|
21254
|
+
src: '',
|
|
21255
|
+
srcset: '',
|
|
21256
|
+
});
|
|
21257
|
+
}
|
|
21258
|
+
componentWillLoad(props) {
|
|
21259
|
+
const { alt, loading, sizes, src, srcset } = props;
|
|
21260
|
+
this.watchAlt(alt);
|
|
21261
|
+
this.watchLoading(loading);
|
|
21262
|
+
this.watchSizes(sizes);
|
|
21263
|
+
this.watchSrc(src);
|
|
21264
|
+
this.watchSrcset(srcset);
|
|
21265
|
+
}
|
|
21266
|
+
watchAlt(value) {
|
|
21267
|
+
withValidPropValue(altProp, value, (v) => {
|
|
21268
|
+
this.setProp('alt', v);
|
|
21269
|
+
});
|
|
21270
|
+
}
|
|
21271
|
+
watchLoading(value) {
|
|
21272
|
+
withValidPropValue(loadingProp, value, (v) => {
|
|
21273
|
+
this.setProp('loading', v);
|
|
21274
|
+
});
|
|
21275
|
+
}
|
|
21276
|
+
watchSizes(value) {
|
|
21277
|
+
withValidPropValue(sizesProp, value, (v) => {
|
|
21278
|
+
this.setProp('sizes', v);
|
|
21279
|
+
});
|
|
21280
|
+
}
|
|
21281
|
+
watchSrc(value) {
|
|
21282
|
+
withValidPropValue(srcProp, value, (v) => {
|
|
21283
|
+
this.setProp('src', v);
|
|
21284
|
+
});
|
|
21285
|
+
}
|
|
21286
|
+
watchSrcset(value) {
|
|
21287
|
+
withValidPropValue(srcsetProp, value, (v) => {
|
|
21288
|
+
this.setProp('srcset', v);
|
|
21289
|
+
});
|
|
21290
|
+
}
|
|
21291
|
+
}
|
|
21292
|
+
|
|
21242
21293
|
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}";
|
|
21243
21294
|
|
|
21244
21295
|
class KolImage {
|
|
21245
21296
|
constructor(hostRef) {
|
|
21246
21297
|
registerInstance(this, hostRef);
|
|
21247
|
-
this.
|
|
21248
|
-
this.state = {
|
|
21249
|
-
_alt: '',
|
|
21250
|
-
_loading: 'lazy',
|
|
21251
|
-
_src: '',
|
|
21252
|
-
};
|
|
21298
|
+
this.ctrl = new ImageController();
|
|
21253
21299
|
}
|
|
21254
|
-
|
|
21255
|
-
|
|
21300
|
+
watchAlt(value) {
|
|
21301
|
+
this.ctrl.watchAlt(value);
|
|
21256
21302
|
}
|
|
21257
|
-
|
|
21258
|
-
|
|
21303
|
+
watchLoading(value) {
|
|
21304
|
+
this.ctrl.watchLoading(value);
|
|
21259
21305
|
}
|
|
21260
|
-
|
|
21261
|
-
|
|
21306
|
+
watchSizes(value) {
|
|
21307
|
+
this.ctrl.watchSizes(value);
|
|
21262
21308
|
}
|
|
21263
|
-
|
|
21264
|
-
|
|
21265
|
-
required: true,
|
|
21266
|
-
});
|
|
21309
|
+
watchSrc(value) {
|
|
21310
|
+
this.ctrl.watchSrc(value);
|
|
21267
21311
|
}
|
|
21268
|
-
|
|
21269
|
-
|
|
21312
|
+
watchSrcset(value) {
|
|
21313
|
+
this.ctrl.watchSrcset(value);
|
|
21270
21314
|
}
|
|
21271
21315
|
componentWillLoad() {
|
|
21272
|
-
this.
|
|
21273
|
-
|
|
21274
|
-
|
|
21275
|
-
|
|
21276
|
-
|
|
21316
|
+
this.ctrl.componentWillLoad({
|
|
21317
|
+
alt: this._alt,
|
|
21318
|
+
loading: this._loading,
|
|
21319
|
+
sizes: this._sizes,
|
|
21320
|
+
src: this._src,
|
|
21321
|
+
srcset: this._srcset,
|
|
21322
|
+
});
|
|
21277
21323
|
}
|
|
21278
21324
|
render() {
|
|
21279
|
-
|
|
21325
|
+
const { alt, loading, sizes, src, srcset } = this.ctrl.getProps();
|
|
21326
|
+
return (hAsync(Host, { key: '9c00292c9961637155bfcc81fbb758fabd87ff54' }, hAsync(ImageFC, { key: 'e793818eaee3d037838c8931aa603e720bec618f', alt: alt, loading: loading, sizes: sizes, src: src, srcset: srcset })));
|
|
21280
21327
|
}
|
|
21281
21328
|
static get watchers() { return {
|
|
21282
|
-
"_alt": ["
|
|
21283
|
-
"_loading": ["
|
|
21284
|
-
"_sizes": ["
|
|
21285
|
-
"_src": ["
|
|
21286
|
-
"_srcset": ["
|
|
21329
|
+
"_alt": ["watchAlt"],
|
|
21330
|
+
"_loading": ["watchLoading"],
|
|
21331
|
+
"_sizes": ["watchSizes"],
|
|
21332
|
+
"_src": ["watchSrc"],
|
|
21333
|
+
"_srcset": ["watchSrcset"]
|
|
21287
21334
|
}; }
|
|
21288
21335
|
static get style() { return {
|
|
21289
21336
|
default: defaultStyleCss$x
|
|
@@ -21296,8 +21343,7 @@ class KolImage {
|
|
|
21296
21343
|
"_loading": [1],
|
|
21297
21344
|
"_sizes": [1],
|
|
21298
21345
|
"_src": [1],
|
|
21299
|
-
"_srcset": [1]
|
|
21300
|
-
"state": [32]
|
|
21346
|
+
"_srcset": [1]
|
|
21301
21347
|
},
|
|
21302
21348
|
"$listeners$": undefined,
|
|
21303
21349
|
"$lazyBundleId$": "-",
|
|
@@ -21613,6 +21659,9 @@ class KolInputCheckbox {
|
|
|
21613
21659
|
this.controller.onFacade.onFocus(event);
|
|
21614
21660
|
this.inputHasFocus = true;
|
|
21615
21661
|
}, onBlur: (event) => {
|
|
21662
|
+
if (this._disabled) {
|
|
21663
|
+
return;
|
|
21664
|
+
}
|
|
21616
21665
|
this.controller.onFacade.onBlur(event);
|
|
21617
21666
|
this.inputHasFocus = false;
|
|
21618
21667
|
}, onClick: undefined }),
|
|
@@ -21626,7 +21675,7 @@ class KolInputCheckbox {
|
|
|
21626
21675
|
return this.state._icons.unchecked;
|
|
21627
21676
|
}
|
|
21628
21677
|
render() {
|
|
21629
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21678
|
+
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())))));
|
|
21630
21679
|
}
|
|
21631
21680
|
constructor(hostRef) {
|
|
21632
21681
|
registerInstance(this, hostRef);
|
|
@@ -21863,7 +21912,7 @@ class KolInputColor {
|
|
|
21863
21912
|
return Object.assign(Object.assign({ state: Object.assign(Object.assign({}, this.state), { _suggestions: [] }) }, this.controller.onFacade), { onBlur: this.onBlur, onFocus: this.onFocus });
|
|
21864
21913
|
}
|
|
21865
21914
|
render() {
|
|
21866
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
21915
|
+
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()))))));
|
|
21867
21916
|
}
|
|
21868
21917
|
constructor(hostRef) {
|
|
21869
21918
|
registerInstance(this, hostRef);
|
|
@@ -22238,7 +22287,7 @@ class KolInputDate {
|
|
|
22238
22287
|
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 });
|
|
22239
22288
|
}
|
|
22240
22289
|
render() {
|
|
22241
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22290
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '7ffb5c0dbd6165b4db8da1e28b4546cabdee725e' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'd7ca3cd025d5a28a44a13f5931332deb6887fe56', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: 'af04a17100a40f0ae593e414b853e1a80954dce2' }, this.getInputProps())))));
|
|
22242
22291
|
}
|
|
22243
22292
|
constructor(hostRef) {
|
|
22244
22293
|
registerInstance(this, hostRef);
|
|
@@ -22615,7 +22664,7 @@ class KolInputEmail {
|
|
|
22615
22664
|
} });
|
|
22616
22665
|
}
|
|
22617
22666
|
render() {
|
|
22618
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22667
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '76457a8344c3b1870a5a833a5672952f50dd7fd1' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '1e5b73a97fbe32e6546529f91731ae8144c01b00', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '50c0fca0d6d5f8452912859d2c42a0f48ff0d839' }, this.getInputProps())))));
|
|
22619
22668
|
}
|
|
22620
22669
|
constructor(hostRef) {
|
|
22621
22670
|
registerInstance(this, hostRef);
|
|
@@ -22835,7 +22884,7 @@ class InputFileController extends InputIconController {
|
|
|
22835
22884
|
}
|
|
22836
22885
|
}
|
|
22837
22886
|
|
|
22838
|
-
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}";
|
|
22887
|
+
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}";
|
|
22839
22888
|
|
|
22840
22889
|
class KolInputFile {
|
|
22841
22890
|
async getValue() {
|
|
@@ -22877,7 +22926,7 @@ class KolInputFile {
|
|
|
22877
22926
|
} });
|
|
22878
22927
|
}
|
|
22879
22928
|
render() {
|
|
22880
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
22929
|
+
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 }))));
|
|
22881
22930
|
}
|
|
22882
22931
|
constructor(hostRef) {
|
|
22883
22932
|
registerInstance(this, hostRef);
|
|
@@ -22912,15 +22961,21 @@ class KolInputFile {
|
|
|
22912
22961
|
(_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');
|
|
22913
22962
|
};
|
|
22914
22963
|
this.onDrop = (event) => {
|
|
22915
|
-
var _a, _b, _c
|
|
22964
|
+
var _a, _b, _c;
|
|
22916
22965
|
event.preventDefault();
|
|
22917
|
-
|
|
22918
|
-
|
|
22966
|
+
if (!this.inputRef) {
|
|
22967
|
+
return;
|
|
22968
|
+
}
|
|
22969
|
+
(_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');
|
|
22970
|
+
if ((_c = event.dataTransfer) === null || _c === void 0 ? void 0 : _c.files.length) {
|
|
22919
22971
|
const files = event.dataTransfer.files;
|
|
22972
|
+
this.inputRef.files = files;
|
|
22920
22973
|
this.filename = Array.from(files)
|
|
22921
22974
|
.map((file) => file.name)
|
|
22922
22975
|
.join(', ');
|
|
22923
22976
|
this.controller.setFormAssociatedValue(files);
|
|
22977
|
+
this.controller.onFacade.onChange(event, files);
|
|
22978
|
+
this.controller.onFacade.onInput(event, false, files);
|
|
22924
22979
|
}
|
|
22925
22980
|
};
|
|
22926
22981
|
this.onChange = (event) => {
|
|
@@ -23196,7 +23251,7 @@ class KolInputNumber {
|
|
|
23196
23251
|
}, disabled: this._disabled || this._readOnly }, hAsync(KolIconFc, { icons: "kolicon-minus", label: "" })));
|
|
23197
23252
|
}
|
|
23198
23253
|
render() {
|
|
23199
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23254
|
+
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())))));
|
|
23200
23255
|
}
|
|
23201
23256
|
constructor(hostRef) {
|
|
23202
23257
|
registerInstance(this, hostRef);
|
|
@@ -23443,7 +23498,7 @@ class KolInputPassword {
|
|
|
23443
23498
|
}, icon: `${this._passwordVisible ? 'kolicon-eye-closed' : 'kolicon-eye'}`, disabled: this._disabled }));
|
|
23444
23499
|
}
|
|
23445
23500
|
render() {
|
|
23446
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23501
|
+
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())))));
|
|
23447
23502
|
}
|
|
23448
23503
|
constructor(hostRef) {
|
|
23449
23504
|
registerInstance(this, hostRef);
|
|
@@ -23731,7 +23786,7 @@ class KolInputRadio {
|
|
|
23731
23786
|
};
|
|
23732
23787
|
}
|
|
23733
23788
|
render() {
|
|
23734
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
23789
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: 'dd1f3327b146841f7aa4df53dd50139f7a09fcb6' }, this.getFormFieldProps()), this.state._options.map((option, index) => this.renderOption(option, index))));
|
|
23735
23790
|
}
|
|
23736
23791
|
calculateDisabled(option) {
|
|
23737
23792
|
return Boolean(this.state._disabled) || Boolean(option.disabled);
|
|
@@ -24046,7 +24101,7 @@ class KolInputRange {
|
|
|
24046
24101
|
const inputsWrapperStyle = {
|
|
24047
24102
|
'--kolibri-input-range--input-number--width': `calc(${String(this.state._max).length}ch + 2em)`,
|
|
24048
24103
|
};
|
|
24049
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24104
|
+
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 }))));
|
|
24050
24105
|
}
|
|
24051
24106
|
constructor(hostRef) {
|
|
24052
24107
|
registerInstance(this, hostRef);
|
|
@@ -24292,7 +24347,7 @@ class KolInputText {
|
|
|
24292
24347
|
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 });
|
|
24293
24348
|
}
|
|
24294
24349
|
render() {
|
|
24295
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
24350
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '1f08b07d5c57ea8d3ea2191669dfc49851a87129' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: 'd966f9e1ead1faf5373d070479ed6867236180ef', state: this.state }, hAsync(InputStateWrapper, Object.assign({ key: '92514fe63dbf446c275bb4858545aa1d1fecacc4' }, this.getInputProps())))));
|
|
24296
24351
|
}
|
|
24297
24352
|
constructor(hostRef) {
|
|
24298
24353
|
registerInstance(this, hostRef);
|
|
@@ -24552,7 +24607,7 @@ class KolKolibri {
|
|
|
24552
24607
|
}
|
|
24553
24608
|
render() {
|
|
24554
24609
|
const fillColor = `rgb(${this.state._color.red},${this.state._color.green},${this.state._color.blue})`;
|
|
24555
|
-
return (hAsync("svg", { key: '
|
|
24610
|
+
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"))));
|
|
24556
24611
|
}
|
|
24557
24612
|
validateColor(value) {
|
|
24558
24613
|
validateColor(this, value, {
|
|
@@ -24610,7 +24665,7 @@ class KolLink {
|
|
|
24610
24665
|
return Promise.resolve((_a = this.linkWcRef) === null || _a === void 0 ? void 0 : _a.focus());
|
|
24611
24666
|
}
|
|
24612
24667
|
render() {
|
|
24613
|
-
return (hAsync(KolLinkWcTag, { key: '
|
|
24668
|
+
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" })));
|
|
24614
24669
|
}
|
|
24615
24670
|
static get style() { return {
|
|
24616
24671
|
default: defaultStyleCss$l
|
|
@@ -24663,7 +24718,7 @@ class KolLinkButton {
|
|
|
24663
24718
|
return Promise.resolve((_a = this.linkWcRef) === null || _a === void 0 ? void 0 : _a.focus());
|
|
24664
24719
|
}
|
|
24665
24720
|
render() {
|
|
24666
|
-
return (hAsync(KolLinkWcTag, { key: '
|
|
24721
|
+
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" })));
|
|
24667
24722
|
}
|
|
24668
24723
|
static get style() { return {
|
|
24669
24724
|
default: defaultStyleCss$k
|
|
@@ -24769,7 +24824,7 @@ class KolLinkWc {
|
|
|
24769
24824
|
const { isExternal, tagAttrs } = this.getRenderValues();
|
|
24770
24825
|
const hasExpertSlot = showExpertSlot(this.state._label);
|
|
24771
24826
|
const ariaDescription = (_a = this.state._ariaDescription) === null || _a === void 0 ? void 0 : _a.trim();
|
|
24772
|
-
return (hAsync(Host, { key: '
|
|
24827
|
+
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'
|
|
24773
24828
|
? `${this.state._label}${isExternal ? ` (${this.translateOpenLinkInTab})` : ''}`
|
|
24774
24829
|
: undefined, "aria-keyshortcuts": this.state._shortKey, class: clsx('kol-link', {
|
|
24775
24830
|
'kol-link--disabled': this.state._disabled === true,
|
|
@@ -24779,7 +24834,7 @@ class KolLinkWc {
|
|
|
24779
24834
|
'kol-link--inline': this.state._inline === true,
|
|
24780
24835
|
'kol-link--standalone': this.state._inline === false,
|
|
24781
24836
|
[this.state._customClass]: this.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,
|
|
24782
|
-
}) }, this.state._on, { onClick: this.onClick, onKeyPress: this.onClick, role: this.state._role, tabIndex: this.state._disabled ? -1 : this.state._tabIndex }), hAsync(KolSpanFc, { key: '
|
|
24837
|
+
}) }, 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 }))));
|
|
24783
24838
|
}
|
|
24784
24839
|
validateAccessKey(value) {
|
|
24785
24840
|
validateAccessKey(this, value);
|
|
@@ -24958,7 +25013,7 @@ class KolModal {
|
|
|
24958
25013
|
await ((_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.closeModal());
|
|
24959
25014
|
}
|
|
24960
25015
|
render() {
|
|
24961
|
-
return (hAsync(KolDialogWcTag, { key: '
|
|
25016
|
+
return (hAsync(KolDialogWcTag, { key: 'bfc37fce6c2d856d9e3c66d2309b9982647e5ffc', ref: this.catchRef, _label: this._label, _on: this._on, _variant: this._variant, _width: this._width }, hAsync("slot", { key: '94f594ce9be9f53e52e41b03f24f3a5439251b7f' })));
|
|
24962
25017
|
}
|
|
24963
25018
|
static get style() { return {
|
|
24964
25019
|
default: defaultStyleCss$j
|
|
@@ -25109,9 +25164,9 @@ class KolNav {
|
|
|
25109
25164
|
}
|
|
25110
25165
|
render() {
|
|
25111
25166
|
const collapsible = this.state._collapsible === true;
|
|
25112
|
-
return (hAsync("div", { key: '
|
|
25167
|
+
return (hAsync("div", { key: '83f3a54075e964de98639af6164d6b7c7038f09d', class: clsx('kol-nav', {
|
|
25113
25168
|
'kol-nav--is-compact': this.state._hideLabel,
|
|
25114
|
-
}) }, hAsync("nav", { key: '
|
|
25169
|
+
}) }, 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: {
|
|
25115
25170
|
onClick: () => {
|
|
25116
25171
|
this.state = Object.assign(Object.assign({}, this.state), { _hideLabel: !this.state._hideLabel });
|
|
25117
25172
|
},
|
|
@@ -25198,7 +25253,7 @@ class KolPagination {
|
|
|
25198
25253
|
this._tooltipAlign = 'top';
|
|
25199
25254
|
}
|
|
25200
25255
|
render() {
|
|
25201
|
-
return (hAsync(KolPaginationWcTag, { key: '
|
|
25256
|
+
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 }));
|
|
25202
25257
|
}
|
|
25203
25258
|
static get style() { return {
|
|
25204
25259
|
default: defaultStyleCss$h
|
|
@@ -25613,10 +25668,6 @@ const oppositeSideMap = {
|
|
|
25613
25668
|
bottom: 'top',
|
|
25614
25669
|
top: 'bottom'
|
|
25615
25670
|
};
|
|
25616
|
-
const oppositeAlignmentMap = {
|
|
25617
|
-
start: 'end',
|
|
25618
|
-
end: 'start'
|
|
25619
|
-
};
|
|
25620
25671
|
function clamp(start, value, end) {
|
|
25621
25672
|
return max(start, min(value, end));
|
|
25622
25673
|
}
|
|
@@ -25635,9 +25686,9 @@ function getOppositeAxis(axis) {
|
|
|
25635
25686
|
function getAxisLength(axis) {
|
|
25636
25687
|
return axis === 'y' ? 'height' : 'width';
|
|
25637
25688
|
}
|
|
25638
|
-
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
25639
25689
|
function getSideAxis(placement) {
|
|
25640
|
-
|
|
25690
|
+
const firstChar = placement[0];
|
|
25691
|
+
return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';
|
|
25641
25692
|
}
|
|
25642
25693
|
function getAlignmentAxis(placement) {
|
|
25643
25694
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -25660,7 +25711,7 @@ function getExpandedPlacements(placement) {
|
|
|
25660
25711
|
return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
|
|
25661
25712
|
}
|
|
25662
25713
|
function getOppositeAlignmentPlacement(placement) {
|
|
25663
|
-
return placement.replace(
|
|
25714
|
+
return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');
|
|
25664
25715
|
}
|
|
25665
25716
|
const lrPlacement = ['left', 'right'];
|
|
25666
25717
|
const rlPlacement = ['right', 'left'];
|
|
@@ -25691,7 +25742,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
|
25691
25742
|
return list;
|
|
25692
25743
|
}
|
|
25693
25744
|
function getOppositePlacement(placement) {
|
|
25694
|
-
|
|
25745
|
+
const side = getSide(placement);
|
|
25746
|
+
return oppositeSideMap[side] + placement.slice(side.length);
|
|
25695
25747
|
}
|
|
25696
25748
|
function expandPaddingObject(padding) {
|
|
25697
25749
|
return {
|
|
@@ -25850,6 +25902,9 @@ async function detectOverflow(state, options) {
|
|
|
25850
25902
|
};
|
|
25851
25903
|
}
|
|
25852
25904
|
|
|
25905
|
+
// Maximum number of resets that can occur before bailing to avoid infinite reset loops.
|
|
25906
|
+
const MAX_RESET_COUNT = 50;
|
|
25907
|
+
|
|
25853
25908
|
/**
|
|
25854
25909
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
25855
25910
|
* next to a given reference element.
|
|
@@ -25864,7 +25919,10 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25864
25919
|
middleware = [],
|
|
25865
25920
|
platform
|
|
25866
25921
|
} = config;
|
|
25867
|
-
const
|
|
25922
|
+
const platformWithDetectOverflow = platform.detectOverflow ? platform : {
|
|
25923
|
+
...platform,
|
|
25924
|
+
detectOverflow
|
|
25925
|
+
};
|
|
25868
25926
|
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
|
|
25869
25927
|
let rects = await platform.getElementRects({
|
|
25870
25928
|
reference,
|
|
@@ -25876,14 +25934,17 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25876
25934
|
y
|
|
25877
25935
|
} = computeCoordsFromPlacement(rects, placement, rtl);
|
|
25878
25936
|
let statefulPlacement = placement;
|
|
25879
|
-
let middlewareData = {};
|
|
25880
25937
|
let resetCount = 0;
|
|
25881
|
-
|
|
25882
|
-
|
|
25938
|
+
const middlewareData = {};
|
|
25939
|
+
for (let i = 0; i < middleware.length; i++) {
|
|
25940
|
+
const currentMiddleware = middleware[i];
|
|
25941
|
+
if (!currentMiddleware) {
|
|
25942
|
+
continue;
|
|
25943
|
+
}
|
|
25883
25944
|
const {
|
|
25884
25945
|
name,
|
|
25885
25946
|
fn
|
|
25886
|
-
} =
|
|
25947
|
+
} = currentMiddleware;
|
|
25887
25948
|
const {
|
|
25888
25949
|
x: nextX,
|
|
25889
25950
|
y: nextY,
|
|
@@ -25897,10 +25958,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25897
25958
|
strategy,
|
|
25898
25959
|
middlewareData,
|
|
25899
25960
|
rects,
|
|
25900
|
-
platform:
|
|
25901
|
-
...platform,
|
|
25902
|
-
detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow
|
|
25903
|
-
},
|
|
25961
|
+
platform: platformWithDetectOverflow,
|
|
25904
25962
|
elements: {
|
|
25905
25963
|
reference,
|
|
25906
25964
|
floating
|
|
@@ -25908,14 +25966,11 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
25908
25966
|
});
|
|
25909
25967
|
x = nextX != null ? nextX : x;
|
|
25910
25968
|
y = nextY != null ? nextY : y;
|
|
25911
|
-
middlewareData = {
|
|
25912
|
-
...middlewareData,
|
|
25913
|
-
|
|
25914
|
-
...middlewareData[name],
|
|
25915
|
-
...data
|
|
25916
|
-
}
|
|
25969
|
+
middlewareData[name] = {
|
|
25970
|
+
...middlewareData[name],
|
|
25971
|
+
...data
|
|
25917
25972
|
};
|
|
25918
|
-
if (reset && resetCount
|
|
25973
|
+
if (reset && resetCount < MAX_RESET_COUNT) {
|
|
25919
25974
|
resetCount++;
|
|
25920
25975
|
if (typeof reset === 'object') {
|
|
25921
25976
|
if (reset.placement) {
|
|
@@ -26368,7 +26423,6 @@ function isShadowRoot(value) {
|
|
|
26368
26423
|
}
|
|
26369
26424
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
26370
26425
|
}
|
|
26371
|
-
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
26372
26426
|
function isOverflowElement(element) {
|
|
26373
26427
|
const {
|
|
26374
26428
|
overflow,
|
|
@@ -26376,32 +26430,35 @@ function isOverflowElement(element) {
|
|
|
26376
26430
|
overflowY,
|
|
26377
26431
|
display
|
|
26378
26432
|
} = getComputedStyle$1(element);
|
|
26379
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) &&
|
|
26433
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';
|
|
26380
26434
|
}
|
|
26381
|
-
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
26382
26435
|
function isTableElement(element) {
|
|
26383
|
-
return
|
|
26436
|
+
return /^(table|td|th)$/.test(getNodeName(element));
|
|
26384
26437
|
}
|
|
26385
|
-
const topLayerSelectors = [':popover-open', ':modal'];
|
|
26386
26438
|
function isTopLayer(element) {
|
|
26387
|
-
|
|
26388
|
-
|
|
26389
|
-
return
|
|
26390
|
-
} catch (_e) {
|
|
26391
|
-
return false;
|
|
26439
|
+
try {
|
|
26440
|
+
if (element.matches(':popover-open')) {
|
|
26441
|
+
return true;
|
|
26392
26442
|
}
|
|
26393
|
-
})
|
|
26443
|
+
} catch (_e) {
|
|
26444
|
+
// no-op
|
|
26445
|
+
}
|
|
26446
|
+
try {
|
|
26447
|
+
return element.matches(':modal');
|
|
26448
|
+
} catch (_e) {
|
|
26449
|
+
return false;
|
|
26450
|
+
}
|
|
26394
26451
|
}
|
|
26395
|
-
const
|
|
26396
|
-
const
|
|
26397
|
-
const
|
|
26452
|
+
const willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
|
|
26453
|
+
const containRe = /paint|layout|strict|content/;
|
|
26454
|
+
const isNotNone = value => !!value && value !== 'none';
|
|
26455
|
+
let isWebKitValue;
|
|
26398
26456
|
function isContainingBlock(elementOrCss) {
|
|
26399
|
-
const webkit = isWebKit();
|
|
26400
26457
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
26401
26458
|
|
|
26402
26459
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
26403
26460
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
26404
|
-
return
|
|
26461
|
+
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 || '');
|
|
26405
26462
|
}
|
|
26406
26463
|
function getContainingBlock(element) {
|
|
26407
26464
|
let currentNode = getParentNode(element);
|
|
@@ -26416,12 +26473,13 @@ function getContainingBlock(element) {
|
|
|
26416
26473
|
return null;
|
|
26417
26474
|
}
|
|
26418
26475
|
function isWebKit() {
|
|
26419
|
-
if (
|
|
26420
|
-
|
|
26476
|
+
if (isWebKitValue == null) {
|
|
26477
|
+
isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');
|
|
26478
|
+
}
|
|
26479
|
+
return isWebKitValue;
|
|
26421
26480
|
}
|
|
26422
|
-
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
26423
26481
|
function isLastTraversableNode(node) {
|
|
26424
|
-
return
|
|
26482
|
+
return /^(html|body|#document)$/.test(getNodeName(node));
|
|
26425
26483
|
}
|
|
26426
26484
|
function getComputedStyle$1(element) {
|
|
26427
26485
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -26477,8 +26535,9 @@ function getOverflowAncestors(node, list, traverseIframes) {
|
|
|
26477
26535
|
if (isBody) {
|
|
26478
26536
|
const frameElement = getFrameElement(win);
|
|
26479
26537
|
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
|
|
26538
|
+
} else {
|
|
26539
|
+
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
26480
26540
|
}
|
|
26481
|
-
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
26482
26541
|
}
|
|
26483
26542
|
function getFrameElement(win) {
|
|
26484
26543
|
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
|
@@ -26655,7 +26714,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
26655
26714
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
26656
26715
|
scroll = getNodeScroll(offsetParent);
|
|
26657
26716
|
}
|
|
26658
|
-
if (
|
|
26717
|
+
if (isOffsetParentAnElement) {
|
|
26659
26718
|
const offsetRect = getBoundingClientRect(offsetParent);
|
|
26660
26719
|
scale = getScale(offsetParent);
|
|
26661
26720
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
@@ -26743,7 +26802,6 @@ function getViewportRect(element, strategy) {
|
|
|
26743
26802
|
};
|
|
26744
26803
|
}
|
|
26745
26804
|
|
|
26746
|
-
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
26747
26805
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
26748
26806
|
function getInnerBoundingClientRect(element, strategy) {
|
|
26749
26807
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -26808,7 +26866,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
26808
26866
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
26809
26867
|
currentContainingBlockComputedStyle = null;
|
|
26810
26868
|
}
|
|
26811
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
26869
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
26812
26870
|
if (shouldDropCurrentNode) {
|
|
26813
26871
|
// Drop non-containing blocks.
|
|
26814
26872
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -26833,20 +26891,23 @@ function getClippingRect(_ref) {
|
|
|
26833
26891
|
} = _ref;
|
|
26834
26892
|
const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
|
|
26835
26893
|
const clippingAncestors = [...elementClippingAncestors, rootBoundary];
|
|
26836
|
-
const
|
|
26837
|
-
|
|
26838
|
-
|
|
26839
|
-
|
|
26840
|
-
|
|
26841
|
-
|
|
26842
|
-
|
|
26843
|
-
|
|
26844
|
-
|
|
26894
|
+
const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
|
|
26895
|
+
let top = firstRect.top;
|
|
26896
|
+
let right = firstRect.right;
|
|
26897
|
+
let bottom = firstRect.bottom;
|
|
26898
|
+
let left = firstRect.left;
|
|
26899
|
+
for (let i = 1; i < clippingAncestors.length; i++) {
|
|
26900
|
+
const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
|
|
26901
|
+
top = max(rect.top, top);
|
|
26902
|
+
right = min(rect.right, right);
|
|
26903
|
+
bottom = min(rect.bottom, bottom);
|
|
26904
|
+
left = max(rect.left, left);
|
|
26905
|
+
}
|
|
26845
26906
|
return {
|
|
26846
|
-
width:
|
|
26847
|
-
height:
|
|
26848
|
-
x:
|
|
26849
|
-
y:
|
|
26907
|
+
width: right - left,
|
|
26908
|
+
height: bottom - top,
|
|
26909
|
+
x: left,
|
|
26910
|
+
y: top
|
|
26850
26911
|
};
|
|
26851
26912
|
}
|
|
26852
26913
|
|
|
@@ -27097,7 +27158,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
27097
27158
|
animationFrame = false
|
|
27098
27159
|
} = options;
|
|
27099
27160
|
const referenceEl = unwrapElement(reference);
|
|
27100
|
-
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];
|
|
27161
|
+
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];
|
|
27101
27162
|
ancestors.forEach(ancestor => {
|
|
27102
27163
|
ancestorScroll && ancestor.addEventListener('scroll', update, {
|
|
27103
27164
|
passive: true
|
|
@@ -27110,7 +27171,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
27110
27171
|
if (elementResize) {
|
|
27111
27172
|
resizeObserver = new ResizeObserver(_ref => {
|
|
27112
27173
|
let [firstEntry] = _ref;
|
|
27113
|
-
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
|
|
27174
|
+
if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
|
|
27114
27175
|
// Prevent update loops when using the `size` middleware.
|
|
27115
27176
|
// https://github.com/floating-ui/floating-ui/issues/1740
|
|
27116
27177
|
resizeObserver.unobserve(floating);
|
|
@@ -27125,7 +27186,9 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
27125
27186
|
if (referenceEl && !animationFrame) {
|
|
27126
27187
|
resizeObserver.observe(referenceEl);
|
|
27127
27188
|
}
|
|
27128
|
-
|
|
27189
|
+
if (floating) {
|
|
27190
|
+
resizeObserver.observe(floating);
|
|
27191
|
+
}
|
|
27129
27192
|
}
|
|
27130
27193
|
let frameId;
|
|
27131
27194
|
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
|
@@ -27393,7 +27456,7 @@ class KolPopover {
|
|
|
27393
27456
|
}
|
|
27394
27457
|
}
|
|
27395
27458
|
render() {
|
|
27396
|
-
return (hAsync(Host, { key: '
|
|
27459
|
+
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' }))));
|
|
27397
27460
|
}
|
|
27398
27461
|
validateAlign(value) {
|
|
27399
27462
|
validateAlign(this, value);
|
|
@@ -27458,7 +27521,7 @@ class KolPopover {
|
|
|
27458
27521
|
}; }
|
|
27459
27522
|
}
|
|
27460
27523
|
|
|
27461
|
-
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-
|
|
27524
|
+
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}";
|
|
27462
27525
|
|
|
27463
27526
|
let KolPopoverButton$1 = class KolPopoverButton {
|
|
27464
27527
|
constructor(hostRef) {
|
|
@@ -27487,7 +27550,7 @@ let KolPopoverButton$1 = class KolPopoverButton {
|
|
|
27487
27550
|
return Promise.resolve((_a = this.ref) === null || _a === void 0 ? void 0 : _a.focus());
|
|
27488
27551
|
}
|
|
27489
27552
|
render() {
|
|
27490
|
-
return (hAsync(KolPopoverButtonWcTag, { key: '
|
|
27553
|
+
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' })));
|
|
27491
27554
|
}
|
|
27492
27555
|
static get style() { return {
|
|
27493
27556
|
default: defaultStyleCss$g
|
|
@@ -27609,11 +27672,11 @@ class KolPopoverButton {
|
|
|
27609
27672
|
(_c = this.cleanupAutoPositioning) === null || _c === void 0 ? void 0 : _c.call(this);
|
|
27610
27673
|
}
|
|
27611
27674
|
render() {
|
|
27612
|
-
return (hAsync("div", { key: '
|
|
27675
|
+
return (hAsync("div", { key: 'f80a8d16ce68736215e1a9f8048f29db0f5ab5a3', class: clsx('kol-popover-button', {
|
|
27613
27676
|
'kol-popover-button--open': this.popoverOpen,
|
|
27614
27677
|
'kol-popover-button--inline': this.state._inline === true,
|
|
27615
27678
|
'kol-popover-button--standalone': this.state._inline === false,
|
|
27616
|
-
}) }, hAsync(KolButtonWcTag, { key: '
|
|
27679
|
+
}) }, 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' }))));
|
|
27617
27680
|
}
|
|
27618
27681
|
validateInline(value) {
|
|
27619
27682
|
validateInline(this, value, {
|
|
@@ -27666,94 +27729,160 @@ class KolPopoverButton {
|
|
|
27666
27729
|
}; }
|
|
27667
27730
|
}
|
|
27668
27731
|
|
|
27669
|
-
const
|
|
27670
|
-
|
|
27671
|
-
const
|
|
27672
|
-
const
|
|
27673
|
-
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" })));
|
|
27674
|
-
};
|
|
27675
|
-
const BarSvg = ({ state }) => {
|
|
27676
|
-
const percentage = 100 * (state._value / state._max);
|
|
27732
|
+
const FULL_CIRCLE = 342;
|
|
27733
|
+
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" })));
|
|
27734
|
+
const BarSvg = ({ max, value }) => {
|
|
27735
|
+
const percentage = 100 * (value / max);
|
|
27677
27736
|
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)` } })));
|
|
27678
27737
|
};
|
|
27679
|
-
const createProgressSVG = (
|
|
27680
|
-
switch (
|
|
27738
|
+
const createProgressSVG = (variant, max, value) => {
|
|
27739
|
+
switch (variant) {
|
|
27681
27740
|
case 'cycle':
|
|
27682
|
-
return hAsync(CycleSvg, {
|
|
27741
|
+
return hAsync(CycleSvg, { max: max, value: value });
|
|
27683
27742
|
case 'bar':
|
|
27684
|
-
return hAsync(BarSvg, {
|
|
27743
|
+
return hAsync(BarSvg, { max: max, value: value });
|
|
27685
27744
|
default:
|
|
27686
|
-
throw new Error(`Progress variant ${
|
|
27745
|
+
throw new Error(`Progress variant ${variant} not implemented.`);
|
|
27687
27746
|
}
|
|
27688
27747
|
};
|
|
27689
|
-
|
|
27690
|
-
|
|
27691
|
-
|
|
27692
|
-
|
|
27693
|
-
|
|
27694
|
-
|
|
27695
|
-
|
|
27696
|
-
|
|
27697
|
-
|
|
27698
|
-
|
|
27699
|
-
|
|
27748
|
+
const ProgressFC = (props) => {
|
|
27749
|
+
const { label, max, unit, value, variant, liveValue } = props;
|
|
27750
|
+
const isPercentage = unit === '%';
|
|
27751
|
+
const liveProgressValue = isPercentage ? `${Math.round((liveValue / max) * 100)}` : liveValue;
|
|
27752
|
+
const displayValue = isPercentage ? Math.round((value / max) * 100) : value;
|
|
27753
|
+
const valueColumnWidth = `${`${(isPercentage ? 100 : max) + 1}`.length}ch`;
|
|
27754
|
+
return (hAsync("div", { class: "kol-progress" }, hAsync("div", { "aria-hidden": "true", class: {
|
|
27755
|
+
'kol-progress__cycle': variant === 'cycle',
|
|
27756
|
+
'kol-progress__bar': variant === 'bar',
|
|
27757
|
+
} }, 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}`)));
|
|
27758
|
+
};
|
|
27759
|
+
|
|
27760
|
+
class ProgressController extends BaseController {
|
|
27761
|
+
constructor(states) {
|
|
27762
|
+
super(states, {
|
|
27763
|
+
label: '',
|
|
27764
|
+
max: 100,
|
|
27765
|
+
unit: '%',
|
|
27766
|
+
value: 0,
|
|
27767
|
+
variant: 'bar',
|
|
27768
|
+
});
|
|
27700
27769
|
}
|
|
27701
|
-
|
|
27702
|
-
const
|
|
27703
|
-
|
|
27704
|
-
|
|
27705
|
-
|
|
27706
|
-
|
|
27707
|
-
|
|
27708
|
-
|
|
27770
|
+
componentWillLoad(props) {
|
|
27771
|
+
const { label, max, unit, value, variant } = props;
|
|
27772
|
+
this.watchLabel(label);
|
|
27773
|
+
this.watchMax(max);
|
|
27774
|
+
this.watchUnit(unit);
|
|
27775
|
+
this.watchValue(value);
|
|
27776
|
+
this.watchVariant(variant);
|
|
27777
|
+
this.setState('liveValue', this.getProps().value);
|
|
27778
|
+
this.setState('max', this.getProps().max);
|
|
27779
|
+
this.startLiveValueInterval();
|
|
27709
27780
|
}
|
|
27710
|
-
|
|
27711
|
-
|
|
27781
|
+
watchLabel(value) {
|
|
27782
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
27783
|
+
this.setProp('label', v);
|
|
27784
|
+
});
|
|
27712
27785
|
}
|
|
27713
|
-
|
|
27714
|
-
|
|
27715
|
-
|
|
27716
|
-
|
|
27717
|
-
watchNumber(this, '_max', value, {
|
|
27718
|
-
required: true,
|
|
27786
|
+
watchMax(value) {
|
|
27787
|
+
withValidPropValue(maxProp, value, (v) => {
|
|
27788
|
+
this.setProp('max', v);
|
|
27789
|
+
this.setState('max', v);
|
|
27719
27790
|
});
|
|
27791
|
+
this.watchValue(this.getProps().value);
|
|
27720
27792
|
}
|
|
27721
|
-
|
|
27722
|
-
|
|
27793
|
+
watchUnit(value) {
|
|
27794
|
+
withValidPropValue(unitProp, value, (v) => {
|
|
27795
|
+
this.setProp('unit', v);
|
|
27796
|
+
this.setState('unit', v);
|
|
27797
|
+
});
|
|
27723
27798
|
}
|
|
27724
|
-
|
|
27725
|
-
|
|
27726
|
-
value
|
|
27727
|
-
}
|
|
27728
|
-
watchNumber(this, '_value', value, {
|
|
27729
|
-
required: true,
|
|
27799
|
+
watchValue(value) {
|
|
27800
|
+
withValidPropValue(valueProp, this.clampValue(value), (v) => {
|
|
27801
|
+
this.setProp('value', v);
|
|
27730
27802
|
});
|
|
27731
27803
|
}
|
|
27732
|
-
|
|
27733
|
-
|
|
27804
|
+
watchVariant(value) {
|
|
27805
|
+
withValidPropValue(variantProgressProp, value, (v) => {
|
|
27806
|
+
this.setProp('variant', v);
|
|
27807
|
+
this.setState('variant', v);
|
|
27808
|
+
});
|
|
27734
27809
|
}
|
|
27735
|
-
|
|
27736
|
-
|
|
27737
|
-
|
|
27738
|
-
|
|
27739
|
-
|
|
27740
|
-
|
|
27741
|
-
|
|
27810
|
+
clampValue(value) {
|
|
27811
|
+
if (typeof value === 'number') {
|
|
27812
|
+
if (value > this.component.max) {
|
|
27813
|
+
value = this.component.max;
|
|
27814
|
+
}
|
|
27815
|
+
if (value < 0) {
|
|
27816
|
+
value = 0;
|
|
27817
|
+
}
|
|
27818
|
+
}
|
|
27819
|
+
return value;
|
|
27820
|
+
}
|
|
27821
|
+
startLiveValueInterval() {
|
|
27742
27822
|
this.interval = setInterval(() => {
|
|
27743
|
-
|
|
27744
|
-
|
|
27823
|
+
const { value } = this.getProps();
|
|
27824
|
+
if (this.component.liveValue !== value) {
|
|
27825
|
+
this.setState('liveValue', value);
|
|
27745
27826
|
}
|
|
27746
27827
|
}, 5000);
|
|
27747
27828
|
}
|
|
27829
|
+
destroy() {
|
|
27830
|
+
if (this.interval) {
|
|
27831
|
+
clearInterval(this.interval);
|
|
27832
|
+
this.interval = undefined;
|
|
27833
|
+
}
|
|
27834
|
+
}
|
|
27835
|
+
}
|
|
27836
|
+
|
|
27837
|
+
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}";
|
|
27838
|
+
|
|
27839
|
+
class KolProgress {
|
|
27840
|
+
constructor(hostRef) {
|
|
27841
|
+
registerInstance(this, hostRef);
|
|
27842
|
+
this.ctrl = new ProgressController(this);
|
|
27843
|
+
this.unit = '%';
|
|
27844
|
+
this.variant = 'bar';
|
|
27845
|
+
this.liveValue = 0;
|
|
27846
|
+
this.max = this._max;
|
|
27847
|
+
}
|
|
27848
|
+
watchLabel(value) {
|
|
27849
|
+
this.ctrl.watchLabel(value);
|
|
27850
|
+
}
|
|
27851
|
+
watchMax(value) {
|
|
27852
|
+
this.ctrl.watchMax(value);
|
|
27853
|
+
}
|
|
27854
|
+
watchUnit(value) {
|
|
27855
|
+
this.ctrl.watchUnit(value);
|
|
27856
|
+
}
|
|
27857
|
+
watchValue(value) {
|
|
27858
|
+
this.ctrl.watchValue(value);
|
|
27859
|
+
}
|
|
27860
|
+
watchVariant(value) {
|
|
27861
|
+
this.ctrl.watchVariant(value);
|
|
27862
|
+
}
|
|
27863
|
+
componentWillLoad() {
|
|
27864
|
+
this.ctrl.componentWillLoad({
|
|
27865
|
+
label: this._label,
|
|
27866
|
+
max: this._max,
|
|
27867
|
+
unit: this._unit,
|
|
27868
|
+
value: this._value,
|
|
27869
|
+
variant: this._variant,
|
|
27870
|
+
});
|
|
27871
|
+
}
|
|
27748
27872
|
disconnectedCallback() {
|
|
27749
|
-
|
|
27873
|
+
this.ctrl.destroy();
|
|
27874
|
+
}
|
|
27875
|
+
render() {
|
|
27876
|
+
const { label, max, unit, value, variant } = this.ctrl.getProps();
|
|
27877
|
+
const { liveValue } = this;
|
|
27878
|
+
return (hAsync(Host, { key: 'c101389f829d2be6f356a198fff8a557d6bcac46' }, hAsync(ProgressFC, { key: '805ea44845b7fb33b5e993b9dd4f5b2848933d7b', label: label, max: max, unit: unit, value: value, variant: variant, liveValue: liveValue })));
|
|
27750
27879
|
}
|
|
27751
27880
|
static get watchers() { return {
|
|
27752
|
-
"_label": ["
|
|
27753
|
-
"_max": ["
|
|
27754
|
-
"_unit": ["
|
|
27755
|
-
"_value": ["
|
|
27756
|
-
"_variant": ["
|
|
27881
|
+
"_label": ["watchLabel"],
|
|
27882
|
+
"_max": ["watchMax"],
|
|
27883
|
+
"_unit": ["watchUnit"],
|
|
27884
|
+
"_value": ["watchValue"],
|
|
27885
|
+
"_variant": ["watchVariant"]
|
|
27757
27886
|
}; }
|
|
27758
27887
|
static get style() { return {
|
|
27759
27888
|
default: defaultStyleCss$f
|
|
@@ -27767,7 +27896,10 @@ class KolProgress {
|
|
|
27767
27896
|
"_unit": [1],
|
|
27768
27897
|
"_value": [2],
|
|
27769
27898
|
"_variant": [1],
|
|
27770
|
-
"
|
|
27899
|
+
"unit": [32],
|
|
27900
|
+
"variant": [32],
|
|
27901
|
+
"liveValue": [32],
|
|
27902
|
+
"max": [32]
|
|
27771
27903
|
},
|
|
27772
27904
|
"$listeners$": undefined,
|
|
27773
27905
|
"$lazyBundleId$": "-",
|
|
@@ -27775,47 +27907,93 @@ class KolProgress {
|
|
|
27775
27907
|
}; }
|
|
27776
27908
|
}
|
|
27777
27909
|
|
|
27778
|
-
const
|
|
27910
|
+
const quoteBem = bem$2.forBlock('kol-quote');
|
|
27911
|
+
const BEM_CLASS_QUOTE__BLOCKQUOTE = quoteBem('blockquote');
|
|
27912
|
+
const BEM_CLASS_QUOTE__CITE = quoteBem('cite');
|
|
27913
|
+
const BEM_CLASS_QUOTE__FIGCAPTION = quoteBem('figcaption');
|
|
27914
|
+
const BEM_CLASS_QUOTE__QUOTE = quoteBem('quote');
|
|
27915
|
+
const QuoteFC = (props) => {
|
|
27916
|
+
const { href, label, quote, variant } = props;
|
|
27917
|
+
const hasExpertSlot = quote === '';
|
|
27918
|
+
const BEM_CLASS_ROOT = quoteBem({ [variant]: true });
|
|
27919
|
+
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" }))))));
|
|
27920
|
+
};
|
|
27921
|
+
|
|
27922
|
+
class QuoteController extends BaseController {
|
|
27923
|
+
constructor() {
|
|
27924
|
+
super({}, {
|
|
27925
|
+
href: '',
|
|
27926
|
+
label: '',
|
|
27927
|
+
quote: '',
|
|
27928
|
+
variant: 'inline',
|
|
27929
|
+
});
|
|
27930
|
+
}
|
|
27931
|
+
componentWillLoad(props) {
|
|
27932
|
+
const { href, label, quote, variant } = props;
|
|
27933
|
+
this.watchHref(href);
|
|
27934
|
+
this.watchLabel(label);
|
|
27935
|
+
this.watchQuote(quote);
|
|
27936
|
+
this.watchVariant(variant);
|
|
27937
|
+
}
|
|
27938
|
+
watchHref(value) {
|
|
27939
|
+
withValidPropValue(hrefProp, value, (v) => {
|
|
27940
|
+
this.setProp('href', v);
|
|
27941
|
+
});
|
|
27942
|
+
}
|
|
27943
|
+
watchLabel(value) {
|
|
27944
|
+
withValidPropValue(labelProp, value, (v) => {
|
|
27945
|
+
this.setProp('label', v);
|
|
27946
|
+
});
|
|
27947
|
+
}
|
|
27948
|
+
watchQuote(value) {
|
|
27949
|
+
withValidPropValue(quoteProp, value, (v) => {
|
|
27950
|
+
this.setProp('quote', v);
|
|
27951
|
+
});
|
|
27952
|
+
}
|
|
27953
|
+
watchVariant(value) {
|
|
27954
|
+
withValidPropValue(variantQuoteProp, value, (v) => {
|
|
27955
|
+
this.setProp('variant', v);
|
|
27956
|
+
});
|
|
27957
|
+
}
|
|
27958
|
+
}
|
|
27959
|
+
|
|
27960
|
+
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}";
|
|
27779
27961
|
|
|
27780
27962
|
class KolQuote {
|
|
27781
27963
|
constructor(hostRef) {
|
|
27782
27964
|
registerInstance(this, hostRef);
|
|
27965
|
+
this.ctrl = new QuoteController();
|
|
27783
27966
|
this._variant = 'inline';
|
|
27784
|
-
this.state = {
|
|
27785
|
-
_href: '',
|
|
27786
|
-
_quote: '',
|
|
27787
|
-
_variant: 'inline',
|
|
27788
|
-
};
|
|
27789
27967
|
}
|
|
27790
|
-
|
|
27791
|
-
|
|
27968
|
+
watchHref(value) {
|
|
27969
|
+
this.ctrl.watchHref(value);
|
|
27792
27970
|
}
|
|
27793
|
-
|
|
27794
|
-
|
|
27795
|
-
required: true,
|
|
27796
|
-
});
|
|
27971
|
+
watchLabel(value) {
|
|
27972
|
+
this.ctrl.watchLabel(value);
|
|
27797
27973
|
}
|
|
27798
|
-
|
|
27799
|
-
|
|
27974
|
+
watchQuote(value) {
|
|
27975
|
+
this.ctrl.watchQuote(value);
|
|
27800
27976
|
}
|
|
27801
|
-
|
|
27802
|
-
|
|
27977
|
+
watchVariant(value) {
|
|
27978
|
+
this.ctrl.watchVariant(value);
|
|
27803
27979
|
}
|
|
27804
27980
|
componentWillLoad() {
|
|
27805
|
-
this.
|
|
27806
|
-
|
|
27807
|
-
|
|
27808
|
-
|
|
27981
|
+
this.ctrl.componentWillLoad({
|
|
27982
|
+
href: this._href,
|
|
27983
|
+
label: this._label,
|
|
27984
|
+
quote: this._quote,
|
|
27985
|
+
variant: this._variant,
|
|
27986
|
+
});
|
|
27809
27987
|
}
|
|
27810
27988
|
render() {
|
|
27811
|
-
const
|
|
27812
|
-
return (hAsync(
|
|
27989
|
+
const { href, label, quote, variant } = this.ctrl.getProps();
|
|
27990
|
+
return (hAsync(Host, { key: 'd00028f8f46d69f8af987135505eb7ce06adb2fc' }, hAsync(QuoteFC, { key: '06a839262e565e7cbc6e19baff0d1869ca9fda78', href: href, label: label, quote: quote, variant: variant })));
|
|
27813
27991
|
}
|
|
27814
27992
|
static get watchers() { return {
|
|
27815
|
-
"
|
|
27816
|
-
"
|
|
27817
|
-
"_quote": ["
|
|
27818
|
-
"_variant": ["
|
|
27993
|
+
"_href": ["watchHref"],
|
|
27994
|
+
"_label": ["watchLabel"],
|
|
27995
|
+
"_quote": ["watchQuote"],
|
|
27996
|
+
"_variant": ["watchVariant"]
|
|
27819
27997
|
}; }
|
|
27820
27998
|
static get style() { return {
|
|
27821
27999
|
default: defaultStyleCss$e
|
|
@@ -27824,11 +28002,10 @@ class KolQuote {
|
|
|
27824
28002
|
"$flags$": 297,
|
|
27825
28003
|
"$tagName$": "kol-quote",
|
|
27826
28004
|
"$members$": {
|
|
27827
|
-
"_label": [1],
|
|
27828
28005
|
"_href": [1],
|
|
28006
|
+
"_label": [1],
|
|
27829
28007
|
"_quote": [1],
|
|
27830
|
-
"_variant": [1]
|
|
27831
|
-
"state": [32]
|
|
28008
|
+
"_variant": [1]
|
|
27832
28009
|
},
|
|
27833
28010
|
"$listeners$": undefined,
|
|
27834
28011
|
"$lazyBundleId$": "-",
|
|
@@ -27862,7 +28039,7 @@ class KolSelect {
|
|
|
27862
28039
|
return Promise.resolve((_a = this.selectWcRef) === null || _a === void 0 ? void 0 : _a.focus());
|
|
27863
28040
|
}
|
|
27864
28041
|
render() {
|
|
27865
|
-
return (hAsync(Host, { key: '
|
|
28042
|
+
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" }))));
|
|
27866
28043
|
}
|
|
27867
28044
|
static get style() { return {
|
|
27868
28045
|
default: defaultStyleCss$d
|
|
@@ -28125,11 +28302,11 @@ class KolSelectWc {
|
|
|
28125
28302
|
} });
|
|
28126
28303
|
}
|
|
28127
28304
|
render() {
|
|
28128
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28305
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '5f0a307074c04096c87c8562bb4b32cd7a68fe33' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '1c4df443d35659907835ce2a72d16fb2a23be340', state: this.state }, hAsync("form", { key: '78f8b37700ac271ebcfb92529e0fefbd79fffedd', onSubmit: (event) => {
|
|
28129
28306
|
event.preventDefault();
|
|
28130
28307
|
propagateSubmitEventToForm({
|
|
28131
28308
|
form: this.host});
|
|
28132
|
-
} }, hAsync("input", { key: '
|
|
28309
|
+
} }, hAsync("input", { key: '73ccb43eee0a4e71e9fa907d4e6a40bdf903fb33', type: "submit", hidden: true }), hAsync(SelectStateWrapper, Object.assign({ key: '4cb054a8550a6c58eac0fdc23e751152c141c592' }, this.getSelectProps()))))));
|
|
28133
28310
|
}
|
|
28134
28311
|
constructor(hostRef) {
|
|
28135
28312
|
registerInstance(this, hostRef);
|
|
@@ -28539,15 +28716,15 @@ class KolSingleSelect {
|
|
|
28539
28716
|
render() {
|
|
28540
28717
|
var _a;
|
|
28541
28718
|
const isDisabled = this.state._disabled === true;
|
|
28542
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
28719
|
+
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: {
|
|
28543
28720
|
onClick: () => {
|
|
28544
28721
|
var _a;
|
|
28545
28722
|
this.clearSelection();
|
|
28546
28723
|
(_a = this.refInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28547
28724
|
},
|
|
28548
|
-
} })), hAsync(KolIconTag, { key: '
|
|
28725
|
+
} })), hAsync(KolIconTag, { key: '1c7113d7a3b0f2f7880565019f8564e6158bd739', _icons: "kolicon-chevron-down", _label: "", class: clsx('kol-custom-suggestions-toggle', {
|
|
28549
28726
|
'kol-custom-suggestions-toggle--disabled': isDisabled,
|
|
28550
|
-
}), onClick: this.toggleListbox.bind(this) })), hAsync(CustomSuggestionsOptionsGroupFc, { key: '
|
|
28727
|
+
}), 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) => {
|
|
28551
28728
|
if (el)
|
|
28552
28729
|
this.refOptions[index] = el;
|
|
28553
28730
|
}, selected: this._value === option.value, disabled: option.disabled ? true : false, onClick: (event) => {
|
|
@@ -29035,7 +29212,7 @@ class KolSkeleton {
|
|
|
29035
29212
|
render() {
|
|
29036
29213
|
const { count, name } = this.ctrl.getProps();
|
|
29037
29214
|
const { label, show } = this;
|
|
29038
|
-
return (hAsync(Host, { key: '
|
|
29215
|
+
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) })));
|
|
29039
29216
|
}
|
|
29040
29217
|
static get watchers() { return {
|
|
29041
29218
|
"_count": ["watchCount"],
|
|
@@ -29070,7 +29247,7 @@ class KolSkipNav {
|
|
|
29070
29247
|
};
|
|
29071
29248
|
}
|
|
29072
29249
|
render() {
|
|
29073
|
-
return (hAsync("nav", { key: '
|
|
29250
|
+
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) => {
|
|
29074
29251
|
return (hAsync("li", { class: "kol-skip-nav__list-item", key: index }, hAsync(KolLinkWcTag, Object.assign({}, link, { ref: index === 0 ? (el) => (this.firstLinkRef = el) : undefined }))));
|
|
29075
29252
|
}))));
|
|
29076
29253
|
}
|
|
@@ -29119,7 +29296,7 @@ class KolSkipNav {
|
|
|
29119
29296
|
}; }
|
|
29120
29297
|
}
|
|
29121
29298
|
|
|
29122
|
-
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}";
|
|
29299
|
+
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}";
|
|
29123
29300
|
|
|
29124
29301
|
function renderSpin(variant) {
|
|
29125
29302
|
switch (variant) {
|
|
@@ -29146,7 +29323,7 @@ class KolSpin {
|
|
|
29146
29323
|
}
|
|
29147
29324
|
render() {
|
|
29148
29325
|
var _a, _b;
|
|
29149
|
-
return (hAsync(Host, { key: '
|
|
29326
|
+
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)))));
|
|
29150
29327
|
}
|
|
29151
29328
|
validateShow(value) {
|
|
29152
29329
|
this.showToggled = this.state._show === true && this._show === false;
|
|
@@ -29233,10 +29410,10 @@ class KolSplitButton {
|
|
|
29233
29410
|
}
|
|
29234
29411
|
render() {
|
|
29235
29412
|
const i18nDropdownLabel = 'kol-split-button-dropdown-label';
|
|
29236
|
-
return (hAsync("div", { key: '
|
|
29413
|
+
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', {
|
|
29237
29414
|
[this._variant]: this._variant !== 'custom',
|
|
29238
29415
|
[this._customClass]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,
|
|
29239
|
-
}), 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: '
|
|
29416
|
+
}), 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' }))));
|
|
29240
29417
|
}
|
|
29241
29418
|
async closePopup() {
|
|
29242
29419
|
this.handleOnClose();
|
|
@@ -29377,7 +29554,7 @@ class KolTableSettings {
|
|
|
29377
29554
|
}
|
|
29378
29555
|
render() {
|
|
29379
29556
|
const columns = this.getPrimaryRow();
|
|
29380
|
-
return (hAsync(KolPopoverButtonWcTag, { key: '
|
|
29557
|
+
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" }))))));
|
|
29381
29558
|
}
|
|
29382
29559
|
get host() { return getElement(this); }
|
|
29383
29560
|
static get watchers() { return {
|
|
@@ -29436,7 +29613,7 @@ var KeyboardKey;
|
|
|
29436
29613
|
KeyboardKey["Space"] = " ";
|
|
29437
29614
|
})(KeyboardKey || (KeyboardKey = {}));
|
|
29438
29615
|
|
|
29439
|
-
const defaultStyleCss$8 = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n :host {\n display: inline-block;\n }\n .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-popover-button--inline .kol-popover-button__button {\n display: inline;\n }\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings .kol-popover-button__popover {\n background: #fff;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n border-radius: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n border: 1px solid #d1d5db;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n gap: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content minmax(max-content, 1fr) calc(140 * 1rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table__table {\n table-layout: fixed;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__sort {\n display: inline-flex;\n gap: 0.25rem;\n align-items: center;\n }\n .kol-table__sort-order {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n align-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n align-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n align-items: end;\n }\n .kol-table__cell--selection {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__cell--actions {\n white-space: nowrap;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-table__cell--actions .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-table__cell--actions :host {\n display: inline-block;\n }\n .kol-table__cell--actions .kol-link {\n display: inline-flex;\n max-width: fit-content;\n align-items: baseline;\n place-items: center;\n text-align: left;\n text-decoration-line: none;\n }\n .kol-table__cell--actions .kol-link--standalone {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: stretch;\n }\n .kol-table__cell--actions .kol-link--standalone .kol-link__text {\n display: inline-flex;\n flex: 1 1 100%;\n place-items: center;\n }\n .kol-table__cell--actions .kol-link .kol-span__label {\n text-decoration-line: underline;\n }\n .kol-table__cell--actions .kol-link:focus:not([aria-disabled], [disabled]) .kol-span__label, .kol-table__cell--actions .kol-link:hover:not([aria-disabled], [disabled]) .kol-span__label {\n text-decoration-thickness: 0.2em;\n }\n .kol-table__cell--actions .kol-link__icon {\n display: inline-flex;\n margin-left: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-table__cell-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n display: flex;\n position: relative;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n min-width: calc(var(--a11y-min-size) / 2);\n min-height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field--disabled .kol-form-field__label {\n opacity: 0.5;\n }\n .kol-form-field--required .kol-form-field__label-text:not(:has(> [name]))::after,\n .kol-form-field--required .kol-form-field__tooltip .span-label::after {\n content: \"*\"/\"\";\n }\n .kol-form-field--disabled .kol-form-field__hint {\n opacity: 0.5;\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)) {\n grid-template-columns: auto 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: 1fr auto;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start:not(:empty)):has(> .kol-input-container__adornment--end:not(:empty)) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-select {\n background-color: transparent;\n width: 100%;\n }\n .kol-select:not(:disabled) {\n cursor: pointer;\n }\n .kol-select:not([multiple], [size]) {\n height: 2.75em;\n }\n .kol-select:focus {\n outline: none;\n }\n .kol-select__option:checked::before {\n content: \"✓ \";\n }\n .kol-select {\n /* needed hack for vertical alignment */\n }\n .kol-select[multiple] option {\n padding: calc((var(--a11y-min-size) - 16 * 1rem / var(--kolibri-root-font-size, 16)) / 2) 0.5em;\n }\n .kol-pagination {\n display: flex;\n gap: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n container: paging/inline-size;\n }\n .kol-pagination__navigation-list {\n display: inline-flex;\n margin: 0;\n padding: 0;\n gap: 0.5em;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n .kol-pagination__page-size-select .kol-form-field-select {\n align-items: center;\n grid-template-columns: 1fr max-content;\n }\n @container paging (width < 600px) {\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__button--numbers),\n .kol-pagination:has(.kol-pagination__button--first) li:has(.kol-pagination__separator) {\n display: none;\n }\n }\n}";
|
|
29616
|
+
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}";
|
|
29440
29617
|
|
|
29441
29618
|
const PAGINATION_OPTIONS = [10, 20, 50, 100];
|
|
29442
29619
|
const paginationValidator = (value) => value === true || value === '' || (typeof value === 'object' && value !== null);
|
|
@@ -29694,7 +29871,7 @@ class KolTableStateful {
|
|
|
29694
29871
|
label: `${this.state._label} (${translate(`kol-pagination-position-${position}`)})`,
|
|
29695
29872
|
},
|
|
29696
29873
|
});
|
|
29697
|
-
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, {
|
|
29874
|
+
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 }))));
|
|
29698
29875
|
}
|
|
29699
29876
|
getHeaderCellSortState(headerCell) {
|
|
29700
29877
|
if (headerCell.type !== undefined && headerCell.type !== 'default') {
|
|
@@ -29766,7 +29943,7 @@ class KolTableStateful {
|
|
|
29766
29943
|
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 : [],
|
|
29767
29944
|
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 : [],
|
|
29768
29945
|
};
|
|
29769
|
-
return (hAsync(Host, { key: '
|
|
29946
|
+
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: {
|
|
29770
29947
|
onSort: (_, payload) => {
|
|
29771
29948
|
this.handleSort(payload);
|
|
29772
29949
|
},
|
|
@@ -29814,14 +29991,14 @@ class KolTableStateful {
|
|
|
29814
29991
|
}; }
|
|
29815
29992
|
}
|
|
29816
29993
|
|
|
29817
|
-
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}";
|
|
29994
|
+
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}";
|
|
29818
29995
|
|
|
29819
29996
|
let KolTableStateless$1 = class KolTableStateless {
|
|
29820
29997
|
constructor(hostRef) {
|
|
29821
29998
|
registerInstance(this, hostRef);
|
|
29822
29999
|
}
|
|
29823
30000
|
render() {
|
|
29824
|
-
return (hAsync(KolTableStatelessWcTag, { key: '
|
|
30001
|
+
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 }));
|
|
29825
30002
|
}
|
|
29826
30003
|
static get style() { return {
|
|
29827
30004
|
default: defaultStyleCss$7
|
|
@@ -30456,12 +30633,12 @@ class KolTableStateless {
|
|
|
30456
30633
|
const dataField = this.createDataField(this.state._data, this.state._headerCells);
|
|
30457
30634
|
this.checkboxRefs = [];
|
|
30458
30635
|
const horizontalHeaders = this.state._headerCells.horizontal;
|
|
30459
|
-
return (hAsync("div", { key: '
|
|
30636
|
+
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: {
|
|
30460
30637
|
minWidth: this.getTableMinWidth(),
|
|
30461
|
-
} }, hAsync("caption", { key: '
|
|
30638
|
+
} }, 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" }, [
|
|
30462
30639
|
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))))),
|
|
30463
30640
|
this.renderSpacer('head', horizontalHeaders),
|
|
30464
|
-
])), hAsync("tbody", { key: '
|
|
30641
|
+
])), hAsync("tbody", { key: 'e29a121864fcbc05ef1ddb6b6deb1dccac7aeb8e', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
|
|
30465
30642
|
}
|
|
30466
30643
|
get host() { return getElement(this); }
|
|
30467
30644
|
static get watchers() { return {
|
|
@@ -30699,9 +30876,9 @@ class KolTabs {
|
|
|
30699
30876
|
}, _icons: "kolicon-plus", "data-testid": "tabs-create-button" }))));
|
|
30700
30877
|
}
|
|
30701
30878
|
render() {
|
|
30702
|
-
return (hAsync("div", { key: '
|
|
30879
|
+
return (hAsync("div", { key: '5378ca59742be923ad17c9df87c85ef02f1a9a83', ref: (el) => {
|
|
30703
30880
|
this.tabPanelsElement = el;
|
|
30704
|
-
}, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: '
|
|
30881
|
+
}, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), hAsync("div", { key: 'd24a5c490c92b0b711ff5fa51126419b6b21d8ad', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
|
|
30705
30882
|
}
|
|
30706
30883
|
validateAlign(value) {
|
|
30707
30884
|
validateAlign(this, value);
|
|
@@ -30932,7 +31109,7 @@ class KolTextarea {
|
|
|
30932
31109
|
} });
|
|
30933
31110
|
}
|
|
30934
31111
|
render() {
|
|
30935
|
-
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '
|
|
31112
|
+
return (hAsync(FormFieldStateWrapper, Object.assign({ key: '633c65295555ee15873eb7c5944c4df5b8ffe99f' }, this.getFormFieldProps()), hAsync(InputContainerStateWrapperFc, { key: '687e9d1ed39ae95c6550dc6c617a3011d05f3857', state: this.state }, hAsync(TextAreaStateWrapper, Object.assign({ key: '75121bbf58bb7432bd63d2a4e84d028f41b52d7c' }, this.getTextAreaProps())))));
|
|
30936
31113
|
}
|
|
30937
31114
|
constructor(hostRef) {
|
|
30938
31115
|
registerInstance(this, hostRef);
|
|
@@ -31199,7 +31376,7 @@ class KolToastContainer {
|
|
|
31199
31376
|
}
|
|
31200
31377
|
}
|
|
31201
31378
|
render() {
|
|
31202
|
-
return (hAsync(Host, { key: '
|
|
31379
|
+
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: {
|
|
31203
31380
|
onClick: () => {
|
|
31204
31381
|
void this.closeAll();
|
|
31205
31382
|
},
|
|
@@ -31253,7 +31430,7 @@ class KolToolbar {
|
|
|
31253
31430
|
return Object.assign(Object.assign({}, rest), { _icons, _disabled });
|
|
31254
31431
|
}
|
|
31255
31432
|
render() {
|
|
31256
|
-
return (hAsync("div", { key: '
|
|
31433
|
+
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)));
|
|
31257
31434
|
}
|
|
31258
31435
|
validateLabel(value) {
|
|
31259
31436
|
validateLabel(this, value);
|
|
@@ -31496,7 +31673,7 @@ class KolTooltipWc {
|
|
|
31496
31673
|
this.showOrHideTooltip();
|
|
31497
31674
|
}
|
|
31498
31675
|
render() {
|
|
31499
|
-
return (hAsync(Host, { key: '
|
|
31676
|
+
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 }))));
|
|
31500
31677
|
}
|
|
31501
31678
|
validateBadgeText(value) {
|
|
31502
31679
|
validateBadgeText(this, value);
|
|
@@ -31574,7 +31751,7 @@ class KolTree {
|
|
|
31574
31751
|
registerInstance(this, hostRef);
|
|
31575
31752
|
}
|
|
31576
31753
|
render() {
|
|
31577
|
-
return (hAsync(KolTreeWcTag, { key: '
|
|
31754
|
+
return (hAsync(KolTreeWcTag, { key: 'd80ef53eb88006c0247391eefe6e13dbcfb06b81', _label: this._label }, hAsync("slot", { key: '7bd6fbba7b91939d863f0048a06ce2a74d4524fa' })));
|
|
31578
31755
|
}
|
|
31579
31756
|
static get style() { return {
|
|
31580
31757
|
default: defaultStyleCss$2
|
|
@@ -31614,7 +31791,7 @@ class KolTreeItem {
|
|
|
31614
31791
|
return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
|
|
31615
31792
|
}
|
|
31616
31793
|
render() {
|
|
31617
|
-
return (hAsync(KolTreeItemWcTag, { key: '
|
|
31794
|
+
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' })));
|
|
31618
31795
|
}
|
|
31619
31796
|
static get style() { return {
|
|
31620
31797
|
default: defaultStyleCss$1
|
|
@@ -31652,12 +31829,12 @@ class KolTreeItemWc {
|
|
|
31652
31829
|
}
|
|
31653
31830
|
render() {
|
|
31654
31831
|
const { _href, _active, _hasChildren, _open, _label } = this.state;
|
|
31655
|
-
return (hAsync(Host, { key: '
|
|
31832
|
+
return (hAsync(Host, { key: '0911b3ee1e2a5bbe41270de1d18f08f264a90559', onSlotchange: this.handleSlotchange.bind(this) }, hAsync("li", { key: '6e7a15926da303380f7146f0f6fcab1954e6b7bc', class: "kol-tree-item", style: {
|
|
31656
31833
|
'--level': `${this.level}`,
|
|
31657
|
-
} }, hAsync(KolLinkWcTag, { key: '
|
|
31834
|
+
} }, hAsync(KolLinkWcTag, { key: '8d4ac9fd10ec270dfc01229ddcc9309d73f7f651', class: clsx('kol-tree-item__link', {
|
|
31658
31835
|
'kol-tree-item__link--first-level': this.level === 0,
|
|
31659
31836
|
'kol-tree-item__link--active': _active,
|
|
31660
|
-
}), _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: '
|
|
31837
|
+
}), _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' })))));
|
|
31661
31838
|
}
|
|
31662
31839
|
validateActive(value) {
|
|
31663
31840
|
validateActive(this, value || false);
|
|
@@ -31764,7 +31941,7 @@ class KolTreeWc {
|
|
|
31764
31941
|
validateLabel(this, value);
|
|
31765
31942
|
}
|
|
31766
31943
|
render() {
|
|
31767
|
-
return (hAsync(Host, { key: '
|
|
31944
|
+
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' })))));
|
|
31768
31945
|
}
|
|
31769
31946
|
static isTreeItem(element) {
|
|
31770
31947
|
return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
|
|
@@ -31963,7 +32140,7 @@ class KolVersion {
|
|
|
31963
32140
|
};
|
|
31964
32141
|
}
|
|
31965
32142
|
render() {
|
|
31966
|
-
return (hAsync(Host, { key: '
|
|
32143
|
+
return (hAsync(Host, { key: 'c8e72198321e8cdab71e9292a10c294f979daf51', class: "kol-version" }, hAsync(KolBadgeTag, { key: '9c1141344592a00a5d7e3081b397ecf13e8bf6b5', _color: "#bec5c9", _icons: {
|
|
31967
32144
|
left: { icon: 'kolicon-version', label: this.translateVersion },
|
|
31968
32145
|
}, _label: this.state._label })));
|
|
31969
32146
|
}
|