@pontive/pontkit-core 1.7.9 → 1.9.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/styles.css CHANGED
@@ -315,6 +315,17 @@
315
315
  */
316
316
 
317
317
  :root {
318
+ /* * TRANSITION PROPERTY * */
319
+ --pont-ref-motion-property-all: all;
320
+ --pont-ref-motion-property-colors:
321
+ color, background-color, border-color, outline-color, text-decoration-color,
322
+ fill, stroke;
323
+ --pont-ref-motion-property-opacity: opacity;
324
+ --pont-ref-motion-property-shadow: box-shadow;
325
+ --pont-ref-motion-property-transform: transform, translate, scale, rotate;
326
+ --pont-ref-motion-property-none: none;
327
+
328
+ /* * TRANSITION DURATION * */
318
329
  --pont-ref-motion-duration-0: 0ms;
319
330
  --pont-ref-motion-duration-50: 50ms;
320
331
  --pont-ref-motion-duration-100: 100ms;
@@ -336,8 +347,9 @@
336
347
  --pont-ref-motion-duration-4000: 4000ms;
337
348
  --pont-ref-motion-duration-5000: 5000ms;
338
349
 
350
+ /* * TRANSITION TIMING FUNCTION * */
339
351
  --pont-ref-motion-fn-linear: cubic-bezier(0, 0, 1, 1);
340
-
352
+
341
353
  --pont-ref-motion-fn-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
342
354
  --pont-ref-motion-fn-ease-in: cubic-bezier(0.42, 0, 1, 1);
343
355
  --pont-ref-motion-fn-ease-out: cubic-bezier(0, 0, 0.58, 1);
@@ -537,11 +549,155 @@
537
549
  * pont-ref-breakpoint-*
538
550
  * ===========================================================================
539
551
  */
552
+ /*
553
+ * ===========================================================================
554
+ * BORDER REFERENCE TOKENS
555
+ * pont-ref-border-*
556
+ * ===========================================================================
557
+ */
558
+
559
+ :root {
560
+ /* * BORDER STYLE * */
561
+ --pont-ref-border-style-solid: solid;
562
+ --pont-ref-border-style-dashed: dashed;
563
+ --pont-ref-border-style-dotted: dotted;
564
+ --pont-ref-border-style-double: double;
565
+ --pont-ref-border-style-none: none;
566
+
567
+ /* * OUTLINE STYLE * */
568
+ --pont-ref-border-outline-style-solid: solid;
569
+ --pont-ref-border-outline-style-dashed: dashed;
570
+ --pont-ref-border-outline-style-dotted: dotted;
571
+ --pont-ref-border-outline-style-double: double;
572
+ --pont-ref-border-outline-style-none: none;
573
+ }
574
+
575
+ /*
576
+ * ===========================================================================
577
+ * EFFECT REFERENCE TOKENS
578
+ * pont-ref-effect-*
579
+ * ===========================================================================
580
+ */
581
+
582
+ :root {
583
+ /* * BOX SHADOW * */
584
+ --pont-ref-effect-shadow-none: 0 0 #0000;
585
+
586
+ /* * MIX BLEND MODE * */
587
+ --pont-ref-effect-mix-blend-normal: normal;
588
+ --pont-ref-effect-mix-blend-multiply: multiply;
589
+ --pont-ref-effect-mix-blend-screen: screen;
590
+ --pont-ref-effect-mix-blend-overlay: overlay;
591
+ --pont-ref-effect-mix-blend-darken: darken;
592
+ --pont-ref-effect-mix-blend-lighten: lighten;
593
+ --pont-ref-effect-mix-blend-dodge: color-dodge;
594
+ --pont-ref-effect-mix-blend-burn: color-burn;
595
+ --pont-ref-effect-mix-blend-hard-light: hard-light;
596
+ --pont-ref-effect-mix-blend-soft-light: soft-light;
597
+ --pont-ref-effect-mix-blend-difference: difference;
598
+ --pont-ref-effect-mix-blend-exclusion: exclusion;
599
+ --pont-ref-effect-mix-blend-hue: hue;
600
+ --pont-ref-effect-mix-blend-saturation: saturation;
601
+ --pont-ref-effect-mix-blend-color: color;
602
+ --pont-ref-effect-mix-blend-luminosity: luminosity;
603
+ --pont-ref-effect-mix-blend-plus-darker: plus-darker;
604
+ --pont-ref-effect-mix-blend-plus-lighter: plus-lighter;
605
+
606
+ /* * BACKGROUND BLEND MODE * */
607
+ --pont-ref-effect-bg-blend-normal: normal;
608
+ --pont-ref-effect-bg-blend-multiply: multiply;
609
+ --pont-ref-effect-bg-blend-screen: screen;
610
+ --pont-ref-effect-bg-blend-overlay: overlay;
611
+ --pont-ref-effect-bg-blend-darken: darken;
612
+ --pont-ref-effect-bg-blend-lighten: lighten;
613
+ --pont-ref-effect-bg-blend-dodge: color-dodge;
614
+ --pont-ref-effect-bg-blend-burn: color-burn;
615
+ --pont-ref-effect-bg-blend-hard-light: hard-light;
616
+ --pont-ref-effect-bg-blend-soft-light: soft-light;
617
+ --pont-ref-effect-bg-blend-difference: difference;
618
+ --pont-ref-effect-bg-blend-exclusion: exclusion;
619
+ --pont-ref-effect-bg-blend-hue: hue;
620
+ --pont-ref-effect-bg-blend-saturation: saturation;
621
+ --pont-ref-effect-bg-blend-color: color;
622
+ --pont-ref-effect-bg-blend-luminosity: luminosity;
623
+ }
624
+
625
+ /*
626
+ * ===========================================================================
627
+ * LAYOUT REFERENCE TOKENS
628
+ * pont-ref-layout-*
629
+ * ===========================================================================
630
+ */
631
+
632
+ :root {
633
+ /* * ASPECT RATIO * */
634
+ --pont-ref-layout-aspect-square: 1 / 1;
635
+ --pont-ref-layout-aspect-video: 16 / 9;
636
+ }
637
+
638
+ /*
639
+ * ===========================================================================
640
+ * SIZING REFERENCE TOKENS
641
+ * pont-ref-sizing-*
642
+ * ===========================================================================
643
+ */
644
+
645
+ :root {
646
+ /* * WIDTH * */
647
+ --pont-ref-sizing-w-auto: auto;
648
+ --pont-ref-sizing-w-full: 100%;
649
+ --pont-ref-sizing-w-screen: 100vw;
650
+ --pont-ref-sizing-w-dvw: 100dvw;
651
+ --pont-ref-sizing-w-dvh: 100dvh;
652
+ --pont-ref-sizing-w-lvw: 100lvw;
653
+ --pont-ref-sizing-w-lvh: 100lvh;
654
+ --pont-ref-sizing-w-svw: 100svw;
655
+ --pont-ref-sizing-w-svh: 100svh;
656
+ --pont-ref-sizing-w-min: min-content;
657
+ --pont-ref-sizing-w-max: max-content;
658
+ --pont-ref-sizing-w-fit: fit-content;
659
+ }
660
+
661
+ /*
662
+ * ===========================================================================
663
+ * TYPOGRAPHY REFERENCE TOKENS
664
+ * pont-ref-typography-*
665
+ * ===========================================================================
666
+ */
667
+
668
+ :root {
669
+ /* * TEXT DECORATION LINE * */
670
+ --pont-ref-typography-decoration-line-underline: underline;
671
+ --pont-ref-typography-decoration-line-overline: overline;
672
+ --pont-ref-typography-decoration-line-line-through: line-through;
673
+ --pont-ref-typography-decoration-line-none: none;
674
+
675
+ /* * TEXT DECORATION COLOR * */
676
+ --pont-ref-typography-decoration-color-inherit: inherit;
677
+ --pont-ref-typography-decoration-color-current: currentColor;
678
+ --pont-ref-typography-decoration-color-transparent: transparent;
679
+
680
+ /* * TEXT DECORATION STYLE * */
681
+ --pont-ref-typography-decoration-style-solid: solid;
682
+ --pont-ref-typography-decoration-style-double: double;
683
+ --pont-ref-typography-decoration-style-dotted: dotted;
684
+ --pont-ref-typography-decoration-style-dashed: dashed;
685
+ --pont-ref-typography-decoration-style-wavy: wavy;
686
+
687
+ /* * TEXT DECORATION THICKNESS * */
688
+ --pont-ref-typography-decoration-thickness-auto: auto;
689
+ --pont-ref-typography-decoration-thickness-from-font: from-font;
690
+
691
+ /* * TEXT UNDERLINE OFFSET * */
692
+ --pont-ref-typography-underline-offset-auto: auto;
693
+ }
694
+
540
695
  /*
541
696
  * ===========================================================================
542
697
  * SEMANTIC TOKENS INDEX
543
698
  * ===========================================================================
544
699
  */
700
+
545
701
  /*
546
702
  * ===========================================================================
547
703
  * COLOR SEMANTIC TOKENS
@@ -1920,6 +2076,32 @@
1920
2076
  --pont-sem-width-outline-focus: var(--pont-ref-width-1);
1921
2077
  }
1922
2078
 
2079
+ /*
2080
+ * ===========================================================================
2081
+ * TYPOGRAPHY SEMANTIC TOKENS
2082
+ * pont-sem-typography-*
2083
+ * ===========================================================================
2084
+ */
2085
+
2086
+ :root {
2087
+ /* * TEXT DECORATION / UNDERLINE * */
2088
+ --pont-sem-typography-decoration-line-default: var(
2089
+ --pont-ref-typography-decoration-line-none
2090
+ );
2091
+ --pont-sem-typography-decoration-color-default: var(
2092
+ --pont-ref-typography-decoration-color-current
2093
+ );
2094
+ --pont-sem-typography-decoration-style-default: var(
2095
+ --pont-ref-typography-decoration-style-solid
2096
+ );
2097
+ --pont-sem-typography-decoration-thickness-default: var(
2098
+ --pont-ref-typography-decoration-thickness-auto
2099
+ );
2100
+ --pont-sem-typography-underline-offset-default: var(
2101
+ --pont-ref-typography-underline-offset-auto
2102
+ );
2103
+ }
2104
+
1923
2105
  /*
1924
2106
  * ===========================================================================
1925
2107
  * COMPONENT TOKENS INDEX
@@ -2023,307 +2205,1810 @@
2023
2205
  --pont-callout-font-size: var(--pont-sem-font-content-body-size);
2024
2206
  --pont-callout-font-line-height: var(--pont-sem-font-content-body-line-height);
2025
2207
 
2026
- --pont-callout-color-bg: hsl(var(--pont-sem-color-bg-surface-secondary));
2208
+ --pont-callout-color-bg: hsl(var(--pont-sem-color-bg-surface-secondary));
2209
+
2210
+ --pont-callout-width-border: var(--pont-sem-width-border);
2211
+ --pont-callout-color-border: hsl(var(--pont-sem-color-border));
2212
+ --pont-callout-radius: var(--pont-sem-radius-feedback);
2213
+
2214
+ /* * VARIANTS * */
2215
+ /* DEFAULT */
2216
+ --pont-callout-default-color-text: hsl(var(--pont-sem-color-text));
2217
+ --pont-callout-default-color-bg: hsl(var(--pont-callout-color-bg));
2218
+ --pont-callout-default-color-border: hsl(var(--pont-sem-color-border));
2219
+ /* BRAND & BRAND TONAL */
2220
+ --pont-callout-brand-color-text: hsl(var(--pont-sem-color-text-brand));
2221
+ --pont-callout-brand-color-bg: hsl(var(--pont-callout-color-bg));
2222
+ --pont-callout-brand-color-border: hsl(var(--pont-sem-color-border));
2223
+
2224
+ --pont-callout-brand-tonal-color-text: hsl(var(--pont-sem-color-text-brand));
2225
+ --pont-callout-brand-tonal-color-bg: hsl(var(--pont-sem-color-bg-surface-brand));
2226
+ --pont-callout-brand-tonal-color-border: hsl(
2227
+ var(--pont-sem-color-border-brand-secondary)
2228
+ );
2229
+
2230
+ /* DESTRUCTIVE & DESTRUCTIVE TONAL */
2231
+ --pont-callout-destructive-color-text: hsl(var(--pont-sem-color-text-destructive));
2232
+ --pont-callout-destructive-color-bg: hsl(var(--pont-callout-color-bg));
2233
+ --pont-callout-destructive-color-border: hsl(var(--pont-sem-color-border));
2234
+
2235
+ --pont-callout-destructive-tonal-color-bg: hsl(
2236
+ var(--pont-sem-color-bg-surface-destructive)
2237
+ );
2238
+ --pont-callout-destructive-tonal-color-border: hsl(
2239
+ var(--pont-sem-color-border-destructive-secondary)
2240
+ );
2241
+
2242
+ /* WARNING & WARNING TONAL */
2243
+ --pont-callout-warning-color-text: hsl(var(--pont-sem-color-text-warning));
2244
+ --pont-callout-warning-color-bg: hsl(var(--pont-callout-color-bg));
2245
+ --pont-callout-warning-color-border: hsl(var(--pont-sem-color-border));
2246
+
2247
+ --pont-callout-warning-tonal-color-bg: hsl(
2248
+ var(--pont-sem-color-bg-surface-warning)
2249
+ );
2250
+ --pont-callout-warning-tonal-color-border: hsl(
2251
+ var(--pont-sem-color-border-warning-secondary)
2252
+ );
2253
+
2254
+ /* SUCCESS & SUCCESS TONAL */
2255
+ --pont-callout-success-color-text: hsl(var(--pont-sem-color-text-success));
2256
+ --pont-callout-success-color-bg: hsl(var(--pont-callout-color-bg));
2257
+ --pont-callout-success-color-border: hsl(var(--pont-sem-color-border));
2258
+
2259
+ --pont-callout-success-tonal-color-bg: hsl(
2260
+ var(--pont-sem-color-bg-surface-success)
2261
+ );
2262
+ --pont-callout-success-tonal-color-border: hsl(
2263
+ var(--pont-sem-color-border-success-secondary)
2264
+ );
2265
+
2266
+ /* INFO & INFO TONAL */
2267
+ --pont-callout-info-color-text: hsl(var(--pont-sem-color-text-info));
2268
+ --pont-callout-info-color-bg: hsl(var(--pont-callout-color-bg));
2269
+ --pont-callout-info-color-border: hsl(var(--pont-sem-color-border));
2270
+
2271
+ --pont-callout-info-tonal-color-bg: hsl(var(--pont-sem-color-bg-surface-info));
2272
+ --pont-callout-info-tonal-color-border: hsl(
2273
+ var(--pont-sem-color-border-info-secondary)
2274
+ );
2275
+
2276
+ /* * ICON CHILD * */
2277
+ --pont-callout-icon-space-size: var(--pont-sem-space-icon-size);
2278
+ --pont-callout-icon-space-translate-y: var(--pont-sem-space-icon-translate-y);
2279
+ }
2280
+
2281
+ /*
2282
+ * --------------------------------------------------
2283
+ * ALERT TITLE
2284
+ * --------------------------------------------------
2285
+ */
2286
+
2287
+ :root {
2288
+ --pont-callout-title-font-weight: var(--pont-sem-font-content-heading-weight-sm);
2289
+ --pont-callout-title-font-size: var(--pont-callout-font-size);
2290
+
2291
+ /* * LINK CHILD * */
2292
+ --pont-callout-title-color-link-hover: hsl(var(--pont-sem-color-text));
2293
+ }
2294
+
2295
+ /*
2296
+ * --------------------------------------------------
2297
+ * ALERT DESCRIPTION
2298
+ * --------------------------------------------------
2299
+ */
2300
+
2301
+ :root {
2302
+ --pont-callout-description-font-size: var(--pont-sem-font-content-body-size);
2303
+ --pont-callout-description-font-weight: var(--pont-sem-font-content-body-weight);
2304
+ --pont-callout-description-font-line-height: var(
2305
+ --pont-sem-font-content-body-line-height
2306
+ );
2307
+
2308
+ /* * VARIANTS * */
2309
+ --pont-callout-description-default-color-text: hsl(
2310
+ var(--pont-sem-color-text-secondary)
2311
+ );
2312
+ --pont-callout-description-brand-color-text: hsl(
2313
+ var(--pont-sem-color-text-brand-secondary)
2314
+ );
2315
+ --pont-callout-description-destructive-color-text: hsl(
2316
+ var(--pont-sem-color-text-destructive-secondary)
2317
+ );
2318
+ --pont-callout-description-warning-color-text: hsl(
2319
+ var(--pont-sem-color-text-warning-secondary)
2320
+ );
2321
+ --pont-callout-description-success-color-text: hsl(
2322
+ var(--pont-sem-color-text-success-secondary)
2323
+ );
2324
+ --pont-callout-description-info-color-text: hsl(
2325
+ var(--pont-sem-color-text-info-secondary)
2326
+ );
2327
+
2328
+ /* * LINK CHILD * */
2329
+ --pont-callout-description-color-link-hover: hsl(var(--pont-sem-color-text));
2330
+
2331
+ /* * PARAGRAPH CHILD * */
2332
+ --pont-callout-description-p-space-mb: var(--pont-ref-space-4);
2333
+ }
2334
+
2335
+ /*
2336
+ * --------------------------------------------------
2337
+ * ALERT ACTION
2338
+ * --------------------------------------------------
2339
+ */
2340
+
2341
+ :root {
2342
+ --pont-callout-action-space-top: var(--pont-ref-space-2);
2343
+ --pont-callout-action-space-right: var(--pont-ref-space-2);
2344
+ }
2345
+
2346
+ /*
2347
+ * ===========================================================================
2348
+ * AVATAR COMPONENT TOKENS
2349
+ * pont-avatar-*
2350
+ * ===========================================================================
2351
+ */
2352
+
2353
+ /*
2354
+ * --------------------------------------------------
2355
+ * AVATAR
2356
+ * --------------------------------------------------
2357
+ */
2358
+
2359
+ :root {
2360
+ /* SIZING */
2361
+ --pont-avatar-sizing-w: calc(var(--pont-ref-space) * 8);
2362
+ --pont-avatar-sizing-h: calc(var(--pont-ref-space) * 8);
2363
+
2364
+ --pont-avatar-sizing-w-sm: calc(var(--pont-ref-space) * 6);
2365
+ --pont-avatar-sizing-h-sm: calc(var(--pont-ref-space) * 6);
2366
+
2367
+ --pont-avatar-sizing-w-lg: calc(var(--pont-ref-space) * 10);
2368
+ --pont-avatar-sizing-h-lg: calc(var(--pont-ref-space) * 10);
2369
+
2370
+ /* TYPOGRAPHY */
2371
+ --pont-avatar-typography-font: var(--pont-sem-font-family-default);
2372
+ --pont-avatar-typography-size: var(--pont-ref-font-size-sm);
2373
+ --pont-avatar-typography-weight: var(--pont-ref-font-weight-normal);
2374
+ --pont-avatar-typography-tracking: var(--pont-ref-font-letter-spacing-normal);
2375
+ --pont-avatar-typography-leading: var(--pont-ref-font-line-height-of-sm);
2376
+
2377
+ --pont-avatar-typography-size-sm: var(--pont-ref-font-size-xs);
2378
+ --pont-avatar-typography-weight-sm: var(--pont-ref-font-weight-normal);
2379
+ --pont-avatar-typography-tracking-sm: var(
2380
+ --pont-ref-font-letter-spacing-normal
2381
+ );
2382
+ --pont-avatar-typography-leading-sm: var(--pont-ref-font-line-height-of-xs);
2383
+
2384
+ --pont-avatar-typography-size-lg: var(--pont-ref-font-size-sm);
2385
+ --pont-avatar-typography-weight-lg: var(--pont-ref-font-weight-normal);
2386
+ --pont-avatar-typography-tracking-lg: var(
2387
+ --pont-ref-font-letter-spacing-normal
2388
+ );
2389
+ --pont-avatar-typography-leading-lg: var(--pont-ref-font-line-height-of-sm);
2390
+
2391
+ /* BORDER */
2392
+ --pont-avatar-border-radius-tl: var(--pont-ref-radius-full);
2393
+ --pont-avatar-border-radius-tr: var(--pont-ref-radius-full);
2394
+ --pont-avatar-border-radius-br: var(--pont-ref-radius-full);
2395
+ --pont-avatar-border-radius-bl: var(--pont-ref-radius-full);
2396
+
2397
+ --pont-avatar-border-style: var(--pont-ref-border-style-solid);
2398
+ --pont-avatar-border-color: hsl(var(--pont-sem-color-border));
2399
+ --pont-avatar-border-width-t: var(--pont-sem-width-border);
2400
+ --pont-avatar-border-width-r: var(--pont-sem-width-border);
2401
+ --pont-avatar-border-width-b: var(--pont-sem-width-border);
2402
+ --pont-avatar-border-width-l: var(--pont-sem-width-border);
2403
+
2404
+ /* EFFECT */
2405
+ --pont-avatar-effect-shadow: var(--pont-ref-effect-shadow-none);
2406
+ --pont-avatar-effect-inset-shadow: inset var(--pont-ref-effect-shadow-none);
2407
+ --pont-avatar-effect-inset-ring: inset var(--pont-ref-effect-shadow-none);
2408
+
2409
+ --pont-avatar-effect-ring-offset-w: 0px;
2410
+ --pont-avatar-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
2411
+ --pont-avatar-effect-ring-offset: 0 0 0 var(--pont-avatar-effect-ring-offset-w) var(--pont-avatar-effect-ring-offset-color);
2412
+
2413
+ --pont-avatar-effect-ring-w: 2px;
2414
+ --pont-avatar-effect-ring-color: hsl(var(--pont-sem-color-bg));
2415
+ --pont-avatar-effect-ring: 0 0 0 calc(var(--pont-avatar-effect-ring-w) + var(--pont-avatar-effect-ring-offset-w)) var(--pont-avatar-effect-ring-color);
2416
+
2417
+ --pont-avatar-effect-mix-blend: var(--pont-ref-effect-mix-blend-darken);
2418
+ }
2419
+
2420
+ [data-theme="dark"] {
2421
+ /* EFFECT */
2422
+ --pont-avatar-effect-mix-blend: var(--pont-ref-effect-mix-blend-lighten);
2423
+ }
2424
+
2425
+ /*
2426
+ * --------------------------------------------------
2427
+ * AVATAR IMAGE
2428
+ * --------------------------------------------------
2429
+ */
2430
+
2431
+ :root {
2432
+ /* LAYOUT */
2433
+ --pont-avatar-image-layout-aspect: var(--pont-ref-layout-aspect-square);
2434
+ }
2435
+
2436
+ /*
2437
+ * --------------------------------------------------
2438
+ * AVATAR FALLBACK
2439
+ * --------------------------------------------------
2440
+ */
2441
+
2442
+ :root {
2443
+ /* TYPOGRAPHY */
2444
+ --pont-avatar-fallback-typography-font: var(--pont-avatar-typography-font);
2445
+ --pont-avatar-fallback-typography-size: var(--pont-avatar-typography-size);
2446
+ --pont-avatar-fallback-typography-weight: var(
2447
+ --pont-avatar-typography-weight
2448
+ );
2449
+ --pont-avatar-fallback-typography-tracking: var(
2450
+ --pont-avatar-typography-tracking
2451
+ );
2452
+ --pont-avatar-fallback-typography-leading: var(
2453
+ --pont-avatar-typography-leading
2454
+ );
2455
+
2456
+ --pont-avatar-fallback-typography-size-sm: var(
2457
+ --pont-avatar-typography-size-sm
2458
+ );
2459
+ --pont-avatar-fallback-typography-weight-sm: var(
2460
+ --pont-avatar-typography-weight-sm
2461
+ );
2462
+ --pont-avatar-fallback-typography-tracking-sm: var(
2463
+ --pont-avatar-typography-tracking-sm
2464
+ );
2465
+ --pont-avatar-fallback-typography-leading-sm: var(
2466
+ --pont-avatar-typography-leading-sm
2467
+ );
2468
+
2469
+ --pont-avatar-fallback-typography-size-lg: var(
2470
+ --pont-avatar-typography-size-lg
2471
+ );
2472
+ --pont-avatar-fallback-typography-weight-lg: var(
2473
+ --pont-avatar-typography-weight-lg
2474
+ );
2475
+ --pont-avatar-fallback-typography-tracking-lg: var(
2476
+ --pont-avatar-typography-tracking-lg
2477
+ );
2478
+ --pont-avatar-fallback-typography-leading-lg: var(
2479
+ --pont-avatar-typography-leading-lg
2480
+ );
2481
+
2482
+ --pont-avatar-fallback-typography-color: hsl(
2483
+ var(--pont-sem-color-text-secondary)
2484
+ );
2485
+
2486
+ /* BACKGROUND */
2487
+ --pont-avatar-fallback-bg-color: hsl(var(--pont-sem-color-bg-fill-secondary));
2488
+ }
2489
+
2490
+ /*
2491
+ * --------------------------------------------------
2492
+ * AVATAR BADGE
2493
+ * --------------------------------------------------
2494
+ */
2495
+
2496
+ :root {
2497
+ /* LAYOUT */
2498
+ --pont-avatar-badge-layout-inset-t: auto;
2499
+ --pont-avatar-badge-layout-inset-r: calc(var(--pont-ref-space) * 0);
2500
+ --pont-avatar-badge-layout-inset-b: calc(var(--pont-ref-space) * 0);
2501
+ --pont-avatar-badge-layout-inset-l: auto;
2502
+
2503
+ --pont-avatar-badge-layout-z: 10;
2504
+
2505
+ /* SIZING */
2506
+ --pont-avatar-badge-sizing-w: calc(var(--pont-ref-space) * 2.5);
2507
+ --pont-avatar-badge-sizing-h: calc(var(--pont-ref-space) * 2.5);
2508
+
2509
+ --pont-avatar-badge-sizing-w-sm: calc(var(--pont-ref-space) * 2);
2510
+ --pont-avatar-badge-sizing-h-sm: calc(var(--pont-ref-space) * 2);
2511
+
2512
+ --pont-avatar-badge-sizing-w-lg: calc(var(--pont-ref-space) * 3);
2513
+ --pont-avatar-badge-sizing-h-lg: calc(var(--pont-ref-space) * 3);
2514
+
2515
+ /* TYPOGRAPHY */
2516
+ --pont-avatar-badge-typography-color: hsl(
2517
+ var(--pont-sem-color-text-brand-on-fill)
2518
+ );
2519
+
2520
+ /* BACKGROUND */
2521
+ --pont-avatar-badge-bg-color: hsl(var(--pont-sem-color-bg-fill-brand));
2522
+
2523
+ /* BORDER */
2524
+ --pont-avatar-badge-border-radius-tl: var(--pont-ref-radius-full);
2525
+ --pont-avatar-badge-border-radius-tr: var(--pont-ref-radius-full);
2526
+ --pont-avatar-badge-border-radius-br: var(--pont-ref-radius-full);
2527
+ --pont-avatar-badge-border-radius-bl: var(--pont-ref-radius-full);
2528
+
2529
+ /* EFFECT */
2530
+ --pont-avatar-badge-effect-shadow: var(--pont-ref-effect-shadow-none);
2531
+ --pont-avatar-badge-effect-inset-shadow: inset var(--pont-ref-effect-shadow-none);
2532
+ --pont-avatar-badge-effect-inset-ring: inset var(--pont-ref-effect-shadow-none);
2533
+
2534
+ --pont-avatar-badge-effect-ring-offset-w: 0px;
2535
+ --pont-avatar-badge-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
2536
+ --pont-avatar-badge-effect-ring-offset: 0 0 0 var(--pont-avatar-badge-effect-ring-offset-w) var(--pont-avatar-badge-effect-ring-offset-color);
2537
+
2538
+ --pont-avatar-badge-effect-ring-w: 2px;
2539
+ --pont-avatar-badge-effect-ring-color: hsl(var(--pont-sem-color-bg));
2540
+ --pont-avatar-badge-effect-ring: 0 0 0 calc(var(--pont-avatar-badge-effect-ring-w) + var(--pont-avatar-badge-effect-ring-offset-w)) var(--pont-avatar-badge-effect-ring-color);
2541
+
2542
+ --pont-avatar-badge-effect-bg-blend: var(--pont-ref-effect-bg-blend-color);
2543
+ }
2544
+
2545
+ /* * -------- AVATAR BADGE > ICON -------- * */
2546
+
2547
+ :root {
2548
+ /* SIZING */
2549
+ --pont-avatar-badge-icon-sizing-w: calc(var(--pont-ref-space) * 2);
2550
+ --pont-avatar-badge-icon-sizing-h: calc(var(--pont-ref-space) * 2);
2551
+
2552
+ /* Note: shadcn hides the avatar badge icon for the small size */
2553
+ --pont-avatar-badge-icon-sizing-w-sm: calc(var(--pont-ref-space) * 1.5);
2554
+ --pont-avatar-badge-icon-sizing-h-sm: calc(var(--pont-ref-space) * 1.5);
2555
+
2556
+ --pont-avatar-badge-icon-sizing-w-lg: calc(var(--pont-ref-space) * 2);
2557
+ --pont-avatar-badge-icon-sizing-h-lg: calc(var(--pont-ref-space) * 2);
2558
+ }
2559
+
2560
+ /*
2561
+ * --------------------------------------------------
2562
+ * AVATAR GROUP
2563
+ * --------------------------------------------------
2564
+ */
2565
+
2566
+ :root {
2567
+ /* SPACING */
2568
+ --pont-avatar-group-spacing-x: calc(var(--pont-ref-space) * -2);
2569
+ --pont-avatar-group-spacing-y: calc(var(--pont-ref-space) * 0);
2570
+ }
2571
+
2572
+ /*
2573
+ * --------------------------------------------------
2574
+ * AVATAR GROUP COUNT
2575
+ * --------------------------------------------------
2576
+ */
2577
+
2578
+ :root {
2579
+ /* SIZING */
2580
+ --pont-avatar-group-count-sizing-w: var(--pont-avatar-sizing-w);
2581
+ --pont-avatar-group-count-sizing-h: var(--pont-avatar-sizing-h);
2582
+
2583
+ --pont-avatar-group-count-sizing-w-sm: var(--pont-avatar-sizing-w-sm);
2584
+ --pont-avatar-group-count-sizing-h-sm: var(--pont-avatar-sizing-h-sm);
2585
+
2586
+ --pont-avatar-group-count-sizing-w-lg: var(--pont-avatar-sizing-w-lg);
2587
+ --pont-avatar-group-count-sizing-h-lg: var(--pont-avatar-sizing-h-lg);
2588
+
2589
+ /* TYPOGRAPHY */
2590
+ --pont-avatar-group-count-typography-font: var(--pont-avatar-typography-font);
2591
+ --pont-avatar-group-count-typography-size: var(--pont-avatar-typography-size);
2592
+ --pont-avatar-group-count-typography-weight: var(
2593
+ --pont-avatar-typography-weight
2594
+ );
2595
+ --pont-avatar-group-count-typography-tracking: var(
2596
+ --pont-avatar-typography-tracking
2597
+ );
2598
+ --pont-avatar-group-count-typography-leading: var(
2599
+ --pont-avatar-typography-leading
2600
+ );
2601
+
2602
+ --pont-avatar-group-count-typography-size-sm: var(
2603
+ --pont-avatar-typography-size-sm
2604
+ );
2605
+ --pont-avatar-group-count-typography-weight-sm: var(
2606
+ --pont-avatar-typography-weight-sm
2607
+ );
2608
+ --pont-avatar-group-count-typography-tracking-sm: var(
2609
+ --pont-avatar-typography-tracking-sm
2610
+ );
2611
+ --pont-avatar-group-count-typography-leading-sm: var(
2612
+ --pont-avatar-typography-leading-sm
2613
+ );
2614
+
2615
+ --pont-avatar-group-count-typography-size-lg: var(
2616
+ --pont-avatar-typography-size-lg
2617
+ );
2618
+ --pont-avatar-group-count-typography-weight-lg: var(
2619
+ --pont-avatar-typography-weight-lg
2620
+ );
2621
+ --pont-avatar-group-count-typography-tracking-lg: var(
2622
+ --pont-avatar-typography-tracking-lg
2623
+ );
2624
+ --pont-avatar-group-count-typography-leading-lg: var(
2625
+ --pont-avatar-typography-leading-lg
2626
+ );
2627
+
2628
+ --pont-avatar-group-count-typography-color: hsl(
2629
+ var(--pont-sem-color-text-secondary)
2630
+ );
2631
+
2632
+ /* BACKGROUND */
2633
+ --pont-avatar-group-count-bg-color: hsl(
2634
+ var(--pont-sem-color-bg-fill-secondary)
2635
+ );
2636
+ }
2637
+
2638
+ /* * -------- AVATAR GROUP COUNT > ICON -------- * */
2639
+
2640
+ :root {
2641
+ /* SIZING */
2642
+ --pont-avatar-group-count-icon-sizing-w: calc(var(--pont-ref-space) * 4);
2643
+ --pont-avatar-group-count-icon-sizing-h: calc(var(--pont-ref-space) * 4);
2644
+
2645
+ --pont-avatar-group-count-icon-sizing-w-sm: calc(var(--pont-ref-space) * 3);
2646
+ --pont-avatar-group-count-icon-sizing-h-sm: calc(var(--pont-ref-space) * 3);
2647
+
2648
+ --pont-avatar-group-count-icon-sizing-w-lg: calc(var(--pont-ref-space) * 5);
2649
+ --pont-avatar-group-count-icon-sizing-h-lg: calc(var(--pont-ref-space) * 5);
2650
+ }
2651
+
2652
+ /*
2653
+ * ===========================================================================
2654
+ * BADGE COMPONENT TOKENS
2655
+ * pont-badge-*
2656
+ * ===========================================================================
2657
+ */
2658
+
2659
+ /*
2660
+ * --------------------------------------------------
2661
+ * COMMON
2662
+ * --------------------------------------------------
2663
+ */
2664
+
2665
+ :root {
2666
+ /* LAYOUT */
2667
+ --pont-badge-layout-gap-x: calc(var(--pont-ref-space) * 1);
2668
+ --pont-badge-layout-gap-y: calc(var(--pont-ref-space) * 1);
2669
+
2670
+ /* SPACING */
2671
+ --pont-badge-spacing-pt: calc(var(--pont-ref-space) * 0.5);
2672
+ --pont-badge-spacing-pr: calc(var(--pont-ref-space) * 2);
2673
+ --pont-badge-spacing-pb: calc(var(--pont-ref-space) * 0.5);
2674
+ --pont-badge-spacing-pl: calc(var(--pont-ref-space) * 2);
2675
+
2676
+ --pont-badge-spacing-pt-has-icon-start: calc(var(--pont-ref-space) * 0.5);
2677
+ --pont-badge-spacing-pr-has-icon-start: calc(var(--pont-ref-space) * 2);
2678
+ --pont-badge-spacing-pb-has-icon-start: calc(var(--pont-ref-space) * 0.5);
2679
+ --pont-badge-spacing-pl-has-icon-start: calc(var(--pont-ref-space) * 1.5);
2680
+
2681
+ --pont-badge-spacing-pt-has-icon-end: calc(var(--pont-ref-space) * 0.5);
2682
+ --pont-badge-spacing-pr-has-icon-end: calc(var(--pont-ref-space) * 1.5);
2683
+ --pont-badge-spacing-pb-has-icon-end: calc(var(--pont-ref-space) * 0.5);
2684
+ --pont-badge-spacing-pl-has-icon-end: calc(var(--pont-ref-space) * 2);
2685
+
2686
+ /* SIZING */
2687
+ --pont-badge-sizing-w: var(--pont-ref-sizing-w-fit);
2688
+ --pont-badge-sizing-h: calc(var(--pont-ref-space) * 5);
2689
+
2690
+ /* TYPOGRAPHY */
2691
+ --pont-badge-typography-font: var(--pont-sem-font-family-default);
2692
+ --pont-badge-typography-size: var(--pont-ref-font-size-xs);
2693
+ --pont-badge-typography-weight: var(--pont-ref-font-weight-medium);
2694
+ --pont-badge-typography-tracking: var(--pont-ref-font-letter-spacing-normal);
2695
+ --pont-badge-typography-leading: var(--pont-ref-font-line-height-of-xs);
2696
+
2697
+ /* BORDER */
2698
+ --pont-badge-border-radius-tl: calc(var(--pont-ref-radius) * 2.6);
2699
+ --pont-badge-border-radius-tr: calc(var(--pont-ref-radius) * 2.6);
2700
+ --pont-badge-border-radius-br: calc(var(--pont-ref-radius) * 2.6);
2701
+ --pont-badge-border-radius-bl: calc(var(--pont-ref-radius) * 2.6);
2702
+
2703
+ /* MOTION */
2704
+ --pont-badge-motion-property: var(--pont-ref-motion-property-all);
2705
+ --pont-badge-motion-duration: var(--pont-sem-motion-duration-default);
2706
+ --pont-badge-motion-fn: var(--pont-sem-motion-fn-default);
2707
+ }
2708
+
2709
+ /* * -------- BADGE > ICON -------- * */
2710
+
2711
+ :root {
2712
+ /* SIZING */
2713
+ --pont-badge-icon-sizing-w: calc(var(--pont-ref-space) * 3);
2714
+ --pont-badge-icon-sizing-h: calc(var(--pont-ref-space) * 3);
2715
+ }
2716
+
2717
+ /*
2718
+ * --------------------------------------------------
2719
+ * VARIANTS
2720
+ * --------------------------------------------------
2721
+ */
2722
+
2723
+ /* * -------- DEFAULT -------- * */
2724
+
2725
+ :root {
2726
+ /* TYPOGRAPHY */
2727
+ --pont-badge-default-typography-color: hsl(
2728
+ var(--pont-sem-color-text-brand-on-fill)
2729
+ );
2730
+
2731
+ /* BACKGROUND */
2732
+ --pont-badge-default-bg-color: hsl(var(--pont-sem-color-bg-fill-brand));
2733
+
2734
+ /* BORDER */
2735
+ --pont-badge-default-border-style: var(--pont-ref-border-style-solid);
2736
+ --pont-badge-default-border-color: transparent;
2737
+ --pont-badge-default-border-width-t: var(--pont-sem-width-border);
2738
+ --pont-badge-default-border-width-r: var(--pont-sem-width-border);
2739
+ --pont-badge-default-border-width-b: var(--pont-sem-width-border);
2740
+ --pont-badge-default-border-width-l: var(--pont-sem-width-border);
2741
+
2742
+ --pont-badge-default-outline-w: 0px;
2743
+ --pont-badge-default-outline-color: transparent;
2744
+ --pont-badge-default-outline-style: var(--pont-ref-border-outline-style-none);
2745
+ --pont-badge-default-outline-offset: 0px;
2746
+
2747
+ /* EFFECT */
2748
+ --pont-badge-default-effect-shadow: var(--pont-ref-effect-shadow-none);
2749
+ --pont-badge-default-effect-inset-shadow: inset
2750
+ var(--pont-ref-effect-shadow-none);
2751
+ --pont-badge-default-effect-inset-ring: inset
2752
+ var(--pont-ref-effect-shadow-none);
2753
+
2754
+ --pont-badge-default-effect-ring-offset-w: 0px;
2755
+ --pont-badge-default-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
2756
+ --pont-badge-default-effect-ring-offset: 0 0 0
2757
+ var(--pont-badge-default-effect-ring-offset-w)
2758
+ var(--pont-badge-default-effect-ring-offset-color);
2759
+
2760
+ --pont-badge-default-effect-ring-w: 0px;
2761
+ --pont-badge-default-effect-ring-color: currentColor;
2762
+ --pont-badge-default-effect-ring: 0 0 0
2763
+ calc(
2764
+ var(--pont-badge-default-effect-ring-w) +
2765
+ var(--pont-badge-default-effect-ring-offset-w)
2766
+ )
2767
+ var(--pont-badge-default-effect-ring-color);
2768
+
2769
+ /* * HOVER * */
2770
+ /* TYPOGRAPHY */
2771
+ --pont-badge-default-typography-color-hover: hsl(
2772
+ var(--pont-sem-color-text-brand-on-fill)
2773
+ );
2774
+
2775
+ /* BACKGROUND */
2776
+ --pont-badge-default-bg-color-hover: hsl(
2777
+ var(--pont-sem-color-bg-fill-brand) / 80%
2778
+ );
2779
+
2780
+ /* BORDER */
2781
+ --pont-badge-default-border-style-hover: var(--pont-ref-border-style-solid);
2782
+ --pont-badge-default-border-color-hover: transparent;
2783
+ --pont-badge-default-border-width-t-hover: var(--pont-sem-width-border);
2784
+ --pont-badge-default-border-width-r-hover: var(--pont-sem-width-border);
2785
+ --pont-badge-default-border-width-b-hover: var(--pont-sem-width-border);
2786
+ --pont-badge-default-border-width-l-hover: var(--pont-sem-width-border);
2787
+
2788
+ --pont-badge-default-outline-w-hover: 0px;
2789
+ --pont-badge-default-outline-color-hover: transparent;
2790
+ --pont-badge-default-outline-style-hover: var(
2791
+ --pont-ref-border-outline-style-none
2792
+ );
2793
+ --pont-badge-default-outline-offset-hover: 0px;
2794
+
2795
+ /* EFFECT */
2796
+ --pont-badge-default-effect-shadow-hover: var(--pont-ref-effect-shadow-none);
2797
+ --pont-badge-default-effect-inset-shadow-hover: inset
2798
+ var(--pont-ref-effect-shadow-none);
2799
+ --pont-badge-default-effect-inset-ring-hover: inset
2800
+ var(--pont-ref-effect-shadow-none);
2801
+
2802
+ --pont-badge-default-effect-ring-offset-w-hover: 0px;
2803
+ --pont-badge-default-effect-ring-offset-color-hover: hsl(
2804
+ var(--pont-sem-color-bg)
2805
+ );
2806
+ --pont-badge-default-effect-ring-offset-hover: 0 0 0
2807
+ var(--pont-badge-default-effect-ring-offset-w-hover)
2808
+ var(--pont-badge-default-effect-ring-offset-color-hover);
2809
+
2810
+ --pont-badge-default-effect-ring-w-hover: 0px;
2811
+ --pont-badge-default-effect-ring-color-hover: currentColor;
2812
+ --pont-badge-default-effect-ring-hover: 0 0 0
2813
+ calc(
2814
+ var(--pont-badge-default-effect-ring-w-hover) +
2815
+ var(--pont-badge-default-effect-ring-offset-w-hover)
2816
+ )
2817
+ var(--pont-badge-default-effect-ring-color-hover);
2818
+
2819
+ --pont-badge-default-effect-opacity-hover: 100%;
2820
+
2821
+ /* * FOCUS * */
2822
+ /* TYPOGRAPHY */
2823
+ --pont-badge-default-typography-color-focus: hsl(
2824
+ var(--pont-sem-color-text-brand-on-fill)
2825
+ );
2826
+
2827
+ /* BACKGROUND */
2828
+ --pont-badge-default-bg-color-focus: hsl(var(--pont-sem-color-bg-fill-brand));
2829
+
2830
+ /* BORDER */
2831
+ --pont-badge-default-border-style-focus: var(--pont-ref-border-style-solid);
2832
+ --pont-badge-default-border-color-focus: hsl(
2833
+ var(--pont-sem-color-border-focus)
2834
+ );
2835
+ --pont-badge-default-border-width-t-focus: var(--pont-sem-width-border);
2836
+ --pont-badge-default-border-width-r-focus: var(--pont-sem-width-border);
2837
+ --pont-badge-default-border-width-b-focus: var(--pont-sem-width-border);
2838
+ --pont-badge-default-border-width-l-focus: var(--pont-sem-width-border);
2839
+
2840
+ --pont-badge-default-outline-w-focus: 0px;
2841
+ --pont-badge-default-outline-color-focus: transparent;
2842
+ --pont-badge-default-outline-style-focus: var(
2843
+ --pont-ref-border-outline-style-none
2844
+ );
2845
+ --pont-badge-default-outline-offset-focus: 0px;
2846
+
2847
+ /* EFFECT */
2848
+ --pont-badge-default-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
2849
+ --pont-badge-default-effect-inset-shadow-focus: inset
2850
+ var(--pont-ref-effect-shadow-none);
2851
+ --pont-badge-default-effect-inset-ring-focus: inset
2852
+ var(--pont-ref-effect-shadow-none);
2853
+
2854
+ --pont-badge-default-effect-ring-offset-w-focus: 0px;
2855
+ --pont-badge-default-effect-ring-offset-color-focus: hsl(
2856
+ var(--pont-sem-color-bg)
2857
+ );
2858
+ --pont-badge-default-effect-ring-offset-focus: 0 0 0
2859
+ var(--pont-badge-default-effect-ring-offset-w-focus)
2860
+ var(--pont-badge-default-effect-ring-offset-color-focus);
2861
+
2862
+ --pont-badge-default-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
2863
+ --pont-badge-default-effect-ring-color-focus: hsl(
2864
+ var(--pont-sem-color-ring-focus)
2865
+ );
2866
+ --pont-badge-default-effect-ring-focus: 0 0 0
2867
+ calc(
2868
+ var(--pont-badge-default-effect-ring-w-focus) +
2869
+ var(--pont-badge-default-effect-ring-offset-w-focus)
2870
+ )
2871
+ var(--pont-badge-default-effect-ring-color-focus);
2872
+
2873
+ --pont-badge-default-effect-opacity-focus: 100%;
2874
+
2875
+ /* * INVALID * */
2876
+ /* TYPOGRAPHY */
2877
+ --pont-badge-default-typography-color-invalid: hsl(
2878
+ var(--pont-sem-color-text-brand-on-fill)
2879
+ );
2880
+
2881
+ /* BACKGROUND */
2882
+ --pont-badge-default-bg-color-invalid: hsl(
2883
+ var(--pont-sem-color-bg-fill-brand)
2884
+ );
2885
+
2886
+ /* BORDER */
2887
+ --pont-badge-default-border-style-invalid: var(--pont-ref-border-style-solid);
2888
+ --pont-badge-default-border-color-invalid: hsl(
2889
+ var(--pont-sem-color-border-invalid)
2890
+ );
2891
+ --pont-badge-default-border-width-t-invalid: var(--pont-sem-width-border);
2892
+ --pont-badge-default-border-width-r-invalid: var(--pont-sem-width-border);
2893
+ --pont-badge-default-border-width-b-invalid: var(--pont-sem-width-border);
2894
+ --pont-badge-default-border-width-l-invalid: var(--pont-sem-width-border);
2895
+
2896
+ --pont-badge-default-outline-w-invalid: 0px;
2897
+ --pont-badge-default-outline-color-invalid: transparent;
2898
+ --pont-badge-default-outline-style-invalid: var(
2899
+ --pont-ref-border-outline-style-none
2900
+ );
2901
+ --pont-badge-default-outline-offset-invalid: 0px;
2902
+
2903
+ /* EFFECT */
2904
+ --pont-badge-default-effect-shadow-invalid: var(
2905
+ --pont-ref-effect-shadow-none
2906
+ );
2907
+ --pont-badge-default-effect-inset-shadow-invalid: inset
2908
+ var(--pont-ref-effect-shadow-none);
2909
+ --pont-badge-default-effect-inset-ring-invalid: inset
2910
+ var(--pont-ref-effect-shadow-none);
2911
+
2912
+ --pont-badge-default-effect-ring-offset-w-invalid: 0px;
2913
+ --pont-badge-default-effect-ring-offset-color-invalid: hsl(
2914
+ var(--pont-sem-color-bg)
2915
+ );
2916
+ --pont-badge-default-effect-ring-offset-invalid: 0 0 0
2917
+ var(--pont-badge-default-effect-ring-offset-w-invalid)
2918
+ var(--pont-badge-default-effect-ring-offset-color-invalid);
2919
+
2920
+ --pont-badge-default-effect-ring-w-invalid: var(--pont-sem-width-ring);
2921
+ --pont-badge-default-effect-ring-color-invalid: hsl(
2922
+ var(--pont-sem-color-ring-destructive)
2923
+ );
2924
+ --pont-badge-default-effect-ring-invalid: 0 0 0
2925
+ calc(
2926
+ var(--pont-badge-default-effect-ring-w-invalid) +
2927
+ var(--pont-badge-default-effect-ring-offset-w-invalid)
2928
+ )
2929
+ var(--pont-badge-default-effect-ring-color-invalid);
2930
+
2931
+ --pont-badge-default-effect-opacity-invalid: 100%;
2932
+ }
2933
+
2934
+ /* * -------- SECONDARY -------- * */
2935
+
2936
+ :root {
2937
+ /* TYPOGRAPHY */
2938
+ --pont-badge-secondary-typography-color: hsl(
2939
+ var(--pont-sem-color-text-secondary-on-fill)
2940
+ );
2941
+
2942
+ /* BACKGROUND */
2943
+ --pont-badge-secondary-bg-color: hsl(var(--pont-sem-color-bg-fill-secondary));
2944
+
2945
+ /* BORDER */
2946
+ --pont-badge-secondary-border-style: var(--pont-ref-border-style-solid);
2947
+ --pont-badge-secondary-border-color: transparent;
2948
+ --pont-badge-secondary-border-width-t: var(--pont-sem-width-border);
2949
+ --pont-badge-secondary-border-width-r: var(--pont-sem-width-border);
2950
+ --pont-badge-secondary-border-width-b: var(--pont-sem-width-border);
2951
+ --pont-badge-secondary-border-width-l: var(--pont-sem-width-border);
2952
+
2953
+ --pont-badge-secondary-outline-w: 0px;
2954
+ --pont-badge-secondary-outline-color: transparent;
2955
+ --pont-badge-secondary-outline-style: var(
2956
+ --pont-ref-border-outline-style-none
2957
+ );
2958
+ --pont-badge-secondary-outline-offset: 0px;
2959
+
2960
+ /* EFFECT */
2961
+ --pont-badge-secondary-effect-shadow: var(--pont-ref-effect-shadow-none);
2962
+ --pont-badge-secondary-effect-inset-shadow: inset
2963
+ var(--pont-ref-effect-shadow-none);
2964
+ --pont-badge-secondary-effect-inset-ring: inset
2965
+ var(--pont-ref-effect-shadow-none);
2966
+
2967
+ --pont-badge-secondary-effect-ring-offset-w: 0px;
2968
+ --pont-badge-secondary-effect-ring-offset-color: hsl(
2969
+ var(--pont-sem-color-bg)
2970
+ );
2971
+ --pont-badge-secondary-effect-ring-offset: 0 0 0
2972
+ var(--pont-badge-secondary-effect-ring-offset-w)
2973
+ var(--pont-badge-secondary-effect-ring-offset-color);
2974
+
2975
+ --pont-badge-secondary-effect-ring-w: 0px;
2976
+ --pont-badge-secondary-effect-ring-color: currentColor;
2977
+ --pont-badge-secondary-effect-ring: 0 0 0
2978
+ calc(
2979
+ var(--pont-badge-secondary-effect-ring-w) +
2980
+ var(--pont-badge-secondary-effect-ring-offset-w)
2981
+ )
2982
+ var(--pont-badge-secondary-effect-ring-color);
2983
+
2984
+ /* * HOVER * */
2985
+ /* TYPOGRAPHY */
2986
+ --pont-badge-secondary-typography-color-hover: hsl(
2987
+ var(--pont-sem-color-text-secondary-on-fill)
2988
+ );
2989
+
2990
+ /* BACKGROUND */
2991
+ --pont-badge-secondary-bg-color-hover: hsl(
2992
+ var(--pont-sem-color-bg-fill-secondary) / 80%
2993
+ );
2994
+
2995
+ /* BORDER */
2996
+ --pont-badge-secondary-border-style-hover: var(--pont-ref-border-style-solid);
2997
+ --pont-badge-secondary-border-color-hover: transparent;
2998
+ --pont-badge-secondary-border-width-t-hover: var(--pont-sem-width-border);
2999
+ --pont-badge-secondary-border-width-r-hover: var(--pont-sem-width-border);
3000
+ --pont-badge-secondary-border-width-b-hover: var(--pont-sem-width-border);
3001
+ --pont-badge-secondary-border-width-l-hover: var(--pont-sem-width-border);
3002
+
3003
+ --pont-badge-secondary-outline-w-hover: 0px;
3004
+ --pont-badge-secondary-outline-color-hover: transparent;
3005
+ --pont-badge-secondary-outline-style-hover: var(
3006
+ --pont-ref-border-outline-style-none
3007
+ );
3008
+ --pont-badge-secondary-outline-offset-hover: 0px;
3009
+
3010
+ /* EFFECT */
3011
+ --pont-badge-secondary-effect-shadow-hover: var(
3012
+ --pont-ref-effect-shadow-none
3013
+ );
3014
+ --pont-badge-secondary-effect-inset-shadow-hover: inset
3015
+ var(--pont-ref-effect-shadow-none);
3016
+ --pont-badge-secondary-effect-inset-ring-hover: inset
3017
+ var(--pont-ref-effect-shadow-none);
3018
+
3019
+ --pont-badge-secondary-effect-ring-offset-w-hover: 0px;
3020
+ --pont-badge-secondary-effect-ring-offset-color-hover: hsl(
3021
+ var(--pont-sem-color-bg)
3022
+ );
3023
+ --pont-badge-secondary-effect-ring-offset-hover: 0 0 0
3024
+ var(--pont-badge-secondary-effect-ring-offset-w-hover)
3025
+ var(--pont-badge-secondary-effect-ring-offset-color-hover);
3026
+
3027
+ --pont-badge-secondary-effect-ring-w-hover: 0px;
3028
+ --pont-badge-secondary-effect-ring-color-hover: currentColor;
3029
+ --pont-badge-secondary-effect-ring-hover: 0 0 0
3030
+ calc(
3031
+ var(--pont-badge-secondary-effect-ring-w-hover) +
3032
+ var(--pont-badge-secondary-effect-ring-offset-w-hover)
3033
+ )
3034
+ var(--pont-badge-secondary-effect-ring-color-hover);
3035
+
3036
+ --pont-badge-secondary-effect-opacity-hover: 100%;
3037
+
3038
+ /* * FOCUS * */
3039
+ /* TYPOGRAPHY */
3040
+ --pont-badge-secondary-typography-color-focus: hsl(
3041
+ var(--pont-sem-color-text-secondary-on-fill)
3042
+ );
3043
+
3044
+ /* BACKGROUND */
3045
+ --pont-badge-secondary-bg-color-focus: hsl(
3046
+ var(--pont-sem-color-bg-fill-secondary)
3047
+ );
3048
+
3049
+ /* BORDER */
3050
+ --pont-badge-secondary-border-style-focus: var(--pont-ref-border-style-solid);
3051
+ --pont-badge-secondary-border-color-focus: hsl(
3052
+ var(--pont-sem-color-border-focus)
3053
+ );
3054
+ --pont-badge-secondary-border-width-t-focus: var(--pont-sem-width-border);
3055
+ --pont-badge-secondary-border-width-r-focus: var(--pont-sem-width-border);
3056
+ --pont-badge-secondary-border-width-b-focus: var(--pont-sem-width-border);
3057
+ --pont-badge-secondary-border-width-l-focus: var(--pont-sem-width-border);
3058
+
3059
+ --pont-badge-secondary-outline-w-focus: 0px;
3060
+ --pont-badge-secondary-outline-color-focus: transparent;
3061
+ --pont-badge-secondary-outline-style-focus: var(
3062
+ --pont-ref-border-outline-style-none
3063
+ );
3064
+ --pont-badge-secondary-outline-offset-focus: 0px;
3065
+
3066
+ /* EFFECT */
3067
+ --pont-badge-secondary-effect-shadow-focus: var(
3068
+ --pont-ref-effect-shadow-none
3069
+ );
3070
+ --pont-badge-secondary-effect-inset-shadow-focus: inset
3071
+ var(--pont-ref-effect-shadow-none);
3072
+ --pont-badge-secondary-effect-inset-ring-focus: inset
3073
+ var(--pont-ref-effect-shadow-none);
3074
+
3075
+ --pont-badge-secondary-effect-ring-offset-w-focus: 0px;
3076
+ --pont-badge-secondary-effect-ring-offset-color-focus: hsl(
3077
+ var(--pont-sem-color-bg)
3078
+ );
3079
+ --pont-badge-secondary-effect-ring-offset-focus: 0 0 0
3080
+ var(--pont-badge-secondary-effect-ring-offset-w-focus)
3081
+ var(--pont-badge-secondary-effect-ring-offset-color-focus);
3082
+
3083
+ --pont-badge-secondary-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
3084
+ --pont-badge-secondary-effect-ring-color-focus: hsl(
3085
+ var(--pont-sem-color-ring-focus)
3086
+ );
3087
+ --pont-badge-secondary-effect-ring-focus: 0 0 0
3088
+ calc(
3089
+ var(--pont-badge-secondary-effect-ring-w-focus) +
3090
+ var(--pont-badge-secondary-effect-ring-offset-w-focus)
3091
+ )
3092
+ var(--pont-badge-secondary-effect-ring-color-focus);
3093
+
3094
+ --pont-badge-secondary-effect-opacity-focus: 100%;
3095
+
3096
+ /* * INVALID * */
3097
+ /* TYPOGRAPHY */
3098
+ --pont-badge-secondary-typography-color-invalid: hsl(
3099
+ var(--pont-sem-color-text-secondary-on-fill)
3100
+ );
3101
+
3102
+ /* BACKGROUND */
3103
+ --pont-badge-secondary-bg-color-invalid: hsl(
3104
+ var(--pont-sem-color-bg-fill-secondary)
3105
+ );
3106
+
3107
+ /* BORDER */
3108
+ --pont-badge-secondary-border-style-invalid: var(
3109
+ --pont-ref-border-style-solid
3110
+ );
3111
+ --pont-badge-secondary-border-color-invalid: hsl(
3112
+ var(--pont-sem-color-border-invalid)
3113
+ );
3114
+ --pont-badge-secondary-border-width-t-invalid: var(--pont-sem-width-border);
3115
+ --pont-badge-secondary-border-width-r-invalid: var(--pont-sem-width-border);
3116
+ --pont-badge-secondary-border-width-b-invalid: var(--pont-sem-width-border);
3117
+ --pont-badge-secondary-border-width-l-invalid: var(--pont-sem-width-border);
3118
+
3119
+ --pont-badge-secondary-outline-w-invalid: 0px;
3120
+ --pont-badge-secondary-outline-color-invalid: transparent;
3121
+ --pont-badge-secondary-outline-style-invalid: var(
3122
+ --pont-ref-border-outline-style-none
3123
+ );
3124
+ --pont-badge-secondary-outline-offset-invalid: 0px;
3125
+
3126
+ /* EFFECT */
3127
+ --pont-badge-secondary-effect-shadow-invalid: var(
3128
+ --pont-ref-effect-shadow-none
3129
+ );
3130
+ --pont-badge-secondary-effect-inset-shadow-invalid: inset
3131
+ var(--pont-ref-effect-shadow-none);
3132
+ --pont-badge-secondary-effect-inset-ring-invalid: inset
3133
+ var(--pont-ref-effect-shadow-none);
3134
+
3135
+ --pont-badge-secondary-effect-ring-offset-w-invalid: 0px;
3136
+ --pont-badge-secondary-effect-ring-offset-color-invalid: hsl(
3137
+ var(--pont-sem-color-bg)
3138
+ );
3139
+ --pont-badge-secondary-effect-ring-offset-invalid: 0 0 0
3140
+ var(--pont-badge-secondary-effect-ring-offset-w-invalid)
3141
+ var(--pont-badge-secondary-effect-ring-offset-color-invalid);
3142
+
3143
+ --pont-badge-secondary-effect-ring-w-invalid: var(--pont-sem-width-ring);
3144
+ --pont-badge-secondary-effect-ring-color-invalid: hsl(
3145
+ var(--pont-sem-color-ring-destructive)
3146
+ );
3147
+ --pont-badge-secondary-effect-ring-invalid: 0 0 0
3148
+ calc(
3149
+ var(--pont-badge-secondary-effect-ring-w-invalid) +
3150
+ var(--pont-badge-secondary-effect-ring-offset-w-invalid)
3151
+ )
3152
+ var(--pont-badge-secondary-effect-ring-color-invalid);
3153
+
3154
+ --pont-badge-secondary-effect-opacity-invalid: 100%;
3155
+ }
3156
+
3157
+ /* * -------- OUTLINE -------- * */
3158
+
3159
+ :root {
3160
+ /* TYPOGRAPHY */
3161
+ --pont-badge-outline-typography-color: hsl(var(--pont-sem-color-text));
3162
+
3163
+ /* BACKGROUND */
3164
+ --pont-badge-outline-bg-color: transparent;
3165
+
3166
+ /* BORDER */
3167
+ --pont-badge-outline-border-style: var(--pont-ref-border-style-solid);
3168
+ --pont-badge-outline-border-color: hsl(var(--pont-sem-color-border));
3169
+ --pont-badge-outline-border-width-t: var(--pont-sem-width-border);
3170
+ --pont-badge-outline-border-width-r: var(--pont-sem-width-border);
3171
+ --pont-badge-outline-border-width-b: var(--pont-sem-width-border);
3172
+ --pont-badge-outline-border-width-l: var(--pont-sem-width-border);
3173
+
3174
+ --pont-badge-outline-outline-w: 0px;
3175
+ --pont-badge-outline-outline-color: transparent;
3176
+ --pont-badge-outline-outline-style: var(--pont-ref-border-outline-style-none);
3177
+ --pont-badge-outline-outline-offset: 0px;
3178
+
3179
+ /* EFFECT */
3180
+ --pont-badge-outline-effect-shadow: var(--pont-ref-effect-shadow-none);
3181
+ --pont-badge-outline-effect-inset-shadow: inset
3182
+ var(--pont-ref-effect-shadow-none);
3183
+ --pont-badge-outline-effect-inset-ring: inset
3184
+ var(--pont-ref-effect-shadow-none);
3185
+
3186
+ --pont-badge-outline-effect-ring-offset-w: 0px;
3187
+ --pont-badge-outline-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
3188
+ --pont-badge-outline-effect-ring-offset: 0 0 0
3189
+ var(--pont-badge-outline-effect-ring-offset-w)
3190
+ var(--pont-badge-outline-effect-ring-offset-color);
3191
+
3192
+ --pont-badge-outline-effect-ring-w: 0px;
3193
+ --pont-badge-outline-effect-ring-color: currentColor;
3194
+ --pont-badge-outline-effect-ring: 0 0 0
3195
+ calc(
3196
+ var(--pont-badge-outline-effect-ring-w) +
3197
+ var(--pont-badge-outline-effect-ring-offset-w)
3198
+ )
3199
+ var(--pont-badge-outline-effect-ring-color);
3200
+
3201
+ /* * HOVER * */
3202
+ /* TYPOGRAPHY */
3203
+ --pont-badge-outline-typography-color-hover: hsl(
3204
+ var(--pont-sem-color-text-secondary)
3205
+ );
3206
+
3207
+ /* BACKGROUND */
3208
+ --pont-badge-outline-bg-color-hover: hsl(
3209
+ var(--pont-sem-color-bg-fill-secondary)
3210
+ );
3211
+
3212
+ /* BORDER */
3213
+ --pont-badge-outline-border-style-hover: var(--pont-ref-border-style-solid);
3214
+ --pont-badge-outline-border-color-hover: hsl(var(--pont-sem-color-border));
3215
+ --pont-badge-outline-border-width-t-hover: var(--pont-sem-width-border);
3216
+ --pont-badge-outline-border-width-r-hover: var(--pont-sem-width-border);
3217
+ --pont-badge-outline-border-width-b-hover: var(--pont-sem-width-border);
3218
+ --pont-badge-outline-border-width-l-hover: var(--pont-sem-width-border);
3219
+
3220
+ --pont-badge-outline-outline-w-hover: 0px;
3221
+ --pont-badge-outline-outline-color-hover: transparent;
3222
+ --pont-badge-outline-outline-style-hover: var(
3223
+ --pont-ref-border-outline-style-none
3224
+ );
3225
+ --pont-badge-outline-outline-offset-hover: 0px;
3226
+
3227
+ /* EFFECT */
3228
+ --pont-badge-outline-effect-shadow-hover: var(--pont-ref-effect-shadow-none);
3229
+ --pont-badge-outline-effect-inset-shadow-hover: inset
3230
+ var(--pont-ref-effect-shadow-none);
3231
+ --pont-badge-outline-effect-inset-ring-hover: inset
3232
+ var(--pont-ref-effect-shadow-none);
3233
+
3234
+ --pont-badge-outline-effect-ring-offset-w-hover: 0px;
3235
+ --pont-badge-outline-effect-ring-offset-color-hover: hsl(
3236
+ var(--pont-sem-color-bg)
3237
+ );
3238
+ --pont-badge-outline-effect-ring-offset-hover: 0 0 0
3239
+ var(--pont-badge-outline-effect-ring-offset-w-hover)
3240
+ var(--pont-badge-outline-effect-ring-offset-color-hover);
3241
+
3242
+ --pont-badge-outline-effect-ring-w-hover: 0px;
3243
+ --pont-badge-outline-effect-ring-color-hover: currentColor;
3244
+ --pont-badge-outline-effect-ring-hover: 0 0 0
3245
+ calc(
3246
+ var(--pont-badge-outline-effect-ring-w-hover) +
3247
+ var(--pont-badge-outline-effect-ring-offset-w-hover)
3248
+ )
3249
+ var(--pont-badge-outline-effect-ring-color-hover);
3250
+
3251
+ --pont-badge-outline-effect-opacity-hover: 100%;
3252
+
3253
+ /* * FOCUS * */
3254
+ /* TYPOGRAPHY */
3255
+ --pont-badge-outline-typography-color-focus: hsl(var(--pont-sem-color-text));
3256
+
3257
+ /* BACKGROUND */
3258
+ --pont-badge-outline-bg-color-focus: transparent;
3259
+
3260
+ /* BORDER */
3261
+ --pont-badge-outline-border-style-focus: var(--pont-ref-border-style-solid);
3262
+ --pont-badge-outline-border-color-focus: hsl(
3263
+ var(--pont-sem-color-border-focus)
3264
+ );
3265
+ --pont-badge-outline-border-width-t-focus: var(--pont-sem-width-border);
3266
+ --pont-badge-outline-border-width-r-focus: var(--pont-sem-width-border);
3267
+ --pont-badge-outline-border-width-b-focus: var(--pont-sem-width-border);
3268
+ --pont-badge-outline-border-width-l-focus: var(--pont-sem-width-border);
3269
+
3270
+ --pont-badge-outline-outline-w-focus: 0px;
3271
+ --pont-badge-outline-outline-color-focus: transparent;
3272
+ --pont-badge-outline-outline-style-focus: var(
3273
+ --pont-ref-border-outline-style-none
3274
+ );
3275
+ --pont-badge-outline-outline-offset-focus: 0px;
3276
+
3277
+ /* EFFECT */
3278
+ --pont-badge-outline-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
3279
+ --pont-badge-outline-effect-inset-shadow-focus: inset
3280
+ var(--pont-ref-effect-shadow-none);
3281
+ --pont-badge-outline-effect-inset-ring-focus: inset
3282
+ var(--pont-ref-effect-shadow-none);
3283
+
3284
+ --pont-badge-outline-effect-ring-offset-w-focus: 0px;
3285
+ --pont-badge-outline-effect-ring-offset-color-focus: hsl(
3286
+ var(--pont-sem-color-bg)
3287
+ );
3288
+ --pont-badge-outline-effect-ring-offset-focus: 0 0 0
3289
+ var(--pont-badge-outline-effect-ring-offset-w-focus)
3290
+ var(--pont-badge-outline-effect-ring-offset-color-focus);
3291
+
3292
+ --pont-badge-outline-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
3293
+ --pont-badge-outline-effect-ring-color-focus: hsl(
3294
+ var(--pont-sem-color-ring-focus)
3295
+ );
3296
+ --pont-badge-outline-effect-ring-focus: 0 0 0
3297
+ calc(
3298
+ var(--pont-badge-outline-effect-ring-w-focus) +
3299
+ var(--pont-badge-outline-effect-ring-offset-w-focus)
3300
+ )
3301
+ var(--pont-badge-outline-effect-ring-color-focus);
3302
+
3303
+ --pont-badge-outline-effect-opacity-focus: 100%;
3304
+
3305
+ /* * INVALID * */
3306
+ /* TYPOGRAPHY */
3307
+ --pont-badge-outline-typography-color-invalid: hsl(
3308
+ var(--pont-sem-color-text)
3309
+ );
3310
+
3311
+ /* BACKGROUND */
3312
+ --pont-badge-outline-bg-color-invalid: transparent;
3313
+
3314
+ /* BORDER */
3315
+ --pont-badge-outline-border-style-invalid: var(--pont-ref-border-style-solid);
3316
+ --pont-badge-outline-border-color-invalid: hsl(
3317
+ var(--pont-sem-color-border-invalid)
3318
+ );
3319
+ --pont-badge-outline-border-width-t-invalid: var(--pont-sem-width-border);
3320
+ --pont-badge-outline-border-width-r-invalid: var(--pont-sem-width-border);
3321
+ --pont-badge-outline-border-width-b-invalid: var(--pont-sem-width-border);
3322
+ --pont-badge-outline-border-width-l-invalid: var(--pont-sem-width-border);
3323
+
3324
+ --pont-badge-outline-outline-w-invalid: 0px;
3325
+ --pont-badge-outline-outline-color-invalid: transparent;
3326
+ --pont-badge-outline-outline-style-invalid: var(
3327
+ --pont-ref-border-outline-style-none
3328
+ );
3329
+ --pont-badge-outline-outline-offset-invalid: 0px;
3330
+
3331
+ /* EFFECT */
3332
+ --pont-badge-outline-effect-shadow-invalid: var(
3333
+ --pont-ref-effect-shadow-none
3334
+ );
3335
+ --pont-badge-outline-effect-inset-shadow-invalid: inset
3336
+ var(--pont-ref-effect-shadow-none);
3337
+ --pont-badge-outline-effect-inset-ring-invalid: inset
3338
+ var(--pont-ref-effect-shadow-none);
3339
+
3340
+ --pont-badge-outline-effect-ring-offset-w-invalid: 0px;
3341
+ --pont-badge-outline-effect-ring-offset-color-invalid: hsl(
3342
+ var(--pont-sem-color-bg)
3343
+ );
3344
+ --pont-badge-outline-effect-ring-offset-invalid: 0 0 0
3345
+ var(--pont-badge-outline-effect-ring-offset-w-invalid)
3346
+ var(--pont-badge-outline-effect-ring-offset-color-invalid);
3347
+
3348
+ --pont-badge-outline-effect-ring-w-invalid: var(--pont-sem-width-ring);
3349
+ --pont-badge-outline-effect-ring-color-invalid: hsl(
3350
+ var(--pont-sem-color-ring-destructive)
3351
+ );
3352
+ --pont-badge-outline-effect-ring-invalid: 0 0 0
3353
+ calc(
3354
+ var(--pont-badge-outline-effect-ring-w-invalid) +
3355
+ var(--pont-badge-outline-effect-ring-offset-w-invalid)
3356
+ )
3357
+ var(--pont-badge-outline-effect-ring-color-invalid);
3358
+
3359
+ --pont-badge-outline-effect-opacity-invalid: 100%;
3360
+ }
3361
+
3362
+ /* * -------- GHOST -------- * */
3363
+
3364
+ :root {
3365
+ /* TYPOGRAPHY */
3366
+ --pont-badge-ghost-typography-color: hsl(var(--pont-sem-color-text));
3367
+
3368
+ /* BACKGROUND */
3369
+ --pont-badge-ghost-bg-color: transparent;
3370
+
3371
+ /* BORDER */
3372
+ --pont-badge-ghost-border-style: var(--pont-ref-border-style-solid);
3373
+ --pont-badge-ghost-border-color: transparent;
3374
+ --pont-badge-ghost-border-width-t: var(--pont-sem-width-border);
3375
+ --pont-badge-ghost-border-width-r: var(--pont-sem-width-border);
3376
+ --pont-badge-ghost-border-width-b: var(--pont-sem-width-border);
3377
+ --pont-badge-ghost-border-width-l: var(--pont-sem-width-border);
3378
+
3379
+ --pont-badge-ghost-outline-w: 0px;
3380
+ --pont-badge-ghost-outline-color: transparent;
3381
+ --pont-badge-ghost-outline-style: var(--pont-ref-border-outline-style-none);
3382
+ --pont-badge-ghost-outline-offset: 0px;
3383
+
3384
+ /* EFFECT */
3385
+ --pont-badge-ghost-effect-shadow: var(--pont-ref-effect-shadow-none);
3386
+ --pont-badge-ghost-effect-inset-shadow: inset
3387
+ var(--pont-ref-effect-shadow-none);
3388
+ --pont-badge-ghost-effect-inset-ring: inset var(--pont-ref-effect-shadow-none);
3389
+
3390
+ --pont-badge-ghost-effect-ring-offset-w: 0px;
3391
+ --pont-badge-ghost-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
3392
+ --pont-badge-ghost-effect-ring-offset: 0 0 0
3393
+ var(--pont-badge-ghost-effect-ring-offset-w)
3394
+ var(--pont-badge-ghost-effect-ring-offset-color);
3395
+
3396
+ --pont-badge-ghost-effect-ring-w: 0px;
3397
+ --pont-badge-ghost-effect-ring-color: currentColor;
3398
+ --pont-badge-ghost-effect-ring: 0 0 0
3399
+ calc(
3400
+ var(--pont-badge-ghost-effect-ring-w) +
3401
+ var(--pont-badge-ghost-effect-ring-offset-w)
3402
+ )
3403
+ var(--pont-badge-ghost-effect-ring-color);
3404
+
3405
+ /* * HOVER * */
3406
+ /* TYPOGRAPHY */
3407
+ --pont-badge-ghost-typography-color-hover: hsl(
3408
+ var(--pont-sem-color-text-secondary)
3409
+ );
3410
+
3411
+ /* BACKGROUND */
3412
+ /* Note: alternative 'dark' theme value defined below */
3413
+ --pont-badge-ghost-bg-color-hover: hsl(
3414
+ var(--pont-sem-color-bg-fill-secondary)
3415
+ );
3416
+
3417
+ /* BORDER */
3418
+ --pont-badge-ghost-border-style-hover: var(--pont-ref-border-style-solid);
3419
+ --pont-badge-ghost-border-color-hover: transparent;
3420
+ --pont-badge-ghost-border-width-t-hover: var(--pont-sem-width-border);
3421
+ --pont-badge-ghost-border-width-r-hover: var(--pont-sem-width-border);
3422
+ --pont-badge-ghost-border-width-b-hover: var(--pont-sem-width-border);
3423
+ --pont-badge-ghost-border-width-l-hover: var(--pont-sem-width-border);
3424
+
3425
+ --pont-badge-ghost-outline-w-hover: 0px;
3426
+ --pont-badge-ghost-outline-color-hover: transparent;
3427
+ --pont-badge-ghost-outline-style-hover: var(
3428
+ --pont-ref-border-outline-style-none
3429
+ );
3430
+ --pont-badge-ghost-outline-offset-hover: 0px;
3431
+
3432
+ /* EFFECT */
3433
+ --pont-badge-ghost-effect-shadow-hover: var(--pont-ref-effect-shadow-none);
3434
+ --pont-badge-ghost-effect-inset-shadow-hover: inset
3435
+ var(--pont-ref-effect-shadow-none);
3436
+ --pont-badge-ghost-effect-inset-ring-hover: inset
3437
+ var(--pont-ref-effect-shadow-none);
3438
+
3439
+ --pont-badge-ghost-effect-ring-offset-w-hover: 0px;
3440
+ --pont-badge-ghost-effect-ring-offset-color-hover: hsl(
3441
+ var(--pont-sem-color-bg)
3442
+ );
3443
+ --pont-badge-ghost-effect-ring-offset-hover: 0 0 0
3444
+ var(--pont-badge-ghost-effect-ring-offset-w-hover)
3445
+ var(--pont-badge-ghost-effect-ring-offset-color-hover);
3446
+
3447
+ --pont-badge-ghost-effect-ring-w-hover: 0px;
3448
+ --pont-badge-ghost-effect-ring-color-hover: currentColor;
3449
+ --pont-badge-ghost-effect-ring-hover: 0 0 0
3450
+ calc(
3451
+ var(--pont-badge-ghost-effect-ring-w-hover) +
3452
+ var(--pont-badge-ghost-effect-ring-offset-w-hover)
3453
+ )
3454
+ var(--pont-badge-ghost-effect-ring-color-hover);
3455
+
3456
+ --pont-badge-ghost-effect-opacity-hover: 100%;
2027
3457
 
2028
- --pont-callout-width-border: var(--pont-sem-width-border);
2029
- --pont-callout-color-border: hsl(var(--pont-sem-color-border));
2030
- --pont-callout-radius: var(--pont-sem-radius-feedback);
3458
+ /* * FOCUS * */
3459
+ /* TYPOGRAPHY */
3460
+ --pont-badge-ghost-typography-color-focus: hsl(var(--pont-sem-color-text));
2031
3461
 
2032
- /* * VARIANTS * */
2033
- /* DEFAULT */
2034
- --pont-callout-default-color-text: hsl(var(--pont-sem-color-text));
2035
- --pont-callout-default-color-bg: hsl(var(--pont-callout-color-bg));
2036
- --pont-callout-default-color-border: hsl(var(--pont-sem-color-border));
2037
- /* BRAND & BRAND TONAL */
2038
- --pont-callout-brand-color-text: hsl(var(--pont-sem-color-text-brand));
2039
- --pont-callout-brand-color-bg: hsl(var(--pont-callout-color-bg));
2040
- --pont-callout-brand-color-border: hsl(var(--pont-sem-color-border));
3462
+ /* BACKGROUND */
3463
+ --pont-badge-ghost-bg-color-focus: transparent;
2041
3464
 
2042
- --pont-callout-brand-tonal-color-text: hsl(var(--pont-sem-color-text-brand));
2043
- --pont-callout-brand-tonal-color-bg: hsl(var(--pont-sem-color-bg-surface-brand));
2044
- --pont-callout-brand-tonal-color-border: hsl(
2045
- var(--pont-sem-color-border-brand-secondary)
3465
+ /* BORDER */
3466
+ --pont-badge-ghost-border-style-focus: var(--pont-ref-border-style-solid);
3467
+ --pont-badge-ghost-border-color-focus: hsl(
3468
+ var(--pont-sem-color-border-focus)
2046
3469
  );
3470
+ --pont-badge-ghost-border-width-t-focus: var(--pont-sem-width-border);
3471
+ --pont-badge-ghost-border-width-r-focus: var(--pont-sem-width-border);
3472
+ --pont-badge-ghost-border-width-b-focus: var(--pont-sem-width-border);
3473
+ --pont-badge-ghost-border-width-l-focus: var(--pont-sem-width-border);
2047
3474
 
2048
- /* DESTRUCTIVE & DESTRUCTIVE TONAL */
2049
- --pont-callout-destructive-color-text: hsl(var(--pont-sem-color-text-destructive));
2050
- --pont-callout-destructive-color-bg: hsl(var(--pont-callout-color-bg));
2051
- --pont-callout-destructive-color-border: hsl(var(--pont-sem-color-border));
3475
+ --pont-badge-ghost-outline-w-focus: 0px;
3476
+ --pont-badge-ghost-outline-color-focus: transparent;
3477
+ --pont-badge-ghost-outline-style-focus: var(
3478
+ --pont-ref-border-outline-style-none
3479
+ );
3480
+ --pont-badge-ghost-outline-offset-focus: 0px;
2052
3481
 
2053
- --pont-callout-destructive-tonal-color-bg: hsl(
2054
- var(--pont-sem-color-bg-surface-destructive)
3482
+ /* EFFECT */
3483
+ --pont-badge-ghost-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
3484
+ --pont-badge-ghost-effect-inset-shadow-focus: inset
3485
+ var(--pont-ref-effect-shadow-none);
3486
+ --pont-badge-ghost-effect-inset-ring-focus: inset
3487
+ var(--pont-ref-effect-shadow-none);
3488
+
3489
+ --pont-badge-ghost-effect-ring-offset-w-focus: 0px;
3490
+ --pont-badge-ghost-effect-ring-offset-color-focus: hsl(
3491
+ var(--pont-sem-color-bg)
2055
3492
  );
2056
- --pont-callout-destructive-tonal-color-border: hsl(
2057
- var(--pont-sem-color-border-destructive-secondary)
3493
+ --pont-badge-ghost-effect-ring-offset-focus: 0 0 0
3494
+ var(--pont-badge-ghost-effect-ring-offset-w-focus)
3495
+ var(--pont-badge-ghost-effect-ring-offset-color-focus);
3496
+
3497
+ --pont-badge-ghost-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
3498
+ --pont-badge-ghost-effect-ring-color-focus: hsl(
3499
+ var(--pont-sem-color-ring-focus)
2058
3500
  );
3501
+ --pont-badge-ghost-effect-ring-focus: 0 0 0
3502
+ calc(
3503
+ var(--pont-badge-ghost-effect-ring-w-focus) +
3504
+ var(--pont-badge-ghost-effect-ring-offset-w-focus)
3505
+ )
3506
+ var(--pont-badge-ghost-effect-ring-color-focus);
2059
3507
 
2060
- /* WARNING & WARNING TONAL */
2061
- --pont-callout-warning-color-text: hsl(var(--pont-sem-color-text-warning));
2062
- --pont-callout-warning-color-bg: hsl(var(--pont-callout-color-bg));
2063
- --pont-callout-warning-color-border: hsl(var(--pont-sem-color-border));
3508
+ --pont-badge-ghost-effect-opacity-focus: 100%;
2064
3509
 
2065
- --pont-callout-warning-tonal-color-bg: hsl(
2066
- var(--pont-sem-color-bg-surface-warning)
3510
+ /* * INVALID * */
3511
+ /* TYPOGRAPHY */
3512
+ --pont-badge-ghost-typography-color-invalid: hsl(var(--pont-sem-color-text));
3513
+
3514
+ /* BACKGROUND */
3515
+ --pont-badge-ghost-bg-color-invalid: transparent;
3516
+
3517
+ /* BORDER */
3518
+ --pont-badge-ghost-border-style-invalid: var(--pont-ref-border-style-solid);
3519
+ --pont-badge-ghost-border-color-invalid: hsl(
3520
+ var(--pont-sem-color-border-invalid)
2067
3521
  );
2068
- --pont-callout-warning-tonal-color-border: hsl(
2069
- var(--pont-sem-color-border-warning-secondary)
3522
+ --pont-badge-ghost-border-width-t-invalid: var(--pont-sem-width-border);
3523
+ --pont-badge-ghost-border-width-r-invalid: var(--pont-sem-width-border);
3524
+ --pont-badge-ghost-border-width-b-invalid: var(--pont-sem-width-border);
3525
+ --pont-badge-ghost-border-width-l-invalid: var(--pont-sem-width-border);
3526
+
3527
+ --pont-badge-ghost-outline-w-invalid: 0px;
3528
+ --pont-badge-ghost-outline-color-invalid: transparent;
3529
+ --pont-badge-ghost-outline-style-invalid: var(
3530
+ --pont-ref-border-outline-style-none
2070
3531
  );
3532
+ --pont-badge-ghost-outline-offset-invalid: 0px;
2071
3533
 
2072
- /* SUCCESS & SUCCESS TONAL */
2073
- --pont-callout-success-color-text: hsl(var(--pont-sem-color-text-success));
2074
- --pont-callout-success-color-bg: hsl(var(--pont-callout-color-bg));
2075
- --pont-callout-success-color-border: hsl(var(--pont-sem-color-border));
3534
+ /* EFFECT */
3535
+ --pont-badge-ghost-effect-shadow-invalid: var(--pont-ref-effect-shadow-none);
3536
+ --pont-badge-ghost-effect-inset-shadow-invalid: inset
3537
+ var(--pont-ref-effect-shadow-none);
3538
+ --pont-badge-ghost-effect-inset-ring-invalid: inset
3539
+ var(--pont-ref-effect-shadow-none);
2076
3540
 
2077
- --pont-callout-success-tonal-color-bg: hsl(
2078
- var(--pont-sem-color-bg-surface-success)
3541
+ --pont-badge-ghost-effect-ring-offset-w-invalid: 0px;
3542
+ --pont-badge-ghost-effect-ring-offset-color-invalid: hsl(
3543
+ var(--pont-sem-color-bg)
2079
3544
  );
2080
- --pont-callout-success-tonal-color-border: hsl(
2081
- var(--pont-sem-color-border-success-secondary)
3545
+ --pont-badge-ghost-effect-ring-offset-invalid: 0 0 0
3546
+ var(--pont-badge-ghost-effect-ring-offset-w-invalid)
3547
+ var(--pont-badge-ghost-effect-ring-offset-color-invalid);
3548
+
3549
+ --pont-badge-ghost-effect-ring-w-invalid: var(--pont-sem-width-ring);
3550
+ --pont-badge-ghost-effect-ring-color-invalid: hsl(
3551
+ var(--pont-sem-color-ring-destructive)
2082
3552
  );
3553
+ --pont-badge-ghost-effect-ring-invalid: 0 0 0
3554
+ calc(
3555
+ var(--pont-badge-ghost-effect-ring-w-invalid) +
3556
+ var(--pont-badge-ghost-effect-ring-offset-w-invalid)
3557
+ )
3558
+ var(--pont-badge-ghost-effect-ring-color-invalid);
2083
3559
 
2084
- /* INFO & INFO TONAL */
2085
- --pont-callout-info-color-text: hsl(var(--pont-sem-color-text-info));
2086
- --pont-callout-info-color-bg: hsl(var(--pont-callout-color-bg));
2087
- --pont-callout-info-color-border: hsl(var(--pont-sem-color-border));
3560
+ --pont-badge-ghost-effect-opacity-invalid: 100%;
3561
+ }
2088
3562
 
2089
- --pont-callout-info-tonal-color-bg: hsl(var(--pont-sem-color-bg-surface-info));
2090
- --pont-callout-info-tonal-color-border: hsl(
2091
- var(--pont-sem-color-border-info-secondary)
3563
+ [data-theme="dark"] {
3564
+ --pont-badge-ghost-bg-color-hover: hsl(
3565
+ var(--pont-sem-color-bg-fill-secondary) / 50%
2092
3566
  );
2093
-
2094
- /* * ICON CHILD * */
2095
- --pont-callout-icon-space-size: var(--pont-sem-space-icon-size);
2096
- --pont-callout-icon-space-translate-y: var(--pont-sem-space-icon-translate-y);
2097
3567
  }
2098
3568
 
2099
- /*
2100
- * --------------------------------------------------
2101
- * ALERT TITLE
2102
- * --------------------------------------------------
2103
- */
3569
+ /* * -------- DESTRUCTIVE -------- * */
2104
3570
 
2105
3571
  :root {
2106
- --pont-callout-title-font-weight: var(--pont-sem-font-content-heading-weight-sm);
2107
- --pont-callout-title-font-size: var(--pont-callout-font-size);
3572
+ /* TYPOGRAPHY */
3573
+ --pont-badge-destructive-typography-color: hsl(
3574
+ var(--pont-sem-color-text-destructive)
3575
+ );
2108
3576
 
2109
- /* * LINK CHILD * */
2110
- --pont-callout-title-color-link-hover: hsl(var(--pont-sem-color-text));
2111
- }
3577
+ /* BACKGROUND */
3578
+ --pont-badge-destructive-bg-color: hsl(
3579
+ var(--pont-sem-color-bg-fill-destructive-secondary)
3580
+ );
2112
3581
 
2113
- /*
2114
- * --------------------------------------------------
2115
- * ALERT DESCRIPTION
2116
- * --------------------------------------------------
2117
- */
3582
+ /* BORDER */
3583
+ --pont-badge-destructive-border-style: var(--pont-ref-border-style-solid);
3584
+ --pont-badge-destructive-border-color: transparent;
3585
+ --pont-badge-destructive-border-width-t: var(--pont-sem-width-border);
3586
+ --pont-badge-destructive-border-width-r: var(--pont-sem-width-border);
3587
+ --pont-badge-destructive-border-width-b: var(--pont-sem-width-border);
3588
+ --pont-badge-destructive-border-width-l: var(--pont-sem-width-border);
3589
+
3590
+ --pont-badge-destructive-outline-w: 0px;
3591
+ --pont-badge-destructive-outline-color: transparent;
3592
+ --pont-badge-destructive-outline-style: var(
3593
+ --pont-ref-border-outline-style-none
3594
+ );
3595
+ --pont-badge-destructive-outline-offset: 0px;
3596
+
3597
+ /* EFFECT */
3598
+ --pont-badge-destructive-effect-shadow: var(--pont-ref-effect-shadow-none);
3599
+ --pont-badge-destructive-effect-inset-shadow: inset
3600
+ var(--pont-ref-effect-shadow-none);
3601
+ --pont-badge-destructive-effect-inset-ring: inset
3602
+ var(--pont-ref-effect-shadow-none);
3603
+
3604
+ --pont-badge-destructive-effect-ring-offset-w: 0px;
3605
+ --pont-badge-destructive-effect-ring-offset-color: hsl(
3606
+ var(--pont-sem-color-bg)
3607
+ );
3608
+ --pont-badge-destructive-effect-ring-offset: 0 0 0
3609
+ var(--pont-badge-destructive-effect-ring-offset-w)
3610
+ var(--pont-badge-destructive-effect-ring-offset-color);
3611
+
3612
+ --pont-badge-destructive-effect-ring-w: 0px;
3613
+ --pont-badge-destructive-effect-ring-color: currentColor;
3614
+ --pont-badge-destructive-effect-ring: 0 0 0
3615
+ calc(
3616
+ var(--pont-badge-destructive-effect-ring-w) +
3617
+ var(--pont-badge-destructive-effect-ring-offset-w)
3618
+ )
3619
+ var(--pont-badge-destructive-effect-ring-color);
2118
3620
 
2119
- :root {
2120
- --pont-callout-description-font-size: var(--pont-sem-font-content-body-size);
2121
- --pont-callout-description-font-weight: var(--pont-sem-font-content-body-weight);
2122
- --pont-callout-description-font-line-height: var(
2123
- --pont-sem-font-content-body-line-height
3621
+ /* * HOVER * */
3622
+ /* TYPOGRAPHY */
3623
+ --pont-badge-destructive-typography-color-hover: hsl(
3624
+ var(--pont-sem-color-text-destructive)
2124
3625
  );
2125
3626
 
2126
- /* * VARIANTS * */
2127
- --pont-callout-description-default-color-text: hsl(
2128
- var(--pont-sem-color-text-secondary)
3627
+ /* BACKGROUND */
3628
+ --pont-badge-destructive-bg-color-hover: hsl(
3629
+ var(--pont-sem-color-role-destructive) / 20%
2129
3630
  );
2130
- --pont-callout-description-brand-color-text: hsl(
2131
- var(--pont-sem-color-text-brand-secondary)
2132
- );
2133
- --pont-callout-description-destructive-color-text: hsl(
2134
- var(--pont-sem-color-text-destructive-secondary)
3631
+
3632
+ /* BORDER */
3633
+ --pont-badge-destructive-border-style-hover: var(
3634
+ --pont-ref-border-style-solid
2135
3635
  );
2136
- --pont-callout-description-warning-color-text: hsl(
2137
- var(--pont-sem-color-text-warning-secondary)
3636
+ --pont-badge-destructive-border-color-hover: transparent;
3637
+ --pont-badge-destructive-border-width-t-hover: var(--pont-sem-width-border);
3638
+ --pont-badge-destructive-border-width-r-hover: var(--pont-sem-width-border);
3639
+ --pont-badge-destructive-border-width-b-hover: var(--pont-sem-width-border);
3640
+ --pont-badge-destructive-border-width-l-hover: var(--pont-sem-width-border);
3641
+
3642
+ --pont-badge-destructive-outline-w-hover: 0px;
3643
+ --pont-badge-destructive-outline-color-hover: transparent;
3644
+ --pont-badge-destructive-outline-style-hover: var(
3645
+ --pont-ref-border-outline-style-none
2138
3646
  );
2139
- --pont-callout-description-success-color-text: hsl(
2140
- var(--pont-sem-color-text-success-secondary)
3647
+ --pont-badge-destructive-outline-offset-hover: 0px;
3648
+
3649
+ /* EFFECT */
3650
+ --pont-badge-destructive-effect-shadow-hover: var(
3651
+ --pont-ref-effect-shadow-none
2141
3652
  );
2142
- --pont-callout-description-info-color-text: hsl(
2143
- var(--pont-sem-color-text-info-secondary)
3653
+ --pont-badge-destructive-effect-inset-shadow-hover: inset
3654
+ var(--pont-ref-effect-shadow-none);
3655
+ --pont-badge-destructive-effect-inset-ring-hover: inset
3656
+ var(--pont-ref-effect-shadow-none);
3657
+
3658
+ --pont-badge-destructive-effect-ring-offset-w-hover: 0px;
3659
+ --pont-badge-destructive-effect-ring-offset-color-hover: hsl(
3660
+ var(--pont-sem-color-bg)
2144
3661
  );
3662
+ --pont-badge-destructive-effect-ring-offset-hover: 0 0 0
3663
+ var(--pont-badge-destructive-effect-ring-offset-w-hover)
3664
+ var(--pont-badge-destructive-effect-ring-offset-color-hover);
2145
3665
 
2146
- /* * LINK CHILD * */
2147
- --pont-callout-description-color-link-hover: hsl(var(--pont-sem-color-text));
3666
+ --pont-badge-destructive-effect-ring-w-hover: 0px;
3667
+ --pont-badge-destructive-effect-ring-color-hover: currentColor;
3668
+ --pont-badge-destructive-effect-ring-hover: 0 0 0
3669
+ calc(
3670
+ var(--pont-badge-destructive-effect-ring-w-hover) +
3671
+ var(--pont-badge-destructive-effect-ring-offset-w-hover)
3672
+ )
3673
+ var(--pont-badge-destructive-effect-ring-color-hover);
2148
3674
 
2149
- /* * PARAGRAPH CHILD * */
2150
- --pont-callout-description-p-space-mb: var(--pont-ref-space-4);
2151
- }
3675
+ --pont-badge-destructive-effect-opacity-hover: 100%;
2152
3676
 
2153
- /*
2154
- * --------------------------------------------------
2155
- * ALERT ACTION
2156
- * --------------------------------------------------
2157
- */
3677
+ /* * FOCUS * */
3678
+ /* TYPOGRAPHY */
3679
+ --pont-badge-destructive-typography-color-focus: hsl(
3680
+ var(--pont-sem-color-text-destructive)
3681
+ );
2158
3682
 
2159
- :root {
2160
- --pont-callout-action-space-top: var(--pont-ref-space-2);
2161
- --pont-callout-action-space-right: var(--pont-ref-space-2);
2162
- }
3683
+ /* BACKGROUND */
3684
+ --pont-badge-destructive-bg-color-focus: hsl(
3685
+ var(--pont-sem-color-bg-fill-destructive-secondary)
3686
+ );
2163
3687
 
2164
- /*
2165
- * ===========================================================================
2166
- * AVATAR COMPONENT TOKENS
2167
- * pont-avatar-*
2168
- * ===========================================================================
2169
- */
3688
+ /* BORDER */
3689
+ --pont-badge-destructive-border-style-focus: var(
3690
+ --pont-ref-border-style-solid
3691
+ );
3692
+ --pont-badge-destructive-border-color-focus: hsl(
3693
+ var(--pont-sem-color-border-focus)
3694
+ );
3695
+ --pont-badge-destructive-border-width-t-focus: var(--pont-sem-width-border);
3696
+ --pont-badge-destructive-border-width-r-focus: var(--pont-sem-width-border);
3697
+ --pont-badge-destructive-border-width-b-focus: var(--pont-sem-width-border);
3698
+ --pont-badge-destructive-border-width-l-focus: var(--pont-sem-width-border);
2170
3699
 
2171
- :root {
2172
- /* Used for avatar group avatar children */
2173
- --pont-avatar-space-me-in-group: var(--pont-ref-space-neg-2);
3700
+ --pont-badge-destructive-outline-w-focus: 0px;
3701
+ --pont-badge-destructive-outline-color-focus: transparent;
3702
+ --pont-badge-destructive-outline-style-focus: var(
3703
+ --pont-ref-border-outline-style-none
3704
+ );
3705
+ --pont-badge-destructive-outline-offset-focus: 0px;
2174
3706
 
2175
- /* Used for avatar and avatar group count */
2176
- --pont-avatar-space-size: var(--pont-sem-space-identity-size);
2177
- --pont-avatar-space-size-sm: var(--pont-sem-space-identity-size-sm);
2178
- --pont-avatar-space-size-lg: var(--pont-sem-space-identity-size-lg);
3707
+ /* EFFECT */
3708
+ --pont-badge-destructive-effect-shadow-focus: var(
3709
+ --pont-ref-effect-shadow-none
3710
+ );
3711
+ --pont-badge-destructive-effect-inset-shadow-focus: inset
3712
+ var(--pont-ref-effect-shadow-none);
3713
+ --pont-badge-destructive-effect-inset-ring-focus: inset
3714
+ var(--pont-ref-effect-shadow-none);
2179
3715
 
2180
- /* Used for avatar fallback and avatar group count */
2181
- --pont-avatar-font-size: var(--pont-sem-font-identity-size);
2182
- --pont-avatar-font-size-sm: var(--pont-sem-font-identity-size-sm);
2183
- --pont-avatar-font-line-height: var(--pont-sem-font-identity-line-height);
2184
- --pont-avatar-font-line-height-sm: var(--pont-sem-font-identity-line-height-sm);
2185
- --pont-avatar-color-text: hsl(var(--pont-sem-color-text-secondary));
3716
+ --pont-badge-destructive-effect-ring-offset-w-focus: 0px;
3717
+ --pont-badge-destructive-effect-ring-offset-color-focus: hsl(
3718
+ var(--pont-sem-color-bg)
3719
+ );
3720
+ --pont-badge-destructive-effect-ring-offset-focus: 0 0 0
3721
+ var(--pont-badge-destructive-effect-ring-offset-w-focus)
3722
+ var(--pont-badge-destructive-effect-ring-offset-color-focus);
2186
3723
 
2187
- /* Used for avatar fallback and avatar group count */
2188
- --pont-avatar-color-bg: hsl(var(--pont-sem-color-bg-fill-secondary));
3724
+ --pont-badge-destructive-effect-ring-w-focus: var(
3725
+ --pont-sem-width-ring-focus
3726
+ );
3727
+ --pont-badge-destructive-effect-ring-color-focus: hsl(
3728
+ var(--pont-sem-color-ring-destructive)
3729
+ );
3730
+ --pont-badge-destructive-effect-ring-focus: 0 0 0
3731
+ calc(
3732
+ var(--pont-badge-destructive-effect-ring-w-focus) +
3733
+ var(--pont-badge-destructive-effect-ring-offset-w-focus)
3734
+ )
3735
+ var(--pont-badge-destructive-effect-ring-color-focus);
2189
3736
 
2190
- /* Used for avatar, avatar image, avatar image, and avatar group count */
2191
- --pont-avatar-radius: var(--pont-sem-radius-identity);
3737
+ --pont-badge-destructive-effect-opacity-focus: 100%;
2192
3738
 
2193
- /* Used for avatar, avatar badge, and avatar group count */
2194
- --pont-avatar-width-ring: var(--pont-sem-width-ring-whitespace);
2195
- --pont-avatar-color-ring: hsl(var(--pont-sem-color-ring-whitespace));
3739
+ /* * INVALID * */
3740
+ /* TYPOGRAPHY */
3741
+ --pont-badge-destructive-typography-color-invalid: hsl(
3742
+ var(--pont-sem-color-text-destructive)
3743
+ );
2196
3744
 
2197
- /* Used for icons inside avatar group count */
2198
- --pont-avatar-icon-space-size: var(--pont-sem-space-icon-size);
2199
- --pont-avatar-icon-space-size-sm: var(--pont-sem-space-icon-size-xs);
2200
- --pont-avatar-icon-space-size-lg: var(--pont-sem-space-icon-size-lg);
2201
- }
3745
+ /* BACKGROUND */
3746
+ --pont-badge-destructive-bg-color-invalid: hsl(
3747
+ var(--pont-sem-color-bg-fill-destructive-secondary)
3748
+ );
2202
3749
 
2203
- /*
2204
- * --------------------------------------------------
2205
- * AVATAR BADGE
2206
- * --------------------------------------------------
2207
- */
3750
+ /* BORDER */
3751
+ --pont-badge-destructive-border-style-invalid: var(
3752
+ --pont-ref-border-style-solid
3753
+ );
3754
+ --pont-badge-destructive-border-color-invalid: hsl(
3755
+ var(--pont-sem-color-border-invalid)
3756
+ );
3757
+ --pont-badge-destructive-border-width-t-invalid: var(--pont-sem-width-border);
3758
+ --pont-badge-destructive-border-width-r-invalid: var(--pont-sem-width-border);
3759
+ --pont-badge-destructive-border-width-b-invalid: var(--pont-sem-width-border);
3760
+ --pont-badge-destructive-border-width-l-invalid: var(--pont-sem-width-border);
2208
3761
 
2209
- :root {
2210
- --pont-avatar-badge-space-size: var(--pont-sem-space-indicator-size-xs);
2211
- --pont-avatar-badge-space-size-sm: var(--pont-sem-space-indicator-size-2xs);
2212
- --pont-avatar-badge-space-size-lg: var(--pont-sem-space-indicator-size-sm);
3762
+ --pont-badge-destructive-outline-w-invalid: 0px;
3763
+ --pont-badge-destructive-outline-color-invalid: transparent;
3764
+ --pont-badge-destructive-outline-style-invalid: var(
3765
+ --pont-ref-border-outline-style-none
3766
+ );
3767
+ --pont-badge-destructive-outline-offset-invalid: 0px;
2213
3768
 
2214
- --pont-avatar-badge-color-text: hsl(var(--pont-sem-color-text-brand-on-fill));
3769
+ /* EFFECT */
3770
+ --pont-badge-destructive-effect-shadow-invalid: var(
3771
+ --pont-ref-effect-shadow-none
3772
+ );
3773
+ --pont-badge-destructive-effect-inset-shadow-invalid: inset
3774
+ var(--pont-ref-effect-shadow-none);
3775
+ --pont-badge-destructive-effect-inset-ring-invalid: inset
3776
+ var(--pont-ref-effect-shadow-none);
2215
3777
 
2216
- --pont-avatar-badge-color-bg: hsl(var(--pont-sem-color-bg-fill-brand));
3778
+ --pont-badge-destructive-effect-ring-offset-w-invalid: 0px;
3779
+ --pont-badge-destructive-effect-ring-offset-color-invalid: hsl(
3780
+ var(--pont-sem-color-bg)
3781
+ );
3782
+ --pont-badge-destructive-effect-ring-offset-invalid: 0 0 0
3783
+ var(--pont-badge-destructive-effect-ring-offset-w-invalid)
3784
+ var(--pont-badge-destructive-effect-ring-offset-color-invalid);
2217
3785
 
2218
- --pont-avatar-badge-radius: var(--pont-sem-radius-indicator);
3786
+ --pont-badge-destructive-effect-ring-w-invalid: var(--pont-sem-width-ring);
3787
+ --pont-badge-destructive-effect-ring-color-invalid: hsl(
3788
+ var(--pont-sem-color-ring-destructive)
3789
+ );
3790
+ --pont-badge-destructive-effect-ring-invalid: 0 0 0
3791
+ calc(
3792
+ var(--pont-badge-destructive-effect-ring-w-invalid) +
3793
+ var(--pont-badge-destructive-effect-ring-offset-w-invalid)
3794
+ )
3795
+ var(--pont-badge-destructive-effect-ring-color-invalid);
2219
3796
 
2220
- --pont-avatar-badge-icon-space-size: var(--pont-sem-space-icon-size-3xs);
2221
- --pont-avatar-badge-icon-space-size-lg: var(--pont-sem-space-icon-size-2xs);
3797
+ --pont-badge-destructive-effect-opacity-invalid: 100%;
2222
3798
  }
2223
3799
 
2224
- /*
2225
- * ===========================================================================
2226
- * BADGE COMPONENT TOKENS
2227
- * pont-badge-*
2228
- * ===========================================================================
2229
- */
2230
-
2231
- /*
2232
- * --------------------------------------------------
2233
- * COMMON TOKENS
2234
- * --------------------------------------------------
2235
- */
3800
+ /* * -------- LINK -------- * */
2236
3801
 
2237
3802
  :root {
2238
- --pont-badge-font-family: var(--pont-sem-font-family-default);
3803
+ /* TYPOGRAPHY */
3804
+ --pont-badge-link-typography-color: hsl(var(--pont-sem-color-text-brand));
3805
+
3806
+ /* BACKGROUND */
3807
+ --pont-badge-link-bg-color: transparent;
3808
+
3809
+ /* BORDER */
3810
+ --pont-badge-link-border-style: var(--pont-ref-border-style-solid);
3811
+ --pont-badge-link-border-color: transparent;
3812
+ --pont-badge-link-border-width-t: var(--pont-sem-width-border);
3813
+ --pont-badge-link-border-width-r: var(--pont-sem-width-border);
3814
+ --pont-badge-link-border-width-b: var(--pont-sem-width-border);
3815
+ --pont-badge-link-border-width-l: var(--pont-sem-width-border);
3816
+
3817
+ --pont-badge-link-outline-w: 0px;
3818
+ --pont-badge-link-outline-color: transparent;
3819
+ --pont-badge-link-outline-style: var(--pont-ref-border-outline-style-none);
3820
+ --pont-badge-link-outline-offset: 0px;
3821
+
3822
+ /* EFFECT */
3823
+ --pont-badge-link-effect-shadow: var(--pont-ref-effect-shadow-none);
3824
+ --pont-badge-link-effect-inset-shadow: inset
3825
+ var(--pont-ref-effect-shadow-none);
3826
+ --pont-badge-link-effect-inset-ring: inset var(--pont-ref-effect-shadow-none);
3827
+
3828
+ --pont-badge-link-effect-ring-offset-w: 0px;
3829
+ --pont-badge-link-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
3830
+ --pont-badge-link-effect-ring-offset: 0 0 0
3831
+ var(--pont-badge-link-effect-ring-offset-w)
3832
+ var(--pont-badge-link-effect-ring-offset-color);
3833
+
3834
+ --pont-badge-link-effect-ring-w: 0px;
3835
+ --pont-badge-link-effect-ring-color: currentColor;
3836
+ --pont-badge-link-effect-ring: 0 0 0
3837
+ calc(
3838
+ var(--pont-badge-link-effect-ring-w) +
3839
+ var(--pont-badge-link-effect-ring-offset-w)
3840
+ )
3841
+ var(--pont-badge-link-effect-ring-color);
2239
3842
 
2240
- --pont-badge-space-gap: var(--pont-sem-space-indicator-gap);
2241
- --pont-badge-space-px: var(--pont-sem-space-indicator-px);
2242
- --pont-badge-space-px-has-icon: var(--pont-sem-space-indicator-px-has-icon);
2243
- --pont-badge-space-py: var(--pont-sem-space-indicator-py);
3843
+ /* * HOVER * */
3844
+ /* TYPOGRAPHY */
3845
+ --pont-badge-link-typography-color-hover: hsl(
3846
+ var(--pont-sem-color-text-brand)
3847
+ );
2244
3848
 
2245
- --pont-badge-radius: var(--pont-sem-radius-indicator);
2246
- --pont-badge-width-border: var(--pont-sem-width-border);
2247
- --pont-badge-color-border: hsl(var(--pont-sem-color-border-transparent));
3849
+ --pont-badge-link-typography-decoration-line-hover: var(
3850
+ --pont-ref-typography-decoration-line-underline
3851
+ );
3852
+ --pont-badge-link-typography-decoration-color-hover: var(
3853
+ --pont-sem-typography-decoration-color-default
3854
+ );
3855
+ --pont-badge-link-typography-decoration-style-hover: var(
3856
+ --pont-sem-typography-decoration-style-default
3857
+ );
3858
+ --pont-badge-link-typography-decoration-thickness-hover: var(
3859
+ --pont-sem-typography-decoration-thickness-default
3860
+ );
3861
+ --pont-badge-link-typography-underline-offset-hover: 4px;
2248
3862
 
2249
- --pont-badge-font-size: var(--pont-sem-font-indicator-size);
2250
- --pont-badge-font-line-height: var(--pont-sem-font-indicator-line-height);
2251
- --pont-badge-font-weight: var(--pont-sem-font-indicator-weight);
3863
+ /* BACKGROUND */
3864
+ --pont-badge-link-bg-color-hover: transparent;
2252
3865
 
2253
- --pont-badge-motion-fn: var(--pont-sem-motion-fn-default);
2254
- --pont-badge-motion-duration: var(--pont-sem-motion-duration-default);
3866
+ /* BORDER */
3867
+ --pont-badge-link-border-style-hover: var(--pont-ref-border-style-solid);
3868
+ --pont-badge-link-border-color-hover: transparent;
3869
+ --pont-badge-link-border-width-t-hover: var(--pont-sem-width-border);
3870
+ --pont-badge-link-border-width-r-hover: var(--pont-sem-width-border);
3871
+ --pont-badge-link-border-width-b-hover: var(--pont-sem-width-border);
3872
+ --pont-badge-link-border-width-l-hover: var(--pont-sem-width-border);
2255
3873
 
2256
- --pont-badge-color-border-focus: hsl(var(--pont-sem-color-border-focus));
2257
- --pont-badge-color-ring-focus: hsl(var(--pont-sem-color-ring-focus));
2258
- --pont-badge-width-ring-focus: var(--pont-sem-width-ring-focus);
3874
+ --pont-badge-link-outline-w-hover: 0px;
3875
+ --pont-badge-link-outline-color-hover: transparent;
3876
+ --pont-badge-link-outline-style-hover: var(
3877
+ --pont-ref-border-outline-style-none
3878
+ );
3879
+ --pont-badge-link-outline-offset-hover: 0px;
2259
3880
 
2260
- --pont-badge-color-border-invalid: hsl(var(--pont-sem-color-border-invalid));
2261
- --pont-badge-width-ring-invalid: var(--pont-sem-width-ring);
2262
- --pont-badge-color-ring-invalid: hsl(var(--pont-sem-color-ring-destructive));
3881
+ /* EFFECT */
3882
+ --pont-badge-link-effect-shadow-hover: var(--pont-ref-effect-shadow-none);
3883
+ --pont-badge-link-effect-inset-shadow-hover: inset
3884
+ var(--pont-ref-effect-shadow-none);
3885
+ --pont-badge-link-effect-inset-ring-hover: inset
3886
+ var(--pont-ref-effect-shadow-none);
2263
3887
 
2264
- --pont-badge-icon-space-size: var(--pont-sem-space-icon-size-xs);
2265
- }
3888
+ --pont-badge-link-effect-ring-offset-w-hover: 0px;
3889
+ --pont-badge-link-effect-ring-offset-color-hover: hsl(
3890
+ var(--pont-sem-color-bg)
3891
+ );
3892
+ --pont-badge-link-effect-ring-offset-hover: 0 0 0
3893
+ var(--pont-badge-link-effect-ring-offset-w-hover)
3894
+ var(--pont-badge-link-effect-ring-offset-color-hover);
2266
3895
 
2267
- /*
2268
- * --------------------------------------------------
2269
- * VARIANT TOKENS
2270
- * --------------------------------------------------
2271
- */
3896
+ --pont-badge-link-effect-ring-w-hover: 0px;
3897
+ --pont-badge-link-effect-ring-color-hover: currentColor;
3898
+ --pont-badge-link-effect-ring-hover: 0 0 0
3899
+ calc(
3900
+ var(--pont-badge-link-effect-ring-w-hover) +
3901
+ var(--pont-badge-link-effect-ring-offset-w-hover)
3902
+ )
3903
+ var(--pont-badge-link-effect-ring-color-hover);
2272
3904
 
2273
- :root {
2274
- /* * DEFAULT * */
2275
- --pont-badge-default-color-text: hsl(var(--pont-sem-color-text-brand-on-fill));
2276
- --pont-badge-default-color-bg: hsl(var(--pont-sem-color-bg-fill-brand));
3905
+ --pont-badge-link-effect-opacity-hover: 100%;
2277
3906
 
2278
- --pont-badge-default-color-bg-hover: hsl(
2279
- var(--pont-sem-color-bg-fill-brand-hover)
3907
+ /* * FOCUS * */
3908
+ /* TYPOGRAPHY */
3909
+ --pont-badge-link-typography-color-focus: hsl(
3910
+ var(--pont-sem-color-text-brand)
2280
3911
  );
2281
3912
 
2282
- /* * SECONDARY * */
2283
- --pont-badge-secondary-color-text: hsl(
2284
- var(--pont-sem-color-text-secondary-on-fill)
2285
- );
2286
- --pont-badge-secondary-color-bg: hsl(var(--pont-sem-color-bg-fill-secondary));
3913
+ /* BACKGROUND */
3914
+ --pont-badge-link-bg-color-focus: transparent;
2287
3915
 
2288
- --pont-badge-secondary-color-bg-hover: hsl(
2289
- var(--pont-sem-color-bg-fill-secondary-hover)
3916
+ /* BORDER */
3917
+ --pont-badge-link-border-style-focus: var(--pont-ref-border-style-solid);
3918
+ --pont-badge-link-border-color-focus: hsl(var(--pont-sem-color-border-focus));
3919
+ --pont-badge-link-border-width-t-focus: var(--pont-sem-width-border);
3920
+ --pont-badge-link-border-width-r-focus: var(--pont-sem-width-border);
3921
+ --pont-badge-link-border-width-b-focus: var(--pont-sem-width-border);
3922
+ --pont-badge-link-border-width-l-focus: var(--pont-sem-width-border);
3923
+
3924
+ --pont-badge-link-outline-w-focus: 0px;
3925
+ --pont-badge-link-outline-color-focus: transparent;
3926
+ --pont-badge-link-outline-style-focus: var(
3927
+ --pont-ref-border-outline-style-none
2290
3928
  );
3929
+ --pont-badge-link-outline-offset-focus: 0px;
2291
3930
 
2292
- /* * OUTLINE * */
2293
- --pont-badge-outline-color-text: hsl(var(--pont-sem-color-text));
2294
- --pont-badge-outline-color-border: hsl(var(--pont-sem-color-border));
3931
+ /* EFFECT */
3932
+ --pont-badge-link-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
3933
+ --pont-badge-link-effect-inset-shadow-focus: inset
3934
+ var(--pont-ref-effect-shadow-none);
3935
+ --pont-badge-link-effect-inset-ring-focus: inset
3936
+ var(--pont-ref-effect-shadow-none);
2295
3937
 
2296
- --pont-badge-outline-color-text-hover: hsl(
2297
- var(--pont-sem-color-text-secondary-on-fill)
3938
+ --pont-badge-link-effect-ring-offset-w-focus: 0px;
3939
+ --pont-badge-link-effect-ring-offset-color-focus: hsl(
3940
+ var(--pont-sem-color-bg)
2298
3941
  );
2299
- --pont-badge-outline-color-bg-hover: hsl(
2300
- var(--pont-sem-color-bg-fill-secondary)
3942
+ --pont-badge-link-effect-ring-offset-focus: 0 0 0
3943
+ var(--pont-badge-link-effect-ring-offset-w-focus)
3944
+ var(--pont-badge-link-effect-ring-offset-color-focus);
3945
+
3946
+ --pont-badge-link-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
3947
+ --pont-badge-link-effect-ring-color-focus: hsl(
3948
+ var(--pont-sem-color-ring-focus)
2301
3949
  );
3950
+ --pont-badge-link-effect-ring-focus: 0 0 0
3951
+ calc(
3952
+ var(--pont-badge-link-effect-ring-w-focus) +
3953
+ var(--pont-badge-link-effect-ring-offset-w-focus)
3954
+ )
3955
+ var(--pont-badge-link-effect-ring-color-focus);
2302
3956
 
2303
- /* * GHOST * */
2304
- --pont-badge-ghost-color-text-hover: hsl(
2305
- var(--pont-sem-color-text-secondary-on-fill)
3957
+ --pont-badge-link-effect-opacity-focus: 100%;
3958
+
3959
+ /* * INVALID * */
3960
+ /* TYPOGRAPHY */
3961
+ --pont-badge-link-typography-color-invalid: hsl(
3962
+ var(--pont-sem-color-text-brand)
2306
3963
  );
2307
- --pont-badge-ghost-color-bg-hover: hsl(var(--pont-sem-color-bg-fill-secondary));
2308
3964
 
2309
- /* * DESTRUCTIVE * */
2310
- --pont-badge-destructive-color-text: hsl(
2311
- var(--pont-sem-color-text-destructive-secondary-on-fill)
3965
+ /* BACKGROUND */
3966
+ --pont-badge-link-bg-color-invalid: transparent;
3967
+
3968
+ /* BORDER */
3969
+ --pont-badge-link-border-style-invalid: var(--pont-ref-border-style-solid);
3970
+ --pont-badge-link-border-color-invalid: hsl(
3971
+ var(--pont-sem-color-border-invalid)
2312
3972
  );
2313
- --pont-badge-destructive-color-bg: hsl(
2314
- var(--pont-sem-color-bg-fill-destructive-secondary)
3973
+ --pont-badge-link-border-width-t-invalid: var(--pont-sem-width-border);
3974
+ --pont-badge-link-border-width-r-invalid: var(--pont-sem-width-border);
3975
+ --pont-badge-link-border-width-b-invalid: var(--pont-sem-width-border);
3976
+ --pont-badge-link-border-width-l-invalid: var(--pont-sem-width-border);
3977
+
3978
+ --pont-badge-link-outline-w-invalid: 0px;
3979
+ --pont-badge-link-outline-color-invalid: transparent;
3980
+ --pont-badge-link-outline-style-invalid: var(
3981
+ --pont-ref-border-outline-style-none
2315
3982
  );
3983
+ --pont-badge-link-outline-offset-invalid: 0px;
2316
3984
 
2317
- --pont-badge-destructive-color-bg-hover: hsl(
2318
- var(--pont-sem-color-bg-fill-destructive-secondary-hover)
3985
+ /* EFFECT */
3986
+ --pont-badge-link-effect-shadow-invalid: var(--pont-ref-effect-shadow-none);
3987
+ --pont-badge-link-effect-inset-shadow-invalid: inset
3988
+ var(--pont-ref-effect-shadow-none);
3989
+ --pont-badge-link-effect-inset-ring-invalid: inset
3990
+ var(--pont-ref-effect-shadow-none);
3991
+
3992
+ --pont-badge-link-effect-ring-offset-w-invalid: 0px;
3993
+ --pont-badge-link-effect-ring-offset-color-invalid: hsl(
3994
+ var(--pont-sem-color-bg)
2319
3995
  );
3996
+ --pont-badge-link-effect-ring-offset-invalid: 0 0 0
3997
+ var(--pont-badge-link-effect-ring-offset-w-invalid)
3998
+ var(--pont-badge-link-effect-ring-offset-color-invalid);
2320
3999
 
2321
- --pont-badge-destructive-color-ring-focus: hsl(
4000
+ --pont-badge-link-effect-ring-w-invalid: var(--pont-sem-width-ring);
4001
+ --pont-badge-link-effect-ring-color-invalid: hsl(
2322
4002
  var(--pont-sem-color-ring-destructive)
2323
4003
  );
4004
+ --pont-badge-link-effect-ring-invalid: 0 0 0
4005
+ calc(
4006
+ var(--pont-badge-link-effect-ring-w-invalid) +
4007
+ var(--pont-badge-link-effect-ring-offset-w-invalid)
4008
+ )
4009
+ var(--pont-badge-link-effect-ring-color-invalid);
2324
4010
 
2325
- /* * LINK * */
2326
- --pont-badge-link-color-text: hsl(var(--pont-sem-color-text-brand));
4011
+ --pont-badge-link-effect-opacity-invalid: 100%;
2327
4012
  }
2328
4013
 
2329
4014
  /*
@@ -5135,7 +6820,8 @@
5135
6820
  */
5136
6821
 
5137
6822
  :root {
5138
- --pont-spinner-space-size: var(--pont-sem-space-icon-size);
6823
+ --pont-spinner-sizing-w: var(--pont-sem-space-icon-size);
6824
+ --pont-spinner-sizing-h: var(--pont-sem-space-icon-size);
5139
6825
 
5140
6826
  --pont-spinner-motion-duration: var(--pont-sem-motion-duration-slow);
5141
6827
  --pont-spinner-motion-fn: var(--pont-ref-motion-fn-linear);
@@ -6122,29 +7808,61 @@ pont-callout-action {
6122
7808
 
6123
7809
  pont-avatar {
6124
7810
  flex-shrink: 0;
6125
- -webkit-user-select: none;
6126
- -moz-user-select: none;
6127
- user-select: none;
6128
7811
  }
6129
7812
 
6130
- pont-avatar > [data-slot="avatar"] {
7813
+ [data-pont-avatar] {
6131
7814
  display: flex;
6132
7815
  position: relative;
6133
7816
 
6134
- width: var(--pont-avatar-space-size);
6135
- height: var(--pont-avatar-space-size);
7817
+ width: var(--pont-avatar-sizing-w);
7818
+ height: var(--pont-avatar-sizing-h);
7819
+
7820
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
7821
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
7822
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
7823
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
7824
+
7825
+ -webkit-user-select: none;
7826
+
7827
+ -moz-user-select: none;
7828
+
7829
+ user-select: none;
7830
+ }
7831
+
7832
+ /* * SIZES * */
6136
7833
 
6137
- border-radius: var(--pont-avatar-radius);
7834
+ [data-pont-avatar][data-size="sm"] {
7835
+ width: var(--pont-avatar-sizing-w-sm);
7836
+ height: var(--pont-avatar-sizing-h-sm);
6138
7837
  }
6139
7838
 
6140
- pont-avatar > [data-slot="avatar"][data-size="sm"] {
6141
- width: var(--pont-avatar-space-size-sm);
6142
- height: var(--pont-avatar-space-size-sm);
7839
+ [data-pont-avatar][data-size="lg"] {
7840
+ width: var(--pont-avatar-sizing-w-lg);
7841
+ height: var(--pont-avatar-sizing-h-lg);
6143
7842
  }
6144
7843
 
6145
- pont-avatar > [data-slot="avatar"][data-size="lg"] {
6146
- width: var(--pont-avatar-space-size-lg);
6147
- height: var(--pont-avatar-space-size-lg);
7844
+ /* * -------- AVATAR... AFTER -------- * */
7845
+
7846
+ [data-pont-avatar]::after {
7847
+ content: "";
7848
+
7849
+ position: absolute;
7850
+ inset: 0;
7851
+
7852
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
7853
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
7854
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
7855
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
7856
+
7857
+ border-top-width: var(--pont-avatar-border-width-t);
7858
+ border-right-width: var(--pont-avatar-border-width-r);
7859
+ border-bottom-width: var(--pont-avatar-border-width-b);
7860
+ border-left-width: var(--pont-avatar-border-width-l);
7861
+
7862
+ border-color: var(--pont-avatar-border-color);
7863
+ border-style: var(--pont-avatar-border-style);
7864
+
7865
+ mix-blend-mode: var(--pont-avatar-effect-mix-blend);
6148
7866
  }
6149
7867
 
6150
7868
  /*
@@ -6158,12 +7876,18 @@ pont-avatar-image {
6158
7876
  height: 100%;
6159
7877
  }
6160
7878
 
6161
- pont-avatar-image > [data-slot="avatar-image"] {
6162
- aspect-ratio: 1 / 1;
7879
+ [data-pont-avatar-image] {
7880
+ aspect-ratio: var(--pont-avatar-image-layout-aspect);
6163
7881
  -o-object-fit: cover;
6164
7882
  object-fit: cover;
6165
7883
 
6166
- border-radius: var(--pont-avatar-radius);
7884
+ width: 100%;
7885
+ height: 100%;
7886
+
7887
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
7888
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
7889
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
7890
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
6167
7891
  }
6168
7892
 
6169
7893
  /*
@@ -6177,27 +7901,45 @@ pont-avatar-fallback {
6177
7901
  height: 100%;
6178
7902
  }
6179
7903
 
6180
- pont-avatar-fallback > [data-slot="avatar-fallback"] {
7904
+ [data-pont-avatar-fallback] {
6181
7905
  display: flex;
6182
7906
 
6183
- align-items: center;
6184
7907
  justify-content: center;
7908
+ align-items: center;
6185
7909
 
6186
7910
  width: 100%;
6187
7911
  height: 100%;
6188
7912
 
6189
- font-size: var(--pont-avatar-font-size);
6190
- line-height: var(--pont-avatar-font-line-height);
6191
- color: var(--pont-avatar-color-text);
7913
+ font-family: var(--pont-avatar-fallback-typography-font);
7914
+ font-size: var(--pont-avatar-fallback-typography-size);
7915
+ font-weight: var(--pont-avatar-fallback-typography-weight);
7916
+ letter-spacing: var(--pont-avatar-fallback-typography-tracking);
7917
+ line-height: var(--pont-avatar-fallback-typography-leading);
7918
+
7919
+ color: var(--pont-avatar-fallback-typography-color);
7920
+
7921
+ background-color: var(--pont-avatar-fallback-bg-color);
7922
+
7923
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
7924
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
7925
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
7926
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
7927
+ }
6192
7928
 
6193
- background-color: var(--pont-avatar-color-bg);
7929
+ /* * SIZES * */
6194
7930
 
6195
- border-radius: var(--pont-avatar-radius);
7931
+ [data-pont-avatar][data-size="sm"] [data-pont-avatar-fallback] {
7932
+ font-size: var(--pont-avatar-fallback-typography-size-sm);
7933
+ font-weight: var(--pont-avatar-fallback-typography-weight-sm);
7934
+ letter-spacing: var(--pont-avatar-fallback-typography-tracking-sm);
7935
+ line-height: var(--pont-avatar-fallback-typography-leading-sm);
6196
7936
  }
6197
7937
 
6198
- pont-avatar > [data-slot="avatar"][data-size="sm"] > pont-avatar-fallback > [data-slot="avatar-fallback"] {
6199
- font-size: var(--pont-avatar-font-size-sm);
6200
- line-height: var(--pont-avatar-font-line-height-sm);
7938
+ [data-pont-avatar][data-size="lg"] [data-pont-avatar-fallback] {
7939
+ font-size: var(--pont-avatar-fallback-typography-size-lg);
7940
+ font-weight: var(--pont-avatar-fallback-typography-weight-lg);
7941
+ letter-spacing: var(--pont-avatar-fallback-typography-tracking-lg);
7942
+ line-height: var(--pont-avatar-fallback-typography-leading-lg);
6201
7943
  }
6202
7944
 
6203
7945
  /*
@@ -6209,12 +7951,16 @@ pont-avatar > [data-slot="avatar"][data-size="sm"] > pont-avatar-fallback > [dat
6209
7951
  pont-avatar-badge {
6210
7952
  display: inline-flex;
6211
7953
  position: absolute;
6212
- right: 0;
6213
- bottom: 0;
6214
- z-index: 10;
6215
7954
 
6216
- width: var(--pont-avatar-badge-space-size);
6217
- height: var(--pont-avatar-badge-space-size);
7955
+ top: var(--pont-avatar-badge-layout-inset-t);
7956
+ right: var(--pont-avatar-badge-layout-inset-r);
7957
+ bottom: var(--pont-avatar-badge-layout-inset-b);
7958
+ left: var(--pont-avatar-badge-layout-inset-l);
7959
+
7960
+ z-index: var(--pont-avatar-badge-layout-z);
7961
+
7962
+ justify-content: center;
7963
+ align-items: center;
6218
7964
 
6219
7965
  -webkit-user-select: none;
6220
7966
 
@@ -6223,52 +7969,63 @@ pont-avatar-badge {
6223
7969
  user-select: none;
6224
7970
  }
6225
7971
 
6226
- pont-avatar > [data-slot="avatar"][data-size="sm"] > pont-avatar-badge {
6227
- width: var(--pont-avatar-badge-space-size-sm);
6228
- height: var(--pont-avatar-badge-space-size-sm);
6229
- }
6230
-
6231
- pont-avatar > [data-slot="avatar"][data-size="lg"] > pont-avatar-badge {
6232
- width: var(--pont-avatar-badge-space-size-lg);
6233
- height: var(--pont-avatar-badge-space-size-lg);
6234
- }
6235
-
6236
- pont-avatar-badge > [data-slot="avatar-badge"] {
7972
+ [data-pont-avatar-badge] {
6237
7973
  display: flex;
6238
- align-items: center;
7974
+
6239
7975
  justify-content: center;
7976
+ align-items: center;
6240
7977
 
6241
- width: 100%;
6242
- height: 100%;
7978
+ width: var(--pont-avatar-badge-sizing-w);
7979
+ height: var(--pont-avatar-badge-sizing-h);
6243
7980
 
6244
- color: var(--pont-avatar-badge-color-text);
7981
+ color: var(--pont-avatar-badge-typography-color);
6245
7982
 
6246
- background-color: var(--pont-avatar-badge-color-bg);
7983
+ background-color: var(--pont-avatar-badge-bg-color);
6247
7984
 
6248
- border-radius: var(--pont-avatar-badge-radius);
7985
+ border-top-left-radius: var(--pont-avatar-badge-border-radius-tl);
7986
+ border-top-right-radius: var(--pont-avatar-badge-border-radius-tr);
7987
+ border-bottom-right-radius: var(--pont-avatar-badge-border-radius-br);
7988
+ border-bottom-left-radius: var(--pont-avatar-badge-border-radius-bl);
6249
7989
 
6250
7990
  box-shadow:
6251
- 0 0 rgb(0 0 0),
6252
- 0 0 rgb(0 0 0),
6253
- 0 0 rgb(0 0 0),
6254
- 0 0 0 var(--pont-avatar-width-ring) var(--pont-avatar-color-ring),
6255
- 0 0 rgb(0 0 0);
7991
+ var(--pont-avatar-badge-effect-inset-shadow),
7992
+ var(--pont-avatar-badge-effect-inset-ring),
7993
+ var(--pont-avatar-badge-effect-ring-offset),
7994
+ var(--pont-avatar-badge-effect-ring), var(--pont-avatar-badge-effect-shadow);
7995
+
7996
+ background-blend-mode: var(--pont-avatar-badge-effect-bg-blend);
6256
7997
  }
6257
7998
 
6258
- /* * AVATAR BADGE ICON CHILD * */
7999
+ /* * SIZES * */
6259
8000
 
6260
- pont-avatar > [data-slot="avatar"][data-size="default"] > pont-avatar-badge > [data-slot="avatar-badge"] > svg {
6261
- width: var(--pont-avatar-badge-icon-space-size);
6262
- height: var(--pont-avatar-badge-icon-space-size);
8001
+ [data-pont-avatar][data-size="sm"] [data-pont-avatar-badge] {
8002
+ width: var(--pont-avatar-badge-sizing-w-sm);
8003
+ height: var(--pont-avatar-badge-sizing-h-sm);
6263
8004
  }
6264
8005
 
6265
- pont-avatar > [data-slot="avatar"][data-size="sm"] > pont-avatar-badge > [data-slot="avatar-badge"] > svg {
6266
- display: none;
8006
+ [data-pont-avatar][data-size="lg"] [data-pont-avatar-badge] {
8007
+ width: var(--pont-avatar-badge-sizing-w-lg);
8008
+ height: var(--pont-avatar-badge-sizing-h-lg);
6267
8009
  }
6268
8010
 
6269
- pont-avatar > [data-slot="avatar"][data-size="lg"] > pont-avatar-badge > [data-slot="avatar-badge"] > svg {
6270
- width: var(--pont-avatar-badge-icon-space-size-lg);
6271
- height: var(--pont-avatar-badge-icon-space-size-lg);
8011
+ /* * -------- AVATAR BADGE > ICON -------- * */
8012
+
8013
+ [data-pont-avatar-badge] > svg {
8014
+ width: var(--pont-avatar-badge-icon-sizing-w);
8015
+ height: var(--pont-avatar-badge-icon-sizing-h);
8016
+ }
8017
+
8018
+ /* * SIZES * */
8019
+
8020
+ /* Note: shadcn hides the avatar badge icon for the small size */
8021
+ [data-pont-avatar][data-size="sm"] [data-pont-avatar-badge] > svg {
8022
+ width: var(--pont-avatar-badge-icon-sizing-w-sm);
8023
+ height: var(--pont-avatar-badge-icon-sizing-h-sm);
8024
+ }
8025
+
8026
+ [data-pont-avatar][data-size="lg"] [data-pont-avatar-badge] > svg {
8027
+ width: var(--pont-avatar-badge-icon-sizing-w-lg);
8028
+ height: var(--pont-avatar-badge-icon-sizing-h-lg);
6272
8029
  }
6273
8030
 
6274
8031
  /*
@@ -6277,22 +8034,24 @@ pont-avatar > [data-slot="avatar"][data-size="lg"] > pont-avatar-badge > [data-s
6277
8034
  * --------------------------------------------------
6278
8035
  */
6279
8036
 
6280
- pont-avatar-group > [data-slot="avatar-group"] {
8037
+ [data-pont-avatar-group] {
6281
8038
  display: flex;
6282
8039
  }
6283
8040
 
6284
- pont-avatar-group > [data-slot="avatar-group"] > :not(:last-child) {
8041
+ [data-pont-avatar-group] > :not(:last-child) {
8042
+ margin-block-start: 0;
8043
+ margin-block-end: var(--pont-avatar-group-spacing-y);
6285
8044
  margin-inline-start: 0;
6286
- margin-inline-end: var(--pont-avatar-space-me-in-group);
8045
+ margin-inline-end: var(--pont-avatar-group-spacing-x);
6287
8046
  }
6288
8047
 
6289
- pont-avatar-group > [data-slot="avatar-group"] > pont-avatar > [data-slot="avatar"] {
8048
+ /* * -------- AVATAR GROUP > AVATAR -------- * */
8049
+
8050
+ [data-pont-avatar-group] > pont-avatar > [data-pont-avatar] {
6290
8051
  box-shadow:
6291
- 0 0 rgb(0 0 0),
6292
- 0 0 rgb(0 0 0),
6293
- 0 0 rgb(0 0 0),
6294
- 0 0 0 var(--pont-avatar-width-ring) var(--pont-avatar-color-ring),
6295
- 0 0 rgb(0 0 0);
8052
+ var(--pont-avatar-effect-inset-shadow),
8053
+ var(--pont-avatar-effect-inset-ring), var(--pont-avatar-effect-ring-offset),
8054
+ var(--pont-avatar-effect-ring), var(--pont-avatar-effect-shadow);
6296
8055
  }
6297
8056
 
6298
8057
  /*
@@ -6305,60 +8064,82 @@ pont-avatar-group-count {
6305
8064
  flex-shrink: 0;
6306
8065
  }
6307
8066
 
6308
- pont-avatar-group-count > [data-slot="avatar-group-count"] {
8067
+ [data-pont-avatar-group-count] {
6309
8068
  display: flex;
6310
8069
  position: relative;
6311
8070
 
6312
- align-items: center;
6313
8071
  justify-content: center;
8072
+ align-items: center;
6314
8073
 
6315
- width: var(--pont-avatar-space-size);
6316
- height: var(--pont-avatar-space-size);
8074
+ width: var(--pont-avatar-group-count-sizing-w);
8075
+ height: var(--pont-avatar-group-count-sizing-h);
6317
8076
 
6318
- font-size: var(--pont-avatar-font-size);
6319
- line-height: var(--pont-avatar-font-line-height);
6320
- color: var(--pont-avatar-color-text);
8077
+ font-family: var(--pont-avatar-group-count-typography-font);
8078
+ font-size: var(--pont-avatar-group-count-typography-size);
8079
+ font-weight: var(--pont-avatar-group-count-typography-weight);
8080
+ letter-spacing: var(--pont-avatar-group-count-typography-tracking);
8081
+ line-height: var(--pont-avatar-group-count-typography-leading);
6321
8082
 
6322
- background-color: var(--pont-avatar-color-bg);
8083
+ color: var(--pont-avatar-group-count-typography-color);
6323
8084
 
6324
- border-radius: var(--pont-avatar-radius);
8085
+ background-color: var(--pont-avatar-group-count-bg-color);
8086
+
8087
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
8088
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
8089
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
8090
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
6325
8091
 
6326
8092
  box-shadow:
6327
- 0 0 rgb(0 0 0),
6328
- 0 0 rgb(0 0 0),
6329
- 0 0 rgb(0 0 0),
6330
- 0 0 0 var(--pont-avatar-width-ring) var(--pont-avatar-color-ring),
6331
- 0 0 rgb(0 0 0);
8093
+ var(--pont-avatar-effect-inset-shadow),
8094
+ var(--pont-avatar-effect-inset-ring), var(--pont-avatar-effect-ring-offset),
8095
+ var(--pont-avatar-effect-ring), var(--pont-avatar-effect-shadow);
6332
8096
  }
6333
8097
 
6334
- pont-avatar-group > [data-slot="avatar-group"]:has(> pont-avatar > [data-slot="avatar"][data-size="sm"]) > pont-avatar-group-count > [data-slot="avatar-group-count"] {
6335
- width: var(--pont-avatar-space-size-sm);
6336
- height: var(--pont-avatar-space-size-sm);
8098
+ /* * SIZES * */
8099
+
8100
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="sm"])
8101
+ [data-pont-avatar-group-count] {
8102
+ width: var(--pont-avatar-group-count-sizing-w-sm);
8103
+ height: var(--pont-avatar-group-count-sizing-h-sm);
6337
8104
 
6338
- font-size: var(--pont-avatar-font-size-sm);
6339
- line-height: var(--pont-avatar-font-line-height-sm);
8105
+ font-size: var(--pont-avatar-group-count-typography-size-sm);
8106
+ font-weight: var(--pont-avatar-group-count-typography-weight-sm);
8107
+ letter-spacing: var(--pont-avatar-group-count-typography-tracking-sm);
8108
+ line-height: var(--pont-avatar-group-count-typography-leading-sm);
6340
8109
  }
6341
8110
 
6342
- pont-avatar-group > [data-slot="avatar-group"]:has(> pont-avatar > [data-slot="avatar"][data-size="lg"]) > pont-avatar-group-count > [data-slot="avatar-group-count"] {
6343
- width: var(--pont-avatar-space-size-lg);
6344
- height: var(--pont-avatar-space-size-lg);
8111
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="lg"])
8112
+ [data-pont-avatar-group-count] {
8113
+ width: var(--pont-avatar-group-count-sizing-w-lg);
8114
+ height: var(--pont-avatar-group-count-sizing-h-lg);
8115
+
8116
+ font-size: var(--pont-avatar-group-count-typography-size-lg);
8117
+ font-weight: var(--pont-avatar-group-count-typography-weight-lg);
8118
+ letter-spacing: var(--pont-avatar-group-count-typography-tracking-lg);
8119
+ line-height: var(--pont-avatar-group-count-typography-leading-lg);
6345
8120
  }
6346
8121
 
6347
- /* * AVATAR GROUP COUNT ICON CHILD * */
8122
+ /* * -------- AVATAR GROUP COUNT > ICON -------- * */
6348
8123
 
6349
- pont-avatar-group-count > [data-slot="avatar-group-count"] > svg {
6350
- width: var(--pont-avatar-icon-space-size);
6351
- height: var(--pont-avatar-icon-space-size);
8124
+ [data-pont-avatar-group-count] > svg {
8125
+ width: var(--pont-avatar-group-count-icon-sizing-w);
8126
+ height: var(--pont-avatar-group-count-icon-sizing-h);
6352
8127
  }
6353
8128
 
6354
- pont-avatar-group > [data-slot="avatar-group"]:has(> pont-avatar > [data-slot="avatar"][data-size="sm"]) > pont-avatar-group-count > [data-slot="avatar-group-count"] > svg {
6355
- width: var(--pont-avatar-icon-space-size-sm);
6356
- height: var(--pont-avatar-icon-space-size-sm);
8129
+ /* * SIZES * */
8130
+
8131
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="sm"])
8132
+ [data-pont-avatar-group-count]
8133
+ > svg {
8134
+ width: var(--pont-avatar-group-count-icon-sizing-w-sm);
8135
+ height: var(--pont-avatar-group-count-icon-sizing-h-sm);
6357
8136
  }
6358
8137
 
6359
- pont-avatar-group > [data-slot="avatar-group"]:has(> pont-avatar > [data-slot="avatar"][data-size="lg"]) > pont-avatar-group-count > [data-slot="avatar-group-count"] > svg {
6360
- width: var(--pont-avatar-icon-space-size-lg);
6361
- height: var(--pont-avatar-icon-space-size-lg);
8138
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="lg"])
8139
+ [data-pont-avatar-group-count]
8140
+ > svg {
8141
+ width: var(--pont-avatar-group-count-icon-sizing-w-lg);
8142
+ height: var(--pont-avatar-group-count-icon-sizing-h-lg);
6362
8143
  }
6363
8144
 
6364
8145
  /*
@@ -6375,67 +8156,78 @@ pont-avatar-group > [data-slot="avatar-group"]:has(> pont-avatar > [data-slot="a
6375
8156
 
6376
8157
  pont-badge {
6377
8158
  display: inline-flex;
8159
+
6378
8160
  flex-shrink: 0;
8161
+
8162
+ width: var(--pont-badge-sizing-w);
8163
+ height: var(--pont-badge-sizing-h);
6379
8164
  }
6380
8165
 
6381
- pont-badge > [data-slot='badge'] {
6382
- display: inline-flex;
6383
- align-items: center;
8166
+ [data-pont-badge] {
8167
+ display: flex;
8168
+ overflow: hidden;
8169
+
8170
+ -moz-column-gap: var(--pont-badge-layout-gap-x);
8171
+
8172
+ column-gap: var(--pont-badge-layout-gap-x);
8173
+ row-gap: var(--pont-badge-layout-gap-y);
6384
8174
  justify-content: center;
6385
- gap: var(--pont-badge-space-gap);
6386
- flex-shrink: 0;
6387
- padding-inline: var(--pont-badge-space-px);
6388
- padding-block: var(--pont-badge-space-py);
6389
- width: -moz-fit-content;
6390
- width: fit-content;
6391
- font-family: var(--pont-badge-font-family);
6392
- font-size: var(--pont-badge-font-size);
6393
- line-height: var(--pont-badge-font-line-height);
6394
- font-weight: var(--pont-badge-font-weight);
8175
+ align-items: center;
8176
+
8177
+ padding-top: var(--pont-badge-spacing-pt);
8178
+ padding-right: var(--pont-badge-spacing-pr);
8179
+ padding-bottom: var(--pont-badge-spacing-pb);
8180
+ padding-left: var(--pont-badge-spacing-pl);
8181
+
8182
+ width: var(--pont-badge-sizing-w);
8183
+ height: var(--pont-badge-sizing-h);
8184
+
8185
+ font-family: var(--pont-badge-typography-font);
8186
+ font-size: var(--pont-badge-typography-size);
8187
+ font-weight: var(--pont-badge-typography-weight);
8188
+ letter-spacing: var(--pont-badge-typography-tracking);
8189
+ line-height: var(--pont-badge-typography-leading);
8190
+
6395
8191
  white-space: nowrap;
6396
- border: var(--pont-badge-width-border) solid var(--pont-badge-color-border);
6397
- border-radius: var(--pont-badge-radius);
6398
- transition-property:
6399
- color, background-color, border-color, outline-color, text-decoration-color,
6400
- fill, stroke, box-shadow;
6401
- transition-timing-function: var(--pont-badge-motion-fn);
8192
+
8193
+ border-top-left-radius: var(--pont-badge-border-radius-tl);
8194
+ border-top-right-radius: var(--pont-badge-border-radius-tr);
8195
+ border-bottom-right-radius: var(--pont-badge-border-radius-br);
8196
+ border-bottom-left-radius: var(--pont-badge-border-radius-bl);
8197
+
8198
+ transition-property: var(--pont-badge-motion-property);
6402
8199
  transition-duration: var(--pont-badge-motion-duration);
6403
- overflow: hidden;
8200
+ transition-timing-function: var(--pont-badge-motion-fn);
6404
8201
  }
6405
8202
 
6406
- pont-badge > [data-slot='badge']:has(.pont-icon-inline-start) {
6407
- padding-left: var(--pont-badge-space-px-has-icon);
8203
+ [data-pont-badge]:has(.pont-icon-inline-start) {
8204
+ padding-top: var(--pont-badge-spacing-pt-has-icon-start);
8205
+ padding-right: var(--pont-badge-spacing-pr-has-icon-start);
8206
+ padding-bottom: var(--pont-badge-spacing-pb-has-icon-start);
8207
+ padding-left: var(--pont-badge-spacing-pl-has-icon-start);
6408
8208
  }
6409
8209
 
6410
- pont-badge > [data-slot='badge']:has(.pont-icon-inline-end) {
6411
- padding-right: var(--pont-badge-space-px-has-icon);
8210
+ [data-pont-badge]:has(.pont-icon-inline-end) {
8211
+ padding-top: var(--pont-badge-spacing-pt-has-icon-end);
8212
+ padding-right: var(--pont-badge-spacing-pr-has-icon-end);
8213
+ padding-bottom: var(--pont-badge-spacing-pb-has-icon-end);
8214
+ padding-left: var(--pont-badge-spacing-pl-has-icon-end);
6412
8215
  }
6413
8216
 
6414
- pont-badge > [data-slot='badge']:focus-visible {
6415
- border-color: var(--pont-badge-color-border-focus);
6416
- box-shadow:
6417
- 0 0 rgb(0 0 0),
6418
- 0 0 rgb(0 0 0),
6419
- 0 0 rgb(0 0 0),
6420
- 0 0 0 var(--pont-badge-width-ring-focus) var(--pont-badge-color-ring-focus),
6421
- 0 0 rgb(0 0 0);
8217
+ /* * -------- BADGE > ICON (& SPINNER) -------- * */
8218
+
8219
+ [data-pont-badge] > :is(svg, pont-spinner) {
8220
+ pointer-events: none;
6422
8221
  }
6423
8222
 
6424
- pont-badge > [data-slot='badge'][aria-invalid] {
6425
- border-color: var(--pont-badge-color-border-invalid);
6426
- box-shadow:
6427
- 0 0 rgb(0 0 0),
6428
- 0 0 rgb(0 0 0),
6429
- 0 0 rgb(0 0 0),
6430
- 0 0 0 var(--pont-badge-width-ring-invalid)
6431
- var(--pont-badge-color-ring-invalid),
6432
- 0 0 rgb(0 0 0);
8223
+ [data-pont-badge] > svg {
8224
+ width: var(--pont-badge-icon-sizing-w);
8225
+ height: var(--pont-badge-icon-sizing-h);
6433
8226
  }
6434
8227
 
6435
- pont-badge > [data-slot='badge'] svg {
6436
- width: var(--pont-badge-icon-space-size);
6437
- height: var(--pont-badge-icon-space-size);
6438
- pointer-events: none;
8228
+ [data-pont-badge] > pont-spinner {
8229
+ --pont-spinner-sizing-w: var(--pont-badge-icon-sizing-w);
8230
+ --pont-spinner-sizing-h: var(--pont-badge-icon-sizing-h);
6439
8231
  }
6440
8232
 
6441
8233
  /*
@@ -6444,77 +8236,666 @@ pont-badge > [data-slot='badge'] svg {
6444
8236
  * --------------------------------------------------
6445
8237
  */
6446
8238
 
6447
- /* * DEFAULT * */
8239
+ /* * -------- DEFAULT -------- * */
8240
+
8241
+ [data-pont-badge][data-variant="default"] {
8242
+ color: var(--pont-badge-default-typography-color);
8243
+
8244
+ background-color: var(--pont-badge-default-bg-color);
8245
+
8246
+ border-style: var(--pont-badge-default-border-style);
8247
+ border-color: var(--pont-badge-default-border-color);
8248
+ border-top-width: var(--pont-badge-default-border-width-t);
8249
+ border-right-width: var(--pont-badge-default-border-width-r);
8250
+ border-bottom-width: var(--pont-badge-default-border-width-b);
8251
+ border-left-width: var(--pont-badge-default-border-width-l);
6448
8252
 
6449
- pont-badge > [data-slot='badge'][data-variant='default'] {
6450
- color: var(--pont-badge-default-color-text);
6451
- background-color: var(--pont-badge-default-color-bg);
8253
+ outline-width: var(--pont-badge-default-outline-w);
8254
+ outline-color: var(--pont-badge-default-outline-color);
8255
+ outline-style: var(--pont-badge-default-outline-style);
8256
+ outline-offset: var(--pont-badge-default-outline-offset);
8257
+
8258
+ box-shadow:
8259
+ var(--pont-badge-default-effect-inset-shadow),
8260
+ var(--pont-badge-default-effect-inset-ring),
8261
+ var(--pont-badge-default-effect-ring-offset),
8262
+ var(--pont-badge-default-effect-ring),
8263
+ var(--pont-badge-default-effect-shadow);
6452
8264
  }
6453
8265
 
6454
- pont-badge > a[data-slot='badge'][data-variant='default']:hover {
6455
- background-color: var(--pont-badge-default-color-bg-hover);
8266
+ [data-pont-badge][data-variant="default"]:focus-visible {
8267
+ color: var(--pont-badge-default-typography-color-focus);
8268
+
8269
+ background-color: var(--pont-badge-default-bg-color-focus);
8270
+
8271
+ border-style: var(--pont-badge-default-border-style-focus);
8272
+ border-color: var(--pont-badge-default-border-color-focus);
8273
+ border-top-width: var(--pont-badge-default-border-width-t-focus);
8274
+ border-right-width: var(--pont-badge-default-border-width-r-focus);
8275
+ border-bottom-width: var(--pont-badge-default-border-width-b-focus);
8276
+ border-left-width: var(--pont-badge-default-border-width-l-focus);
8277
+
8278
+ outline-width: var(--pont-badge-default-outline-w-focus);
8279
+ outline-color: var(--pont-badge-default-outline-color-focus);
8280
+ outline-style: var(--pont-badge-default-outline-style-focus);
8281
+ outline-offset: var(--pont-badge-default-outline-offset-focus);
8282
+
8283
+ box-shadow:
8284
+ var(--pont-badge-default-effect-inset-shadow-focus),
8285
+ var(--pont-badge-default-effect-inset-ring-focus),
8286
+ var(--pont-badge-default-effect-ring-offset-focus),
8287
+ var(--pont-badge-default-effect-ring-focus),
8288
+ var(--pont-badge-default-effect-shadow-focus);
8289
+
8290
+ opacity: var(--pont-badge-default-effect-opacity-focus);
6456
8291
  }
6457
8292
 
6458
- /* * SECONDARY * */
8293
+ [data-pont-badge][data-variant="default"][aria-invalid] {
8294
+ color: var(--pont-badge-default-typography-color-invalid);
8295
+
8296
+ background-color: var(--pont-badge-default-bg-color-invalid);
8297
+
8298
+ border-style: var(--pont-badge-default-border-style-invalid);
8299
+ border-color: var(--pont-badge-default-border-color-invalid);
8300
+ border-top-width: var(--pont-badge-default-border-width-t-invalid);
8301
+ border-right-width: var(--pont-badge-default-border-width-r-invalid);
8302
+ border-bottom-width: var(--pont-badge-default-border-width-b-invalid);
8303
+ border-left-width: var(--pont-badge-default-border-width-l-invalid);
8304
+
8305
+ outline-width: var(--pont-badge-default-outline-w-invalid);
8306
+ outline-color: var(--pont-badge-default-outline-color-invalid);
8307
+ outline-style: var(--pont-badge-default-outline-style-invalid);
8308
+ outline-offset: var(--pont-badge-default-outline-offset-invalid);
8309
+
8310
+ box-shadow:
8311
+ var(--pont-badge-default-effect-inset-shadow-invalid),
8312
+ var(--pont-badge-default-effect-inset-ring-invalid),
8313
+ var(--pont-badge-default-effect-ring-offset-invalid),
8314
+ var(--pont-badge-default-effect-ring-invalid),
8315
+ var(--pont-badge-default-effect-shadow-invalid);
8316
+
8317
+ opacity: var(--pont-badge-default-effect-opacity-invalid);
8318
+ }
6459
8319
 
6460
- pont-badge > [data-slot='badge'][data-variant='secondary'] {
6461
- color: var(--pont-badge-secondary-color-text);
6462
- background-color: var(--pont-badge-secondary-color-bg);
8320
+ a[data-pont-badge][data-variant="default"]:hover {
8321
+ color: var(--pont-badge-default-typography-color-hover);
8322
+
8323
+ background-color: var(--pont-badge-default-bg-color-hover);
8324
+
8325
+ border-style: var(--pont-badge-default-border-style-hover);
8326
+ border-color: var(--pont-badge-default-border-color-hover);
8327
+ border-top-width: var(--pont-badge-default-border-width-t-hover);
8328
+ border-right-width: var(--pont-badge-default-border-width-r-hover);
8329
+ border-bottom-width: var(--pont-badge-default-border-width-b-hover);
8330
+ border-left-width: var(--pont-badge-default-border-width-l-hover);
8331
+
8332
+ outline-width: var(--pont-badge-default-outline-w-hover);
8333
+ outline-color: var(--pont-badge-default-outline-color-hover);
8334
+ outline-style: var(--pont-badge-default-outline-style-hover);
8335
+ outline-offset: var(--pont-badge-default-outline-offset-hover);
8336
+
8337
+ box-shadow:
8338
+ var(--pont-badge-default-effect-inset-shadow-hover),
8339
+ var(--pont-badge-default-effect-inset-ring-hover),
8340
+ var(--pont-badge-default-effect-ring-offset-hover),
8341
+ var(--pont-badge-default-effect-ring-hover),
8342
+ var(--pont-badge-default-effect-shadow-hover);
8343
+
8344
+ opacity: var(--pont-badge-default-effect-opacity-hover);
6463
8345
  }
6464
8346
 
6465
- pont-badge > a[data-slot='badge'][data-variant='secondary']:hover {
6466
- background-color: var(--pont-badge-secondary-color-bg-hover);
8347
+ /* * -------- SECONDARY -------- * */
8348
+
8349
+ [data-pont-badge][data-variant="secondary"] {
8350
+ color: var(--pont-badge-secondary-typography-color);
8351
+
8352
+ background-color: var(--pont-badge-secondary-bg-color);
8353
+
8354
+ border-style: var(--pont-badge-secondary-border-style);
8355
+ border-color: var(--pont-badge-secondary-border-color);
8356
+ border-top-width: var(--pont-badge-secondary-border-width-t);
8357
+ border-right-width: var(--pont-badge-secondary-border-width-r);
8358
+ border-bottom-width: var(--pont-badge-secondary-border-width-b);
8359
+ border-left-width: var(--pont-badge-secondary-border-width-l);
8360
+
8361
+ outline-width: var(--pont-badge-secondary-outline-w);
8362
+ outline-color: var(--pont-badge-secondary-outline-color);
8363
+ outline-style: var(--pont-badge-secondary-outline-style);
8364
+ outline-offset: var(--pont-badge-secondary-outline-offset);
8365
+
8366
+ box-shadow:
8367
+ var(--pont-badge-secondary-effect-inset-shadow),
8368
+ var(--pont-badge-secondary-effect-inset-ring),
8369
+ var(--pont-badge-secondary-effect-ring-offset),
8370
+ var(--pont-badge-secondary-effect-ring),
8371
+ var(--pont-badge-secondary-effect-shadow);
6467
8372
  }
6468
8373
 
6469
- /* * OUTLINE * */
8374
+ [data-pont-badge][data-variant="secondary"]:focus-visible {
8375
+ color: var(--pont-badge-secondary-typography-color-focus);
8376
+
8377
+ background-color: var(--pont-badge-secondary-bg-color-focus);
8378
+
8379
+ border-style: var(--pont-badge-secondary-border-style-focus);
8380
+ border-color: var(--pont-badge-secondary-border-color-focus);
8381
+ border-top-width: var(--pont-badge-secondary-border-width-t-focus);
8382
+ border-right-width: var(--pont-badge-secondary-border-width-r-focus);
8383
+ border-bottom-width: var(--pont-badge-secondary-border-width-b-focus);
8384
+ border-left-width: var(--pont-badge-secondary-border-width-l-focus);
8385
+
8386
+ outline-width: var(--pont-badge-secondary-outline-w-focus);
8387
+ outline-color: var(--pont-badge-secondary-outline-color-focus);
8388
+ outline-style: var(--pont-badge-secondary-outline-style-focus);
8389
+ outline-offset: var(--pont-badge-secondary-outline-offset-focus);
6470
8390
 
6471
- pont-badge > [data-slot='badge'][data-variant='outline'] {
6472
- color: var(--pont-badge-outline-color-text);
6473
- border-color: var(--pont-badge-outline-color-border);
8391
+ box-shadow:
8392
+ var(--pont-badge-secondary-effect-inset-shadow-focus),
8393
+ var(--pont-badge-secondary-effect-inset-ring-focus),
8394
+ var(--pont-badge-secondary-effect-ring-offset-focus),
8395
+ var(--pont-badge-secondary-effect-ring-focus),
8396
+ var(--pont-badge-secondary-effect-shadow-focus);
8397
+
8398
+ opacity: var(--pont-badge-secondary-effect-opacity-focus);
6474
8399
  }
6475
8400
 
6476
- pont-badge > a[data-slot='badge'][data-variant='outline']:hover {
6477
- color: var(--pont-badge-outline-color-text-hover);
6478
- background-color: var(--pont-badge-outline-color-bg-hover);
8401
+ [data-pont-badge][data-variant="secondary"][aria-invalid] {
8402
+ color: var(--pont-badge-secondary-typography-color-invalid);
8403
+
8404
+ background-color: var(--pont-badge-secondary-bg-color-invalid);
8405
+
8406
+ border-style: var(--pont-badge-secondary-border-style-invalid);
8407
+ border-color: var(--pont-badge-secondary-border-color-invalid);
8408
+ border-top-width: var(--pont-badge-secondary-border-width-t-invalid);
8409
+ border-right-width: var(--pont-badge-secondary-border-width-r-invalid);
8410
+ border-bottom-width: var(--pont-badge-secondary-border-width-b-invalid);
8411
+ border-left-width: var(--pont-badge-secondary-border-width-l-invalid);
8412
+
8413
+ outline-width: var(--pont-badge-secondary-outline-w-invalid);
8414
+ outline-color: var(--pont-badge-secondary-outline-color-invalid);
8415
+ outline-style: var(--pont-badge-secondary-outline-style-invalid);
8416
+ outline-offset: var(--pont-badge-secondary-outline-offset-invalid);
8417
+
8418
+ box-shadow:
8419
+ var(--pont-badge-secondary-effect-inset-shadow-invalid),
8420
+ var(--pont-badge-secondary-effect-inset-ring-invalid),
8421
+ var(--pont-badge-secondary-effect-ring-offset-invalid),
8422
+ var(--pont-badge-secondary-effect-ring-invalid),
8423
+ var(--pont-badge-secondary-effect-shadow-invalid);
8424
+
8425
+ opacity: var(--pont-badge-secondary-effect-opacity-invalid);
6479
8426
  }
6480
8427
 
6481
- /* * GHOST * */
8428
+ a[data-pont-badge][data-variant="secondary"]:hover {
8429
+ color: var(--pont-badge-secondary-typography-color-hover);
8430
+
8431
+ background-color: var(--pont-badge-secondary-bg-color-hover);
8432
+
8433
+ border-style: var(--pont-badge-secondary-border-style-hover);
8434
+ border-color: var(--pont-badge-secondary-border-color-hover);
8435
+ border-top-width: var(--pont-badge-secondary-border-width-t-hover);
8436
+ border-right-width: var(--pont-badge-secondary-border-width-r-hover);
8437
+ border-bottom-width: var(--pont-badge-secondary-border-width-b-hover);
8438
+ border-left-width: var(--pont-badge-secondary-border-width-l-hover);
8439
+
8440
+ outline-width: var(--pont-badge-secondary-outline-w-hover);
8441
+ outline-color: var(--pont-badge-secondary-outline-color-hover);
8442
+ outline-style: var(--pont-badge-secondary-outline-style-hover);
8443
+ outline-offset: var(--pont-badge-secondary-outline-offset-hover);
6482
8444
 
6483
- pont-badge > a[data-slot='badge'][data-variant='ghost']:hover {
6484
- color: var(--pont-badge-ghost-color-text-hover);
6485
- background-color: var(--pont-badge-ghost-color-bg-hover);
8445
+ box-shadow:
8446
+ var(--pont-badge-secondary-effect-inset-shadow-hover),
8447
+ var(--pont-badge-secondary-effect-inset-ring-hover),
8448
+ var(--pont-badge-secondary-effect-ring-offset-hover),
8449
+ var(--pont-badge-secondary-effect-ring-hover),
8450
+ var(--pont-badge-secondary-effect-shadow-hover);
8451
+
8452
+ opacity: var(--pont-badge-secondary-effect-opacity-hover);
6486
8453
  }
6487
8454
 
6488
- /* * DESTRUCTIVE * */
8455
+ /* * -------- OUTLINE -------- * */
8456
+
8457
+ [data-pont-badge][data-variant="outline"] {
8458
+ color: var(--pont-badge-outline-typography-color);
6489
8459
 
6490
- pont-badge > [data-slot='badge'][data-variant='destructive'] {
6491
- color: var(--pont-badge-destructive-color-text);
6492
- background-color: var(--pont-badge-destructive-color-bg);
8460
+ background-color: var(--pont-badge-outline-bg-color);
8461
+
8462
+ border-style: var(--pont-badge-outline-border-style);
8463
+ border-color: var(--pont-badge-outline-border-color);
8464
+ border-top-width: var(--pont-badge-outline-border-width-t);
8465
+ border-right-width: var(--pont-badge-outline-border-width-r);
8466
+ border-bottom-width: var(--pont-badge-outline-border-width-b);
8467
+ border-left-width: var(--pont-badge-outline-border-width-l);
8468
+
8469
+ outline-width: var(--pont-badge-outline-outline-w);
8470
+ outline-color: var(--pont-badge-outline-outline-color);
8471
+ outline-style: var(--pont-badge-outline-outline-style);
8472
+ outline-offset: var(--pont-badge-outline-outline-offset);
8473
+
8474
+ box-shadow:
8475
+ var(--pont-badge-outline-effect-inset-shadow),
8476
+ var(--pont-badge-outline-effect-inset-ring),
8477
+ var(--pont-badge-outline-effect-ring-offset),
8478
+ var(--pont-badge-outline-effect-ring),
8479
+ var(--pont-badge-outline-effect-shadow);
6493
8480
  }
6494
8481
 
6495
- pont-badge > a[data-slot='badge'][data-variant='destructive']:hover {
6496
- background-color: var(--pont-badge-destructive-color-bg-hover);
8482
+ [data-pont-badge][data-variant="outline"]:focus-visible {
8483
+ color: var(--pont-badge-outline-typography-color-focus);
8484
+
8485
+ background-color: var(--pont-badge-outline-bg-color-focus);
8486
+
8487
+ border-style: var(--pont-badge-outline-border-style-focus);
8488
+ border-color: var(--pont-badge-outline-border-color-focus);
8489
+ border-top-width: var(--pont-badge-outline-border-width-t-focus);
8490
+ border-right-width: var(--pont-badge-outline-border-width-r-focus);
8491
+ border-bottom-width: var(--pont-badge-outline-border-width-b-focus);
8492
+ border-left-width: var(--pont-badge-outline-border-width-l-focus);
8493
+
8494
+ outline-width: var(--pont-badge-outline-outline-w-focus);
8495
+ outline-color: var(--pont-badge-outline-outline-color-focus);
8496
+ outline-style: var(--pont-badge-outline-outline-style-focus);
8497
+ outline-offset: var(--pont-badge-outline-outline-offset-focus);
8498
+
8499
+ box-shadow:
8500
+ var(--pont-badge-outline-effect-inset-shadow-focus),
8501
+ var(--pont-badge-outline-effect-inset-ring-focus),
8502
+ var(--pont-badge-outline-effect-ring-offset-focus),
8503
+ var(--pont-badge-outline-effect-ring-focus),
8504
+ var(--pont-badge-outline-effect-shadow-focus);
8505
+
8506
+ opacity: var(--pont-badge-outline-effect-opacity-focus);
6497
8507
  }
6498
8508
 
6499
- pont-badge > [data-slot='badge'][data-variant='destructive']:focus-visible {
8509
+ [data-pont-badge][data-variant="outline"][aria-invalid] {
8510
+ color: var(--pont-badge-outline-typography-color-invalid);
8511
+
8512
+ background-color: var(--pont-badge-outline-bg-color-invalid);
8513
+
8514
+ border-style: var(--pont-badge-outline-border-style-invalid);
8515
+ border-color: var(--pont-badge-outline-border-color-invalid);
8516
+ border-top-width: var(--pont-badge-outline-border-width-t-invalid);
8517
+ border-right-width: var(--pont-badge-outline-border-width-r-invalid);
8518
+ border-bottom-width: var(--pont-badge-outline-border-width-b-invalid);
8519
+ border-left-width: var(--pont-badge-outline-border-width-l-invalid);
8520
+
8521
+ outline-width: var(--pont-badge-outline-outline-w-invalid);
8522
+ outline-color: var(--pont-badge-outline-outline-color-invalid);
8523
+ outline-style: var(--pont-badge-outline-outline-style-invalid);
8524
+ outline-offset: var(--pont-badge-outline-outline-offset-invalid);
8525
+
6500
8526
  box-shadow:
6501
- 0 0 rgb(0 0 0),
6502
- 0 0 rgb(0 0 0),
6503
- 0 0 rgb(0 0 0),
6504
- 0 0 0 var(--pont-badge-width-ring-focus)
6505
- var(--pont-badge-destructive-color-ring-focus),
6506
- 0 0 rgb(0 0 0);
8527
+ var(--pont-badge-outline-effect-inset-shadow-invalid),
8528
+ var(--pont-badge-outline-effect-inset-ring-invalid),
8529
+ var(--pont-badge-outline-effect-ring-offset-invalid),
8530
+ var(--pont-badge-outline-effect-ring-invalid),
8531
+ var(--pont-badge-outline-effect-shadow-invalid);
8532
+
8533
+ opacity: var(--pont-badge-outline-effect-opacity-invalid);
6507
8534
  }
6508
8535
 
6509
- /* * LINK * */
8536
+ a[data-pont-badge][data-variant="outline"]:hover {
8537
+ color: var(--pont-badge-outline-typography-color-hover);
6510
8538
 
6511
- pont-badge > [data-slot='badge'][data-variant='link'] {
6512
- color: var(--pont-badge-link-color-text);
6513
- text-underline-offset: 4px;
8539
+ background-color: var(--pont-badge-outline-bg-color-hover);
8540
+
8541
+ border-style: var(--pont-badge-outline-border-style-hover);
8542
+ border-color: var(--pont-badge-outline-border-color-hover);
8543
+ border-top-width: var(--pont-badge-outline-border-width-t-hover);
8544
+ border-right-width: var(--pont-badge-outline-border-width-r-hover);
8545
+ border-bottom-width: var(--pont-badge-outline-border-width-b-hover);
8546
+ border-left-width: var(--pont-badge-outline-border-width-l-hover);
8547
+
8548
+ outline-width: var(--pont-badge-outline-outline-w-hover);
8549
+ outline-color: var(--pont-badge-outline-outline-color-hover);
8550
+ outline-style: var(--pont-badge-outline-outline-style-hover);
8551
+ outline-offset: var(--pont-badge-outline-outline-offset-hover);
8552
+
8553
+ box-shadow:
8554
+ var(--pont-badge-outline-effect-inset-shadow-hover),
8555
+ var(--pont-badge-outline-effect-inset-ring-hover),
8556
+ var(--pont-badge-outline-effect-ring-offset-hover),
8557
+ var(--pont-badge-outline-effect-ring-hover),
8558
+ var(--pont-badge-outline-effect-shadow-hover);
8559
+
8560
+ opacity: var(--pont-badge-outline-effect-opacity-hover);
6514
8561
  }
6515
8562
 
6516
- pont-badge > [data-slot='badge'][data-variant='link']:hover {
6517
- text-decoration-line: underline;
8563
+ /* * -------- GHOST -------- * */
8564
+
8565
+ [data-pont-badge][data-variant="ghost"] {
8566
+ color: var(--pont-badge-ghost-typography-color);
8567
+
8568
+ background-color: var(--pont-badge-ghost-bg-color);
8569
+
8570
+ border-style: var(--pont-badge-ghost-border-style);
8571
+ border-color: var(--pont-badge-ghost-border-color);
8572
+ border-top-width: var(--pont-badge-ghost-border-width-t);
8573
+ border-right-width: var(--pont-badge-ghost-border-width-r);
8574
+ border-bottom-width: var(--pont-badge-ghost-border-width-b);
8575
+ border-left-width: var(--pont-badge-ghost-border-width-l);
8576
+
8577
+ outline-width: var(--pont-badge-ghost-outline-w);
8578
+ outline-color: var(--pont-badge-ghost-outline-color);
8579
+ outline-style: var(--pont-badge-ghost-outline-style);
8580
+ outline-offset: var(--pont-badge-ghost-outline-offset);
8581
+
8582
+ box-shadow:
8583
+ var(--pont-badge-ghost-effect-inset-shadow),
8584
+ var(--pont-badge-ghost-effect-inset-ring),
8585
+ var(--pont-badge-ghost-effect-ring-offset),
8586
+ var(--pont-badge-ghost-effect-ring), var(--pont-badge-ghost-effect-shadow);
8587
+ }
8588
+
8589
+ [data-pont-badge][data-variant="ghost"]:focus-visible {
8590
+ color: var(--pont-badge-ghost-typography-color-focus);
8591
+
8592
+ background-color: var(--pont-badge-ghost-bg-color-focus);
8593
+
8594
+ border-style: var(--pont-badge-ghost-border-style-focus);
8595
+ border-color: var(--pont-badge-ghost-border-color-focus);
8596
+ border-top-width: var(--pont-badge-ghost-border-width-t-focus);
8597
+ border-right-width: var(--pont-badge-ghost-border-width-r-focus);
8598
+ border-bottom-width: var(--pont-badge-ghost-border-width-b-focus);
8599
+ border-left-width: var(--pont-badge-ghost-border-width-l-focus);
8600
+
8601
+ outline-width: var(--pont-badge-ghost-outline-w-focus);
8602
+ outline-color: var(--pont-badge-ghost-outline-color-focus);
8603
+ outline-style: var(--pont-badge-ghost-outline-style-focus);
8604
+ outline-offset: var(--pont-badge-ghost-outline-offset-focus);
8605
+
8606
+ box-shadow:
8607
+ var(--pont-badge-ghost-effect-inset-shadow-focus),
8608
+ var(--pont-badge-ghost-effect-inset-ring-focus),
8609
+ var(--pont-badge-ghost-effect-ring-offset-focus),
8610
+ var(--pont-badge-ghost-effect-ring-focus),
8611
+ var(--pont-badge-ghost-effect-shadow-focus);
8612
+
8613
+ opacity: var(--pont-badge-ghost-effect-opacity-focus);
8614
+ }
8615
+
8616
+ [data-pont-badge][data-variant="ghost"][aria-invalid] {
8617
+ color: var(--pont-badge-ghost-typography-color-invalid);
8618
+
8619
+ background-color: var(--pont-badge-ghost-bg-color-invalid);
8620
+
8621
+ border-style: var(--pont-badge-ghost-border-style-invalid);
8622
+ border-color: var(--pont-badge-ghost-border-color-invalid);
8623
+ border-top-width: var(--pont-badge-ghost-border-width-t-invalid);
8624
+ border-right-width: var(--pont-badge-ghost-border-width-r-invalid);
8625
+ border-bottom-width: var(--pont-badge-ghost-border-width-b-invalid);
8626
+ border-left-width: var(--pont-badge-ghost-border-width-l-invalid);
8627
+
8628
+ outline-width: var(--pont-badge-ghost-outline-w-invalid);
8629
+ outline-color: var(--pont-badge-ghost-outline-color-invalid);
8630
+ outline-style: var(--pont-badge-ghost-outline-style-invalid);
8631
+ outline-offset: var(--pont-badge-ghost-outline-offset-invalid);
8632
+
8633
+ box-shadow:
8634
+ var(--pont-badge-ghost-effect-inset-shadow-invalid),
8635
+ var(--pont-badge-ghost-effect-inset-ring-invalid),
8636
+ var(--pont-badge-ghost-effect-ring-offset-invalid),
8637
+ var(--pont-badge-ghost-effect-ring-invalid),
8638
+ var(--pont-badge-ghost-effect-shadow-invalid);
8639
+
8640
+ opacity: var(--pont-badge-ghost-effect-opacity-invalid);
8641
+ }
8642
+
8643
+ a[data-pont-badge][data-variant="ghost"]:hover {
8644
+ color: var(--pont-badge-ghost-typography-color-hover);
8645
+
8646
+ background-color: var(--pont-badge-ghost-bg-color-hover);
8647
+
8648
+ border-style: var(--pont-badge-ghost-border-style-hover);
8649
+ border-color: var(--pont-badge-ghost-border-color-hover);
8650
+ border-top-width: var(--pont-badge-ghost-border-width-t-hover);
8651
+ border-right-width: var(--pont-badge-ghost-border-width-r-hover);
8652
+ border-bottom-width: var(--pont-badge-ghost-border-width-b-hover);
8653
+ border-left-width: var(--pont-badge-ghost-border-width-l-hover);
8654
+
8655
+ outline-width: var(--pont-badge-ghost-outline-w-hover);
8656
+ outline-color: var(--pont-badge-ghost-outline-color-hover);
8657
+ outline-style: var(--pont-badge-ghost-outline-style-hover);
8658
+ outline-offset: var(--pont-badge-ghost-outline-offset-hover);
8659
+
8660
+ box-shadow:
8661
+ var(--pont-badge-ghost-effect-inset-shadow-hover),
8662
+ var(--pont-badge-ghost-effect-inset-ring-hover),
8663
+ var(--pont-badge-ghost-effect-ring-offset-hover),
8664
+ var(--pont-badge-ghost-effect-ring-hover),
8665
+ var(--pont-badge-ghost-effect-shadow-hover);
8666
+
8667
+ opacity: var(--pont-badge-ghost-effect-opacity-hover);
8668
+ }
8669
+
8670
+ /* * -------- DESTRUCTIVE -------- * */
8671
+
8672
+ [data-pont-badge][data-variant="destructive"] {
8673
+ color: var(--pont-badge-destructive-typography-color);
8674
+
8675
+ background-color: var(--pont-badge-destructive-bg-color);
8676
+
8677
+ border-style: var(--pont-badge-destructive-border-style);
8678
+ border-color: var(--pont-badge-destructive-border-color);
8679
+ border-top-width: var(--pont-badge-destructive-border-width-t);
8680
+ border-right-width: var(--pont-badge-destructive-border-width-r);
8681
+ border-bottom-width: var(--pont-badge-destructive-border-width-b);
8682
+ border-left-width: var(--pont-badge-destructive-border-width-l);
8683
+
8684
+ outline-width: var(--pont-badge-destructive-outline-w);
8685
+ outline-color: var(--pont-badge-destructive-outline-color);
8686
+ outline-style: var(--pont-badge-destructive-outline-style);
8687
+ outline-offset: var(--pont-badge-destructive-outline-offset);
8688
+
8689
+ box-shadow:
8690
+ var(--pont-badge-destructive-effect-inset-shadow),
8691
+ var(--pont-badge-destructive-effect-inset-ring),
8692
+ var(--pont-badge-destructive-effect-ring-offset),
8693
+ var(--pont-badge-destructive-effect-ring),
8694
+ var(--pont-badge-destructive-effect-shadow);
8695
+ }
8696
+
8697
+ [data-pont-badge][data-variant="destructive"]:focus-visible {
8698
+ color: var(--pont-badge-destructive-typography-color-focus);
8699
+
8700
+ background-color: var(--pont-badge-destructive-bg-color-focus);
8701
+
8702
+ border-style: var(--pont-badge-destructive-border-style-focus);
8703
+ border-color: var(--pont-badge-destructive-border-color-focus);
8704
+ border-top-width: var(--pont-badge-destructive-border-width-t-focus);
8705
+ border-right-width: var(--pont-badge-destructive-border-width-r-focus);
8706
+ border-bottom-width: var(--pont-badge-destructive-border-width-b-focus);
8707
+ border-left-width: var(--pont-badge-destructive-border-width-l-focus);
8708
+
8709
+ outline-width: var(--pont-badge-destructive-outline-w-focus);
8710
+ outline-color: var(--pont-badge-destructive-outline-color-focus);
8711
+ outline-style: var(--pont-badge-destructive-outline-style-focus);
8712
+ outline-offset: var(--pont-badge-destructive-outline-offset-focus);
8713
+
8714
+ box-shadow:
8715
+ var(--pont-badge-destructive-effect-inset-shadow-focus),
8716
+ var(--pont-badge-destructive-effect-inset-ring-focus),
8717
+ var(--pont-badge-destructive-effect-ring-offset-focus),
8718
+ var(--pont-badge-destructive-effect-ring-focus),
8719
+ var(--pont-badge-destructive-effect-shadow-focus);
8720
+
8721
+ opacity: var(--pont-badge-destructive-effect-opacity-focus);
8722
+ }
8723
+
8724
+ [data-pont-badge][data-variant="destructive"][aria-invalid] {
8725
+ color: var(--pont-badge-destructive-typography-color-invalid);
8726
+
8727
+ background-color: var(--pont-badge-destructive-bg-color-invalid);
8728
+
8729
+ border-style: var(--pont-badge-destructive-border-style-invalid);
8730
+ border-color: var(--pont-badge-destructive-border-color-invalid);
8731
+ border-top-width: var(--pont-badge-destructive-border-width-t-invalid);
8732
+ border-right-width: var(--pont-badge-destructive-border-width-r-invalid);
8733
+ border-bottom-width: var(--pont-badge-destructive-border-width-b-invalid);
8734
+ border-left-width: var(--pont-badge-destructive-border-width-l-invalid);
8735
+
8736
+ outline-width: var(--pont-badge-destructive-outline-w-invalid);
8737
+ outline-color: var(--pont-badge-destructive-outline-color-invalid);
8738
+ outline-style: var(--pont-badge-destructive-outline-style-invalid);
8739
+ outline-offset: var(--pont-badge-destructive-outline-offset-invalid);
8740
+
8741
+ box-shadow:
8742
+ var(--pont-badge-destructive-effect-inset-shadow-invalid),
8743
+ var(--pont-badge-destructive-effect-inset-ring-invalid),
8744
+ var(--pont-badge-destructive-effect-ring-offset-invalid),
8745
+ var(--pont-badge-destructive-effect-ring-invalid),
8746
+ var(--pont-badge-destructive-effect-shadow-invalid);
8747
+
8748
+ opacity: var(--pont-badge-destructive-effect-opacity-invalid);
8749
+ }
8750
+
8751
+ a[data-pont-badge][data-variant="destructive"]:hover {
8752
+ color: var(--pont-badge-destructive-typography-color-hover);
8753
+
8754
+ background-color: var(--pont-badge-destructive-bg-color-hover);
8755
+
8756
+ border-style: var(--pont-badge-destructive-border-style-hover);
8757
+ border-color: var(--pont-badge-destructive-border-color-hover);
8758
+ border-top-width: var(--pont-badge-destructive-border-width-t-hover);
8759
+ border-right-width: var(--pont-badge-destructive-border-width-r-hover);
8760
+ border-bottom-width: var(--pont-badge-destructive-border-width-b-hover);
8761
+ border-left-width: var(--pont-badge-destructive-border-width-l-hover);
8762
+
8763
+ outline-width: var(--pont-badge-destructive-outline-w-hover);
8764
+ outline-color: var(--pont-badge-destructive-outline-color-hover);
8765
+ outline-style: var(--pont-badge-destructive-outline-style-hover);
8766
+ outline-offset: var(--pont-badge-destructive-outline-offset-hover);
8767
+
8768
+ box-shadow:
8769
+ var(--pont-badge-destructive-effect-inset-shadow-hover),
8770
+ var(--pont-badge-destructive-effect-inset-ring-hover),
8771
+ var(--pont-badge-destructive-effect-ring-offset-hover),
8772
+ var(--pont-badge-destructive-effect-ring-hover),
8773
+ var(--pont-badge-destructive-effect-shadow-hover);
8774
+
8775
+ opacity: var(--pont-badge-destructive-effect-opacity-hover);
8776
+ }
8777
+
8778
+ /* * -------- LINK -------- * */
8779
+
8780
+ [data-pont-badge][data-variant="link"] {
8781
+ color: var(--pont-badge-link-typography-color);
8782
+
8783
+ background-color: var(--pont-badge-link-bg-color);
8784
+
8785
+ border-style: var(--pont-badge-link-border-style);
8786
+ border-color: var(--pont-badge-link-border-color);
8787
+ border-top-width: var(--pont-badge-link-border-width-t);
8788
+ border-right-width: var(--pont-badge-link-border-width-r);
8789
+ border-bottom-width: var(--pont-badge-link-border-width-b);
8790
+ border-left-width: var(--pont-badge-link-border-width-l);
8791
+
8792
+ outline-width: var(--pont-badge-link-outline-w);
8793
+ outline-color: var(--pont-badge-link-outline-color);
8794
+ outline-style: var(--pont-badge-link-outline-style);
8795
+ outline-offset: var(--pont-badge-link-outline-offset);
8796
+
8797
+ box-shadow:
8798
+ var(--pont-badge-link-effect-inset-shadow),
8799
+ var(--pont-badge-link-effect-inset-ring),
8800
+ var(--pont-badge-link-effect-ring-offset),
8801
+ var(--pont-badge-link-effect-ring), var(--pont-badge-link-effect-shadow);
8802
+ }
8803
+
8804
+ [data-pont-badge][data-variant="link"]:focus-visible {
8805
+ color: var(--pont-badge-link-typography-color-focus);
8806
+
8807
+ background-color: var(--pont-badge-link-bg-color-focus);
8808
+
8809
+ border-style: var(--pont-badge-link-border-style-focus);
8810
+ border-color: var(--pont-badge-link-border-color-focus);
8811
+ border-top-width: var(--pont-badge-link-border-width-t-focus);
8812
+ border-right-width: var(--pont-badge-link-border-width-r-focus);
8813
+ border-bottom-width: var(--pont-badge-link-border-width-b-focus);
8814
+ border-left-width: var(--pont-badge-link-border-width-l-focus);
8815
+
8816
+ outline-width: var(--pont-badge-link-outline-w-focus);
8817
+ outline-color: var(--pont-badge-link-outline-color-focus);
8818
+ outline-style: var(--pont-badge-link-outline-style-focus);
8819
+ outline-offset: var(--pont-badge-link-outline-offset-focus);
8820
+
8821
+ box-shadow:
8822
+ var(--pont-badge-link-effect-inset-shadow-focus),
8823
+ var(--pont-badge-link-effect-inset-ring-focus),
8824
+ var(--pont-badge-link-effect-ring-offset-focus),
8825
+ var(--pont-badge-link-effect-ring-focus),
8826
+ var(--pont-badge-link-effect-shadow-focus);
8827
+
8828
+ opacity: var(--pont-badge-link-effect-opacity-focus);
8829
+ }
8830
+
8831
+ [data-pont-badge][data-variant="link"][aria-invalid] {
8832
+ color: var(--pont-badge-link-typography-color-invalid);
8833
+
8834
+ background-color: var(--pont-badge-link-bg-color-invalid);
8835
+
8836
+ border-style: var(--pont-badge-link-border-style-invalid);
8837
+ border-color: var(--pont-badge-link-border-color-invalid);
8838
+ border-top-width: var(--pont-badge-link-border-width-t-invalid);
8839
+ border-right-width: var(--pont-badge-link-border-width-r-invalid);
8840
+ border-bottom-width: var(--pont-badge-link-border-width-b-invalid);
8841
+ border-left-width: var(--pont-badge-link-border-width-l-invalid);
8842
+
8843
+ outline-width: var(--pont-badge-link-outline-w-invalid);
8844
+ outline-color: var(--pont-badge-link-outline-color-invalid);
8845
+ outline-style: var(--pont-badge-link-outline-style-invalid);
8846
+ outline-offset: var(--pont-badge-link-outline-offset-invalid);
8847
+
8848
+ box-shadow:
8849
+ var(--pont-badge-link-effect-inset-shadow-invalid),
8850
+ var(--pont-badge-link-effect-inset-ring-invalid),
8851
+ var(--pont-badge-link-effect-ring-offset-invalid),
8852
+ var(--pont-badge-link-effect-ring-invalid),
8853
+ var(--pont-badge-link-effect-shadow-invalid);
8854
+
8855
+ opacity: var(--pont-badge-link-effect-opacity-invalid);
8856
+ }
8857
+
8858
+ [data-pont-badge][data-variant="link"]:hover {
8859
+ text-decoration-line: var(--pont-badge-link-typography-decoration-line-hover);
8860
+ text-decoration-color: var(
8861
+ --pont-badge-link-typography-decoration-color-hover
8862
+ );
8863
+ text-decoration-style: var(
8864
+ --pont-badge-link-typography-decoration-style-hover
8865
+ );
8866
+ text-decoration-thickness: var(
8867
+ --pont-badge-link-typography-decoration-thickness-hover
8868
+ );
8869
+ text-underline-offset: var(
8870
+ --pont-badge-link-typography-underline-offset-hover
8871
+ );
8872
+ }
8873
+
8874
+ a[data-pont-badge][data-variant="link"]:hover {
8875
+ color: var(--pont-badge-link-typography-color-hover);
8876
+
8877
+ background-color: var(--pont-badge-link-bg-color-hover);
8878
+
8879
+ border-style: var(--pont-badge-link-border-style-hover);
8880
+ border-color: var(--pont-badge-link-border-color-hover);
8881
+ border-top-width: var(--pont-badge-link-border-width-t-hover);
8882
+ border-right-width: var(--pont-badge-link-border-width-r-hover);
8883
+ border-bottom-width: var(--pont-badge-link-border-width-b-hover);
8884
+ border-left-width: var(--pont-badge-link-border-width-l-hover);
8885
+
8886
+ outline-width: var(--pont-badge-link-outline-w-hover);
8887
+ outline-color: var(--pont-badge-link-outline-color-hover);
8888
+ outline-style: var(--pont-badge-link-outline-style-hover);
8889
+ outline-offset: var(--pont-badge-link-outline-offset-hover);
8890
+
8891
+ box-shadow:
8892
+ var(--pont-badge-link-effect-inset-shadow-hover),
8893
+ var(--pont-badge-link-effect-inset-ring-hover),
8894
+ var(--pont-badge-link-effect-ring-offset-hover),
8895
+ var(--pont-badge-link-effect-ring-hover),
8896
+ var(--pont-badge-link-effect-shadow-hover);
8897
+
8898
+ opacity: var(--pont-badge-link-effect-opacity-hover);
6518
8899
  }
6519
8900
 
6520
8901
  /*
@@ -9195,8 +11576,8 @@ pont-spinner {
9195
11576
  }
9196
11577
 
9197
11578
  pont-spinner > [data-slot=spinner] {
9198
- width: var(--pont-spinner-space-size);
9199
- height: var(--pont-spinner-space-size);
11579
+ width: var(--pont-spinner-sizing-w);
11580
+ height: var(--pont-spinner-sizing-h);
9200
11581
  animation: pont-spinner-motion-spin var(--pont-spinner-motion-duration) var(--pont-spinner-motion-fn) infinite;
9201
11582
  }
9202
11583
 
@@ -12813,7 +15194,8 @@ pont-account-info pont-card[part="verification-form"] {
12813
15194
  }
12814
15195
 
12815
15196
  pont-account-info pont-avatar {
12816
- --pont-avatar-space-size-lg: var(--pont-account-info-avatar-space-size);
15197
+ --pont-avatar-sizing-w-lg: var(--pont-account-info-avatar-space-size);
15198
+ --pont-avatar-sizing-h-lg: var(--pont-account-info-avatar-space-size);
12817
15199
  }
12818
15200
 
12819
15201
  pont-account-info pont-card > [data-slot="card"] {
@@ -12941,8 +15323,11 @@ input[type="number"] {
12941
15323
  -moz-appearance: textfield;
12942
15324
  }
12943
15325
 
12944
- pont-member-management pont-badge[variant="secondary"] {
12945
- --pont-badge-radius: var(--pont-member-management-badge-radius);
15326
+ pont-member-management [data-pont-badge][data-variant="secondary"] {
15327
+ --pont-badge-border-radius-tl: var(--pont-member-management-badge-radius);
15328
+ --pont-badge-border-radius-tr: var(--pont-member-management-badge-radius);
15329
+ --pont-badge-border-radius-br: var(--pont-member-management-badge-radius);
15330
+ --pont-badge-border-radius-bl: var(--pont-member-management-badge-radius);
12946
15331
  }
12947
15332
 
12948
15333
  pont-member-management
@@ -12982,7 +15367,8 @@ pont-member-management
12982
15367
  pont-member-management-members-panel
12983
15368
  pont-data-table
12984
15369
  pont-avatar {
12985
- --pont-avatar-space-size: var(--pont-member-management-avatar-space-size);
15370
+ --pont-avatar-sizing-w: var(--pont-member-management-avatar-space-size);
15371
+ --pont-avatar-sizing-h: var(--pont-member-management-avatar-space-size);
12986
15372
  }
12987
15373
 
12988
15374
  pont-member-management