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