@public-ui/theme-default 1.7.2-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,2808 @@
1
+ 'use strict';
2
+
3
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
+
5
+ var loglevel = {exports: {}};
6
+
7
+ /*
8
+ * loglevel - https://github.com/pimterry/loglevel
9
+ *
10
+ * Copyright (c) 2013 Tim Perry
11
+ * Licensed under the MIT license.
12
+ */
13
+
14
+ (function (module) {
15
+ (function (root, definition) {
16
+ if (module.exports) {
17
+ module.exports = definition();
18
+ } else {
19
+ root.log = definition();
20
+ }
21
+ }(commonjsGlobal, function () {
22
+
23
+ // Slightly dubious tricks to cut down minimized file size
24
+ var noop = function() {};
25
+ var undefinedType = "undefined";
26
+ var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (
27
+ /Trident\/|MSIE /.test(window.navigator.userAgent)
28
+ );
29
+
30
+ var logMethods = [
31
+ "trace",
32
+ "debug",
33
+ "info",
34
+ "warn",
35
+ "error"
36
+ ];
37
+
38
+ // Cross-browser bind equivalent that works at least back to IE6
39
+ function bindMethod(obj, methodName) {
40
+ var method = obj[methodName];
41
+ if (typeof method.bind === 'function') {
42
+ return method.bind(obj);
43
+ } else {
44
+ try {
45
+ return Function.prototype.bind.call(method, obj);
46
+ } catch (e) {
47
+ // Missing bind shim or IE8 + Modernizr, fallback to wrapping
48
+ return function() {
49
+ return Function.prototype.apply.apply(method, [obj, arguments]);
50
+ };
51
+ }
52
+ }
53
+ }
54
+
55
+ // Trace() doesn't print the message in IE, so for that case we need to wrap it
56
+ function traceForIE() {
57
+ if (console.log) {
58
+ if (console.log.apply) {
59
+ console.log.apply(console, arguments);
60
+ } else {
61
+ // In old IE, native console methods themselves don't have apply().
62
+ Function.prototype.apply.apply(console.log, [console, arguments]);
63
+ }
64
+ }
65
+ if (console.trace) console.trace();
66
+ }
67
+
68
+ // Build the best logging method possible for this env
69
+ // Wherever possible we want to bind, not wrap, to preserve stack traces
70
+ function realMethod(methodName) {
71
+ if (methodName === 'debug') {
72
+ methodName = 'log';
73
+ }
74
+
75
+ if (typeof console === undefinedType) {
76
+ return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives
77
+ } else if (methodName === 'trace' && isIE) {
78
+ return traceForIE;
79
+ } else if (console[methodName] !== undefined) {
80
+ return bindMethod(console, methodName);
81
+ } else if (console.log !== undefined) {
82
+ return bindMethod(console, 'log');
83
+ } else {
84
+ return noop;
85
+ }
86
+ }
87
+
88
+ // These private functions always need `this` to be set properly
89
+
90
+ function replaceLoggingMethods(level, loggerName) {
91
+ /*jshint validthis:true */
92
+ for (var i = 0; i < logMethods.length; i++) {
93
+ var methodName = logMethods[i];
94
+ this[methodName] = (i < level) ?
95
+ noop :
96
+ this.methodFactory(methodName, level, loggerName);
97
+ }
98
+
99
+ // Define log.log as an alias for log.debug
100
+ this.log = this.debug;
101
+ }
102
+
103
+ // In old IE versions, the console isn't present until you first open it.
104
+ // We build realMethod() replacements here that regenerate logging methods
105
+ function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {
106
+ return function () {
107
+ if (typeof console !== undefinedType) {
108
+ replaceLoggingMethods.call(this, level, loggerName);
109
+ this[methodName].apply(this, arguments);
110
+ }
111
+ };
112
+ }
113
+
114
+ // By default, we use closely bound real methods wherever possible, and
115
+ // otherwise we wait for a console to appear, and then try again.
116
+ function defaultMethodFactory(methodName, level, loggerName) {
117
+ /*jshint validthis:true */
118
+ return realMethod(methodName) ||
119
+ enableLoggingWhenConsoleArrives.apply(this, arguments);
120
+ }
121
+
122
+ function Logger(name, defaultLevel, factory) {
123
+ var self = this;
124
+ var currentLevel;
125
+ defaultLevel = defaultLevel == null ? "WARN" : defaultLevel;
126
+
127
+ var storageKey = "loglevel";
128
+ if (typeof name === "string") {
129
+ storageKey += ":" + name;
130
+ } else if (typeof name === "symbol") {
131
+ storageKey = undefined;
132
+ }
133
+
134
+ function persistLevelIfPossible(levelNum) {
135
+ var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
136
+
137
+ if (typeof window === undefinedType || !storageKey) return;
138
+
139
+ // Use localStorage if available
140
+ try {
141
+ window.localStorage[storageKey] = levelName;
142
+ return;
143
+ } catch (ignore) {}
144
+
145
+ // Use session cookie as fallback
146
+ try {
147
+ window.document.cookie =
148
+ encodeURIComponent(storageKey) + "=" + levelName + ";";
149
+ } catch (ignore) {}
150
+ }
151
+
152
+ function getPersistedLevel() {
153
+ var storedLevel;
154
+
155
+ if (typeof window === undefinedType || !storageKey) return;
156
+
157
+ try {
158
+ storedLevel = window.localStorage[storageKey];
159
+ } catch (ignore) {}
160
+
161
+ // Fallback to cookies if local storage gives us nothing
162
+ if (typeof storedLevel === undefinedType) {
163
+ try {
164
+ var cookie = window.document.cookie;
165
+ var location = cookie.indexOf(
166
+ encodeURIComponent(storageKey) + "=");
167
+ if (location !== -1) {
168
+ storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];
169
+ }
170
+ } catch (ignore) {}
171
+ }
172
+
173
+ // If the stored level is not valid, treat it as if nothing was stored.
174
+ if (self.levels[storedLevel] === undefined) {
175
+ storedLevel = undefined;
176
+ }
177
+
178
+ return storedLevel;
179
+ }
180
+
181
+ function clearPersistedLevel() {
182
+ if (typeof window === undefinedType || !storageKey) return;
183
+
184
+ // Use localStorage if available
185
+ try {
186
+ window.localStorage.removeItem(storageKey);
187
+ return;
188
+ } catch (ignore) {}
189
+
190
+ // Use session cookie as fallback
191
+ try {
192
+ window.document.cookie =
193
+ encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
194
+ } catch (ignore) {}
195
+ }
196
+
197
+ /*
198
+ *
199
+ * Public logger API - see https://github.com/pimterry/loglevel for details
200
+ *
201
+ */
202
+
203
+ self.name = name;
204
+
205
+ self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3,
206
+ "ERROR": 4, "SILENT": 5};
207
+
208
+ self.methodFactory = factory || defaultMethodFactory;
209
+
210
+ self.getLevel = function () {
211
+ return currentLevel;
212
+ };
213
+
214
+ self.setLevel = function (level, persist) {
215
+ if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) {
216
+ level = self.levels[level.toUpperCase()];
217
+ }
218
+ if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) {
219
+ currentLevel = level;
220
+ if (persist !== false) { // defaults to true
221
+ persistLevelIfPossible(level);
222
+ }
223
+ replaceLoggingMethods.call(self, level, name);
224
+ if (typeof console === undefinedType && level < self.levels.SILENT) {
225
+ return "No console available for logging";
226
+ }
227
+ } else {
228
+ throw "log.setLevel() called with invalid level: " + level;
229
+ }
230
+ };
231
+
232
+ self.setDefaultLevel = function (level) {
233
+ defaultLevel = level;
234
+ if (!getPersistedLevel()) {
235
+ self.setLevel(level, false);
236
+ }
237
+ };
238
+
239
+ self.resetLevel = function () {
240
+ self.setLevel(defaultLevel, false);
241
+ clearPersistedLevel();
242
+ };
243
+
244
+ self.enableAll = function(persist) {
245
+ self.setLevel(self.levels.TRACE, persist);
246
+ };
247
+
248
+ self.disableAll = function(persist) {
249
+ self.setLevel(self.levels.SILENT, persist);
250
+ };
251
+
252
+ // Initialize with the right level
253
+ var initialLevel = getPersistedLevel();
254
+ if (initialLevel == null) {
255
+ initialLevel = defaultLevel;
256
+ }
257
+ self.setLevel(initialLevel, false);
258
+ }
259
+
260
+ /*
261
+ *
262
+ * Top-level API
263
+ *
264
+ */
265
+
266
+ var defaultLogger = new Logger();
267
+
268
+ var _loggersByName = {};
269
+ defaultLogger.getLogger = function getLogger(name) {
270
+ if ((typeof name !== "symbol" && typeof name !== "string") || name === "") {
271
+ throw new TypeError("You must supply a name when creating a logger.");
272
+ }
273
+
274
+ var logger = _loggersByName[name];
275
+ if (!logger) {
276
+ logger = _loggersByName[name] = new Logger(
277
+ name, defaultLogger.getLevel(), defaultLogger.methodFactory);
278
+ }
279
+ return logger;
280
+ };
281
+
282
+ // Grab the current global log variable in case of overwrite
283
+ var _log = (typeof window !== undefinedType) ? window.log : undefined;
284
+ defaultLogger.noConflict = function() {
285
+ if (typeof window !== undefinedType &&
286
+ window.log === defaultLogger) {
287
+ window.log = _log;
288
+ }
289
+
290
+ return defaultLogger;
291
+ };
292
+
293
+ defaultLogger.getLoggers = function getLoggers() {
294
+ return _loggersByName;
295
+ };
296
+
297
+ // ES6 default export, for compatibility
298
+ defaultLogger['default'] = defaultLogger;
299
+
300
+ return defaultLogger;
301
+ }));
302
+ } (loglevel));
303
+
304
+ const createTranslation=(e,t)=>o=>o(e,t),createTheme=(e,t)=>o=>o(e,t),STORE="object"==typeof window?window:"object"==typeof global?global:"object"==typeof self?self:{};const STYLING_TASK_QUEUE=new Map,HYDRATED_HISTORY=[],CSS_PROPERTIES_REGISTERED=new Set,CSS_STYLE_CACHE=new Map,REGEX_CSS_PROPERTIES=/--[^;]+/g,REGEX_SPLIT_CSS_PROPERTY=/:/;"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi||(STORE.A11yUi={CSS_STYLE_CACHE:CSS_STYLE_CACHE,HYDRATED_HISTORY:HYDRATED_HISTORY,STYLING_TASK_QUEUE:STYLING_TASK_QUEUE});const extractProperties=(e,t)=>{let o=t.match(REGEX_CSS_PROPERTIES);if(Array.isArray(o)){o=o.filter((e=>REGEX_SPLIT_CSS_PROPERTY.test(e)));const t=document.createElement("style");t.innerHTML=`.${e} {${o.join(";")}}`,document.querySelector("head")?.appendChild(t);}CSS_PROPERTIES_REGISTERED.add(e);},getCssStyle=(e,t)=>"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi&&"object"==typeof STORE.A11yUi.Themes&&null!==STORE.A11yUi.Themes&&"object"==typeof STORE.A11yUi.Themes[e]&&null!==STORE.A11yUi.Themes[e]&&"string"==typeof STORE.A11yUi.Themes[e][t]?STORE.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",removeStyle=e=>{for(const t of Array.from(e.childNodes)){if(!(t instanceof HTMLStyleElement&&"STYLE"===t.tagName))break;e.removeChild(t);}},patchStyle=(e,t)=>{try{const o=[];t.forEach((e=>{const t=new CSSStyleSheet;t.replaceSync(e),o.push(t);})),e.adoptedStyleSheets=o;}catch(o){t.reverse().forEach((t=>{const o=document.createElement("style");o.innerHTML=t,e.insertBefore(o,e.firstChild);}));}},encroachStyles=(e,t,o)=>{if(!1!==o){const s=[...Array.from(e.childNodes).filter((e=>e instanceof HTMLStyleElement&&"STYLE"===e.tagName))];let r;try{r=[...Array.from(e.adoptedStyleSheets)];}catch(e){r=[];}"before"===o?.mode?(s.reverse().forEach((e=>t.unshift(e.innerHTML))),r.reverse().forEach((e=>t.unshift(Array.from(e.cssRules).map((e=>e.cssText)).join(""))))):"after"===o?.mode&&(s.forEach((e=>t.push(e.innerHTML))),r.forEach((e=>t.push(Array.from(e.cssRules).map((e=>e.cssText)).join("")))));}},setThemeStyleAfterHydrated=(e,t,o)=>{const s=t.name||"default";let r;try{if(null===e.shadowRoot)throw new Error("ShadowRoot is null");r=e.shadowRoot;}catch(t){r=e;}if(CSS_STYLE_CACHE.get(s)?.has(e.tagName))switchStyle(e,r,CSS_STYLE_CACHE.get(s)?.get(e.tagName),o);else {const n=getCssStyle(s,"PROPERTIES"),a=getCssStyle(s,"GLOBAL"),l=getCssStyle(s,e.tagName);!1===CSS_PROPERTIES_REGISTERED.has(s)&&extractProperties(s,a);const i=[n,a,l];encroachStyles(r,i,t.encroachCss),"debug"===t.loglevel&&console.log(e.tagName,i),!0===t.cache&&(!1===CSS_STYLE_CACHE.has(s)&&CSS_STYLE_CACHE.set(s,new Map),CSS_STYLE_CACHE.get(s)?.set(e.tagName,i)),switchStyle(e,r,i,o);}},switchStyle=(e,t,o,s)=>{removeStyle(t),patchStyle(t,o),e.style.display=s;},logHydratedHistory=e=>{"debug"===e.loglevel&&HYDRATED_HISTORY.push({timestamp:Date.now(),numberOfTasks:STYLING_TASK_QUEUE.size});},deleteDoneTask=e=>{STYLING_TASK_QUEUE.delete(e);},loggedDeleteDoneTask=(e,t)=>{deleteDoneTask(e),logHydratedHistory(t);},observerCallback=e=>{for(const t of e)if(STYLING_TASK_QUEUE.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:e,themeDetails:o}=STYLING_TASK_QUEUE.get(t.target);setThemeStyleAfterHydrated(t.target,o,e),loggedDeleteDoneTask(t.target,o);}};let observer;try{observer=new MutationObserver(observerCallback);}catch(e){observer=null;}class Theme{constructor(e,t,o){this.createTheme=(e,t)=>createTheme(e,t),this.createTranslation=(e,t)=>createTranslation(e,t),this.Prefix=e,this.Key=Object.getOwnPropertyNames(t),this.Tag=Object.getOwnPropertyNames(o);}}
305
+
306
+ var KeyEnum = /* @__PURE__ */ ((KeyEnum2) => {
307
+ KeyEnum2[KeyEnum2["error"] = 0] = "error";
308
+ KeyEnum2[KeyEnum2["warning"] = 1] = "warning";
309
+ KeyEnum2[KeyEnum2["info"] = 2] = "info";
310
+ KeyEnum2[KeyEnum2["success"] = 3] = "success";
311
+ KeyEnum2[KeyEnum2["message"] = 4] = "message";
312
+ KeyEnum2[KeyEnum2["close"] = 5] = "close";
313
+ KeyEnum2[KeyEnum2["form-description"] = 6] = "form-description";
314
+ KeyEnum2[KeyEnum2["of"] = 7] = "of";
315
+ KeyEnum2[KeyEnum2["characters"] = 8] = "characters";
316
+ KeyEnum2[KeyEnum2["new"] = 9] = "new";
317
+ KeyEnum2[KeyEnum2["no-entries"] = 10] = "no-entries";
318
+ KeyEnum2[KeyEnum2["change-order"] = 11] = "change-order";
319
+ KeyEnum2[KeyEnum2["action-running"] = 12] = "action-running";
320
+ KeyEnum2[KeyEnum2["action-done"] = 13] = "action-done";
321
+ KeyEnum2[KeyEnum2["page-first"] = 14] = "page-first";
322
+ KeyEnum2[KeyEnum2["page-back"] = 15] = "page-back";
323
+ KeyEnum2[KeyEnum2["page-next"] = 16] = "page-next";
324
+ KeyEnum2[KeyEnum2["page-last"] = 17] = "page-last";
325
+ KeyEnum2[KeyEnum2["entries-per-site"] = 18] = "entries-per-site";
326
+ KeyEnum2[KeyEnum2["page-current"] = 19] = "page-current";
327
+ KeyEnum2[KeyEnum2["page-selected"] = 20] = "page-selected";
328
+ KeyEnum2[KeyEnum2["page-per-site"] = 21] = "page-per-site";
329
+ KeyEnum2[KeyEnum2["nav-maximize"] = 22] = "nav-maximize";
330
+ KeyEnum2[KeyEnum2["nav-minimize"] = 23] = "nav-minimize";
331
+ KeyEnum2[KeyEnum2["logo-description"] = 24] = "logo-description";
332
+ KeyEnum2[KeyEnum2["open-link-in-tab"] = 25] = "open-link-in-tab";
333
+ KeyEnum2[KeyEnum2["kolibri-logo"] = 26] = "kolibri-logo";
334
+ return KeyEnum2;
335
+ })(KeyEnum || {});
336
+
337
+ var TagEnum = /* @__PURE__ */ ((TagEnum2) => {
338
+ TagEnum2[TagEnum2["abbr"] = 0] = "abbr";
339
+ TagEnum2[TagEnum2["accordion"] = 1] = "accordion";
340
+ TagEnum2[TagEnum2["accordion-group"] = 2] = "accordion-group";
341
+ TagEnum2[TagEnum2["alert"] = 3] = "alert";
342
+ TagEnum2[TagEnum2["avatar"] = 4] = "avatar";
343
+ TagEnum2[TagEnum2["badge"] = 5] = "badge";
344
+ TagEnum2[TagEnum2["breadcrumb"] = 6] = "breadcrumb";
345
+ TagEnum2[TagEnum2["button"] = 7] = "button";
346
+ TagEnum2[TagEnum2["button-group"] = 8] = "button-group";
347
+ TagEnum2[TagEnum2["button-link"] = 9] = "button-link";
348
+ TagEnum2[TagEnum2["card"] = 10] = "card";
349
+ TagEnum2[TagEnum2["details"] = 11] = "details";
350
+ TagEnum2[TagEnum2["form"] = 12] = "form";
351
+ TagEnum2[TagEnum2["heading"] = 13] = "heading";
352
+ TagEnum2[TagEnum2["icon"] = 14] = "icon";
353
+ TagEnum2[TagEnum2["image"] = 15] = "image";
354
+ TagEnum2[TagEnum2["indented-text"] = 16] = "indented-text";
355
+ TagEnum2[TagEnum2["input-checkbox"] = 17] = "input-checkbox";
356
+ TagEnum2[TagEnum2["input-color"] = 18] = "input-color";
357
+ TagEnum2[TagEnum2["input-date"] = 19] = "input-date";
358
+ TagEnum2[TagEnum2["input-email"] = 20] = "input-email";
359
+ TagEnum2[TagEnum2["input-file"] = 21] = "input-file";
360
+ TagEnum2[TagEnum2["input-number"] = 22] = "input-number";
361
+ TagEnum2[TagEnum2["input-password"] = 23] = "input-password";
362
+ TagEnum2[TagEnum2["input-radio"] = 24] = "input-radio";
363
+ TagEnum2[TagEnum2["input-range"] = 25] = "input-range";
364
+ TagEnum2[TagEnum2["input-text"] = 26] = "input-text";
365
+ TagEnum2[TagEnum2["link"] = 27] = "link";
366
+ TagEnum2[TagEnum2["link-button"] = 28] = "link-button";
367
+ TagEnum2[TagEnum2["link-group"] = 29] = "link-group";
368
+ TagEnum2[TagEnum2["modal"] = 30] = "modal";
369
+ TagEnum2[TagEnum2["nav"] = 31] = "nav";
370
+ TagEnum2[TagEnum2["pagination"] = 32] = "pagination";
371
+ TagEnum2[TagEnum2["popover"] = 33] = "popover";
372
+ TagEnum2[TagEnum2["progress"] = 34] = "progress";
373
+ TagEnum2[TagEnum2["select"] = 35] = "select";
374
+ TagEnum2[TagEnum2["separator"] = 36] = "separator";
375
+ TagEnum2[TagEnum2["skip-nav"] = 37] = "skip-nav";
376
+ TagEnum2[TagEnum2["spin"] = 38] = "spin";
377
+ TagEnum2[TagEnum2["split-button"] = 39] = "split-button";
378
+ TagEnum2[TagEnum2["symbol"] = 40] = "symbol";
379
+ TagEnum2[TagEnum2["table"] = 41] = "table";
380
+ TagEnum2[TagEnum2["tabs"] = 42] = "tabs";
381
+ TagEnum2[TagEnum2["textarea"] = 43] = "textarea";
382
+ TagEnum2[TagEnum2["toast"] = 44] = "toast";
383
+ TagEnum2[TagEnum2["toast-container"] = 45] = "toast-container";
384
+ TagEnum2[TagEnum2["toolbar"] = 46] = "toolbar";
385
+ TagEnum2[TagEnum2["tooltip"] = 47] = "tooltip";
386
+ return TagEnum2;
387
+ })(TagEnum || {});
388
+
389
+ const KoliBri = new Theme("kol", KeyEnum, TagEnum);
390
+
391
+ const css = (input) => input.join(``);
392
+ const DEFAULT = KoliBri.createTheme("default", {
393
+ GLOBAL: css`
394
+ :host {
395
+ --border-radius: var(--kolibri-border-radius, 5px);
396
+ --font-family: var(--kolibri-font-family, BundesSans Web, Calibri, Verdana, Arial, Helvetica, sans-serif);
397
+ --font-size: var(--kolibri-font-size, 16px);
398
+ --spacing: var(--kolibri-spacing, 0.25rem);
399
+ --border-width: var(--kolibri-border-width, 1px);
400
+ --color-primary: var(--kolibri-color-primary, #004b76);
401
+ --color-primary-variant: var(--kolibri-color-primary-variant, #0077b6);
402
+ --color-danger: var(--kolibri-color-danger, #c0003c);
403
+ --color-warning: var(--kolibri-color-warning, #c44931);
404
+ --color-success: var(--kolibri-color-success, #005c45);
405
+ --color-subtle: var(--kolibri-color-subtle, #576164);
406
+ --color-light: var(--kolibri-color-light, #ffffff);
407
+ --color-text: var(--kolibri-color-text, #202020);
408
+ --color-mute: var(--kolibri-color-mute, #f2f3f4);
409
+ --color-mute-variant: var(--kolibri-color-mute-variant, #bec5c9);
410
+ }
411
+ :host {
412
+ font-family: var(--font-family);
413
+ font-size: var(--font-size);
414
+ }
415
+ * {
416
+ box-sizing: border-box;
417
+ }
418
+ *:not(i) {
419
+ font-family: var(--font-family);
420
+ }
421
+ h1,
422
+ h2,
423
+ h3,
424
+ h4,
425
+ h5,
426
+ h6 {
427
+ margin: 0;
428
+ padding: 0;
429
+ }
430
+ *[tabindex]:focus,
431
+ kol-input:not(.checkbox, .radio) .input:focus-within,
432
+ kol-input:is(.checkbox, .radio) input:focus,
433
+ summary:focus {
434
+ cursor: pointer;
435
+ outline-color: var(--color-primary-variant);
436
+ outline-offset: 2px;
437
+ outline-style: solid;
438
+ outline-width: 3px;
439
+ transition: outline-offset 0.2s linear;
440
+ }
441
+ kol-heading-wc {
442
+ font-weight: 700;
443
+ }
444
+ kol-tooltip-wc .tooltip-floating {
445
+ border: var(--border-width) solid var(--color-subtle);
446
+ border-radius: var(--border-radius);
447
+ }
448
+ kol-tooltip-wc .tooltip-arrow {
449
+ border: var(--border-width) solid var(--color-subtle);
450
+ }
451
+ kol-tooltip-wc .tooltip-area {
452
+ background-color: var(--color-light);
453
+ }
454
+ kol-tooltip-wc .tooltip-content {
455
+ border-radius: var(--border-radius);
456
+ line-height: 1.5;
457
+ padding: 0.5rem 0.75rem;
458
+ }
459
+ kol-span-wc,
460
+ kol-span-wc > span {
461
+ gap: 0.5rem;
462
+ }
463
+
464
+ @keyframes spin {
465
+ 0% {
466
+ transform: rotate(0deg);
467
+ }
468
+ 100% {
469
+ transform: rotate(360deg);
470
+ }
471
+ }
472
+ `,
473
+ "KOL-BUTTON": css`
474
+ :is(a, button):focus {
475
+ outline: none;
476
+ }
477
+ :is(a, button):focus kol-span-wc {
478
+ outline-color: var(--color-primary-variant);
479
+ outline-offset: 2px;
480
+ outline-style: solid;
481
+ outline-width: calc(var(--border-width) * 2);
482
+ transition: outline-offset 0.2s linear;
483
+ }
484
+ :is(a, button) > kol-span-wc {
485
+ font-weight: 700;
486
+ border-radius: var(--border-radius);
487
+ border-style: solid;
488
+ border-width: var(--border-width);
489
+ min-height: var(--a11y-min-size);
490
+ min-width: var(--a11y-min-size);
491
+ padding: 8px 14px;
492
+ text-align: center;
493
+ transition-duration: 0.5s;
494
+ transition-property: background-color, color, border-color;
495
+ }
496
+ :is(a, button):disabled > kol-span-wc {
497
+ cursor: not-allowed;
498
+ opacity: 0.5;
499
+ }
500
+ .primary :is(a, button) > kol-span-wc,
501
+ .primary :is(a, button):disabled:hover > kol-span-wc {
502
+ background-color: var(--color-primary);
503
+ border-color: var(--color-primary);
504
+ color: var(--color-light);
505
+ }
506
+ .secondary :is(a, button) > kol-span-wc,
507
+ .secondary :is(a, button):disabled:hover > kol-span-wc,
508
+ .normal :is(a, button) > kol-span-wc,
509
+ .normal :is(a, button):disabled:hover > kol-span-wc {
510
+ background-color: var(--color-light);
511
+ border-color: var(--color-primary);
512
+ color: var(--color-primary);
513
+ }
514
+ .danger :is(a, button) > kol-span-wc,
515
+ .danger :is(a, button):disabled:hover > kol-span-wc {
516
+ background-color: var(--color-danger);
517
+ border-color: var(--color-danger);
518
+ color: var(--color-light);
519
+ }
520
+ .ghost :is(a, button) > kol-span-wc,
521
+ .ghost :is(a, button):disabled:hover > kol-span-wc {
522
+ border-color: var(--color-light);
523
+ background-color: var(--color-light);
524
+ box-shadow: none;
525
+ color: var(--color-primary);
526
+ } /*-----------*/
527
+ .primary :is(a, button):active > kol-span-wc,
528
+ .primary :is(a, button):hover > kol-span-wc,
529
+ .secondary :is(a, button):active > kol-span-wc,
530
+ .secondary :is(a, button):hover > kol-span-wc,
531
+ .normal :is(a, button):active > kol-span-wc,
532
+ .normal :is(a, button):hover > kol-span-wc,
533
+ .danger :is(a, button):active > kol-span-wc,
534
+ .danger :is(a, button):hover > kol-span-wc,
535
+ .ghost :is(a, button):active > kol-span-wc,
536
+ .ghost :is(a, button):hover > kol-span-wc {
537
+ background-color: var(--color-primary-variant);
538
+ border-color: var(--color-primary-variant);
539
+ box-shadow: 0 2px 8px 2px rgba(8, 35, 48, 0.24);
540
+ color: var(--color-light);
541
+ }
542
+ .danger :is(a, button):active > kol-span-wc,
543
+ .danger :is(a, button):hover > kol-span-wc {
544
+ background-color: var(--color-danger);
545
+ border-color: var(--color-danger);
546
+ }
547
+ :is(a, button):disabled:hover > kol-span-wc,
548
+ :is(a, button):focus:hover > kol-span-wc {
549
+ box-shadow: none;
550
+ }
551
+ .primary :is(a, button):active > kol-span-wc,
552
+ .secondary :is(a, button):active > kol-span-wc,
553
+ .normal :is(a, button):active > kol-span-wc,
554
+ .danger :is(a, button):active > kol-span-wc,
555
+ .ghost :is(a, button):active > kol-span-wc {
556
+ border-color: var(--color-light);
557
+ box-shadow: none;
558
+ outline: none;
559
+ }
560
+ :is(a, button).hide-label > kol-span-wc {
561
+ padding: 0.8rem;
562
+ width: unset;
563
+ }
564
+ :is(a, button).hide-label > kol-span-wc > span > span {
565
+ display: none;
566
+ }
567
+ :is(a, button).loading > kol-span-wc kol-icon {
568
+ animation: spin 5s infinite linear;
569
+ }
570
+ /** small ghost button */
571
+ .ghost :is(a, button).small > kol-span-wc {
572
+ border: none;
573
+ background-color: transparent;
574
+ box-shadow: none;
575
+ }
576
+ .ghost :is(a, button).small > kol-span-wc > span {
577
+ border-radius: 1.5em;
578
+ border-style: solid;
579
+ border-width: var(--border-width);
580
+ border-color: var(--color-light);
581
+ background-color: var(--color-light);
582
+ }
583
+ .ghost :is(a, button).small:active > kol-span-wc > span,
584
+ .ghost :is(a, button).small:hover > kol-span-wc > span,
585
+ .ghost :is(a, button).small.transparent:active > kol-span-wc > span,
586
+ .ghost :is(a, button).small.transparent:hover > kol-span-wc > span {
587
+ background-color: var(--color-primary-variant);
588
+ border-color: var(--color-primary-variant);
589
+ box-shadow: 0 2px 8px 2px rgba(8, 35, 48, 0.24);
590
+ color: var(--color-light);
591
+ } /** :is(a,button) with transparent background */
592
+ :is(a, button).transparent > kol-span-wc > span,
593
+ .ghost :is(a, button).small.transparent > kol-span-wc > span,
594
+ :is(a, button).transparent > kol-span-wc {
595
+ background-color: transparent;
596
+ border-color: transparent;
597
+ }
598
+ `,
599
+ "KOL-INPUT-TEXT": css`
600
+ kol-input {
601
+ gap: 0.25rem;
602
+ }
603
+ kol-input .error {
604
+ order: 1;
605
+ }
606
+ kol-input label {
607
+ order: 2;
608
+ }
609
+ kol-input .input {
610
+ order: 3;
611
+ }
612
+ kol-input .hint {
613
+ order: 4;
614
+ font-size: 0.9rem;
615
+ font-style: italic;
616
+ }
617
+ input {
618
+ border: none;
619
+ }
620
+ input::placeholder {
621
+ color: var(--color-subtle);
622
+ }
623
+ .input {
624
+ background-color: var(--color-light);
625
+ border-color: var(--color-subtle);
626
+ border-radius: var(--border-radius);
627
+ border-style: solid;
628
+ border-width: 2px;
629
+ padding: 0 0.5rem;
630
+ }
631
+ .input > kol-icon {
632
+ width: 1rem;
633
+ }
634
+ .input:is(.icon-left, .icon-right) {
635
+ padding-left: 1rem;
636
+ padding-right: 1rem;
637
+ }
638
+ .input:is(.icon-left, .icon-right) input {
639
+ padding-left: 0.5rem;
640
+ padding-right: 0.5rem;
641
+ }
642
+ .input > input:first-child {
643
+ padding-left: var(--spacing);
644
+ }
645
+ .input > input:last-child {
646
+ padding-right: var(--spacing);
647
+ }
648
+ .input:hover {
649
+ border-color: var(--color-primary);
650
+ }
651
+ input:read-only,
652
+ input:disabled {
653
+ cursor: not-allowed;
654
+ }
655
+ .required label > span::after {
656
+ content: '*';
657
+ padding-left: 0.125em;
658
+ }
659
+ kol-input.error {
660
+ border-left: 3px solid var(--color-danger);
661
+ padding-left: 1rem;
662
+ }
663
+ kol-input.error .input:focus-within {
664
+ outline-color: var(--color-danger) !important;
665
+ }
666
+ kol-input.error kol-alert.error {
667
+ color: var(--color-danger);
668
+ font-weight: 700;
669
+ }
670
+ kol-input.disabled :is(input, label) {
671
+ opacity: 1;
672
+ }
673
+ kol-input.disabled :is(input, .input) {
674
+ background-color: var(--color-mute);
675
+ border-color: var(--color-mute-variant);
676
+ }
677
+ `,
678
+ "KOL-INPUT-PASSWORD": css`
679
+ kol-input {
680
+ gap: 0.25rem;
681
+ }
682
+ kol-input .error {
683
+ order: 1;
684
+ }
685
+ kol-input label {
686
+ order: 2;
687
+ }
688
+ kol-input .input {
689
+ order: 3;
690
+ }
691
+ kol-input .hint {
692
+ order: 4;
693
+ font-size: 0.9rem;
694
+ font-style: italic;
695
+ }
696
+ input {
697
+ border: none;
698
+ }
699
+ input::placeholder {
700
+ color: var(--color-subtle);
701
+ }
702
+ .input {
703
+ background-color: var(--color-light);
704
+ border-color: var(--color-subtle);
705
+ border-radius: var(--border-radius);
706
+ border-style: solid;
707
+ border-width: 2px;
708
+ padding: 0 0.5rem;
709
+ }
710
+ .input > kol-icon {
711
+ width: 1rem;
712
+ }
713
+ .input:is(.icon-left, .icon-right) {
714
+ padding-left: 1rem;
715
+ padding-right: 1rem;
716
+ }
717
+ .input:is(.icon-left, .icon-right) input {
718
+ padding-left: 0.5rem;
719
+ padding-right: 0.5rem;
720
+ }
721
+ .input > input:first-child {
722
+ padding-left: var(--spacing);
723
+ }
724
+ .input > input:last-child {
725
+ padding-right: var(--spacing);
726
+ }
727
+ .input:hover {
728
+ border-color: var(--color-primary);
729
+ }
730
+ input:read-only,
731
+ input:disabled {
732
+ cursor: not-allowed;
733
+ }
734
+ .required label > span::after {
735
+ content: '*';
736
+ padding-left: 0.125em;
737
+ }
738
+ kol-input.error {
739
+ border-left: 3px solid var(--color-danger);
740
+ padding-left: 1rem;
741
+ }
742
+ kol-input.error .input:focus-within {
743
+ outline-color: var(--color-danger) !important;
744
+ }
745
+ kol-input.error kol-alert.error {
746
+ color: var(--color-danger);
747
+ font-weight: 700;
748
+ }
749
+ kol-input.disabled :is(button, input, label, option, select, textarea) {
750
+ opacity: 1;
751
+ }
752
+ kol-input.disabled :is(input, select, textarea, .input) {
753
+ background-color: var(--color-mute);
754
+ border-color: var(--color-mute-variant);
755
+ color: var(--color-text);
756
+ }
757
+ `,
758
+ "KOL-INPUT-NUMBER": css`
759
+ kol-input {
760
+ gap: 0.25rem;
761
+ }
762
+ kol-input .error {
763
+ order: 1;
764
+ }
765
+ kol-input label {
766
+ order: 2;
767
+ }
768
+ kol-input .input {
769
+ order: 3;
770
+ }
771
+ kol-input .hint {
772
+ order: 4;
773
+ font-size: 0.9rem;
774
+ font-style: italic;
775
+ }
776
+ input {
777
+ border: none;
778
+ }
779
+ input::placeholder {
780
+ color: var(--color-subtle);
781
+ }
782
+ .input {
783
+ background-color: var(--color-light);
784
+ border-color: var(--color-subtle);
785
+ border-radius: var(--border-radius);
786
+ border-style: solid;
787
+ border-width: 2px;
788
+ padding: 0 0.5rem;
789
+ }
790
+ .input > kol-icon {
791
+ width: 1rem;
792
+ }
793
+ .input:is(.icon-left, .icon-right) {
794
+ padding-left: 1rem;
795
+ padding-right: 1rem;
796
+ }
797
+ .input:is(.icon-left, .icon-right) input {
798
+ padding-left: 0.5rem;
799
+ padding-right: 0.5rem;
800
+ }
801
+ .input > input:first-child {
802
+ padding-left: var(--spacing);
803
+ }
804
+ .input > input:last-child {
805
+ padding-right: var(--spacing);
806
+ }
807
+ .input:hover {
808
+ border-color: var(--color-primary);
809
+ }
810
+ input:read-only,
811
+ input:disabled {
812
+ cursor: not-allowed;
813
+ }
814
+ .required label > span::after {
815
+ content: '*';
816
+ padding-left: 0.125em;
817
+ }
818
+ kol-input.error {
819
+ border-left: 3px solid var(--color-danger);
820
+ padding-left: 1rem;
821
+ }
822
+ kol-input.error .input:focus-within {
823
+ outline-color: var(--color-danger) !important;
824
+ }
825
+ kol-input.error kol-alert.error {
826
+ color: var(--color-danger);
827
+ font-weight: 700;
828
+ }
829
+ kol-input.disabled :is(input, label) {
830
+ opacity: 1;
831
+ }
832
+ kol-input.disabled :is(input, .input) {
833
+ background-color: var(--color-mute);
834
+ border-color: var(--color-mute-variant);
835
+ color: var(--color-text);
836
+ }
837
+ `,
838
+ "KOL-INPUT-DATE": css`
839
+ kol-input {
840
+ gap: 0.25rem;
841
+ }
842
+ kol-input .error {
843
+ order: 1;
844
+ }
845
+ kol-input label {
846
+ order: 2;
847
+ }
848
+ kol-input .input {
849
+ order: 3;
850
+ }
851
+ kol-input .hint {
852
+ order: 4;
853
+ font-size: 0.9rem;
854
+ font-style: italic;
855
+ }
856
+ input {
857
+ border: none;
858
+ }
859
+ input::placeholder {
860
+ color: var(--color-subtle);
861
+ }
862
+ .input {
863
+ background-color: var(--color-light);
864
+ border-color: var(--color-subtle);
865
+ border-radius: var(--border-radius);
866
+ border-style: solid;
867
+ border-width: 2px;
868
+ padding: 0 0.5rem;
869
+ }
870
+ .input > kol-icon {
871
+ width: 1rem;
872
+ }
873
+ .input:is(.icon-left, .icon-right) {
874
+ padding-left: 1rem;
875
+ padding-right: 1rem;
876
+ }
877
+ .input:is(.icon-left, .icon-right) input {
878
+ padding-left: 0.5rem;
879
+ padding-right: 0.5rem;
880
+ }
881
+ .input > input:first-child {
882
+ padding-left: var(--spacing);
883
+ }
884
+ .input > input:last-child {
885
+ padding-right: var(--spacing);
886
+ }
887
+ .input:hover {
888
+ border-color: var(--color-primary);
889
+ }
890
+ input:disabled {
891
+ cursor: not-allowed;
892
+ }
893
+ .required label > span::after {
894
+ content: '*';
895
+ padding-left: 0.125em;
896
+ }
897
+ kol-input.error {
898
+ border-left: 3px solid var(--color-danger);
899
+ padding-left: 1rem;
900
+ }
901
+ kol-input.error .input:focus-within {
902
+ outline-color: var(--color-danger) !important;
903
+ }
904
+ kol-input.error kol-alert.error {
905
+ color: var(--color-danger);
906
+ font-weight: 700;
907
+ }
908
+ kol-input.disabled :is(input, label) {
909
+ opacity: 1;
910
+ }
911
+ kol-input.disabled :is(input, .input) {
912
+ background-color: var(--color-mute);
913
+ border-color: var(--color-mute-variant);
914
+ color: var(--color-text);
915
+ }
916
+ `,
917
+ "KOL-INPUT-EMAIL": css`
918
+ kol-input {
919
+ gap: 0.25rem;
920
+ }
921
+ kol-input .error {
922
+ order: 1;
923
+ }
924
+ kol-input label {
925
+ order: 2;
926
+ }
927
+ kol-input .input {
928
+ order: 3;
929
+ }
930
+ kol-input .hint {
931
+ order: 4;
932
+ font-size: 0.9rem;
933
+ font-style: italic;
934
+ }
935
+ input {
936
+ border: none;
937
+ }
938
+ input::placeholder {
939
+ color: var(--color-subtle);
940
+ }
941
+ .input {
942
+ background-color: var(--color-light);
943
+ border-color: var(--color-subtle);
944
+ border-radius: var(--border-radius);
945
+ border-style: solid;
946
+ border-width: 2px;
947
+ padding: 0 0.5rem;
948
+ }
949
+ .input > kol-icon {
950
+ width: 1rem;
951
+ }
952
+ .input:is(.icon-left, .icon-right) {
953
+ padding-left: 1rem;
954
+ padding-right: 1rem;
955
+ }
956
+ .input:is(.icon-left, .icon-right) input {
957
+ padding-left: 0.5rem;
958
+ padding-right: 0.5rem;
959
+ }
960
+ .input > input:first-child {
961
+ padding-left: var(--spacing);
962
+ }
963
+ .input > input:last-child {
964
+ padding-right: var(--spacing);
965
+ }
966
+ .input:hover {
967
+ border-color: var(--color-primary);
968
+ }
969
+ input:read-only,
970
+ input:disabled {
971
+ cursor: not-allowed;
972
+ }
973
+ .required label > span::after {
974
+ content: '*';
975
+ padding-left: 0.125em;
976
+ }
977
+ kol-input.error {
978
+ border-left: 3px solid var(--color-danger);
979
+ padding-left: 1rem;
980
+ }
981
+ kol-input.error .input:focus-within {
982
+ outline-color: var(--color-danger) !important;
983
+ }
984
+ kol-input.error kol-alert.error {
985
+ color: var(--color-danger);
986
+ font-weight: 700;
987
+ }
988
+ kol-input.disabled :is(input, label) {
989
+ opacity: 1;
990
+ }
991
+ kol-input.disabled :is(input, .input) {
992
+ background-color: var(--color-mute);
993
+ border-color: var(--color-mute-variant);
994
+ color: var(--color-text);
995
+ }
996
+ `,
997
+ "KOL-INPUT-FILE": css`
998
+ kol-input {
999
+ gap: 0.25rem;
1000
+ }
1001
+ kol-input .error {
1002
+ order: 1;
1003
+ }
1004
+ kol-input label {
1005
+ order: 2;
1006
+ }
1007
+ kol-input .input {
1008
+ order: 3;
1009
+ }
1010
+ kol-input .hint {
1011
+ order: 4;
1012
+ font-size: 0.9rem;
1013
+ font-style: italic;
1014
+ }
1015
+ kol-input .input input[type='file'] {
1016
+ padding-top: calc(0.5em + 2px);
1017
+ }
1018
+ input {
1019
+ border: none;
1020
+ }
1021
+ input[type='file'] {
1022
+ background-color: transparent;
1023
+ }
1024
+ input::placeholder {
1025
+ color: var(--color-subtle);
1026
+ }
1027
+ .input {
1028
+ background-color: var(--color-light);
1029
+ border-color: var(--color-subtle);
1030
+ border-radius: var(--border-radius);
1031
+ border-style: solid;
1032
+ border-width: 2px;
1033
+ padding: 0 0.5rem;
1034
+ }
1035
+ .input > kol-icon {
1036
+ width: 1rem;
1037
+ }
1038
+ .input:is(.icon-left, .icon-right) {
1039
+ padding-left: 1rem;
1040
+ padding-right: 1rem;
1041
+ }
1042
+ .input:is(.icon-left, .icon-right) input {
1043
+ padding-left: 0.5rem;
1044
+ padding-right: 0.5rem;
1045
+ }
1046
+ .input > input:first-child {
1047
+ padding-left: var(--spacing);
1048
+ }
1049
+ .input > input:last-child {
1050
+ padding-right: var(--spacing);
1051
+ }
1052
+ .input:hover {
1053
+ border-color: var(--color-primary);
1054
+ }
1055
+ input:read-only,
1056
+ input:disabled {
1057
+ cursor: not-allowed;
1058
+ }
1059
+ .required label > span::after {
1060
+ content: '*';
1061
+ padding-left: 0.125em;
1062
+ }
1063
+ kol-input.error {
1064
+ border-left: 3px solid var(--color-danger);
1065
+ padding-left: 1rem;
1066
+ }
1067
+ kol-input.error .input:focus-within {
1068
+ outline-color: var(--color-danger) !important;
1069
+ }
1070
+ kol-input.error kol-alert.error {
1071
+ color: var(--color-danger);
1072
+ font-weight: 700;
1073
+ }
1074
+ kol-input.disabled :is(button, input, label, option, select, textarea) {
1075
+ opacity: 1;
1076
+ }
1077
+ kol-input.disabled :is(input, select, textarea, .input) {
1078
+ background-color: var(--color-mute);
1079
+ border-color: var(--color-mute-variant);
1080
+ color: var(--color-text);
1081
+ }
1082
+ `,
1083
+ "KOL-TEXTAREA": css`
1084
+ kol-input {
1085
+ gap: 0.25rem;
1086
+ }
1087
+ kol-input .error {
1088
+ order: 1;
1089
+ }
1090
+ kol-input label {
1091
+ order: 2;
1092
+ }
1093
+ kol-input .input {
1094
+ order: 3;
1095
+ }
1096
+ kol-input .counter {
1097
+ order: 4;
1098
+ }
1099
+ kol-input .hint {
1100
+ order: 5;
1101
+ font-size: 0.9rem;
1102
+ font-style: italic;
1103
+ }
1104
+ textarea {
1105
+ border: none;
1106
+ }
1107
+ input::placeholder {
1108
+ color: var(--color-subtle);
1109
+ }
1110
+ .input {
1111
+ background-color: var(--color-light);
1112
+ border-color: var(--color-subtle);
1113
+ border-radius: var(--border-radius);
1114
+ border-style: solid;
1115
+ border-width: 2px;
1116
+ padding: 0 0.5rem;
1117
+ }
1118
+ .input > kol-icon {
1119
+ width: 1rem;
1120
+ }
1121
+ .input:is(.icon-left, .icon-right) {
1122
+ padding-left: 1rem;
1123
+ padding-right: 1rem;
1124
+ }
1125
+ .input:is(.icon-left, .icon-right) input {
1126
+ padding-left: 0.5rem;
1127
+ padding-right: 0.5rem;
1128
+ }
1129
+ .input > input:first-child {
1130
+ padding-left: var(--spacing);
1131
+ }
1132
+ .input > input:last-child {
1133
+ padding-right: var(--spacing);
1134
+ }
1135
+ .input:hover {
1136
+ border-color: var(--color-primary);
1137
+ }
1138
+ textarea:read-only,
1139
+ textarea:disabled {
1140
+ cursor: not-allowed;
1141
+ }
1142
+ .required label > span::after {
1143
+ content: '*';
1144
+ padding-left: 0.125em;
1145
+ }
1146
+ kol-input.error {
1147
+ border-left: 3px solid var(--color-danger);
1148
+ padding-left: 1rem;
1149
+ }
1150
+ kol-input.error .input:focus-within {
1151
+ outline-color: var(--color-danger) !important;
1152
+ }
1153
+ kol-input.error kol-alert.error {
1154
+ color: var(--color-danger);
1155
+ font-weight: 700;
1156
+ }
1157
+ .disabled {
1158
+ opacity: 0.33;
1159
+ }
1160
+ select[multiple],
1161
+ textarea {
1162
+ overflow: auto;
1163
+ }
1164
+ textarea {
1165
+ display: block;
1166
+ }
1167
+ .input {
1168
+ position: relative;
1169
+ }
1170
+ `,
1171
+ "KOL-ALERT": css`
1172
+ .msg {
1173
+ border-width: 0;
1174
+ }
1175
+ kol-alert-wc {
1176
+ border-width: var(--border-width);
1177
+ border-style: solid;
1178
+ border-radius: var(--border-radius);
1179
+ display: flex;
1180
+ width: 100%;
1181
+ overflow: unset;
1182
+ border-color: transparent;
1183
+ background-color: var(--color-light);
1184
+ }
1185
+ kol-alert-wc > .heading {
1186
+ display: flex;
1187
+ gap: 0.5em;
1188
+ place-items: center;
1189
+ }
1190
+ kol-alert-wc > .heading > div {
1191
+ display: grid;
1192
+ gap: 0.25rem;
1193
+ }
1194
+ .msg > .heading > kol-icon {
1195
+ place-self: baseline;
1196
+ }
1197
+ kol-alert-wc > .heading > kol-button-wc.close {
1198
+ place-self: center;
1199
+ }
1200
+ .msg {
1201
+ align-items: start;
1202
+ }
1203
+ .default {
1204
+ border-color: var(--color-subtle);
1205
+ }
1206
+ .default.msg .heading-icon {
1207
+ color: var(--color-subtle);
1208
+ }
1209
+ .error {
1210
+ border-color: var(--color-danger);
1211
+ }
1212
+ .error.msg .heading-icon {
1213
+ color: var(--color-danger);
1214
+ }
1215
+ .info {
1216
+ border-color: var(--color-primary);
1217
+ }
1218
+ .info.msg .heading-icon {
1219
+ color: var(--color-primary);
1220
+ }
1221
+ .success {
1222
+ border-color: var(--color-success);
1223
+ }
1224
+ .success.msg .heading-icon {
1225
+ color: var(--color-success);
1226
+ }
1227
+ .warning {
1228
+ border-color: var(--color-warning);
1229
+ }
1230
+ .warning.msg .heading-icon {
1231
+ color: var(--color-warning);
1232
+ }
1233
+ .heading-icon {
1234
+ color: var(--color-light);
1235
+ }
1236
+ kol-alert-wc .heading .heading-icon {
1237
+ padding: 0;
1238
+ }
1239
+ .msg > .heading > .heading-icon {
1240
+ padding-top: 0;
1241
+ place-items: baseline;
1242
+ }
1243
+ .msg > .heading > div > kol-heading-wc {
1244
+ padding-top: calc(--var-spacing / 2);
1245
+ }
1246
+ .msg.default .heading > div > kol-heading-wc {
1247
+ color: var(--color-subtle);
1248
+ }
1249
+ .msg.error .heading > div > kol-heading-wc {
1250
+ color: var(--color-danger);
1251
+ }
1252
+ .msg.info .heading > div > kol-heading-wc {
1253
+ color: var(--color-primary);
1254
+ }
1255
+ .msg.success .heading > div > kol-heading-wc {
1256
+ color: var(--color-success);
1257
+ }
1258
+ .msg.warning .heading > div > kol-heading-wc {
1259
+ color: var(--color-warning);
1260
+ }
1261
+ .msg.default .close .icon {
1262
+ color: var(--color-subtle);
1263
+ }
1264
+ .msg.error .close .icon {
1265
+ color: var(--color-danger);
1266
+ }
1267
+ .msg.info .close .icon {
1268
+ color: var(--color-primary);
1269
+ }
1270
+ .msg.success .close .icon {
1271
+ color: var(--color-success);
1272
+ }
1273
+ .msg.warning .close .icon {
1274
+ color: var(--color-warning);
1275
+ }
1276
+ .card {
1277
+ border-width: var(--border-width);
1278
+ border-style: solid;
1279
+ filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
1280
+ flex-direction: column;
1281
+ }
1282
+ .card > .heading {
1283
+ padding: 0.5rem 1rem;
1284
+ }
1285
+ .card[_has-closer] > .heading {
1286
+ padding-top: 0;
1287
+ padding-bottom: 0;
1288
+ padding-right: 0;
1289
+ }
1290
+ .card > .heading > div {
1291
+ width: 100%;
1292
+ min-height: 1.25rem;
1293
+ }
1294
+ .card > .heading .heading-icon {
1295
+ justify-self: right;
1296
+ margin-top: -4px;
1297
+ }
1298
+ .card > .heading kol-heading-wc {
1299
+ width: 100%;
1300
+ color: var(--color-light);
1301
+ display: flex;
1302
+ font-size: 1.25rem;
1303
+ line-height: 1.25rem;
1304
+ }
1305
+ .card > .heading kol-heading-wc > * {
1306
+ margin: auto 0;
1307
+ }
1308
+ .card > .content {
1309
+ padding: 1rem;
1310
+ }
1311
+ .card.default > .heading {
1312
+ background-color: var(--color-subtle);
1313
+ }
1314
+ .card.error > .heading {
1315
+ background-color: var(--color-danger);
1316
+ }
1317
+ .card.info > .heading {
1318
+ background-color: var(--color-primary);
1319
+ }
1320
+ .card.success > .heading {
1321
+ background-color: var(--color-success);
1322
+ }
1323
+ .card.warning > .heading {
1324
+ background-color: var(--color-warning);
1325
+ }
1326
+ :is(.error, .info, .success, .warning) .heading-icon {
1327
+ font-size: 1.25rem;
1328
+ }
1329
+ .card > div > .content {
1330
+ grid-row: 2;
1331
+ grid-column: 1 / span 2;
1332
+ }
1333
+ .card.default .close {
1334
+ background-color: var(--color-subtle);
1335
+ }
1336
+ .card.error .close {
1337
+ background-color: var(--color-danger);
1338
+ }
1339
+ .card.info .close {
1340
+ background-color: var(--color-primary);
1341
+ }
1342
+ .card.success .close {
1343
+ background-color: var(--color-success);
1344
+ }
1345
+ .card.warning .close {
1346
+ background-color: var(--color-warning);
1347
+ }
1348
+ .close > button {
1349
+ border-radius: 50%; /* visible on focus */
1350
+ color: var(--color-light);
1351
+ cursor: pointer;
1352
+ height: var(--a11y-min-size);
1353
+ width: var(--a11y-min-size);
1354
+ }
1355
+ .close > button.hide-label kol-icon {
1356
+ display: flex;
1357
+ width: 1em;
1358
+ height: 1em;
1359
+ font-size: 1.2rem;
1360
+ }
1361
+ .close > button:active {
1362
+ box-shadow: none;
1363
+ outline: none;
1364
+ }
1365
+ `,
1366
+ "KOL-HEADING": css`
1367
+ h1,
1368
+ h2,
1369
+ h3,
1370
+ h4,
1371
+ h5,
1372
+ h6 {
1373
+ color: inherit;
1374
+ font-style: normal;
1375
+ }
1376
+ h1,
1377
+ h2,
1378
+ h3 {
1379
+ font-weight: 700;
1380
+ }
1381
+ h1 {
1382
+ font-size: 1.5rem;
1383
+ line-height: 1.75rem;
1384
+ }
1385
+ h2 {
1386
+ font-size: 1.25rem;
1387
+ line-height: 1.75rem;
1388
+ }
1389
+ h3 {
1390
+ font-size: 1.125rem;
1391
+ line-height: 1.5rem;
1392
+ }
1393
+ `,
1394
+ "KOL-BADGE": css`
1395
+ :host {
1396
+ display: inline-block;
1397
+ font-size: inherit;
1398
+ }
1399
+ :host > span {
1400
+ border-radius: var(--border-radius);
1401
+ display: inline-flex;
1402
+ font-style: normal;
1403
+ }
1404
+ :host > span.smart-button {
1405
+ align-items: center;
1406
+ }
1407
+ :host > span kol-button-wc:hover > button {
1408
+ background-color: var(--color-primary-variant);
1409
+ color: var(--color-light);
1410
+ }
1411
+ :host > span kol-button-wc > button {
1412
+ color: inherit;
1413
+ border-top-right-radius: var(--border-radius);
1414
+ border-bottom-right-radius: var(--border-radius);
1415
+ padding: 0.2rem;
1416
+ }
1417
+ :host > span kol-span-wc {
1418
+ padding: 0.25rem 0.75rem;
1419
+ }
1420
+ :host > span > kol-span-wc {
1421
+ align-items: center;
1422
+ font-style: normal;
1423
+ gap: 0.5rem;
1424
+ }
1425
+ :host > span > kol-span-wc > span {
1426
+ display: flex;
1427
+ gap: 0.25rem;
1428
+ }
1429
+ `,
1430
+ "KOL-BUTTON-GROUP": css`
1431
+ :host > kol-button-group-wc {
1432
+ display: flex;
1433
+ flex-wrap: wrap;
1434
+ gap: var(--spacing);
1435
+ }
1436
+ `,
1437
+ "KOL-INDENTED-TEXT": css`
1438
+ :host > div {
1439
+ background-color: var(--color-light);
1440
+ border-left: none;
1441
+ box-shadow: -2px 0px 0px var(--color-primary-variant);
1442
+ padding: 0 0.5rem;
1443
+ width: 100%;
1444
+ }
1445
+ `,
1446
+ "KOL-LINK": css`
1447
+ :is(a, button) {
1448
+ color: var(--color-primary);
1449
+ font-style: normal;
1450
+ font-weight: 400;
1451
+ text-decoration-line: underline;
1452
+ }
1453
+ :is(a, button):focus {
1454
+ outline: none;
1455
+ }
1456
+ :is(a, button):focus kol-span-wc {
1457
+ border-radius: var(--border-radius);
1458
+ outline: var(--border-width) solid;
1459
+ }
1460
+ :is(a, button):hover {
1461
+ text-decoration-thickness: 0.25em;
1462
+ }
1463
+ :is(a, button):visited {
1464
+ color: var(--visited);
1465
+ }
1466
+ .hidden {
1467
+ display: none;
1468
+ visibility: hidden;
1469
+ }
1470
+ .skip {
1471
+ left: -99999px;
1472
+ overflow: hidden;
1473
+ position: absolute;
1474
+ z-index: 9999999;
1475
+ line-height: 1em;
1476
+ }
1477
+ .skip:focus {
1478
+ background: white;
1479
+ left: unset;
1480
+ position: unset;
1481
+ }
1482
+ `,
1483
+ "KOL-DETAILS": css`
1484
+ details > summary {
1485
+ border-radius: var(--border-radius);
1486
+ }
1487
+ details kol-indented-text {
1488
+ margin: 0.25rem 0 0 0.65rem;
1489
+ }
1490
+ kol-icon {
1491
+ font-size: 1.2rem;
1492
+ }
1493
+ `,
1494
+ "KOL-SPIN": css`
1495
+ .spin {
1496
+ display: inline-block;
1497
+ height: 1rem;
1498
+ position: relative;
1499
+ width: 3rem;
1500
+ }
1501
+ .spin span {
1502
+ animation-timing-function: cubic-bezier(0, 1, 1, 0);
1503
+ border: 0.1rem solid rgb(255, 255, 255);
1504
+ border-radius: 50%;
1505
+ height: 0.8rem;
1506
+ width: 0.8rem;
1507
+ top: 0.1rem;
1508
+ position: absolute;
1509
+ }
1510
+ .spin span:nth-child(1) {
1511
+ background-color: #fc0;
1512
+ z-index: 0;
1513
+ animation: 2s ease 0s infinite normal none running spin1;
1514
+ left: 0.1rem;
1515
+ }
1516
+ .spin span:nth-child(2) {
1517
+ background-color: #f00;
1518
+ z-index: 1;
1519
+ animation: 2s ease 0s infinite normal none running spin2;
1520
+ left: 0.1rem;
1521
+ }
1522
+ .spin span:nth-child(3) {
1523
+ background-color: #000;
1524
+ z-index: 1;
1525
+ animation: 2s ease 0s infinite normal none running spin2;
1526
+ left: 1.1rem;
1527
+ }
1528
+ .spin span:nth-child(4) {
1529
+ background-color: #666;
1530
+ z-index: 0;
1531
+ animation: 2s ease 0s infinite normal none running spin3;
1532
+ left: 2.1rem;
1533
+ }
1534
+ @keyframes spin1 {
1535
+ 0% {
1536
+ transform: scale(0);
1537
+ }
1538
+ 100% {
1539
+ transform: scale(1);
1540
+ }
1541
+ }
1542
+ @keyframes spin2 {
1543
+ 0% {
1544
+ transform: translate(0px, 0px);
1545
+ }
1546
+ 100% {
1547
+ transform: translate(1rem, 0px);
1548
+ }
1549
+ }
1550
+ @keyframes spin3 {
1551
+ 0% {
1552
+ transform: scale(1);
1553
+ }
1554
+ 100% {
1555
+ transform: scale(0);
1556
+ }
1557
+ }
1558
+ `,
1559
+ "KOL-PROGRESS": css`
1560
+ :host progress,
1561
+ :host span {
1562
+ display: block;
1563
+ height: 0px;
1564
+ overflow: hidden;
1565
+ width: 0px;
1566
+ }
1567
+ :host svg line:first-child,
1568
+ :host svg circle:first-child {
1569
+ fill: transparent;
1570
+ stroke: var(--color-mute-variant);
1571
+ }
1572
+ :host svg line:last-child,
1573
+ :host svg circle:last-child {
1574
+ fill: transparent;
1575
+ stroke: var(--color-primary);
1576
+ }
1577
+
1578
+ .cycle .progress {
1579
+ stroke: var(--color-primary-variant);
1580
+ }
1581
+ `,
1582
+ "KOL-SELECT": css`
1583
+ kol-input {
1584
+ gap: 0.25rem;
1585
+ }
1586
+ kol-input .error {
1587
+ order: 1;
1588
+ }
1589
+ kol-input label {
1590
+ order: 2;
1591
+ }
1592
+ kol-input .input {
1593
+ order: 3;
1594
+ }
1595
+ kol-input .hint {
1596
+ order: 4;
1597
+ font-size: 0.9rem;
1598
+ font-style: italic;
1599
+ }
1600
+ select {
1601
+ border: none;
1602
+ }
1603
+ input::placeholder {
1604
+ color: var(--color-subtle);
1605
+ }
1606
+ .input {
1607
+ background-color: var(--color-light);
1608
+ border-color: var(--color-subtle);
1609
+ border-radius: var(--border-radius);
1610
+ border-style: solid;
1611
+ border-width: 2px;
1612
+ padding: 0 0.5rem;
1613
+ }
1614
+ .input > kol-icon {
1615
+ width: 2rem;
1616
+ }
1617
+ .input:is(.icon-left, .icon-right) {
1618
+ padding-left: 1rem;
1619
+ padding-right: 1rem;
1620
+ }
1621
+ .input:is(.icon-left, .icon-right) input {
1622
+ padding-left: 0.5rem;
1623
+ padding-right: 0.5rem;
1624
+ }
1625
+ .input > input:first-child {
1626
+ padding-left: var(--spacing);
1627
+ }
1628
+ .input > input:last-child {
1629
+ padding-right: var(--spacing);
1630
+ }
1631
+ .input:hover {
1632
+ border-color: var(--color-primary);
1633
+ }
1634
+ select:disabled {
1635
+ cursor: not-allowed;
1636
+ }
1637
+ .required label > span::after {
1638
+ content: '*';
1639
+ padding-left: 0.125em;
1640
+ }
1641
+ kol-input.error {
1642
+ border-left: 3px solid var(--color-danger);
1643
+ padding-left: 1rem;
1644
+ }
1645
+ kol-input.error .input:focus-within {
1646
+ outline-color: var(--color-danger) !important;
1647
+ }
1648
+ kol-input.error kol-alert.error {
1649
+ color: var(--color-danger);
1650
+ font-weight: 700;
1651
+ }
1652
+ kol-input.disabled :is(select, label, option) {
1653
+ opacity: 1;
1654
+ }
1655
+ kol-input.disabled :is(select, .input) {
1656
+ background-color: var(--color-mute);
1657
+ border-color: var(--color-mute-variant);
1658
+ }
1659
+ select[multiple] {
1660
+ overflow: auto;
1661
+ }
1662
+ select option {
1663
+ margin: 1px 0;
1664
+ padding: 0.5em;
1665
+ border-radius: var(--border-radius);
1666
+ cursor: pointer;
1667
+ }
1668
+ select option:disabled {
1669
+ cursor: not-allowed;
1670
+ }
1671
+ option:active:not(:disabled),
1672
+ option:checked:not(:disabled),
1673
+ option:focus:not(:disabled),
1674
+ option:hover:not(:disabled) {
1675
+ background: var(--color-primary-variant);
1676
+ color: var(--color-light);
1677
+ }
1678
+ `,
1679
+ "KOL-INPUT-COLOR": css`
1680
+ kol-input {
1681
+ gap: 0.25rem;
1682
+ }
1683
+ kol-input .error {
1684
+ order: 1;
1685
+ }
1686
+ kol-input label {
1687
+ order: 2;
1688
+ }
1689
+ kol-input .input {
1690
+ order: 3;
1691
+ }
1692
+ kol-input .hint {
1693
+ order: 4;
1694
+ font-size: 0.9rem;
1695
+ font-style: italic;
1696
+ }
1697
+ input {
1698
+ border: none;
1699
+ }
1700
+ input[type='color'] {
1701
+ border: none;
1702
+ min-height: 40px !important;
1703
+ }
1704
+ input[type='color'] {
1705
+ background-color: transparent;
1706
+ }
1707
+ input::placeholder {
1708
+ color: var(--color-subtle);
1709
+ }
1710
+ .input {
1711
+ background-color: var(--color-light);
1712
+ border-color: var(--color-subtle);
1713
+ border-radius: var(--border-radius);
1714
+ border-style: solid;
1715
+ border-width: 2px;
1716
+ padding: 0 0.5rem;
1717
+ }
1718
+ .input > kol-icon {
1719
+ width: 1rem;
1720
+ }
1721
+ .input:is(.icon-left, .icon-right) {
1722
+ padding-left: 1rem;
1723
+ padding-right: 1rem;
1724
+ }
1725
+ .input:is(.icon-left, .icon-right) input {
1726
+ padding-left: 0.5rem;
1727
+ padding-right: 0.5rem;
1728
+ }
1729
+ .input > input:first-child {
1730
+ padding-left: var(--spacing);
1731
+ }
1732
+ .input > input:last-child {
1733
+ padding-right: var(--spacing);
1734
+ }
1735
+ .input:hover {
1736
+ border-color: var(--color-primary);
1737
+ }
1738
+ input:read-only,
1739
+ input:disabled {
1740
+ cursor: not-allowed;
1741
+ }
1742
+ .required label > span::after {
1743
+ content: '*';
1744
+ padding-left: 0.125em;
1745
+ }
1746
+ kol-input.error {
1747
+ border-left: 3px solid var(--color-danger);
1748
+ padding-left: 1rem;
1749
+ }
1750
+ kol-input.error .input:focus-within {
1751
+ outline-color: var(--color-danger) !important;
1752
+ }
1753
+ kol-input.error kol-alert.error {
1754
+ color: var(--color-danger);
1755
+ font-weight: 700;
1756
+ }
1757
+ kol-input.disabled :is(input, label) {
1758
+ opacity: 1;
1759
+ }
1760
+ kol-input.disabled :is(input, .input) {
1761
+ background-color: var(--color-mute);
1762
+ border-color: var(--color-mute-variant);
1763
+ color: var(--color-text);
1764
+ }
1765
+ `,
1766
+ "KOL-ACCORDION": css`
1767
+ kol-span-wc > span {
1768
+ display: flex;
1769
+ place-items: baseline center;
1770
+ text-align: left;
1771
+ }
1772
+ :host > div > kol-heading-wc button {
1773
+ border-radius: var(--border-radius);
1774
+ min-height: 2.2rem;
1775
+ padding: 12px 8px;
1776
+ }
1777
+ :host > div > kol-heading-wc button kol-span-wc {
1778
+ font-weight: 700;
1779
+ font-size: 1.125rem;
1780
+ line-height: 20px;
1781
+ gap: 0.5rem;
1782
+ }
1783
+ :host > div > kol-heading-wc button kol-span-wc > span {
1784
+ gap: 0.5em;
1785
+ }
1786
+ :host > div > kol-heading-wc button kol-icon {
1787
+ color: var(--color-primary);
1788
+ }
1789
+ :host > div {
1790
+ width: 100%;
1791
+ height: 100%;
1792
+ display: grid;
1793
+ }
1794
+ :host > div div[class='header'],
1795
+ :host > div[class*='open'] div[class='content'] {
1796
+ margin: 0;
1797
+ }
1798
+ :host > div div[class='content'] {
1799
+ padding-left: 2.25em;
1800
+ padding-bottom: 12px;
1801
+ padding-right: 8px;
1802
+ }
1803
+ button:focus {
1804
+ outline: none;
1805
+ }
1806
+ :host > .accordion:focus-within {
1807
+ border-radius: var(--border-radius);
1808
+ cursor: pointer;
1809
+ outline-color: var(--color-primary-variant);
1810
+ outline-offset: 2px;
1811
+ outline-style: solid;
1812
+ outline-width: 3px;
1813
+ transition: outline-offset 0.2s linear;
1814
+ }
1815
+ `,
1816
+ "KOL-TABLE": css`
1817
+ :host * {
1818
+ hyphens: var(--hyphens);
1819
+ font-family: var(--font-family);
1820
+ line-height: var(--line-height);
1821
+ word-break: break-word;
1822
+ }
1823
+ :host > div {
1824
+ overflow-x: auto;
1825
+ overflow-y: hidden;
1826
+ }
1827
+ caption {
1828
+ padding: 0.5rem;
1829
+ }
1830
+ th {
1831
+ font-weight: normal;
1832
+ color: var(--color-primary);
1833
+ }
1834
+ :host table thead tr:first-child th,
1835
+ :host table thead tr:first-child td {
1836
+ border-width: 0;
1837
+ border-top-width: calc(var(--border-width) * 2);
1838
+ border-style: solid;
1839
+ border-color: var(--color-primary-variant);
1840
+ }
1841
+ table {
1842
+ width: 100%;
1843
+ border-spacing: 0;
1844
+ }
1845
+ table,
1846
+ :host table thead tr:last-child th,
1847
+ :host table thead tr:last-child td {
1848
+ border-width: 0;
1849
+ border-bottom-width: calc(var(--border-width) * 2);
1850
+ border-style: solid;
1851
+ border-color: var(--color-primary-variant);
1852
+ }
1853
+ th {
1854
+ background-color: var(--color-light);
1855
+ }
1856
+ th div {
1857
+ width: 100%;
1858
+ display: flex;
1859
+ gap: 0.5rem;
1860
+ grid-template-columns: 1fr auto;
1861
+ align-items: center;
1862
+ }
1863
+ th div.center {
1864
+ justify-content: center;
1865
+ }
1866
+ th div.right {
1867
+ justify-content: end;
1868
+ }
1869
+ tr:nth-child(even) {
1870
+ background-color: var(--color-mute);
1871
+ }
1872
+ th,
1873
+ td {
1874
+ padding: 0.5rem;
1875
+ }
1876
+ td.center > div {
1877
+ display: flex;
1878
+ justify-content: center;
1879
+ }
1880
+ td.right > div {
1881
+ display: flex;
1882
+ justify-content: end;
1883
+ }
1884
+ th[aria-sort='ascending'],
1885
+ th[aria-sort='descending'] {
1886
+ font-weight: 700;
1887
+ }
1888
+ :host > div:last-child {
1889
+ padding: 0.5rem;
1890
+ }
1891
+ :host > div:last-child,
1892
+ :host > div:last-child > div:last-child {
1893
+ display: grid;
1894
+ align-items: center;
1895
+ justify-items: center;
1896
+ gap: 1rem;
1897
+ }
1898
+
1899
+ @media (min-width: 1024px) {
1900
+ div.pagination kol-pagination {
1901
+ display: flex;
1902
+ align-items: center;
1903
+ }
1904
+ }
1905
+ `,
1906
+ "KOL-NAV": css`
1907
+ * {
1908
+ margin: 0;
1909
+ padding: 0;
1910
+ }
1911
+ nav {
1912
+ font-family: var(--font-family);
1913
+ font-size: var(--font-size);
1914
+ background-color: var(--color-mute);
1915
+ width: 100%;
1916
+ }
1917
+ ul {
1918
+ list-style: none;
1919
+ }
1920
+ kol-link-wc,
1921
+ a {
1922
+ height: 100%;
1923
+ min-height: var(--a11y-min-size);
1924
+ display: flex;
1925
+ place-items: center;
1926
+ }
1927
+ .entry > kol-span-wc > span {
1928
+ width: 100%;
1929
+ }
1930
+ .entry > :is(kol-button-wc, kol-link-wc, kol-span-wc):first-child {
1931
+ background-color: var(--color-light);
1932
+ text-decoration: none;
1933
+ color: var(--color-primary);
1934
+ width: 100%;
1935
+ display: flex;
1936
+ align-items: center;
1937
+ font-style: normal;
1938
+ line-height: 1.5rem;
1939
+ min-height: var(--a11y-min-size);
1940
+ min-width: var(--a11y-min-size);
1941
+ transition-duration: 0.5s;
1942
+ transition-property: background-color, color, border-color;
1943
+ letter-spacing: 0.175px;
1944
+ }
1945
+ .entry > :is(kol-link-wc, kol-button-wc):first-child :is(a, button) {
1946
+ color: var(--color-primary);
1947
+ text-decoration: none;
1948
+ }
1949
+ .entry > :is(kol-button-wc, kol-link-wc, kol-span-wc):first-child:hover {
1950
+ border-left-color: var(--color-primary-variant);
1951
+ background-color: var(--color-primary-variant);
1952
+ }
1953
+ .entry > :is(kol-link-wc, kol-button-wc, kol-span-wc):first-child:hover > :is(a, button, span) {
1954
+ color: var(--color-primary-variant);
1955
+ font-weight: 700;
1956
+ letter-spacing: unset;
1957
+ }
1958
+ .selected > :is(kol-button-wc, kol-link-wc, kol-span-wc):first-child {
1959
+ background-color: var(--color-primary-variant);
1960
+ color: var(--color-primary);
1961
+ font-weight: 700;
1962
+ }
1963
+ .selected > :is(kol-link-wc, kol-button-wc, kol-span-wc):first-child > :is(a, button, span) {
1964
+ font-weight: 700;
1965
+ }
1966
+ .selected :is(kol-button-wc, kol-link-wc, kol-span-wc):first-child:hover {
1967
+ color: var(--color-primary-variant);
1968
+ letter-spacing: unset;
1969
+ }
1970
+ .entry > kol-span-wc > span,
1971
+ .entry :is(a, button) {
1972
+ border-left-color: transparent;
1973
+ border-left-style: solid;
1974
+ border-left-width: 0.5rem;
1975
+ padding: 0.75rem 0.5rem 0.75rem 0.25rem;
1976
+ }
1977
+ .selected :is(a, button),
1978
+ [exportparts*='selected'] a {
1979
+ border-left-color: var(--color-primary);
1980
+ } /** Compact mode */
1981
+ .entry.compact :is(kol-button-wc, kol-link-wc, kol-span-wc):first-child {
1982
+ place-items: center;
1983
+ }
1984
+ .entry.compact > kol-span-wc > span {
1985
+ flex-direction: column;
1986
+ }
1987
+ .entry.compact > kol-span-wc > span,
1988
+ .entry.compact :is(a, button) {
1989
+ padding-left: 0;
1990
+ }
1991
+ `,
1992
+ "KOL-CARD": css`
1993
+ /* https://www.figma.com/file/56JbmrssCRpjpfxoAFeHqT/Design-System-EPLF-(in-progress)?node-id=8225%3A5945 */
1994
+ :host > div {
1995
+ display: grid;
1996
+ width: 100%;
1997
+ height: 100%;
1998
+ background-color: var(--color-light);
1999
+ grid-template-rows: min-content 2fr min-content;
2000
+ box-shadow: 0 0 0.25rem var(--color-subtle);
2001
+ border-radius: var(--border-radius);
2002
+ }
2003
+ :host kol-heading-wc {
2004
+ line-height: 1.75rem;
2005
+ }
2006
+ :host div.header {
2007
+ padding: 1rem 1rem 0.5rem 1rem;
2008
+ }
2009
+ :host div.content {
2010
+ padding: 0.5rem 1rem 1rem;
2011
+ overflow: hidden;
2012
+ }
2013
+ :host div.footer {
2014
+ padding: 0.5rem 1rem;
2015
+ }
2016
+ `,
2017
+ "KOL-INPUT-CHECKBOX": css`
2018
+ :host kol-input {
2019
+ display: grid;
2020
+ align-items: center;
2021
+ justify-items: left;
2022
+ width: 100%;
2023
+ min-height: var(--a11y-min-size);
2024
+ gap: 0.4rem;
2025
+ }
2026
+ :host kol-input.default {
2027
+ grid-template-columns: 1.5rem auto;
2028
+ }
2029
+ :host kol-input.switch {
2030
+ grid-template-columns: 3.5rem auto;
2031
+ }
2032
+ :host kol-input.button {
2033
+ gap: 0.4rem 0;
2034
+ }
2035
+ :host kol-input > div.input {
2036
+ display: inherit;
2037
+ min-height: var(--a11y-min-size);
2038
+ order: 2;
2039
+ }
2040
+ :host kol-input > div.input input {
2041
+ margin: 0px;
2042
+ }
2043
+ :host kol-input > label {
2044
+ cursor: pointer;
2045
+ order: 3;
2046
+ }
2047
+ :host kol-input > kol-alert.error {
2048
+ order: 1;
2049
+ padding-top: calc(var(--spacing) / 2);
2050
+ grid-column: span 2 / auto;
2051
+ }
2052
+ :host kol-input.error {
2053
+ border-left: 3px solid var(--color-danger);
2054
+ padding-left: 1rem;
2055
+ }
2056
+ :host kol-input.error input:focus,
2057
+ kol-input.error select:focus,
2058
+ kol-input.error textarea:focus {
2059
+ outline-color: var(--color-danger) !important;
2060
+ }
2061
+ :host kol-input.error kol-alert.error {
2062
+ color: var(--color-danger);
2063
+ font-weight: 700;
2064
+ }
2065
+ :host input {
2066
+ cursor: pointer;
2067
+ order: 1;
2068
+ width: 100%;
2069
+ border-color: var(--color-subtle);
2070
+ border-width: 2px;
2071
+ border-style: solid;
2072
+ border-radius: var(--border-radius);
2073
+ line-height: 24px;
2074
+ font-size: 1rem;
2075
+ }
2076
+ :host input:hover {
2077
+ border-color: var(--color-primary);
2078
+ box-shadow: 0px 2px 8px 2px rgba(8, 35, 48, 0.24);
2079
+ }
2080
+ :host input:focus:hover {
2081
+ box-shadow: none;
2082
+ }
2083
+ :host input:active {
2084
+ box-shadow: none;
2085
+ }
2086
+ :host kol-alert {
2087
+ display: block;
2088
+ width: 100%;
2089
+ } /* CHECKBOX */
2090
+ :host kol-input label span {
2091
+ margin-top: 0.125rem;
2092
+ }
2093
+ :host .required label > span::after {
2094
+ content: '*';
2095
+ padding-left: 0.125em;
2096
+ }
2097
+ :host kol-input input[type='checkbox'] {
2098
+ appearance: none;
2099
+ background-color: white;
2100
+ cursor: pointer;
2101
+ transition: 0.5s;
2102
+ }
2103
+ :host kol-input input[type='checkbox'].kol-disabled:before {
2104
+ cursor: not-allowed;
2105
+ }
2106
+ :host kol-input input[type='checkbox']:before {
2107
+ content: '';
2108
+ cursor: pointer;
2109
+ }
2110
+ :host kol-input input[type='checkbox']:checked {
2111
+ background-color: var(--color-primary);
2112
+ border-color: var(--color-primary);
2113
+ }
2114
+ :host kol-input.default input[type='checkbox'] {
2115
+ border-radius: var(--border-radius);
2116
+ height: calc(6 * 0.25rem);
2117
+ min-width: calc(6 * 0.25rem);
2118
+ width: calc(6 * 0.25rem);
2119
+ }
2120
+ :host kol-input.default input[type='checkbox']:before {
2121
+ border-radius: 1.5em;
2122
+ background-color: transparent;
2123
+ display: block;
2124
+ height: calc(6 * 0.25rem);
2125
+ position: relative;
2126
+ width: calc(6 * 0.25rem);
2127
+ }
2128
+ :host kol-input.default input[type='checkbox']:checked:before {
2129
+ border-right-width: 3px;
2130
+ border-bottom-width: 3px;
2131
+ left: calc(1.5 * 0.25rem - 2px);
2132
+ top: calc(2.85 * 0.25rem - 2px);
2133
+ transform: rotate(40deg) translate(-50%, -50%);
2134
+ background-color: transparent;
2135
+ border-width: 0px 3px 3px 0px;
2136
+ border-color: white;
2137
+ border-radius: 1px;
2138
+ border-style: solid;
2139
+ height: calc(3 * 0.25rem);
2140
+ width: calc(1.5 * 0.25rem);
2141
+ }
2142
+ :host kol-input.default input[type='checkbox']:indeterminate {
2143
+ background-color: var(--color-primary);
2144
+ }
2145
+ :host kol-input.default input[type='checkbox']:indeterminate:before {
2146
+ background-color: var(--color-light);
2147
+ height: 0.125rem;
2148
+ top: 0.6rem;
2149
+ left: 0.25rem;
2150
+ width: calc(3 * 0.25rem);
2151
+ transform: inherit;
2152
+ }
2153
+ :host kol-input.default input[type='checkbox']:checked:indeterminate:before {
2154
+ border-width: 0px 1px 1px 0px;
2155
+ }
2156
+ :host kol-input.switch input[type='checkbox'] {
2157
+ min-width: 3.5em;
2158
+ width: 3.5em;
2159
+ background-color: var(--color-subtle);
2160
+ border-width: 0;
2161
+ height: 1.5em;
2162
+ border-radius: 1.25em;
2163
+ display: inline-block;
2164
+ position: relative;
2165
+ }
2166
+ :host kol-input.switch input[type='checkbox']:before {
2167
+ width: 1.25em;
2168
+ height: 1.25em;
2169
+ left: calc(0.25em - 2px);
2170
+ top: calc(0.25em - 2px);
2171
+ border-radius: 1.25em;
2172
+ background-color: white;
2173
+ position: absolute;
2174
+ }
2175
+ :host kol-input.switch input[type='checkbox']:checked {
2176
+ background-color: var(--color-primary);
2177
+ }
2178
+ :host kol-input.switch input[type='checkbox']:checked:before {
2179
+ transform: translateX(2em);
2180
+ }
2181
+ :host kol-input.switch input[type='checkbox']:indeterminate:before {
2182
+ transform: translateX(1em);
2183
+ }
2184
+ .switch {
2185
+ & .icon {
2186
+ width: 1.25em;
2187
+ height: 1.25em;
2188
+ left: 2px;
2189
+ }
2190
+
2191
+ &:has(input:checked) .icon {
2192
+ transform: translate(2em, -50%);
2193
+ }
2194
+
2195
+ &:has(input:indeterminate) .icon {
2196
+ transform: translate(1em, -50%);
2197
+ }
2198
+ }
2199
+ :host .disabled {
2200
+ opacity: 0.33;
2201
+ }
2202
+ `,
2203
+ "KOL-INPUT-RADIO": css`
2204
+ label {
2205
+ cursor: pointer;
2206
+ display: grid;
2207
+ line-height: 20px;
2208
+ gap: calc(var(--spacing) * 2);
2209
+ width: 100%;
2210
+ }
2211
+ input {
2212
+ cursor: pointer;
2213
+ width: 100%;
2214
+ border-color: var(--color-subtle);
2215
+ border-width: 2px;
2216
+ border-style: solid;
2217
+ border-radius: 5px;
2218
+ line-height: 24px;
2219
+ }
2220
+ input:hover {
2221
+ border-color: var(--color-primary);
2222
+ box-shadow: 0px 2px 8px 2px rgba(8, 35, 48, 0.24);
2223
+ }
2224
+ input:focus:hover {
2225
+ box-shadow: none;
2226
+ }
2227
+ input:hover {
2228
+ border-color: var(--color-primary);
2229
+ }
2230
+ kol-alert {
2231
+ display: block;
2232
+ width: 100%;
2233
+ }
2234
+ .required legend > span::after {
2235
+ content: '*';
2236
+ padding-left: 0.125em;
2237
+ } /* RADIO */
2238
+ fieldset {
2239
+ border: 0px;
2240
+ margin: 0px;
2241
+ padding: 0px;
2242
+ display: grid;
2243
+ gap: 0.25em;
2244
+ }
2245
+ fieldset div {
2246
+ align-items: center;
2247
+ cursor: pointer;
2248
+ display: flex;
2249
+ flex-direction: row;
2250
+ gap: 0.5rem;
2251
+ margin: 0;
2252
+ min-height: var(--a11y-min-size);
2253
+ position: relative;
2254
+ }
2255
+ fieldset div label {
2256
+ cursor: pointer;
2257
+ display: flex;
2258
+ padding-left: calc(var(--spacing) / 2);
2259
+ width: 100%;
2260
+ }
2261
+ fieldset div label span {
2262
+ margin-top: 0.125em;
2263
+ }
2264
+ fieldset div input[type='radio'] {
2265
+ appearance: none;
2266
+ transition: 0.5s;
2267
+ border-radius: 100%;
2268
+ height: calc(6 * 0.25rem);
2269
+ min-width: calc(6 * 0.25rem);
2270
+ width: calc(6 * 0.25rem);
2271
+ }
2272
+ fieldset div input[type='radio']:before {
2273
+ content: '';
2274
+ cursor: pointer;
2275
+ border-radius: 100%;
2276
+ display: block;
2277
+ }
2278
+ fieldset div input[type='radio']:checked:before {
2279
+ background-color: var(--color-primary);
2280
+ }
2281
+ fieldset div input[type='radio']:disabled {
2282
+ cursor: not-allowed;
2283
+ background-color: var(--color-mute-variant);
2284
+ }
2285
+ fieldset #error {
2286
+ order: 1;
2287
+ }
2288
+ fieldset legend {
2289
+ order: 2;
2290
+ display: contents;
2291
+ }
2292
+ fieldset kol-input {
2293
+ order: 3;
2294
+ }
2295
+ fieldset.error {
2296
+ padding-left: 1rem;
2297
+ border-left: 3px solid var(--color-danger);
2298
+ }
2299
+ fieldset kol-alert#error {
2300
+ color: var(--color-danger);
2301
+ font-weight: 700;
2302
+ }
2303
+ fieldset.error input:focus,
2304
+ fieldset.error select:focus,
2305
+ fieldset.error textarea:focus {
2306
+ outline-color: var(--color-danger) !important;
2307
+ }
2308
+ fieldset.error kol-alert.error {
2309
+ margin-left: -0.25em;
2310
+ color: var(--color-danger);
2311
+ font-weight: 700;
2312
+ }
2313
+ .disabled {
2314
+ opacity: 0.33;
2315
+ }
2316
+ fieldset.horizontal {
2317
+ display: flex;
2318
+ flex-wrap: wrap;
2319
+ gap: var(--spacing) calc(var(--spacing) * 2);
2320
+ }
2321
+ fieldset.horizontal legend {
2322
+ display: inline-block;
2323
+ margin-bottom: calc(var(--spacing) / 2);
2324
+ }
2325
+ fieldset .input-slot {
2326
+ gap: var(--spacing);
2327
+ }
2328
+ fieldset div label {
2329
+ padding-left: 0;
2330
+ }
2331
+ `,
2332
+ "KOL-TOAST-CONTAINER": css`
2333
+ :host {
2334
+ top: 1rem;
2335
+ right: 1rem;
2336
+ width: 440px;
2337
+ }
2338
+ `,
2339
+ "KOL-TOAST": css`
2340
+ .toast {
2341
+ margin-top: 1rem;
2342
+ }
2343
+ `,
2344
+ "KOL-TABS": css`
2345
+ button:disabled {
2346
+ opacity: 0.5;
2347
+ cursor: not-allowed;
2348
+ }
2349
+ :host kol-button-group-wc {
2350
+ display: inline-flex;
2351
+ gap: 2rem;
2352
+ flex-wrap: wrap;
2353
+ }
2354
+ button {
2355
+ box-sizing: border-box;
2356
+ background-color: transparent;
2357
+ border: 0;
2358
+ border-radius: var(--border-radius);
2359
+ font-style: normal;
2360
+ font-weight: 700;
2361
+ font-size: 18px;
2362
+ line-height: 22px;
2363
+ min-height: var(--a11y-min-size);
2364
+ min-width: var(--a11y-min-size);
2365
+ color: var(--color-subtle);
2366
+ padding: 0;
2367
+ }
2368
+ button:hover {
2369
+ color: var(--color-primary);
2370
+ }
2371
+ button.primary,
2372
+ button.selected {
2373
+ color: var(--color-primary);
2374
+ }
2375
+ button kol-span-wc > span {
2376
+ border-bottom: 0.25em solid;
2377
+ }
2378
+ button kol-span-wc > span {
2379
+ gap: 0.5rem;
2380
+ }
2381
+ :host > div > div {
2382
+ padding: 0.25em 0;
2383
+ }
2384
+ div[role='tabpanel'] {
2385
+ height: 100%;
2386
+ }
2387
+ div.grid {
2388
+ height: 100%;
2389
+ }
2390
+ :host > .tabs-align-right {
2391
+ display: grid;
2392
+ grid-template-columns: 1fr auto;
2393
+ }
2394
+ :host > .tabs-align-right kol-button-group-wc {
2395
+ display: grid;
2396
+ order: 2;
2397
+ }
2398
+ :host > .tabs-align-left {
2399
+ display: grid;
2400
+ grid-template-columns: auto 1fr;
2401
+ }
2402
+ :host > .tabs-align-left kol-button-group-wc {
2403
+ display: grid;
2404
+ order: 0;
2405
+ }
2406
+ :host > .tabs-align-bottom {
2407
+ display: grid;
2408
+ grid-template-rows: 1fr auto;
2409
+ }
2410
+ :host > .tabs-align-bottom kol-button-group-wc {
2411
+ order: 2;
2412
+ }
2413
+ :host > .tabs-align-bottom kol-button-group-wc > div {
2414
+ display: flex;
2415
+ }
2416
+ :host > .tabs-align-bottom > kol-button-group-wc > div > div:first-child {
2417
+ margin: 0px 1rem 0px 0px;
2418
+ }
2419
+ :host > .tabs-align-bottom > kol-button-group-wc > div > div {
2420
+ margin: 0px 1rem;
2421
+ }
2422
+ :host > .tabs-align-top {
2423
+ display: grid;
2424
+ grid-template-rows: auto 1fr;
2425
+ }
2426
+ :host > .tabs-align-top kol-button-group-wc {
2427
+ order: 0;
2428
+ }
2429
+ :host > .tabs-align-top kol-button-group-wc > div {
2430
+ display: flex;
2431
+ }
2432
+ :host > .tabs-align-top > kol-button-group-wc > div > div:first-child {
2433
+ margin: 0px 1rem 0px 0px;
2434
+ }
2435
+ :host > .tabs-align-top > kol-button-group-wc > div > div {
2436
+ margin: 0px 1rem;
2437
+ }
2438
+ :host > div {
2439
+ display: grid;
2440
+ }
2441
+ :host > div.tabs-align-left {
2442
+ grid-template-columns: auto 1fr;
2443
+ }
2444
+ :host > div.tabs-align-right {
2445
+ grid-template-columns: 1fr auto;
2446
+ }
2447
+ :host > .tabs-align-left kol-button-group-wc,
2448
+ :host > .tabs-align-top kol-button-group-wc {
2449
+ order: 0;
2450
+ }
2451
+ :host > .tabs-align-bottom kol-button-group-wc,
2452
+ :host > .tabs-align-right kol-button-group-wc {
2453
+ order: 1;
2454
+ }
2455
+ :host > .tabs-align-left kol-button-group-wc,
2456
+ :host > .tabs-align-right kol-button-group-wc {
2457
+ gap: inherit;
2458
+ }
2459
+ :host > div.tabs-align-left kol-button-group-wc > div,
2460
+ :host > div.tabs-align-left kol-button-group-wc > div > div,
2461
+ :host > div.tabs-align-right kol-button-group-wc > div,
2462
+ :host > div.tabs-align-right kol-button-group-wc > div > div {
2463
+ display: grid;
2464
+ }
2465
+ :host > div.tabs-align-left kol-button-group-wc > div > div kol-button-wc,
2466
+ :host > div.tabs-align-right kol-button-group-wc > div > div kol-button-wc {
2467
+ width: 100%;
2468
+ }
2469
+ :host > div.tabs-align-bottom kol-button-group-wc div,
2470
+ :host > div.tabs-align-top kol-button-group-wc div {
2471
+ display: flex;
2472
+ flex-wrap: wrap;
2473
+ }
2474
+ :host kol-button-group-wc button {
2475
+ border: none;
2476
+ }
2477
+ `,
2478
+ "KOL-PAGINATION": css`
2479
+ :host {
2480
+ display: grid;
2481
+ gap: 1rem;
2482
+ }
2483
+ :host .navigation-list {
2484
+ display: inline-flex;
2485
+ flex-wrap: wrap;
2486
+ align-items: center;
2487
+ gap: 0.5rem;
2488
+ }
2489
+ :host .selected button {
2490
+ min-width: var(--a11y-min-size);
2491
+ min-height: var(--a11y-min-size);
2492
+ display: grid;
2493
+ place-items: center;
2494
+ font-family: var(--font-family);
2495
+ cursor: not-allowed;
2496
+ font-weight: 700;
2497
+ border-radius: 50%;
2498
+ border: none;
2499
+ font-style: normal;
2500
+ text-align: center;
2501
+ width: inherit;
2502
+ transition-duration: 0.5s;
2503
+ transition-property: background-color, color, border-color;
2504
+ color: var(--color-primary);
2505
+ background-color: var(--color-mute-variant);
2506
+ }
2507
+ :host > div > span {
2508
+ align-self: flex-end;
2509
+ padding-bottom: 0.5rem;
2510
+ color: var(--color-primary);
2511
+ }
2512
+ `,
2513
+ "KOL-INPUT-RANGE": css`
2514
+ .inputs-wrapper {
2515
+ gap: 1rem;
2516
+ }
2517
+ kol-input {
2518
+ gap: 0.25rem;
2519
+ }
2520
+ kol-input .error {
2521
+ order: 1;
2522
+ }
2523
+ kol-input label {
2524
+ order: 2;
2525
+ }
2526
+ kol-input .input {
2527
+ order: 3;
2528
+ }
2529
+ kol-input .hint {
2530
+ order: 4;
2531
+ font-size: 0.9rem;
2532
+ font-style: italic;
2533
+ }
2534
+ input::placeholder {
2535
+ color: var(--color-subtle);
2536
+ }
2537
+ .input {
2538
+ background-color: var(--color-light);
2539
+ border-color: var(--color-subtle);
2540
+ border-radius: var(--border-radius);
2541
+ border-style: solid;
2542
+ border-width: 2px;
2543
+ padding: 0 0.5rem;
2544
+ }
2545
+ .input > kol-icon {
2546
+ width: 1rem;
2547
+ }
2548
+ .input.icon-left > kol-icon:first-child {
2549
+ margin-right: 0.5rem;
2550
+ }
2551
+ .input.icon-right > kol-icon:last-child {
2552
+ margin-left: 0.5rem;
2553
+ }
2554
+ .input:is(.icon-left, .icon-right) {
2555
+ padding-left: 1rem;
2556
+ padding-right: 1rem;
2557
+ }
2558
+ .input:hover {
2559
+ border-color: var(--color-primary);
2560
+ }
2561
+ input:read-only,
2562
+ input:disabled {
2563
+ cursor: not-allowed;
2564
+ }
2565
+ .required label > span::after {
2566
+ content: '*';
2567
+ padding-left: 0.125em;
2568
+ }
2569
+ kol-input.error {
2570
+ border-left: 3px solid var(--color-danger);
2571
+ padding-left: 1rem;
2572
+ }
2573
+ kol-input.error .input:focus-within {
2574
+ outline-color: var(--color-danger) !important;
2575
+ }
2576
+ kol-input.error kol-alert.error {
2577
+ color: var(--color-danger);
2578
+ font-weight: 700;
2579
+ }
2580
+ kol-input.disabled :is(input, label) {
2581
+ opacity: 1;
2582
+ }
2583
+ kol-input.disabled :is(.input) {
2584
+ background-color: var(--color-mute);
2585
+ border-color: var(--color-mute-variant);
2586
+ color: var(--color-text);
2587
+ }
2588
+ `,
2589
+ "KOL-LINK-BUTTON": css`
2590
+ :is(a, button):focus {
2591
+ outline: none;
2592
+ }
2593
+ :is(a, button):focus kol-span-wc {
2594
+ outline-color: var(--color-primary-variant);
2595
+ outline-offset: 2px;
2596
+ outline-style: solid;
2597
+ outline-width: calc(var(--border-width) * 2);
2598
+ transition: outline-offset 0.2s linear;
2599
+ }
2600
+ :is(a, button) > kol-span-wc {
2601
+ font-weight: 700;
2602
+ border-radius: var(--a11y-min-size);
2603
+ border-style: solid;
2604
+ outline-width: calc(var(--border-width) * 2);
2605
+ min-height: var(--a11y-min-size);
2606
+ min-width: var(--a11y-min-size);
2607
+ padding: 8px 14px;
2608
+ text-align: center;
2609
+ transition-duration: 0.5s;
2610
+ transition-property: background-color, color, border-color;
2611
+ }
2612
+ :is(a, button):disabled > kol-span-wc {
2613
+ cursor: not-allowed;
2614
+ opacity: 0.5;
2615
+ }
2616
+ .primary :is(a, button) > kol-span-wc,
2617
+ .primary :is(a, button):disabled:hover > kol-span-wc {
2618
+ background-color: var(--color-primary);
2619
+ border-color: var(--color-primary);
2620
+ color: var(--color-light);
2621
+ }
2622
+ .secondary :is(a, button) > kol-span-wc,
2623
+ .secondary :is(a, button):disabled:hover > kol-span-wc,
2624
+ .normal :is(a, button) > kol-span-wc,
2625
+ .normal :is(a, button):disabled:hover > kol-span-wc {
2626
+ background-color: var(--color-light);
2627
+ border-color: var(--color-primary);
2628
+ color: var(--color-primary);
2629
+ }
2630
+ .danger :is(a, button) > kol-span-wc,
2631
+ .danger :is(a, button):disabled:hover > kol-span-wc {
2632
+ background-color: var(--color-danger);
2633
+ border-color: var(--color-danger);
2634
+ color: var(--color-light);
2635
+ }
2636
+ .ghost :is(a, button) > kol-span-wc,
2637
+ .ghost :is(a, button):disabled:hover > kol-span-wc {
2638
+ border-color: var(--color-light);
2639
+ background-color: var(--color-light);
2640
+ box-shadow: none;
2641
+ color: var(--color-primary);
2642
+ } /*-----------*/
2643
+ .primary :is(a, button):active > kol-span-wc,
2644
+ .primary :is(a, button):hover > kol-span-wc,
2645
+ .secondary :is(a, button):active > kol-span-wc,
2646
+ .secondary :is(a, button):hover > kol-span-wc,
2647
+ .normal :is(a, button):active > kol-span-wc,
2648
+ .normal :is(a, button):hover > kol-span-wc,
2649
+ .danger :is(a, button):active > kol-span-wc,
2650
+ .danger :is(a, button):hover > kol-span-wc,
2651
+ .ghost :is(a, button):active > kol-span-wc,
2652
+ .ghost :is(a, button):hover > kol-span-wc {
2653
+ background-color: var(--color-primary-variant);
2654
+ border-color: var(--color-primary-variant);
2655
+ box-shadow: 0px 2px 8px 2px rgba(8, 35, 48, 0.24);
2656
+ color: var(--color-light);
2657
+ }
2658
+ .danger :is(a, button):active > kol-span-wc,
2659
+ .danger :is(a, button):hover > kol-span-wc {
2660
+ background-color: var(--color-danger);
2661
+ border-color: var(--color-danger);
2662
+ }
2663
+ :is(a, button):disabled:hover > kol-span-wc,
2664
+ :is(a, button):focus:hover > kol-span-wc {
2665
+ box-shadow: none;
2666
+ }
2667
+ .primary :is(a, button):active > kol-span-wc,
2668
+ .secondary :is(a, button):active > kol-span-wc,
2669
+ .normal :is(a, button):active > kol-span-wc,
2670
+ .danger :is(a, button):active > kol-span-wc,
2671
+ .ghost :is(a, button):active > kol-span-wc {
2672
+ border-color: var(--color-light);
2673
+ box-shadow: none;
2674
+ outline: none;
2675
+ }
2676
+ :is(a, button).hide-label > kol-span-wc {
2677
+ padding: 0.8rem;
2678
+ width: unset;
2679
+ }
2680
+ :is(a, button).hide-label > kol-span-wc > span > span {
2681
+ display: none;
2682
+ }
2683
+ :is(a, button).loading > kol-span-wc kol-icon {
2684
+ animation: spin 5s infinite linear;
2685
+ }
2686
+ /** small ghost button */
2687
+ .ghost :is(a, button).small > kol-span-wc {
2688
+ border: none;
2689
+ background-color: transparent;
2690
+ box-shadow: none;
2691
+ }
2692
+ .ghost :is(a, button).small > kol-span-wc > span {
2693
+ border-radius: 1.5em;
2694
+ border-style: solid;
2695
+ border-width: var(--border-width);
2696
+ border-color: var(--color-light);
2697
+ background-color: var(--color-light);
2698
+ }
2699
+ .ghost :is(a, button).small:active > kol-span-wc > span,
2700
+ .ghost :is(a, button).small:hover > kol-span-wc > span,
2701
+ .ghost :is(a, button).small.transparent:active > kol-span-wc > span,
2702
+ .ghost :is(a, button).small.transparent:hover > kol-span-wc > span {
2703
+ background-color: var(--color-primary-variant);
2704
+ border-color: var(--color-primary-variant);
2705
+ box-shadow: 0px 2px 8px 2px rgba(8, 35, 48, 0.24);
2706
+ color: var(--color-light);
2707
+ } /** :is(a,button) with transparent background */
2708
+ :is(a, button).transparent > kol-span-wc > span,
2709
+ .ghost :is(a, button).small.transparent > kol-span-wc > span,
2710
+ :is(a, button).transparent > kol-span-wc {
2711
+ background-color: transparent;
2712
+ border-color: transparent;
2713
+ }
2714
+ `,
2715
+ "KOL-BUTTON-LINK": css`
2716
+ :is(a, button) {
2717
+ color: var(--color-primary);
2718
+ font-style: normal;
2719
+ font-weight: 400;
2720
+ text-decoration-line: underline;
2721
+ font-size: inherit;
2722
+ }
2723
+ :is(a, button):focus {
2724
+ outline: none;
2725
+ }
2726
+ :is(a, button):focus kol-span-wc {
2727
+ border-radius: var(--border-radius);
2728
+ outline: calc(var(--border-width) * 2) solid;
2729
+ }
2730
+ :is(a, button):hover {
2731
+ text-decoration-thickness: 0.25em;
2732
+ }
2733
+ :is(a, button):visited {
2734
+ color: var(--visited);
2735
+ }
2736
+ .hidden {
2737
+ display: none;
2738
+ visibility: hidden;
2739
+ }
2740
+ .skip {
2741
+ left: -99999px;
2742
+ overflow: hidden;
2743
+ position: absolute;
2744
+ z-index: 9999999;
2745
+ }
2746
+ .skip:focus {
2747
+ background: white;
2748
+ left: unset;
2749
+ position: unset;
2750
+ }
2751
+ `,
2752
+ "KOL-ABBR": css`
2753
+ abbr {
2754
+ border-bottom: dashed var(--color-text) 1px;
2755
+ text-decoration: none !important;
2756
+ }
2757
+ `,
2758
+ "KOL-BREADCRUMB": css`
2759
+ li:has(:is(kol-icon + kol-link, kol-icon + span)) kol-icon {
2760
+ font-size: 0.75rem;
2761
+ color: var(--color-subtle);
2762
+ }
2763
+ kol-link::part(icon) {
2764
+ font-size: 1.25rem;
2765
+ }
2766
+ ul li > :is(span, kol-link) {
2767
+ line-height: 1.25rem;
2768
+ height: 20px;
2769
+ }
2770
+ ul li:last-child > span {
2771
+ color: var(--color-subtle);
2772
+ }
2773
+ `,
2774
+ "KOL-MODAL": css`
2775
+ :host .overlay .modal {
2776
+ max-height: calc(100% - 32px);
2777
+ }
2778
+ `,
2779
+ "KOL-ICON": css`
2780
+ :host {
2781
+ width: 1em;
2782
+ height: 1em;
2783
+ }
2784
+ :host > i {
2785
+ width: 1em;
2786
+ height: 1em;
2787
+ }
2788
+ `,
2789
+ "KOL-SKIP-NAV": css`
2790
+ kol-link-wc > a > kol-span-wc {
2791
+ border-radius: var(--a11y-min-size);
2792
+ border-style: solid;
2793
+ border-width: var(--border-width);
2794
+ gap: calc(var(--spacing) * 2);
2795
+ line-height: 1rem;
2796
+ padding: 8px 14px;
2797
+ background-color: var(--color-primary-variant);
2798
+ border-color: var(--color-primary-variant);
2799
+ color: var(--color-light);
2800
+ cursor: pointer;
2801
+ }
2802
+ `,
2803
+ "KOL-SPLIT-BUTTON": `.popover {
2804
+ background: #fff;
2805
+ }`
2806
+ });
2807
+
2808
+ exports.DEFAULT = DEFAULT;