@pontive/pontkit-core 1.7.9 → 1.8.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
@@ -537,11 +537,92 @@
537
537
  * pont-ref-breakpoint-*
538
538
  * ===========================================================================
539
539
  */
540
+ /*
541
+ * ===========================================================================
542
+ * BORDER REFERENCE TOKENS
543
+ * pont-ref-border-*
544
+ * ===========================================================================
545
+ */
546
+
547
+ :root {
548
+ /* * BORDER STYLE * */
549
+ --pont-ref-border-style-solid: solid;
550
+ --pont-ref-border-style-dashed: dashed;
551
+ --pont-ref-border-style-dotted: dotted;
552
+ --pont-ref-border-style-double: double;
553
+ --pont-ref-border-style-hidden: hidden;
554
+ --pont-ref-border-style-none: none;
555
+ }
556
+
557
+ /*
558
+ * ===========================================================================
559
+ * EFFECT REFERENCE TOKENS
560
+ * pont-ref-effect-*
561
+ * ===========================================================================
562
+ */
563
+
564
+ :root {
565
+ /* * BOX SHADOW * */
566
+ --pont-ref-effect-shadow-none: 0 0 #0000;
567
+
568
+ /* * MIX BLEND MODE * */
569
+ --pont-ref-effect-mix-blend-normal: normal;
570
+ --pont-ref-effect-mix-blend-multiply: multiply;
571
+ --pont-ref-effect-mix-blend-screen: screen;
572
+ --pont-ref-effect-mix-blend-overlay: overlay;
573
+ --pont-ref-effect-mix-blend-darken: darken;
574
+ --pont-ref-effect-mix-blend-lighten: lighten;
575
+ --pont-ref-effect-mix-blend-dodge: color-dodge;
576
+ --pont-ref-effect-mix-blend-burn: color-burn;
577
+ --pont-ref-effect-mix-blend-hard-light: hard-light;
578
+ --pont-ref-effect-mix-blend-soft-light: soft-light;
579
+ --pont-ref-effect-mix-blend-difference: difference;
580
+ --pont-ref-effect-mix-blend-exclusion: exclusion;
581
+ --pont-ref-effect-mix-blend-hue: hue;
582
+ --pont-ref-effect-mix-blend-saturation: saturation;
583
+ --pont-ref-effect-mix-blend-color: color;
584
+ --pont-ref-effect-mix-blend-luminosity: luminosity;
585
+ --pont-ref-effect-mix-blend-plus-darker: plus-darker;
586
+ --pont-ref-effect-mix-blend-plus-lighter: plus-lighter;
587
+
588
+ /* * BACKGROUND BLEND MODE * */
589
+ --pont-ref-effect-bg-blend-normal: normal;
590
+ --pont-ref-effect-bg-blend-multiply: multiply;
591
+ --pont-ref-effect-bg-blend-screen: screen;
592
+ --pont-ref-effect-bg-blend-overlay: overlay;
593
+ --pont-ref-effect-bg-blend-darken: darken;
594
+ --pont-ref-effect-bg-blend-lighten: lighten;
595
+ --pont-ref-effect-bg-blend-dodge: color-dodge;
596
+ --pont-ref-effect-bg-blend-burn: color-burn;
597
+ --pont-ref-effect-bg-blend-hard-light: hard-light;
598
+ --pont-ref-effect-bg-blend-soft-light: soft-light;
599
+ --pont-ref-effect-bg-blend-difference: difference;
600
+ --pont-ref-effect-bg-blend-exclusion: exclusion;
601
+ --pont-ref-effect-bg-blend-hue: hue;
602
+ --pont-ref-effect-bg-blend-saturation: saturation;
603
+ --pont-ref-effect-bg-blend-color: color;
604
+ --pont-ref-effect-bg-blend-luminosity: luminosity;
605
+ }
606
+
607
+ /*
608
+ * ===========================================================================
609
+ * LAYOUT REFERENCE TOKENS
610
+ * pont-ref-layout-*
611
+ * ===========================================================================
612
+ */
613
+
614
+ :root {
615
+ /* * ASPECT RATIO * */
616
+ --pont-ref-layout-aspect-square: 1 / 1;
617
+ --pont-ref-layout-aspect-video: 16 / 9;
618
+ }
619
+
540
620
  /*
541
621
  * ===========================================================================
542
622
  * SEMANTIC TOKENS INDEX
543
623
  * ===========================================================================
544
624
  */
625
+
545
626
  /*
546
627
  * ===========================================================================
547
628
  * COLOR SEMANTIC TOKENS
@@ -2168,36 +2249,141 @@
2168
2249
  * ===========================================================================
2169
2250
  */
2170
2251
 
2252
+ /*
2253
+ * --------------------------------------------------
2254
+ * AVATAR
2255
+ * --------------------------------------------------
2256
+ */
2257
+
2171
2258
  :root {
2172
- /* Used for avatar group avatar children */
2173
- --pont-avatar-space-me-in-group: var(--pont-ref-space-neg-2);
2259
+ /* SIZING */
2260
+ --pont-avatar-sizing-w: calc(var(--pont-ref-space) * 8);
2261
+ --pont-avatar-sizing-h: calc(var(--pont-ref-space) * 8);
2262
+
2263
+ --pont-avatar-sizing-w-sm: calc(var(--pont-ref-space) * 6);
2264
+ --pont-avatar-sizing-h-sm: calc(var(--pont-ref-space) * 6);
2265
+
2266
+ --pont-avatar-sizing-w-lg: calc(var(--pont-ref-space) * 10);
2267
+ --pont-avatar-sizing-h-lg: calc(var(--pont-ref-space) * 10);
2268
+
2269
+ /* TYPOGRAPHY */
2270
+ --pont-avatar-typography-font: var(--pont-sem-font-family-default);
2271
+ --pont-avatar-typography-size: var(--pont-ref-font-size-sm);
2272
+ --pont-avatar-typography-weight: var(--pont-ref-font-weight-normal);
2273
+ --pont-avatar-typography-tracking: var(--pont-ref-font-letter-spacing-normal);
2274
+ --pont-avatar-typography-leading: var(--pont-ref-font-line-height-of-sm);
2275
+
2276
+ --pont-avatar-typography-size-sm: var(--pont-ref-font-size-xs);
2277
+ --pont-avatar-typography-weight-sm: var(--pont-ref-font-weight-normal);
2278
+ --pont-avatar-typography-tracking-sm: var(
2279
+ --pont-ref-font-letter-spacing-normal
2280
+ );
2281
+ --pont-avatar-typography-leading-sm: var(--pont-ref-font-line-height-of-xs);
2282
+
2283
+ --pont-avatar-typography-size-lg: var(--pont-ref-font-size-sm);
2284
+ --pont-avatar-typography-weight-lg: var(--pont-ref-font-weight-normal);
2285
+ --pont-avatar-typography-tracking-lg: var(
2286
+ --pont-ref-font-letter-spacing-normal
2287
+ );
2288
+ --pont-avatar-typography-leading-lg: var(--pont-ref-font-line-height-of-sm);
2174
2289
 
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);
2290
+ /* BORDER */
2291
+ --pont-avatar-border-radius-tl: var(--pont-ref-radius-full);
2292
+ --pont-avatar-border-radius-tr: var(--pont-ref-radius-full);
2293
+ --pont-avatar-border-radius-br: var(--pont-ref-radius-full);
2294
+ --pont-avatar-border-radius-bl: var(--pont-ref-radius-full);
2179
2295
 
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));
2296
+ --pont-avatar-border-style: var(--pont-ref-border-style-solid);
2297
+ --pont-avatar-border-color: hsl(var(--pont-sem-color-border));
2298
+ --pont-avatar-border-width-t: var(--pont-sem-width-border);
2299
+ --pont-avatar-border-width-r: var(--pont-sem-width-border);
2300
+ --pont-avatar-border-width-b: var(--pont-sem-width-border);
2301
+ --pont-avatar-border-width-l: var(--pont-sem-width-border);
2186
2302
 
2187
- /* Used for avatar fallback and avatar group count */
2188
- --pont-avatar-color-bg: hsl(var(--pont-sem-color-bg-fill-secondary));
2303
+ /* EFFECT */
2304
+ --pont-avatar-effect-shadow: var(--pont-ref-effect-shadow-none);
2305
+ --pont-avatar-effect-inset-shadow: inset var(--pont-ref-effect-shadow-none);
2306
+ --pont-avatar-effect-inset-ring: inset var(--pont-ref-effect-shadow-none);
2189
2307
 
2190
- /* Used for avatar, avatar image, avatar image, and avatar group count */
2191
- --pont-avatar-radius: var(--pont-sem-radius-identity);
2308
+ --pont-avatar-effect-ring-offset-w: 0px;
2309
+ --pont-avatar-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
2310
+ --pont-avatar-effect-ring-offset: 0 0 0 var(--pont-avatar-effect-ring-offset-w) var(--pont-avatar-effect-ring-offset-color);
2192
2311
 
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));
2312
+ --pont-avatar-effect-ring-w: 2px;
2313
+ --pont-avatar-effect-ring-color: hsl(var(--pont-sem-color-bg));
2314
+ --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);
2196
2315
 
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);
2316
+ --pont-avatar-effect-mix-blend: var(--pont-ref-effect-mix-blend-darken);
2317
+ }
2318
+
2319
+ [data-theme="dark"] {
2320
+ /* EFFECT */
2321
+ --pont-avatar-effect-mix-blend: var(--pont-ref-effect-mix-blend-lighten);
2322
+ }
2323
+
2324
+ /*
2325
+ * --------------------------------------------------
2326
+ * AVATAR IMAGE
2327
+ * --------------------------------------------------
2328
+ */
2329
+
2330
+ :root {
2331
+ /* LAYOUT */
2332
+ --pont-avatar-image-layout-aspect: var(--pont-ref-layout-aspect-square);
2333
+ }
2334
+
2335
+ /*
2336
+ * --------------------------------------------------
2337
+ * AVATAR FALLBACK
2338
+ * --------------------------------------------------
2339
+ */
2340
+
2341
+ :root {
2342
+ /* TYPOGRAPHY */
2343
+ --pont-avatar-fallback-typography-font: var(--pont-avatar-typography-font);
2344
+ --pont-avatar-fallback-typography-size: var(--pont-avatar-typography-size);
2345
+ --pont-avatar-fallback-typography-weight: var(
2346
+ --pont-avatar-typography-weight
2347
+ );
2348
+ --pont-avatar-fallback-typography-tracking: var(
2349
+ --pont-avatar-typography-tracking
2350
+ );
2351
+ --pont-avatar-fallback-typography-leading: var(
2352
+ --pont-avatar-typography-leading
2353
+ );
2354
+
2355
+ --pont-avatar-fallback-typography-size-sm: var(
2356
+ --pont-avatar-typography-size-sm
2357
+ );
2358
+ --pont-avatar-fallback-typography-weight-sm: var(
2359
+ --pont-avatar-typography-weight-sm
2360
+ );
2361
+ --pont-avatar-fallback-typography-tracking-sm: var(
2362
+ --pont-avatar-typography-tracking-sm
2363
+ );
2364
+ --pont-avatar-fallback-typography-leading-sm: var(
2365
+ --pont-avatar-typography-leading-sm
2366
+ );
2367
+
2368
+ --pont-avatar-fallback-typography-size-lg: var(
2369
+ --pont-avatar-typography-size-lg
2370
+ );
2371
+ --pont-avatar-fallback-typography-weight-lg: var(
2372
+ --pont-avatar-typography-weight-lg
2373
+ );
2374
+ --pont-avatar-fallback-typography-tracking-lg: var(
2375
+ --pont-avatar-typography-tracking-lg
2376
+ );
2377
+ --pont-avatar-fallback-typography-leading-lg: var(
2378
+ --pont-avatar-typography-leading-lg
2379
+ );
2380
+
2381
+ --pont-avatar-fallback-typography-color: hsl(
2382
+ var(--pont-sem-color-text-secondary)
2383
+ );
2384
+
2385
+ /* BACKGROUND */
2386
+ --pont-avatar-fallback-bg-color: hsl(var(--pont-sem-color-bg-fill-secondary));
2201
2387
  }
2202
2388
 
2203
2389
  /*
@@ -2207,18 +2393,159 @@
2207
2393
  */
2208
2394
 
2209
2395
  :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);
2396
+ /* LAYOUT */
2397
+ --pont-avatar-badge-layout-inset-t: auto;
2398
+ --pont-avatar-badge-layout-inset-r: calc(var(--pont-ref-space) * 0);
2399
+ --pont-avatar-badge-layout-inset-b: calc(var(--pont-ref-space) * 0);
2400
+ --pont-avatar-badge-layout-inset-l: auto;
2401
+
2402
+ --pont-avatar-badge-layout-z: 10;
2403
+
2404
+ /* SIZING */
2405
+ --pont-avatar-badge-sizing-w: calc(var(--pont-ref-space) * 2.5);
2406
+ --pont-avatar-badge-sizing-h: calc(var(--pont-ref-space) * 2.5);
2407
+
2408
+ --pont-avatar-badge-sizing-w-sm: calc(var(--pont-ref-space) * 2);
2409
+ --pont-avatar-badge-sizing-h-sm: calc(var(--pont-ref-space) * 2);
2410
+
2411
+ --pont-avatar-badge-sizing-w-lg: calc(var(--pont-ref-space) * 3);
2412
+ --pont-avatar-badge-sizing-h-lg: calc(var(--pont-ref-space) * 3);
2413
+
2414
+ /* TYPOGRAPHY */
2415
+ --pont-avatar-badge-typography-color: hsl(
2416
+ var(--pont-sem-color-text-brand-on-fill)
2417
+ );
2418
+
2419
+ /* BACKGROUND */
2420
+ --pont-avatar-badge-bg-color: hsl(var(--pont-sem-color-bg-fill-brand));
2421
+
2422
+ /* BORDER */
2423
+ --pont-avatar-badge-border-radius-tl: var(--pont-ref-radius-full);
2424
+ --pont-avatar-badge-border-radius-tr: var(--pont-ref-radius-full);
2425
+ --pont-avatar-badge-border-radius-br: var(--pont-ref-radius-full);
2426
+ --pont-avatar-badge-border-radius-bl: var(--pont-ref-radius-full);
2427
+
2428
+ /* EFFECT */
2429
+ --pont-avatar-badge-effect-shadow: var(--pont-ref-effect-shadow-none);
2430
+ --pont-avatar-badge-effect-inset-shadow: inset var(--pont-ref-effect-shadow-none);
2431
+ --pont-avatar-badge-effect-inset-ring: inset var(--pont-ref-effect-shadow-none);
2432
+
2433
+ --pont-avatar-badge-effect-ring-offset-w: 0px;
2434
+ --pont-avatar-badge-effect-ring-offset-color: hsl(var(--pont-sem-color-bg));
2435
+ --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);
2436
+
2437
+ --pont-avatar-badge-effect-ring-w: 2px;
2438
+ --pont-avatar-badge-effect-ring-color: hsl(var(--pont-sem-color-bg));
2439
+ --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);
2440
+
2441
+ --pont-avatar-badge-effect-bg-blend: var(--pont-ref-effect-bg-blend-color);
2442
+ }
2443
+
2444
+ /* * -------- AVATAR BADGE > ICON -------- * */
2445
+
2446
+ :root {
2447
+ /* SIZING */
2448
+ --pont-avatar-badge-icon-sizing-w: calc(var(--pont-ref-space) * 2);
2449
+ --pont-avatar-badge-icon-sizing-h: calc(var(--pont-ref-space) * 2);
2213
2450
 
2214
- --pont-avatar-badge-color-text: hsl(var(--pont-sem-color-text-brand-on-fill));
2451
+ /* Note: shadcn hides the avatar badge icon for the small size */
2452
+ --pont-avatar-badge-icon-sizing-w-sm: calc(var(--pont-ref-space) * 1.5);
2453
+ --pont-avatar-badge-icon-sizing-h-sm: calc(var(--pont-ref-space) * 1.5);
2215
2454
 
2216
- --pont-avatar-badge-color-bg: hsl(var(--pont-sem-color-bg-fill-brand));
2455
+ --pont-avatar-badge-icon-sizing-w-lg: calc(var(--pont-ref-space) * 2);
2456
+ --pont-avatar-badge-icon-sizing-h-lg: calc(var(--pont-ref-space) * 2);
2457
+ }
2217
2458
 
2218
- --pont-avatar-badge-radius: var(--pont-sem-radius-indicator);
2459
+ /*
2460
+ * --------------------------------------------------
2461
+ * AVATAR GROUP
2462
+ * --------------------------------------------------
2463
+ */
2219
2464
 
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);
2465
+ :root {
2466
+ /* SPACING */
2467
+ --pont-avatar-group-spacing-x: calc(var(--pont-ref-space) * -2);
2468
+ --pont-avatar-group-spacing-y: calc(var(--pont-ref-space) * 0);
2469
+ }
2470
+
2471
+ /*
2472
+ * --------------------------------------------------
2473
+ * AVATAR GROUP COUNT
2474
+ * --------------------------------------------------
2475
+ */
2476
+
2477
+ :root {
2478
+ /* SIZING */
2479
+ --pont-avatar-group-count-sizing-w: var(--pont-avatar-sizing-w);
2480
+ --pont-avatar-group-count-sizing-h: var(--pont-avatar-sizing-h);
2481
+
2482
+ --pont-avatar-group-count-sizing-w-sm: var(--pont-avatar-sizing-w-sm);
2483
+ --pont-avatar-group-count-sizing-h-sm: var(--pont-avatar-sizing-h-sm);
2484
+
2485
+ --pont-avatar-group-count-sizing-w-lg: var(--pont-avatar-sizing-w-lg);
2486
+ --pont-avatar-group-count-sizing-h-lg: var(--pont-avatar-sizing-h-lg);
2487
+
2488
+ /* TYPOGRAPHY */
2489
+ --pont-avatar-group-count-typography-font: var(--pont-avatar-typography-font);
2490
+ --pont-avatar-group-count-typography-size: var(--pont-avatar-typography-size);
2491
+ --pont-avatar-group-count-typography-weight: var(
2492
+ --pont-avatar-typography-weight
2493
+ );
2494
+ --pont-avatar-group-count-typography-tracking: var(
2495
+ --pont-avatar-typography-tracking
2496
+ );
2497
+ --pont-avatar-group-count-typography-leading: var(
2498
+ --pont-avatar-typography-leading
2499
+ );
2500
+
2501
+ --pont-avatar-group-count-typography-size-sm: var(
2502
+ --pont-avatar-typography-size-sm
2503
+ );
2504
+ --pont-avatar-group-count-typography-weight-sm: var(
2505
+ --pont-avatar-typography-weight-sm
2506
+ );
2507
+ --pont-avatar-group-count-typography-tracking-sm: var(
2508
+ --pont-avatar-typography-tracking-sm
2509
+ );
2510
+ --pont-avatar-group-count-typography-leading-sm: var(
2511
+ --pont-avatar-typography-leading-sm
2512
+ );
2513
+
2514
+ --pont-avatar-group-count-typography-size-lg: var(
2515
+ --pont-avatar-typography-size-lg
2516
+ );
2517
+ --pont-avatar-group-count-typography-weight-lg: var(
2518
+ --pont-avatar-typography-weight-lg
2519
+ );
2520
+ --pont-avatar-group-count-typography-tracking-lg: var(
2521
+ --pont-avatar-typography-tracking-lg
2522
+ );
2523
+ --pont-avatar-group-count-typography-leading-lg: var(
2524
+ --pont-avatar-typography-leading-lg
2525
+ );
2526
+
2527
+ --pont-avatar-group-count-typography-color: hsl(
2528
+ var(--pont-sem-color-text-secondary)
2529
+ );
2530
+
2531
+ /* BACKGROUND */
2532
+ --pont-avatar-group-count-bg-color: hsl(
2533
+ var(--pont-sem-color-bg-fill-secondary)
2534
+ );
2535
+ }
2536
+
2537
+ /* * -------- AVATAR GROUP COUNT > ICON -------- * */
2538
+
2539
+ :root {
2540
+ /* SIZING */
2541
+ --pont-avatar-group-count-icon-sizing-w: calc(var(--pont-ref-space) * 4);
2542
+ --pont-avatar-group-count-icon-sizing-h: calc(var(--pont-ref-space) * 4);
2543
+
2544
+ --pont-avatar-group-count-icon-sizing-w-sm: calc(var(--pont-ref-space) * 3);
2545
+ --pont-avatar-group-count-icon-sizing-h-sm: calc(var(--pont-ref-space) * 3);
2546
+
2547
+ --pont-avatar-group-count-icon-sizing-w-lg: calc(var(--pont-ref-space) * 5);
2548
+ --pont-avatar-group-count-icon-sizing-h-lg: calc(var(--pont-ref-space) * 5);
2222
2549
  }
2223
2550
 
2224
2551
  /*
@@ -6122,29 +6449,61 @@ pont-callout-action {
6122
6449
 
6123
6450
  pont-avatar {
6124
6451
  flex-shrink: 0;
6125
- -webkit-user-select: none;
6126
- -moz-user-select: none;
6127
- user-select: none;
6128
6452
  }
6129
6453
 
6130
- pont-avatar > [data-slot="avatar"] {
6454
+ [data-pont-avatar] {
6131
6455
  display: flex;
6132
6456
  position: relative;
6133
6457
 
6134
- width: var(--pont-avatar-space-size);
6135
- height: var(--pont-avatar-space-size);
6458
+ width: var(--pont-avatar-sizing-w);
6459
+ height: var(--pont-avatar-sizing-h);
6460
+
6461
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
6462
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
6463
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
6464
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
6465
+
6466
+ -webkit-user-select: none;
6467
+
6468
+ -moz-user-select: none;
6136
6469
 
6137
- border-radius: var(--pont-avatar-radius);
6470
+ user-select: none;
6138
6471
  }
6139
6472
 
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);
6473
+ /* * SIZES * */
6474
+
6475
+ [data-pont-avatar][data-size="sm"] {
6476
+ width: var(--pont-avatar-sizing-w-sm);
6477
+ height: var(--pont-avatar-sizing-h-sm);
6143
6478
  }
6144
6479
 
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);
6480
+ [data-pont-avatar][data-size="lg"] {
6481
+ width: var(--pont-avatar-sizing-w-lg);
6482
+ height: var(--pont-avatar-sizing-h-lg);
6483
+ }
6484
+
6485
+ /* * -------- AVATAR... AFTER -------- * */
6486
+
6487
+ [data-pont-avatar]::after {
6488
+ content: "";
6489
+
6490
+ position: absolute;
6491
+ inset: 0;
6492
+
6493
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
6494
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
6495
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
6496
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
6497
+
6498
+ border-top-width: var(--pont-avatar-border-width-t);
6499
+ border-right-width: var(--pont-avatar-border-width-r);
6500
+ border-bottom-width: var(--pont-avatar-border-width-b);
6501
+ border-left-width: var(--pont-avatar-border-width-l);
6502
+
6503
+ border-color: var(--pont-avatar-border-color);
6504
+ border-style: var(--pont-avatar-border-style);
6505
+
6506
+ mix-blend-mode: var(--pont-avatar-effect-mix-blend);
6148
6507
  }
6149
6508
 
6150
6509
  /*
@@ -6158,12 +6517,18 @@ pont-avatar-image {
6158
6517
  height: 100%;
6159
6518
  }
6160
6519
 
6161
- pont-avatar-image > [data-slot="avatar-image"] {
6162
- aspect-ratio: 1 / 1;
6520
+ [data-pont-avatar-image] {
6521
+ aspect-ratio: var(--pont-avatar-image-layout-aspect);
6163
6522
  -o-object-fit: cover;
6164
6523
  object-fit: cover;
6165
6524
 
6166
- border-radius: var(--pont-avatar-radius);
6525
+ width: 100%;
6526
+ height: 100%;
6527
+
6528
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
6529
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
6530
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
6531
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
6167
6532
  }
6168
6533
 
6169
6534
  /*
@@ -6177,27 +6542,45 @@ pont-avatar-fallback {
6177
6542
  height: 100%;
6178
6543
  }
6179
6544
 
6180
- pont-avatar-fallback > [data-slot="avatar-fallback"] {
6545
+ [data-pont-avatar-fallback] {
6181
6546
  display: flex;
6182
6547
 
6183
- align-items: center;
6184
6548
  justify-content: center;
6549
+ align-items: center;
6185
6550
 
6186
6551
  width: 100%;
6187
6552
  height: 100%;
6188
6553
 
6189
- font-size: var(--pont-avatar-font-size);
6190
- line-height: var(--pont-avatar-font-line-height);
6191
- color: var(--pont-avatar-color-text);
6554
+ font-family: var(--pont-avatar-fallback-typography-font);
6555
+ font-size: var(--pont-avatar-fallback-typography-size);
6556
+ font-weight: var(--pont-avatar-fallback-typography-weight);
6557
+ letter-spacing: var(--pont-avatar-fallback-typography-tracking);
6558
+ line-height: var(--pont-avatar-fallback-typography-leading);
6559
+
6560
+ color: var(--pont-avatar-fallback-typography-color);
6192
6561
 
6193
- background-color: var(--pont-avatar-color-bg);
6562
+ background-color: var(--pont-avatar-fallback-bg-color);
6194
6563
 
6195
- border-radius: var(--pont-avatar-radius);
6564
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
6565
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
6566
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
6567
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
6196
6568
  }
6197
6569
 
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);
6570
+ /* * SIZES * */
6571
+
6572
+ [data-pont-avatar][data-size="sm"] [data-pont-avatar-fallback] {
6573
+ font-size: var(--pont-avatar-fallback-typography-size-sm);
6574
+ font-weight: var(--pont-avatar-fallback-typography-weight-sm);
6575
+ letter-spacing: var(--pont-avatar-fallback-typography-tracking-sm);
6576
+ line-height: var(--pont-avatar-fallback-typography-leading-sm);
6577
+ }
6578
+
6579
+ [data-pont-avatar][data-size="lg"] [data-pont-avatar-fallback] {
6580
+ font-size: var(--pont-avatar-fallback-typography-size-lg);
6581
+ font-weight: var(--pont-avatar-fallback-typography-weight-lg);
6582
+ letter-spacing: var(--pont-avatar-fallback-typography-tracking-lg);
6583
+ line-height: var(--pont-avatar-fallback-typography-leading-lg);
6201
6584
  }
6202
6585
 
6203
6586
  /*
@@ -6209,12 +6592,16 @@ pont-avatar > [data-slot="avatar"][data-size="sm"] > pont-avatar-fallback > [dat
6209
6592
  pont-avatar-badge {
6210
6593
  display: inline-flex;
6211
6594
  position: absolute;
6212
- right: 0;
6213
- bottom: 0;
6214
- z-index: 10;
6215
6595
 
6216
- width: var(--pont-avatar-badge-space-size);
6217
- height: var(--pont-avatar-badge-space-size);
6596
+ top: var(--pont-avatar-badge-layout-inset-t);
6597
+ right: var(--pont-avatar-badge-layout-inset-r);
6598
+ bottom: var(--pont-avatar-badge-layout-inset-b);
6599
+ left: var(--pont-avatar-badge-layout-inset-l);
6600
+
6601
+ z-index: var(--pont-avatar-badge-layout-z);
6602
+
6603
+ justify-content: center;
6604
+ align-items: center;
6218
6605
 
6219
6606
  -webkit-user-select: none;
6220
6607
 
@@ -6223,52 +6610,63 @@ pont-avatar-badge {
6223
6610
  user-select: none;
6224
6611
  }
6225
6612
 
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"] {
6613
+ [data-pont-avatar-badge] {
6237
6614
  display: flex;
6238
- align-items: center;
6615
+
6239
6616
  justify-content: center;
6617
+ align-items: center;
6240
6618
 
6241
- width: 100%;
6242
- height: 100%;
6619
+ width: var(--pont-avatar-badge-sizing-w);
6620
+ height: var(--pont-avatar-badge-sizing-h);
6243
6621
 
6244
- color: var(--pont-avatar-badge-color-text);
6622
+ color: var(--pont-avatar-badge-typography-color);
6245
6623
 
6246
- background-color: var(--pont-avatar-badge-color-bg);
6624
+ background-color: var(--pont-avatar-badge-bg-color);
6247
6625
 
6248
- border-radius: var(--pont-avatar-badge-radius);
6626
+ border-top-left-radius: var(--pont-avatar-badge-border-radius-tl);
6627
+ border-top-right-radius: var(--pont-avatar-badge-border-radius-tr);
6628
+ border-bottom-right-radius: var(--pont-avatar-badge-border-radius-br);
6629
+ border-bottom-left-radius: var(--pont-avatar-badge-border-radius-bl);
6249
6630
 
6250
6631
  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);
6632
+ var(--pont-avatar-badge-effect-inset-shadow),
6633
+ var(--pont-avatar-badge-effect-inset-ring),
6634
+ var(--pont-avatar-badge-effect-ring-offset),
6635
+ var(--pont-avatar-badge-effect-ring), var(--pont-avatar-badge-effect-shadow);
6636
+
6637
+ background-blend-mode: var(--pont-avatar-badge-effect-bg-blend);
6256
6638
  }
6257
6639
 
6258
- /* * AVATAR BADGE ICON CHILD * */
6640
+ /* * SIZES * */
6259
6641
 
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);
6642
+ [data-pont-avatar][data-size="sm"] [data-pont-avatar-badge] {
6643
+ width: var(--pont-avatar-badge-sizing-w-sm);
6644
+ height: var(--pont-avatar-badge-sizing-h-sm);
6263
6645
  }
6264
6646
 
6265
- pont-avatar > [data-slot="avatar"][data-size="sm"] > pont-avatar-badge > [data-slot="avatar-badge"] > svg {
6266
- display: none;
6647
+ [data-pont-avatar][data-size="lg"] [data-pont-avatar-badge] {
6648
+ width: var(--pont-avatar-badge-sizing-w-lg);
6649
+ height: var(--pont-avatar-badge-sizing-h-lg);
6650
+ }
6651
+
6652
+ /* * -------- AVATAR BADGE > ICON -------- * */
6653
+
6654
+ [data-pont-avatar-badge] > svg {
6655
+ width: var(--pont-avatar-badge-icon-sizing-w);
6656
+ height: var(--pont-avatar-badge-icon-sizing-h);
6657
+ }
6658
+
6659
+ /* * SIZES * */
6660
+
6661
+ /* Note: shadcn hides the avatar badge icon for the small size */
6662
+ [data-pont-avatar][data-size="sm"] [data-pont-avatar-badge] > svg {
6663
+ width: var(--pont-avatar-badge-icon-sizing-w-sm);
6664
+ height: var(--pont-avatar-badge-icon-sizing-h-sm);
6267
6665
  }
6268
6666
 
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);
6667
+ [data-pont-avatar][data-size="lg"] [data-pont-avatar-badge] > svg {
6668
+ width: var(--pont-avatar-badge-icon-sizing-w-lg);
6669
+ height: var(--pont-avatar-badge-icon-sizing-h-lg);
6272
6670
  }
6273
6671
 
6274
6672
  /*
@@ -6277,22 +6675,24 @@ pont-avatar > [data-slot="avatar"][data-size="lg"] > pont-avatar-badge > [data-s
6277
6675
  * --------------------------------------------------
6278
6676
  */
6279
6677
 
6280
- pont-avatar-group > [data-slot="avatar-group"] {
6678
+ [data-pont-avatar-group] {
6281
6679
  display: flex;
6282
6680
  }
6283
6681
 
6284
- pont-avatar-group > [data-slot="avatar-group"] > :not(:last-child) {
6682
+ [data-pont-avatar-group] > :not(:last-child) {
6683
+ margin-block-start: 0;
6684
+ margin-block-end: var(--pont-avatar-group-spacing-y);
6285
6685
  margin-inline-start: 0;
6286
- margin-inline-end: var(--pont-avatar-space-me-in-group);
6686
+ margin-inline-end: var(--pont-avatar-group-spacing-x);
6287
6687
  }
6288
6688
 
6289
- pont-avatar-group > [data-slot="avatar-group"] > pont-avatar > [data-slot="avatar"] {
6689
+ /* * -------- AVATAR GROUP > AVATAR -------- * */
6690
+
6691
+ [data-pont-avatar-group] > pont-avatar > [data-pont-avatar] {
6290
6692
  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);
6693
+ var(--pont-avatar-effect-inset-shadow),
6694
+ var(--pont-avatar-effect-inset-ring), var(--pont-avatar-effect-ring-offset),
6695
+ var(--pont-avatar-effect-ring), var(--pont-avatar-effect-shadow);
6296
6696
  }
6297
6697
 
6298
6698
  /*
@@ -6305,60 +6705,82 @@ pont-avatar-group-count {
6305
6705
  flex-shrink: 0;
6306
6706
  }
6307
6707
 
6308
- pont-avatar-group-count > [data-slot="avatar-group-count"] {
6708
+ [data-pont-avatar-group-count] {
6309
6709
  display: flex;
6310
6710
  position: relative;
6311
6711
 
6312
- align-items: center;
6313
6712
  justify-content: center;
6713
+ align-items: center;
6314
6714
 
6315
- width: var(--pont-avatar-space-size);
6316
- height: var(--pont-avatar-space-size);
6715
+ width: var(--pont-avatar-group-count-sizing-w);
6716
+ height: var(--pont-avatar-group-count-sizing-h);
6317
6717
 
6318
- font-size: var(--pont-avatar-font-size);
6319
- line-height: var(--pont-avatar-font-line-height);
6320
- color: var(--pont-avatar-color-text);
6718
+ font-family: var(--pont-avatar-group-count-typography-font);
6719
+ font-size: var(--pont-avatar-group-count-typography-size);
6720
+ font-weight: var(--pont-avatar-group-count-typography-weight);
6721
+ letter-spacing: var(--pont-avatar-group-count-typography-tracking);
6722
+ line-height: var(--pont-avatar-group-count-typography-leading);
6321
6723
 
6322
- background-color: var(--pont-avatar-color-bg);
6724
+ color: var(--pont-avatar-group-count-typography-color);
6323
6725
 
6324
- border-radius: var(--pont-avatar-radius);
6726
+ background-color: var(--pont-avatar-group-count-bg-color);
6727
+
6728
+ border-top-left-radius: var(--pont-avatar-border-radius-tl);
6729
+ border-top-right-radius: var(--pont-avatar-border-radius-tr);
6730
+ border-bottom-right-radius: var(--pont-avatar-border-radius-br);
6731
+ border-bottom-left-radius: var(--pont-avatar-border-radius-bl);
6325
6732
 
6326
6733
  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);
6734
+ var(--pont-avatar-effect-inset-shadow),
6735
+ var(--pont-avatar-effect-inset-ring), var(--pont-avatar-effect-ring-offset),
6736
+ var(--pont-avatar-effect-ring), var(--pont-avatar-effect-shadow);
6332
6737
  }
6333
6738
 
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);
6739
+ /* * SIZES * */
6740
+
6741
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="sm"])
6742
+ [data-pont-avatar-group-count] {
6743
+ width: var(--pont-avatar-group-count-sizing-w-sm);
6744
+ height: var(--pont-avatar-group-count-sizing-h-sm);
6337
6745
 
6338
- font-size: var(--pont-avatar-font-size-sm);
6339
- line-height: var(--pont-avatar-font-line-height-sm);
6746
+ font-size: var(--pont-avatar-group-count-typography-size-sm);
6747
+ font-weight: var(--pont-avatar-group-count-typography-weight-sm);
6748
+ letter-spacing: var(--pont-avatar-group-count-typography-tracking-sm);
6749
+ line-height: var(--pont-avatar-group-count-typography-leading-sm);
6340
6750
  }
6341
6751
 
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);
6752
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="lg"])
6753
+ [data-pont-avatar-group-count] {
6754
+ width: var(--pont-avatar-group-count-sizing-w-lg);
6755
+ height: var(--pont-avatar-group-count-sizing-h-lg);
6756
+
6757
+ font-size: var(--pont-avatar-group-count-typography-size-lg);
6758
+ font-weight: var(--pont-avatar-group-count-typography-weight-lg);
6759
+ letter-spacing: var(--pont-avatar-group-count-typography-tracking-lg);
6760
+ line-height: var(--pont-avatar-group-count-typography-leading-lg);
6345
6761
  }
6346
6762
 
6347
- /* * AVATAR GROUP COUNT ICON CHILD * */
6763
+ /* * -------- AVATAR GROUP COUNT > ICON -------- * */
6348
6764
 
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);
6765
+ [data-pont-avatar-group-count] > svg {
6766
+ width: var(--pont-avatar-group-count-icon-sizing-w);
6767
+ height: var(--pont-avatar-group-count-icon-sizing-h);
6352
6768
  }
6353
6769
 
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);
6770
+ /* * SIZES * */
6771
+
6772
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="sm"])
6773
+ [data-pont-avatar-group-count]
6774
+ > svg {
6775
+ width: var(--pont-avatar-group-count-icon-sizing-w-sm);
6776
+ height: var(--pont-avatar-group-count-icon-sizing-h-sm);
6357
6777
  }
6358
6778
 
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);
6779
+ [data-pont-avatar-group]:has([data-pont-avatar][data-size="lg"])
6780
+ [data-pont-avatar-group-count]
6781
+ > svg {
6782
+ width: var(--pont-avatar-group-count-icon-sizing-w-lg);
6783
+ height: var(--pont-avatar-group-count-icon-sizing-h-lg);
6362
6784
  }
6363
6785
 
6364
6786
  /*
@@ -12813,7 +13235,8 @@ pont-account-info pont-card[part="verification-form"] {
12813
13235
  }
12814
13236
 
12815
13237
  pont-account-info pont-avatar {
12816
- --pont-avatar-space-size-lg: var(--pont-account-info-avatar-space-size);
13238
+ --pont-avatar-sizing-w-lg: var(--pont-account-info-avatar-space-size);
13239
+ --pont-avatar-sizing-h-lg: var(--pont-account-info-avatar-space-size);
12817
13240
  }
12818
13241
 
12819
13242
  pont-account-info pont-card > [data-slot="card"] {
@@ -12982,7 +13405,8 @@ pont-member-management
12982
13405
  pont-member-management-members-panel
12983
13406
  pont-data-table
12984
13407
  pont-avatar {
12985
- --pont-avatar-space-size: var(--pont-member-management-avatar-space-size);
13408
+ --pont-avatar-sizing-w: var(--pont-member-management-avatar-space-size);
13409
+ --pont-avatar-sizing-h: var(--pont-member-management-avatar-space-size);
12986
13410
  }
12987
13411
 
12988
13412
  pont-member-management