lapikit 0.6.2 → 0.6.4

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.
Files changed (38) hide show
  1. package/dist/components/accordion/accordion.svelte +172 -42
  2. package/dist/components/accordion/accordion.types.d.ts +8 -3
  3. package/dist/components/accordion/modules/accordion-item.svelte +71 -72
  4. package/dist/components/alert/alert.svelte +201 -118
  5. package/dist/components/alert/alert.types.d.ts +8 -6
  6. package/dist/components/app/app.svelte +36 -27
  7. package/dist/components/appbar/appbar.svelte +115 -64
  8. package/dist/components/appbar/appbar.types.d.ts +4 -4
  9. package/dist/components/aspect-ratio/aspect-ratio.svelte +4 -12
  10. package/dist/components/aspect-ratio/aspect-ratio.types.d.ts +2 -1
  11. package/dist/components/avatar/avatar.svelte +108 -66
  12. package/dist/components/avatar/avatar.types.d.ts +7 -5
  13. package/dist/components/btn/btn.svelte +167 -169
  14. package/dist/components/btn/btn.types.d.ts +5 -2
  15. package/dist/components/card/card.svelte +9 -10
  16. package/dist/components/chip/chip.svelte +162 -140
  17. package/dist/components/chip/chip.types.d.ts +7 -3
  18. package/dist/components/dialog/dialog.svelte +84 -81
  19. package/dist/components/dialog/dialog.types.d.ts +7 -5
  20. package/dist/components/dropdown/dropdown.svelte +46 -36
  21. package/dist/components/dropdown/dropdown.types.d.ts +4 -2
  22. package/dist/components/icon/icon.svelte +28 -52
  23. package/dist/components/list/list.svelte +126 -93
  24. package/dist/components/list/list.types.d.ts +4 -5
  25. package/dist/components/list/modules/list-item.svelte +82 -99
  26. package/dist/components/modal/modal.svelte +104 -98
  27. package/dist/components/modal/modal.types.d.ts +7 -5
  28. package/dist/components/popover/popover.svelte +46 -34
  29. package/dist/components/popover/popover.types.d.ts +3 -1
  30. package/dist/components/separator/separator.svelte +11 -30
  31. package/dist/components/separator/separator.types.d.ts +1 -2
  32. package/dist/components/textfield/textfield.svelte +180 -157
  33. package/dist/components/textfield/textfield.types.d.ts +4 -3
  34. package/dist/components/toolbar/toolbar.svelte +126 -108
  35. package/dist/components/toolbar/toolbar.types.d.ts +6 -7
  36. package/dist/components/tooltip/tooltip.svelte +39 -45
  37. package/dist/components/tooltip/tooltip.types.d.ts +3 -3
  38. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { useClassName, useStyles } from '../../utils';
2
+ import { useClassName, useElevation, useStyles } from '../../utils';
3
3
  import { makeComponentProps } from '../../html-mapped';
4
4
  import { ripple } from '../../animations';
5
5
  import type { ButtonProps } from './btn.types.js';
@@ -16,8 +16,8 @@
16
16
  density = 'default',
17
17
  loading,
18
18
  active = false,
19
- size = 'default',
20
- rounded,
19
+ size = 'md',
20
+ rounded = 'sm',
21
21
  disabled = false,
22
22
  block,
23
23
  href,
@@ -32,31 +32,18 @@
32
32
  append,
33
33
  prepend,
34
34
  icon,
35
+ elevation,
36
+ color,
37
+ background,
35
38
  ...rest
36
39
  }: ButtonProps = $props();
37
40
 
38
- let safeVariant = $derived(
39
- variant === 'filled' || variant === 'outline' || variant === 'text' || variant === 'link'
40
- ? variant
41
- : 'filled'
42
- );
43
- let safeSize = $derived(
44
- size === 'default'
45
- ? 'md'
46
- : size === 'xs' || size === 'sm' || size === 'md' || size === 'lg' || size === 'xl'
47
- ? size
48
- : 'md'
49
- );
50
- let safeDensity = $derived(
51
- density === 'compact' || density === 'comfortable' || density === 'default'
52
- ? density
53
- : 'default'
54
- );
55
-
56
41
  let { classProps, styleProps, restProps } = $derived(
57
42
  makeComponentProps(rest as Record<string, unknown>)
58
43
  );
59
44
 
45
+ let elevationState = $derived(useElevation(elevation));
46
+
60
47
  let componentClass = $derived(
61
48
  useClassName({
62
49
  baseClass: 'kit-btn',
@@ -93,24 +80,29 @@
93
80
  bind:this={ref}
94
81
  class={componentClass}
95
82
  style={componentStyle}
96
- data-size={safeSize}
97
- data-variant={safeVariant}
83
+ data-size={size}
84
+ data-variant={variant}
98
85
  data-loading={loading}
99
86
  data-active={active}
100
87
  data-disabled={isDisabled}
101
- data-density={safeDensity}
88
+ data-density={density}
102
89
  data-rounded={rounded}
103
90
  aria-busy={disabled}
104
91
  aria-disabled={isDisabled || undefined}
105
92
  data-block={block}
106
93
  data-wide={wide}
107
94
  data-icon={icon}
95
+ data-elevation={elevationState.base}
96
+ data-elevation-hover={elevationState.hover}
97
+ data-elevation-active={elevationState.active}
108
98
  use:ripple={{
109
99
  component: 'btn',
110
100
  disabled: noRipple || disabled
111
101
  }}
102
+ style:--kit-btn-fg={color && `var(--kit-color-${color})`}
103
+ style:--kit-btn-bg={background && `var(--kit-color-${background})`}
112
104
  >
113
- {#if safeVariant === 'outline'}
105
+ {#if variant === 'outline'}
114
106
  <span class="outline"></span>
115
107
  {/if}
116
108
  <input
@@ -131,15 +123,14 @@
131
123
  bind:this={ref}
132
124
  class={componentClass}
133
125
  style={componentStyle}
134
- {...restProps}
135
126
  type={resolvedType()}
136
127
  href={resolvedHref}
137
- data-size={safeSize}
138
- data-variant={safeVariant}
128
+ data-size={size}
129
+ data-variant={variant}
139
130
  data-loading={loading}
140
131
  data-active={active}
141
132
  data-disabled={isDisabled}
142
- data-density={safeDensity}
133
+ data-density={density}
143
134
  data-rounded={rounded}
144
135
  disabled={resolvedDisabled}
145
136
  aria-busy={disabled}
@@ -147,12 +138,18 @@
147
138
  data-block={block}
148
139
  data-wide={wide}
149
140
  data-icon={icon}
141
+ data-elevation={elevationState.base}
142
+ data-elevation-hover={elevationState.hover}
143
+ data-elevation-active={elevationState.active}
150
144
  use:ripple={{
151
145
  component: 'btn',
152
146
  disabled: noRipple || disabled
153
147
  }}
148
+ style:--kit-btn-fg={color && `var(--kit-color-${color})`}
149
+ style:--kit-btn-bg={background && `var(--kit-color-${background})`}
150
+ {...restProps}
154
151
  >
155
- {#if safeVariant === 'outline'}
152
+ {#if variant === 'outline'}
156
153
  <span class="outline"></span>
157
154
  {/if}
158
155
 
@@ -209,26 +206,6 @@
209
206
  }
210
207
 
211
208
  .kit-btn {
212
- --kit-btn-bg: var(--kit-surface-2);
213
- --kit-btn-fg: var(--kit-fg);
214
- --kit-btn-bd: var(--kit-border);
215
- --kit-btn-hover-bg: color-mix(in oklab, var(--kit-btn-bg), var(--kit-btn-fg) 6%);
216
- --kit-btn-active-bg: color-mix(in oklab, var(--kit-btn-bg), var(--kit-btn-fg) 10%);
217
- --kit-btn-h-xs: 28px;
218
- --kit-btn-h-sm: 32px;
219
- --kit-btn-h-md: 40px;
220
- --kit-btn-h-lg: 48px;
221
- --kit-btn-h-xl: 56px;
222
- --kit-btn-px-xs: 10px;
223
- --kit-btn-px-sm: 12px;
224
- --kit-btn-px-md: 16px;
225
- --kit-btn-px-lg: 20px;
226
- --kit-btn-px-xl: 24px;
227
- --kit-btn-density-scale: 1;
228
- --kit-btn-density-h-scale: 1;
229
- --kit-btn-radius: 8px;
230
- --kit-btn-gap: 0.45em;
231
-
232
209
  position: relative;
233
210
  display: inline-flex;
234
211
  box-sizing: border-box;
@@ -237,7 +214,7 @@
237
214
  font-family: var(--kit-font);
238
215
  background: var(--kit-btn-bg);
239
216
  color: var(--kit-btn-fg);
240
- height: max(28px, calc(var(--kit-btn-h) * var(--kit-btn-density-h-scale)));
217
+ height: calc(var(--kit-btn-h) * var(--kit-btn-density-h-scale));
241
218
  padding-inline: calc(var(--kit-btn-px) * var(--kit-btn-density-scale));
242
219
  border-radius: var(--kit-btn-radius);
243
220
  text-decoration: none;
@@ -303,124 +280,6 @@
303
280
  cursor: pointer;
304
281
  }
305
282
 
306
- /* variant */
307
- .kit-btn[data-variant='filled'] {
308
- --kit-btn-bg: var(--kit-accent);
309
- --kit-btn-fg: white;
310
- --kit-btn-hover-bg: color-mix(in oklab, var(--kit-btn-bg), black 10%);
311
- --kit-btn-active-bg: color-mix(in oklab, var(--kit-btn-bg), black 16%);
312
- }
313
-
314
- .kit-btn[data-variant='outline'] {
315
- --outline-color: var(--kit-accent);
316
- --kit-btn-bg: transparent;
317
- --kit-btn-fg: var(--kit-accent);
318
- --kit-btn-hover-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 80%);
319
- --kit-btn-active-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 92%);
320
- }
321
-
322
- .kit-btn[data-variant='text'] {
323
- --kit-btn-bg: transparent;
324
- --kit-btn-fg: var(--kit-accent);
325
- --kit-btn-hover-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 80%);
326
- --kit-btn-active-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 92%);
327
- }
328
-
329
- .kit-btn[data-variant='link'] {
330
- --kit-btn-bg: transparent;
331
- --kit-btn-fg: var(--kit-accent);
332
- --kit-btn-decoration: underline;
333
- height: inherit;
334
- padding: 0;
335
- }
336
-
337
- /* size */
338
- .kit-btn[data-size='xs'] {
339
- --kit-btn-h: var(--kit-btn-h-xs);
340
- --kit-btn-px: var(--kit-btn-px-xs);
341
- font-size: 12px;
342
- }
343
- .kit-btn[data-size='xs'] :global(.kit-icon:not([data-size])) {
344
- --kit-icon-current-size: var(--kit-icon-size-xs);
345
- }
346
-
347
- .kit-btn[data-size='sm'] {
348
- --kit-btn-h: var(--kit-btn-h-sm);
349
- --kit-btn-px: var(--kit-btn-px-sm);
350
- font-size: 13px;
351
- }
352
- .kit-btn[data-size='sm'] :global(.kit-icon:not([data-size])) {
353
- --kit-icon-current-size: var(--kit-icon-size-sm);
354
- }
355
-
356
- .kit-btn[data-size='md'] {
357
- --kit-btn-h: var(--kit-btn-h-md);
358
- --kit-btn-px: var(--kit-btn-px-md);
359
- font-size: 14px;
360
- }
361
- .kit-btn[data-size='md'] :global(.kit-icon:not([data-size])) {
362
- --kit-icon-current-size: var(--kit-icon-size-md);
363
- }
364
-
365
- .kit-btn[data-size='lg'] {
366
- --kit-btn-h: var(--kit-btn-h-lg);
367
- --kit-btn-px: var(--kit-btn-px-lg);
368
- font-size: 15px;
369
- }
370
- .kit-btn[data-size='lg'] :global(.kit-icon:not([data-size])) {
371
- --kit-icon-current-size: var(--kit-icon-size-lg);
372
- }
373
-
374
- .kit-btn[data-size='xl'] {
375
- --kit-btn-h: var(--kit-btn-h-xl);
376
- --kit-btn-px: var(--kit-btn-px-xl);
377
- font-size: 16px;
378
- }
379
- .kit-btn[data-size='xl'] :global(.kit-icon:not([data-size])) {
380
- --kit-icon-current-size: var(--kit-icon-size-xl);
381
- }
382
-
383
- /* density */
384
- .kit-btn[data-density='default'] {
385
- --kit-btn-density-scale: 1;
386
- --kit-btn-density-h-scale: 1;
387
- }
388
-
389
- .kit-btn[data-density='compact'] {
390
- --kit-btn-density-scale: 0.9;
391
- --kit-btn-density-h-scale: 0.92;
392
- }
393
-
394
- .kit-btn[data-density='comfortable'] {
395
- --kit-btn-density-scale: 1.1;
396
- --kit-btn-density-h-scale: 1.08;
397
- }
398
-
399
- /* rounded */
400
- .kit-btn[data-rounded='0'] {
401
- --kit-btn-radius: 0;
402
- }
403
-
404
- .kit-btn[data-rounded='xs'] {
405
- --kit-btn-radius: 2px;
406
- }
407
-
408
- .kit-btn[data-rounded='sm'] {
409
- --kit-btn-radius: 4px;
410
- }
411
-
412
- .kit-btn[data-rounded='md'] {
413
- --kit-btn-radius: 8px;
414
- }
415
-
416
- .kit-btn[data-rounded='lg'] {
417
- --kit-btn-radius: 16px;
418
- }
419
-
420
- .kit-btn[data-rounded='xl'] {
421
- --kit-btn-radius: 99999px;
422
- }
423
-
424
283
  .kit-btn[data-wide='true'] {
425
284
  width: 100%;
426
285
  max-width: 16rem;
@@ -517,4 +376,143 @@
517
376
  .kit-btn[data-disabled='true'] > input {
518
377
  cursor: not-allowed;
519
378
  }
379
+
380
+ /**
381
+ * size
382
+ * @link nothing...
383
+ */
384
+ .kit-btn[data-size='xs'] {
385
+ --kit-btn-h: 28px;
386
+ --kit-btn-px: 10px;
387
+ --kit-btn-gap: 4px;
388
+ --kit-btn-font: 0.75rem;
389
+ }
390
+ .kit-btn[data-size='xs'] :global(.kit-icon:not([data-size])) {
391
+ --kit-icon-current-size: var(--kit-icon-size-xs);
392
+ }
393
+ .kit-btn[data-size='sm'] {
394
+ --kit-btn-h: 32px;
395
+ --kit-btn-px: 12px;
396
+ --kit-btn-gap: 6px;
397
+ --kit-btn-font: 0.875rem;
398
+ }
399
+ .kit-btn[data-size='sm'] :global(.kit-icon:not([data-size])) {
400
+ --kit-icon-current-size: var(--kit-icon-size-sm);
401
+ }
402
+
403
+ .kit-btn[data-size='md'] {
404
+ --kit-btn-h: 40px;
405
+ --kit-btn-px: 16px;
406
+ --kit-btn-gap: 8px;
407
+ --kit-btn-font: 1rem;
408
+ }
409
+ .kit-btn[data-size='md'] :global(.kit-icon:not([data-size])) {
410
+ --kit-icon-current-size: var(--kit-icon-size-md);
411
+ }
412
+
413
+ .kit-btn[data-size='lg'] {
414
+ --kit-btn-h: 48px;
415
+ --kit-btn-px: 20px;
416
+ --kit-btn-gap: 10px;
417
+ --kit-btn-font: 1.125rem;
418
+ }
419
+ .kit-btn[data-size='lg'] :global(.kit-icon:not([data-size])) {
420
+ --kit-icon-current-size: var(--kit-icon-size-lg);
421
+ }
422
+
423
+ .kit-btn[data-size='xl'] {
424
+ --kit-btn-h: 56px;
425
+ --kit-btn-px: 24px;
426
+ --kit-btn-gap: 12px;
427
+ --kit-btn-font: 1.25rem;
428
+ }
429
+ .kit-btn[data-size='xl'] :global(.kit-icon:not([data-size])) {
430
+ --kit-icon-current-size: var(--kit-icon-size-xl);
431
+ }
432
+
433
+ /**
434
+ * density
435
+ * @link no links
436
+ */
437
+ .kit-btn[data-density='none'] {
438
+ --kit-btn-density-scale: 0;
439
+ --kit-btn-density-h-scale: 0;
440
+ }
441
+ .kit-btn[data-density='compact'] {
442
+ --kit-btn-density-scale: 0.9;
443
+ --kit-btn-density-h-scale: 0.92;
444
+ }
445
+ .kit-btn[data-density='default'] {
446
+ --kit-btn-density-scale: 1;
447
+ --kit-btn-density-h-scale: 1;
448
+ }
449
+ .kit-btn[data-density='comfortable'] {
450
+ --kit-btn-density-scale: 1.1;
451
+ --kit-btn-density-h-scale: 1.15;
452
+ }
453
+
454
+ /**
455
+ * rounded
456
+ * @link ...
457
+ */
458
+ .kit-btn[data-rounded='0'] {
459
+ --kit-btn-radius: var(--kit-shape-none);
460
+ }
461
+ .kit-btn[data-rounded='xs'] {
462
+ --kit-btn-radius: var(--kit-shape-xs);
463
+ }
464
+ .kit-btn[data-rounded='sm'] {
465
+ --kit-btn-radius: var(--kit-shape-sm);
466
+ }
467
+ .kit-btn[data-rounded='md'] {
468
+ --kit-btn-radius: var(--kit-shape-md);
469
+ }
470
+ .kit-btn[data-rounded='lg'] {
471
+ --kit-btn-radius: var(--kit-shape-lg);
472
+ }
473
+ .kit-btn[data-rounded='xl'] {
474
+ --kit-btn-radius: var(--kit-shape-xl);
475
+ }
476
+ .kit-btn[data-rounded='full'] {
477
+ --kit-btn-radius: var(--kit-shape-full);
478
+ }
479
+
480
+ /**
481
+ * variant
482
+ * @link no links...
483
+ */
484
+ .kit-btn[data-variant='filled'] {
485
+ --kit-btn-bg: var(--kit-color-surface-2);
486
+ --kit-btn-fg: var(--kit-color-text);
487
+
488
+ --kit-btn-hover-bg: color-mix(in oklab, var(--kit-btn-bg), black 10%);
489
+ --kit-btn-active-bg: color-mix(in oklab, var(--kit-btn-bg), black 16%);
490
+ }
491
+ .kit-btn[data-variant='outline'] {
492
+ --kit-btn-bg: transparent;
493
+ --kit-btn-fg: var(--kit-color-text);
494
+ --kit-btn-bd: var(--kit-btn-fg);
495
+
496
+ --kit-btn-hover-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 80%);
497
+ --kit-btn-active-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 92%);
498
+ }
499
+ .kit-btn[data-variant='text'] {
500
+ --kit-btn-bg: transparent;
501
+ --kit-btn-fg: var(--kit-color-text);
502
+
503
+ --kit-btn-hover-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 80%);
504
+ --kit-btn-active-bg: color-mix(in oklab, var(--kit-btn-fg), transparent 92%);
505
+ }
506
+ .kit-btn[data-variant='link'] {
507
+ --kit-btn-bg: transparent;
508
+ --kit-btn-fg: var(--kit-color-text);
509
+ --kit-btn-decoration: underline;
510
+
511
+ height: inherit;
512
+ padding: 0;
513
+ }
514
+
515
+ .kit-btn .outline {
516
+ --outline-color: var(--kit-btn-bd);
517
+ }
520
518
  </style>
@@ -1,4 +1,4 @@
1
- import type { Component, RoundedType, SizeType } from '../../@types';
1
+ import type { Component, DensityType, ElevationProps, RoundedType, SizeType } from '../../@types';
2
2
  import type { Snippet } from 'svelte';
3
3
  export interface ButtonProps extends Component {
4
4
  ref?: HTMLElement | null;
@@ -6,7 +6,7 @@ export interface ButtonProps extends Component {
6
6
  input?: boolean;
7
7
  href?: string;
8
8
  variant?: 'outline' | 'text' | 'filled' | 'link';
9
- density?: 'compact' | 'comfortable' | 'default';
9
+ density?: DensityType;
10
10
  active?: boolean;
11
11
  loading?: boolean;
12
12
  disabled?: boolean;
@@ -23,4 +23,7 @@ export interface ButtonProps extends Component {
23
23
  load?: Snippet;
24
24
  append?: Snippet;
25
25
  prepend?: Snippet;
26
+ elevation?: ElevationProps;
27
+ color?: string;
28
+ background?: string;
26
29
  }
@@ -102,6 +102,7 @@
102
102
  border-radius: var(--kit-card-radius);
103
103
  border: 0;
104
104
  box-sizing: border-box;
105
+ padding: calc(10px * var(--kit-card-density-scale));
105
106
  transition:
106
107
  background 140ms ease,
107
108
  color 140ms ease,
@@ -149,19 +150,19 @@
149
150
  * @link https://lapikit.dev/docs/components/card#density
150
151
  */
151
152
  .kit-card[data-density='none'] {
152
- padding: 0;
153
+ --kit-card-density-scale: 0;
153
154
  }
154
155
  .kit-card[data-density='compact'] {
155
156
  --kit-card-gap: var(--kit-space-compact);
156
- padding: var(--kit-space-compact);
157
+ --kit-card-density-scale: 0.8;
157
158
  }
158
159
  .kit-card[data-density='default'] {
159
160
  --kit-card-gap: var(--kit-space-default);
160
- padding: var(--kit-space-default);
161
+ --kit-card-density-scale: 1;
161
162
  }
162
163
  .kit-card[data-density='comfortable'] {
163
164
  --kit-card-gap: var(--kit-space-comfortable);
164
- padding: var(--kit-space-comfortable);
165
+ --kit-card-density-scale: 1.15;
165
166
  }
166
167
 
167
168
  /**
@@ -169,15 +170,15 @@
169
170
  * @link https://lapikit.dev/docs/components/card#variants
170
171
  */
171
172
  .kit-card[data-variant='filled'] {
172
- --kit-card-bg: var(--kit-color-surface);
173
- --kit-card-fg: var(--kit-color-label);
173
+ --kit-card-bg: var(--kit-color-surface-1);
174
+ --kit-card-fg: var(--kit-color-text);
174
175
 
175
176
  --kit-card-hover-bg: color-mix(in oklab, var(--kit-card-bg), black 10%);
176
177
  --kit-card-active-bg: color-mix(in oklab, var(--kit-card-bg), black 16%);
177
178
  }
178
179
  .kit-card[data-variant='outline'] {
179
180
  --kit-card-bg: transparent;
180
- --kit-card-fg: var(--kit-color-label);
181
+ --kit-card-fg: var(--kit-color-text);
181
182
  --kit-card-bd: var(--kit-card-fg);
182
183
 
183
184
  --kit-card-hover-bg: color-mix(in oklab, var(--kit-card-fg), transparent 80%);
@@ -185,7 +186,7 @@
185
186
  }
186
187
  .kit-card[data-variant='text'] {
187
188
  --kit-card-bg: transparent;
188
- --kit-card-fg: var(--kit-color-label);
189
+ --kit-card-fg: var(--kit-color-text);
189
190
 
190
191
  --kit-card-hover-bg: color-mix(in oklab, var(--kit-card-fg), transparent 80%);
191
192
  --kit-card-active-bg: color-mix(in oklab, var(--kit-card-fg), transparent 92%);
@@ -198,7 +199,6 @@
198
199
  .kit-card[data-interactive='true'][data-disabled='false']:hover {
199
200
  translate: 0 -1px;
200
201
  background: var(--kit-card-hover-bg);
201
- /* box-shadow: 0 10px 28px hsl(220 35% 8% / 0.12); */
202
202
  }
203
203
 
204
204
  .kit-card[data-variant='text'][data-interactive='true'][data-disabled='false']:hover {
@@ -209,7 +209,6 @@
209
209
  .kit-card[data-interactive='true'][data-disabled='false']:active {
210
210
  translate: 0 0;
211
211
  background: var(--kit-card-active-bg);
212
- /* box-shadow: 0 4px 14px hsl(220 35% 8% / 0.1); */
213
212
  }
214
213
 
215
214
  .kit-card[data-variant='text'][data-interactive='true'][data-active='true'][data-disabled='false'],