@pontive/pontkit-core 1.9.0 → 1.11.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
@@ -633,6 +633,11 @@
633
633
  /* * ASPECT RATIO * */
634
634
  --pont-ref-layout-aspect-square: 1 / 1;
635
635
  --pont-ref-layout-aspect-video: 16 / 9;
636
+
637
+ /* * INSET * */
638
+ --pont-ref-layout-inset-auto: auto;
639
+ --pont-ref-layout-inset-full: 100%;
640
+ --pont-ref-layout-inset-neg-full: -100%;
636
641
  }
637
642
 
638
643
  /*
@@ -656,6 +661,79 @@
656
661
  --pont-ref-sizing-w-min: min-content;
657
662
  --pont-ref-sizing-w-max: max-content;
658
663
  --pont-ref-sizing-w-fit: fit-content;
664
+
665
+ /* * HEIGHT * */
666
+ --pont-ref-sizing-h-auto: auto;
667
+ --pont-ref-sizing-h-full: 100%;
668
+ --pont-ref-sizing-h-screen: 100vh;
669
+ --pont-ref-sizing-h-dvh: 100dvh;
670
+ --pont-ref-sizing-h-dvw: 100dvw;
671
+ --pont-ref-sizing-h-lvh: 100lvh;
672
+ --pont-ref-sizing-h-lvw: 100lvw;
673
+ --pont-ref-sizing-h-svh: 100svh;
674
+ --pont-ref-sizing-h-svw: 100svw;
675
+ --pont-ref-sizing-h-min: min-content;
676
+ --pont-ref-sizing-h-max: max-content;
677
+ --pont-ref-sizing-h-fit: fit-content;
678
+ --pont-ref-sizing-h-lh: 1lh;
679
+
680
+ /* * MIN WIDTH * */
681
+ --pont-ref-sizing-min-w-auto: auto;
682
+ --pont-ref-sizing-min-w-full: 100%;
683
+ --pont-ref-sizing-min-w-screen: 100vw;
684
+ --pont-ref-sizing-min-w-dvw: 100dvw;
685
+ --pont-ref-sizing-min-w-dvh: 100dvh;
686
+ --pont-ref-sizing-min-w-lvw: 100lvw;
687
+ --pont-ref-sizing-min-w-lvh: 100lvh;
688
+ --pont-ref-sizing-min-w-svw: 100svw;
689
+ --pont-ref-sizing-min-w-svh: 100svh;
690
+ --pont-ref-sizing-min-w-min: min-content;
691
+ --pont-ref-sizing-min-w-max: max-content;
692
+ --pont-ref-sizing-min-w-fit: fit-content;
693
+
694
+ /* * MAX WIDTH * */
695
+ --pont-ref-sizing-max-w-none: none;
696
+ --pont-ref-sizing-max-w-full: 100%;
697
+ --pont-ref-sizing-max-w-dvw: 100dvw;
698
+ --pont-ref-sizing-max-w-dvh: 100dvh;
699
+ --pont-ref-sizing-max-w-lvw: 100lvw;
700
+ --pont-ref-sizing-max-w-lvh: 100lvh;
701
+ --pont-ref-sizing-max-w-svw: 100svw;
702
+ --pont-ref-sizing-max-w-svh: 100svh;
703
+ --pont-ref-sizing-max-w-screen: 100vw;
704
+ --pont-ref-sizing-max-w-min: min-content;
705
+ --pont-ref-sizing-max-w-max: max-content;
706
+ --pont-ref-sizing-max-w-fit: fit-content;
707
+
708
+ /* * MIN HEIGHT * */
709
+ --pont-ref-sizing-min-h-full: 100%;
710
+ --pont-ref-sizing-min-h-screen: 100vh;
711
+ --pont-ref-sizing-min-h-dvh: 100dvh;
712
+ --pont-ref-sizing-min-h-dvw: 100dvw;
713
+ --pont-ref-sizing-min-h-lvh: 100lvh;
714
+ --pont-ref-sizing-min-h-lvw: 100lvw;
715
+ --pont-ref-sizing-min-h-svw: 100svw;
716
+ --pont-ref-sizing-min-h-svh: 100svh;
717
+ --pont-ref-sizing-min-h-auto: auto;
718
+ --pont-ref-sizing-min-h-min: min-content;
719
+ --pont-ref-sizing-min-h-max: max-content;
720
+ --pont-ref-sizing-min-h-fit: fit-content;
721
+ --pont-ref-sizing-min-h-lh: 1lh;
722
+
723
+ /* * MAX HEIGHT * */
724
+ --pont-ref-sizing-max-h-none: none;
725
+ --pont-ref-sizing-max-h-full: 100%;
726
+ --pont-ref-sizing-max-h-screen: 100vh;
727
+ --pont-ref-sizing-max-h-dvh: 100dvh;
728
+ --pont-ref-sizing-max-h-dvw: 100dvw;
729
+ --pont-ref-sizing-max-h-lvh: 100lvh;
730
+ --pont-ref-sizing-max-h-lvw: 100lvw;
731
+ --pont-ref-sizing-max-h-svh: 100svh;
732
+ --pont-ref-sizing-max-h-svw: 100svw;
733
+ --pont-ref-sizing-max-h-min: min-content;
734
+ --pont-ref-sizing-max-h-max: max-content;
735
+ --pont-ref-sizing-max-h-fit: fit-content;
736
+ --pont-ref-sizing-max-h-lh: 1lh;
659
737
  }
660
738
 
661
739
  /*
@@ -666,6 +744,14 @@
666
744
  */
667
745
 
668
746
  :root {
747
+ /* * TEXT ALIGN * */
748
+ --pont-ref-typography-align-left: left;
749
+ --pont-ref-typography-align-center: center;
750
+ --pont-ref-typography-align-right: right;
751
+ --pont-ref-typography-align-justify: justify;
752
+ --pont-ref-typography-align-start: start;
753
+ --pont-ref-typography-align-end: end;
754
+
669
755
  /* * TEXT DECORATION LINE * */
670
756
  --pont-ref-typography-decoration-line-underline: underline;
671
757
  --pont-ref-typography-decoration-line-overline: overline;
@@ -690,6 +776,25 @@
690
776
 
691
777
  /* * TEXT UNDERLINE OFFSET * */
692
778
  --pont-ref-typography-underline-offset-auto: auto;
779
+
780
+ /* * TEXT WRAP * */
781
+ --pont-ref-typography-wrap-wrap: wrap;
782
+ --pont-ref-typography-wrap-nowrap: nowrap;
783
+ --pont-ref-typography-wrap-balance: balance;
784
+ --pont-ref-typography-wrap-pretty: pretty;
785
+ }
786
+
787
+ /*
788
+ * ===========================================================================
789
+ * INTERACTIVITY REFERENCE TOKENS
790
+ * pont-ref-interactivity-*
791
+ * ===========================================================================
792
+ */
793
+
794
+ :root {
795
+ /* * FIELD SIZING * */
796
+ --pont-ref-interactivity-field-sizing-fixed: fixed;
797
+ --pont-ref-interactivity-field-sizing-content: content;
693
798
  }
694
799
 
695
800
  /*
@@ -721,6 +826,9 @@
721
826
  --pont-sem-color-role-text: var(--pont-ref-color-base-950);
722
827
  --pont-sem-color-role-focus: var(--pont-ref-color-base-400);
723
828
 
829
+ --pont-sem-color-role-base: var(--pont-ref-color-base-900);
830
+ --pont-sem-color-role-on-base: var(--pont-ref-color-base-50);
831
+
724
832
  --pont-sem-color-role-brand: var(--pont-ref-color-brand-900);
725
833
  --pont-sem-color-role-on-brand: var(--pont-ref-color-brand-50);
726
834
 
@@ -768,6 +876,8 @@
768
876
  --pont-sem-color-bg-surface-quaternary: var(--pont-ref-color-base-100) /
769
877
  var(--pont-ref-opacity-50);
770
878
 
879
+ --pont-sem-color-bg-surface-base: var(--pont-sem-color-role-base) /
880
+ var(--pont-sem-opacity-surface);
771
881
  --pont-sem-color-bg-surface-brand: var(--pont-sem-color-role-brand) /
772
882
  var(--pont-sem-opacity-surface);
773
883
  --pont-sem-color-bg-surface-destructive: var(--pont-sem-color-role-destructive) /
@@ -924,6 +1034,10 @@
924
1034
 
925
1035
  --pont-sem-color-border-transparent: var(--pont-ref-color-transparent);
926
1036
 
1037
+ --pont-sem-color-border-base: var(--pont-sem-color-role-base);
1038
+ --pont-sem-color-border-base-secondary: var(--pont-sem-color-role-base) /
1039
+ var(--pont-sem-opacity-border-secondary);
1040
+
927
1041
  --pont-sem-color-border-brand: var(--pont-sem-color-role-brand);
928
1042
  --pont-sem-color-border-brand-secondary: var(--pont-sem-color-role-brand) /
929
1043
  var(--pont-sem-opacity-border-secondary);
@@ -994,6 +1108,9 @@
994
1108
  --pont-sem-color-role-text: var(--pont-ref-color-base-50);
995
1109
  --pont-sem-color-role-focus: var(--pont-ref-color-base-500);
996
1110
 
1111
+ --pont-sem-color-role-base: var(--pont-ref-color-base-200);
1112
+ --pont-sem-color-role-on-base: var(--pont-ref-color-base-900);
1113
+
997
1114
  --pont-sem-color-role-brand: var(--pont-ref-color-brand-200);
998
1115
  --pont-sem-color-role-on-brand: var(--pont-ref-color-brand-900);
999
1116
 
@@ -1041,6 +1158,8 @@
1041
1158
  --pont-sem-color-bg-surface-quaternary: var(--pont-ref-color-base-800) /
1042
1159
  var(--pont-ref-opacity-50);
1043
1160
 
1161
+ --pont-sem-color-bg-surface-base: var(--pont-sem-color-role-base) /
1162
+ var(--pont-sem-opacity-surface);
1044
1163
  --pont-sem-color-bg-surface-brand: var(--pont-sem-color-role-brand) /
1045
1164
  var(--pont-sem-opacity-surface);
1046
1165
  --pont-sem-color-bg-surface-destructive: var(--pont-sem-color-role-destructive) /
@@ -1207,6 +1326,10 @@
1207
1326
 
1208
1327
  --pont-sem-color-border-transparent: var(--pont-ref-color-transparent);
1209
1328
 
1329
+ --pont-sem-color-border-base: var(--pont-sem-color-role-base);
1330
+ --pont-sem-color-border-base-secondary: var(--pont-sem-color-role-base) /
1331
+ var(--pont-sem-opacity-border-secondary);
1332
+
1210
1333
  --pont-sem-color-border-brand: var(--pont-sem-color-role-brand);
1211
1334
  --pont-sem-color-border-brand-secondary: var(--pont-sem-color-role-brand) /
1212
1335
  var(--pont-sem-opacity-border-secondary);
@@ -2182,165 +2305,706 @@
2182
2305
  }
2183
2306
  /*
2184
2307
  * ===========================================================================
2185
- * ALERT COMPONENT TOKENS
2308
+ * CALLOUT COMPONENT TOKENS
2186
2309
  * pont-callout-*
2310
+ * [previously pont-alert-*]
2187
2311
  * ===========================================================================
2188
2312
  */
2189
2313
 
2190
2314
  /*
2191
2315
  * --------------------------------------------------
2192
- * ALERT
2316
+ * CALLOUT
2193
2317
  * --------------------------------------------------
2194
2318
  */
2195
2319
 
2196
2320
  :root {
2197
- --pont-callout-space-gap: var(--pont-sem-space-feedback-gap);
2198
- --pont-callout-space-gap-x-has-icon: var(--pont-sem-space-feedback-gap-lg);
2199
- --pont-callout-font-family: var(--pont-sem-font-family-default);
2321
+ /* LAYOUT */
2322
+ --pont-callout-layout-gap-x: calc(var(--pont-ref-space) * 0.5);
2323
+ --pont-callout-layout-gap-y: calc(var(--pont-ref-space) * 0.5);
2200
2324
 
2201
- --pont-callout-space-py: var(--pont-sem-space-feedback-py);
2202
- --pont-callout-space-px: var(--pont-sem-space-feedback-px);
2203
- --pont-callout-space-pr-has-action: var(--pont-sem-space-feedback-pr-has-action);
2325
+ --pont-callout-layout-gap-x-has-icon: calc(var(--pont-ref-space) * 2);
2326
+ --pont-callout-layout-gap-y-has-icon: calc(var(--pont-ref-space) * 0.5);
2204
2327
 
2205
- --pont-callout-font-size: var(--pont-sem-font-content-body-size);
2206
- --pont-callout-font-line-height: var(--pont-sem-font-content-body-line-height);
2328
+ /* SPACING */
2329
+ --pont-callout-spacing-pt: calc(var(--pont-ref-space) * 2);
2330
+ --pont-callout-spacing-pr: calc(var(--pont-ref-space) * 2.5);
2331
+ --pont-callout-spacing-pb: calc(var(--pont-ref-space) * 2);
2332
+ --pont-callout-spacing-pl: calc(var(--pont-ref-space) * 2.5);
2207
2333
 
2208
- --pont-callout-color-bg: hsl(var(--pont-sem-color-bg-surface-secondary));
2334
+ --pont-callout-spacing-pt-has-action: calc(var(--pont-ref-space) * 2);
2335
+ --pont-callout-spacing-pr-has-action: calc(var(--pont-ref-space) * 18);
2336
+ --pont-callout-spacing-pb-has-action: calc(var(--pont-ref-space) * 2);
2337
+ --pont-callout-spacing-pl-has-action: calc(var(--pont-ref-space) * 2.5);
2209
2338
 
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);
2339
+ /* SIZING */
2340
+ --pont-callout-sizing-w: var(--pont-ref-sizing-w-full);
2341
+ --pont-callout-sizing-h: var(--pont-ref-sizing-h-auto);
2213
2342
 
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(
2343
+ /* TYPOGRAPHY */
2344
+ --pont-callout-typography-font: var(--pont-sem-font-family-default);
2345
+ --pont-callout-typography-size: var(--pont-ref-font-size-sm);
2346
+ --pont-callout-typography-weight: var(--pont-ref-font-weight-normal);
2347
+ --pont-callout-typography-tracking: var(
2348
+ --pont-ref-font-letter-spacing-normal
2349
+ );
2350
+ --pont-callout-typography-leading: var(--pont-ref-font-line-height-of-sm);
2351
+
2352
+ --pont-callout-typography-align: var(--pont-ref-typography-align-left);
2353
+
2354
+ /* BORDER */
2355
+ --pont-callout-border-radius-tl: var(--pont-ref-radius-lg);
2356
+ --pont-callout-border-radius-tr: var(--pont-ref-radius-lg);
2357
+ --pont-callout-border-radius-bl: var(--pont-ref-radius-lg);
2358
+ --pont-callout-border-radius-br: var(--pont-ref-radius-lg);
2359
+ }
2360
+
2361
+ /* * -------- VARIANTS -------- * */
2362
+
2363
+ /* * DEFAULT * */
2364
+
2365
+ :root {
2366
+ /* TYPOGRAPHY */
2367
+ --pont-callout-default-typography-color: hsl(var(--pont-sem-color-text));
2368
+
2369
+ /* BACKGROUND */
2370
+ --pont-callout-default-bg-color: hsl(
2371
+ var(--pont-sem-color-bg-surface-secondary)
2372
+ );
2373
+
2374
+ /* BORDER */
2375
+ --pont-callout-default-border-style: var(--pont-ref-border-style-solid);
2376
+ --pont-callout-default-border-color: hsl(var(--pont-sem-color-border));
2377
+ --pont-callout-default-border-width-t: var(--pont-sem-width-border);
2378
+ --pont-callout-default-border-width-r: var(--pont-sem-width-border);
2379
+ --pont-callout-default-border-width-b: var(--pont-sem-width-border);
2380
+ --pont-callout-default-border-width-l: var(--pont-sem-width-border);
2381
+ }
2382
+
2383
+ /* * BRAND * */
2384
+
2385
+ :root {
2386
+ /* TYPOGRAPHY */
2387
+ --pont-callout-brand-typography-color: hsl(var(--pont-sem-color-text-brand));
2388
+
2389
+ /* BACKGROUND */
2390
+ --pont-callout-brand-bg-color: hsl(
2391
+ var(--pont-sem-color-bg-surface-secondary)
2392
+ );
2393
+
2394
+ /* BORDER */
2395
+ --pont-callout-brand-border-style: var(--pont-ref-border-style-solid);
2396
+ --pont-callout-brand-border-color: hsl(var(--pont-sem-color-border));
2397
+ --pont-callout-brand-border-width-t: var(--pont-sem-width-border);
2398
+ --pont-callout-brand-border-width-r: var(--pont-sem-width-border);
2399
+ --pont-callout-brand-border-width-b: var(--pont-sem-width-border);
2400
+ --pont-callout-brand-border-width-l: var(--pont-sem-width-border);
2401
+ }
2402
+
2403
+ /* * BRAND TONAL * */
2404
+
2405
+ :root {
2406
+ /* TYPOGRAPHY */
2407
+ --pont-callout-brand-tonal-typography-color: hsl(
2408
+ var(--pont-sem-color-text-brand)
2409
+ );
2410
+
2411
+ /* BACKGROUND */
2412
+ --pont-callout-brand-tonal-bg-color: hsl(
2413
+ var(--pont-sem-color-bg-surface-brand)
2414
+ );
2415
+
2416
+ /* BORDER */
2417
+ --pont-callout-brand-tonal-border-style: var(--pont-ref-border-style-solid);
2418
+ --pont-callout-brand-tonal-border-color: hsl(
2227
2419
  var(--pont-sem-color-border-brand-secondary)
2228
2420
  );
2421
+ --pont-callout-brand-tonal-border-width-t: var(--pont-sem-width-border);
2422
+ --pont-callout-brand-tonal-border-width-r: var(--pont-sem-width-border);
2423
+ --pont-callout-brand-tonal-border-width-b: var(--pont-sem-width-border);
2424
+ --pont-callout-brand-tonal-border-width-l: var(--pont-sem-width-border);
2425
+ }
2229
2426
 
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));
2427
+ /* * DESTRUCTIVE * */
2428
+
2429
+ :root {
2430
+ /* TYPOGRAPHY */
2431
+ --pont-callout-destructive-typography-color: hsl(
2432
+ var(--pont-sem-color-text-destructive)
2433
+ );
2434
+
2435
+ /* BACKGROUND */
2436
+ --pont-callout-destructive-bg-color: hsl(
2437
+ var(--pont-sem-color-bg-surface-secondary)
2438
+ );
2439
+
2440
+ /* BORDER */
2441
+ --pont-callout-destructive-border-style: var(--pont-ref-border-style-solid);
2442
+ --pont-callout-destructive-border-color: hsl(var(--pont-sem-color-border));
2443
+ --pont-callout-destructive-border-width-t: var(--pont-sem-width-border);
2444
+ --pont-callout-destructive-border-width-r: var(--pont-sem-width-border);
2445
+ --pont-callout-destructive-border-width-b: var(--pont-sem-width-border);
2446
+ --pont-callout-destructive-border-width-l: var(--pont-sem-width-border);
2447
+ }
2234
2448
 
2235
- --pont-callout-destructive-tonal-color-bg: hsl(
2449
+ /* * DESTRUCTIVE TONAL * */
2450
+
2451
+ :root {
2452
+ /* TYPOGRAPHY */
2453
+ --pont-callout-destructive-tonal-typography-color: hsl(
2454
+ var(--pont-sem-color-text-destructive)
2455
+ );
2456
+
2457
+ /* BACKGROUND */
2458
+ --pont-callout-destructive-tonal-bg-color: hsl(
2236
2459
  var(--pont-sem-color-bg-surface-destructive)
2237
2460
  );
2238
- --pont-callout-destructive-tonal-color-border: hsl(
2461
+
2462
+ /* BORDER */
2463
+ --pont-callout-destructive-tonal-border-style: var(
2464
+ --pont-ref-border-style-solid
2465
+ );
2466
+ --pont-callout-destructive-tonal-border-color: hsl(
2239
2467
  var(--pont-sem-color-border-destructive-secondary)
2240
2468
  );
2469
+ --pont-callout-destructive-tonal-border-width-t: var(--pont-sem-width-border);
2470
+ --pont-callout-destructive-tonal-border-width-r: var(--pont-sem-width-border);
2471
+ --pont-callout-destructive-tonal-border-width-b: var(--pont-sem-width-border);
2472
+ --pont-callout-destructive-tonal-border-width-l: var(--pont-sem-width-border);
2473
+ }
2474
+
2475
+ /* * WARNING * */
2476
+
2477
+ :root {
2478
+ /* TYPOGRAPHY */
2479
+ --pont-callout-warning-typography-color: hsl(
2480
+ var(--pont-sem-color-text-warning)
2481
+ );
2482
+
2483
+ /* BACKGROUND */
2484
+ --pont-callout-warning-bg-color: hsl(
2485
+ var(--pont-sem-color-bg-surface-secondary)
2486
+ );
2487
+
2488
+ /* BORDER */
2489
+ --pont-callout-warning-border-style: var(--pont-ref-border-style-solid);
2490
+ --pont-callout-warning-border-color: hsl(var(--pont-sem-color-border));
2491
+ --pont-callout-warning-border-width-t: var(--pont-sem-width-border);
2492
+ --pont-callout-warning-border-width-r: var(--pont-sem-width-border);
2493
+ --pont-callout-warning-border-width-b: var(--pont-sem-width-border);
2494
+ --pont-callout-warning-border-width-l: var(--pont-sem-width-border);
2495
+ }
2496
+
2497
+ /* * WARNING TONAL * */
2241
2498
 
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));
2499
+ :root {
2500
+ /* TYPOGRAPHY */
2501
+ --pont-callout-warning-tonal-typography-color: hsl(
2502
+ var(--pont-sem-color-text-warning)
2503
+ );
2246
2504
 
2247
- --pont-callout-warning-tonal-color-bg: hsl(
2505
+ /* BACKGROUND */
2506
+ --pont-callout-warning-tonal-bg-color: hsl(
2248
2507
  var(--pont-sem-color-bg-surface-warning)
2249
2508
  );
2250
- --pont-callout-warning-tonal-color-border: hsl(
2509
+
2510
+ /* BORDER */
2511
+ --pont-callout-warning-tonal-border-style: var(--pont-ref-border-style-solid);
2512
+ --pont-callout-warning-tonal-border-color: hsl(
2251
2513
  var(--pont-sem-color-border-warning-secondary)
2252
2514
  );
2515
+ --pont-callout-warning-tonal-border-width-t: var(--pont-sem-width-border);
2516
+ --pont-callout-warning-tonal-border-width-r: var(--pont-sem-width-border);
2517
+ --pont-callout-warning-tonal-border-width-b: var(--pont-sem-width-border);
2518
+ --pont-callout-warning-tonal-border-width-l: var(--pont-sem-width-border);
2519
+ }
2253
2520
 
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));
2521
+ /* * SUCCESS * */
2258
2522
 
2259
- --pont-callout-success-tonal-color-bg: hsl(
2523
+ :root {
2524
+ /* TYPOGRAPHY */
2525
+ --pont-callout-success-typography-color: hsl(
2526
+ var(--pont-sem-color-text-success)
2527
+ );
2528
+
2529
+ /* BACKGROUND */
2530
+ --pont-callout-success-bg-color: hsl(
2531
+ var(--pont-sem-color-bg-surface-secondary)
2532
+ );
2533
+
2534
+ /* BORDER */
2535
+ --pont-callout-success-border-style: var(--pont-ref-border-style-solid);
2536
+ --pont-callout-success-border-color: hsl(var(--pont-sem-color-border));
2537
+ --pont-callout-success-border-width-t: var(--pont-sem-width-border);
2538
+ --pont-callout-success-border-width-r: var(--pont-sem-width-border);
2539
+ --pont-callout-success-border-width-b: var(--pont-sem-width-border);
2540
+ --pont-callout-success-border-width-l: var(--pont-sem-width-border);
2541
+ }
2542
+
2543
+ /* * SUCCESS TONAL * */
2544
+
2545
+ :root {
2546
+ /* TYPOGRAPHY */
2547
+ --pont-callout-success-tonal-typography-color: hsl(
2548
+ var(--pont-sem-color-text-success)
2549
+ );
2550
+
2551
+ /* BACKGROUND */
2552
+ --pont-callout-success-tonal-bg-color: hsl(
2260
2553
  var(--pont-sem-color-bg-surface-success)
2261
2554
  );
2262
- --pont-callout-success-tonal-color-border: hsl(
2555
+
2556
+ /* BORDER */
2557
+ --pont-callout-success-tonal-border-style: var(--pont-ref-border-style-solid);
2558
+ --pont-callout-success-tonal-border-color: hsl(
2263
2559
  var(--pont-sem-color-border-success-secondary)
2264
2560
  );
2561
+ --pont-callout-success-tonal-border-width-t: var(--pont-sem-width-border);
2562
+ --pont-callout-success-tonal-border-width-r: var(--pont-sem-width-border);
2563
+ --pont-callout-success-tonal-border-width-b: var(--pont-sem-width-border);
2564
+ --pont-callout-success-tonal-border-width-l: var(--pont-sem-width-border);
2565
+ }
2566
+
2567
+ /* * INFO * */
2568
+
2569
+ :root {
2570
+ /* TYPOGRAPHY */
2571
+ --pont-callout-info-typography-color: hsl(var(--pont-sem-color-text-info));
2572
+
2573
+ /* BACKGROUND */
2574
+ --pont-callout-info-bg-color: hsl(var(--pont-sem-color-bg-surface-secondary));
2575
+
2576
+ /* BORDER */
2577
+ --pont-callout-info-border-style: var(--pont-ref-border-style-solid);
2578
+ --pont-callout-info-border-color: hsl(var(--pont-sem-color-border));
2579
+ --pont-callout-info-border-width-t: var(--pont-sem-width-border);
2580
+ --pont-callout-info-border-width-r: var(--pont-sem-width-border);
2581
+ --pont-callout-info-border-width-b: var(--pont-sem-width-border);
2582
+ --pont-callout-info-border-width-l: var(--pont-sem-width-border);
2583
+ }
2584
+
2585
+ /* * INFO TONAL * */
2586
+
2587
+ :root {
2588
+ /* TYPOGRAPHY */
2589
+ --pont-callout-info-tonal-typography-color: hsl(
2590
+ var(--pont-sem-color-text-info)
2591
+ );
2265
2592
 
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));
2593
+ /* BACKGROUND */
2594
+ --pont-callout-info-tonal-bg-color: hsl(
2595
+ var(--pont-sem-color-bg-surface-info)
2596
+ );
2270
2597
 
2271
- --pont-callout-info-tonal-color-bg: hsl(var(--pont-sem-color-bg-surface-info));
2272
- --pont-callout-info-tonal-color-border: hsl(
2598
+ /* BORDER */
2599
+ --pont-callout-info-tonal-border-style: var(--pont-ref-border-style-solid);
2600
+ --pont-callout-info-tonal-border-color: hsl(
2273
2601
  var(--pont-sem-color-border-info-secondary)
2274
2602
  );
2603
+ --pont-callout-info-tonal-border-width-t: var(--pont-sem-width-border);
2604
+ --pont-callout-info-tonal-border-width-r: var(--pont-sem-width-border);
2605
+ --pont-callout-info-tonal-border-width-b: var(--pont-sem-width-border);
2606
+ --pont-callout-info-tonal-border-width-l: var(--pont-sem-width-border);
2607
+ }
2275
2608
 
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);
2609
+ /*
2610
+ * --------------------------------------------------
2611
+ * CALLOUT 'ICON'
2612
+ * --------------------------------------------------
2613
+ */
2614
+
2615
+ :root {
2616
+ /* SIZING */
2617
+ --pont-callout-icon-sizing-w: var(--pont-sem-space-icon-size);
2618
+ --pont-callout-icon-sizing-h: var(--pont-sem-space-icon-size);
2619
+
2620
+ /* TRANSFORM */
2621
+ --pont-callout-icon-transform-translate-x: 0;
2622
+ --pont-callout-icon-transform-translate-y: calc(var(--pont-ref-space) * 0.5);
2623
+ }
2624
+
2625
+ /* * -------- VARIANTS -------- * */
2626
+
2627
+ :root {
2628
+ --pont-callout-default-icon-svg-color: var(
2629
+ --pont-callout-default-typography-color
2630
+ );
2631
+ --pont-callout-brand-icon-svg-color: var(
2632
+ --pont-callout-brand-typography-color
2633
+ );
2634
+ --pont-callout-brand-tonal-icon-svg-color: var(
2635
+ --pont-callout-brand-tonal-typography-color
2636
+ );
2637
+ --pont-callout-destructive-icon-svg-color: var(
2638
+ --pont-callout-destructive-typography-color
2639
+ );
2640
+ --pont-callout-destructive-tonal-icon-svg-color: var(
2641
+ --pont-callout-destructive-tonal-typography-color
2642
+ );
2643
+ --pont-callout-warning-icon-svg-color: var(
2644
+ --pont-callout-warning-typography-color
2645
+ );
2646
+ --pont-callout-warning-tonal-icon-svg-color: var(
2647
+ --pont-callout-warning-tonal-typography-color
2648
+ );
2649
+ --pont-callout-success-icon-svg-color: var(
2650
+ --pont-callout-success-typography-color
2651
+ );
2652
+ --pont-callout-success-tonal-icon-svg-color: var(
2653
+ --pont-callout-success-tonal-typography-color
2654
+ );
2655
+ --pont-callout-info-icon-svg-color: var(--pont-callout-info-typography-color);
2656
+ --pont-callout-info-tonal-icon-svg-color: var(
2657
+ --pont-callout-info-tonal-typography-color
2658
+ );
2279
2659
  }
2280
2660
 
2281
2661
  /*
2282
2662
  * --------------------------------------------------
2283
- * ALERT TITLE
2663
+ * CALLOUT TITLE
2284
2664
  * --------------------------------------------------
2285
2665
  */
2286
2666
 
2287
2667
  :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);
2668
+ /* Note: shadcn does not apply the heading font to alert/callout title */
2669
+ --pont-callout-title-typography-font: var(--pont-sem-font-family-heading);
2670
+ --pont-callout-title-typography-size: var(--pont-callout-typography-size);
2671
+ --pont-callout-title-typography-weight: var(--pont-ref-font-weight-medium);
2672
+ --pont-callout-title-typography-tracking: var(
2673
+ --pont-callout-typography-tracking
2674
+ );
2675
+ --pont-callout-title-typography-leading: var(
2676
+ --pont-callout-typography-leading
2677
+ );
2678
+ }
2290
2679
 
2291
- /* * LINK CHILD * */
2292
- --pont-callout-title-color-link-hover: hsl(var(--pont-sem-color-text));
2680
+ /* * -------- VARIANTS -------- * */
2681
+
2682
+ :root {
2683
+ --pont-callout-default-title-typography-color: var(
2684
+ --pont-callout-default-typography-color
2685
+ );
2686
+ --pont-callout-brand-title-typography-color: var(
2687
+ --pont-callout-brand-typography-color
2688
+ );
2689
+ --pont-callout-brand-tonal-title-typography-color: var(
2690
+ --pont-callout-brand-tonal-typography-color
2691
+ );
2692
+ --pont-callout-destructive-title-typography-color: var(
2693
+ --pont-callout-destructive-typography-color
2694
+ );
2695
+ --pont-callout-destructive-tonal-title-typography-color: var(
2696
+ --pont-callout-destructive-tonal-typography-color
2697
+ );
2698
+ --pont-callout-warning-title-typography-color: var(
2699
+ --pont-callout-warning-typography-color
2700
+ );
2701
+ --pont-callout-warning-tonal-title-typography-color: var(
2702
+ --pont-callout-warning-tonal-typography-color
2703
+ );
2704
+ --pont-callout-success-title-typography-color: var(
2705
+ --pont-callout-success-typography-color
2706
+ );
2707
+ --pont-callout-success-tonal-title-typography-color: var(
2708
+ --pont-callout-success-tonal-typography-color
2709
+ );
2710
+ --pont-callout-info-title-typography-color: var(
2711
+ --pont-callout-info-typography-color
2712
+ );
2713
+ --pont-callout-info-tonal-title-typography-color: var(
2714
+ --pont-callout-info-tonal-typography-color
2715
+ );
2716
+ }
2717
+
2718
+ /* * -------- CALLOUT TITLE > LINK -------- * */
2719
+
2720
+ :root {
2721
+ --pont-callout-title-link-typography-decoration-line: var(
2722
+ --pont-ref-typography-decoration-line-underline
2723
+ );
2724
+ --pont-callout-title-link-typography-decoration-color: var(
2725
+ --pont-sem-typography-decoration-color-default
2726
+ );
2727
+ --pont-callout-title-link-typography-decoration-style: var(
2728
+ --pont-sem-typography-decoration-style-default
2729
+ );
2730
+ --pont-callout-title-link-typography-decoration-thickness: var(
2731
+ --pont-sem-typography-decoration-thickness-default
2732
+ );
2733
+ --pont-callout-title-link-typography-underline-offset: 3px;
2734
+ }
2735
+
2736
+ /* * VARIANTS * */
2737
+
2738
+ :root {
2739
+ --pont-callout-default-title-link-typography-color: var(
2740
+ --pont-callout-default-title-typography-color
2741
+ );
2742
+ --pont-callout-default-title-link-typography-color-hover: hsl(
2743
+ var(--pont-sem-color-text)
2744
+ );
2745
+
2746
+ --pont-callout-brand-title-link-typography-color: var(
2747
+ --pont-callout-brand-title-typography-color
2748
+ );
2749
+ --pont-callout-brand-title-link-typography-color-hover: hsl(
2750
+ var(--pont-sem-color-text)
2751
+ );
2752
+
2753
+ --pont-callout-brand-tonal-title-link-typography-color: var(
2754
+ --pont-callout-brand-tonal-title-typography-color
2755
+ );
2756
+ --pont-callout-brand-tonal-title-link-typography-color-hover: hsl(
2757
+ var(--pont-sem-color-text)
2758
+ );
2759
+
2760
+ --pont-callout-destructive-title-link-typography-color: var(
2761
+ --pont-callout-destructive-title-typography-color
2762
+ );
2763
+ --pont-callout-destructive-title-link-typography-color-hover: hsl(
2764
+ var(--pont-sem-color-text)
2765
+ );
2766
+
2767
+ --pont-callout-destructive-tonal-title-link-typography-color: var(
2768
+ --pont-callout-destructive-tonal-title-typography-color
2769
+ );
2770
+ --pont-callout-destructive-tonal-title-link-typography-color-hover: hsl(
2771
+ var(--pont-sem-color-text)
2772
+ );
2773
+
2774
+ --pont-callout-warning-title-link-typography-color: var(
2775
+ --pont-callout-warning-title-typography-color
2776
+ );
2777
+ --pont-callout-warning-title-link-typography-color-hover: hsl(
2778
+ var(--pont-sem-color-text)
2779
+ );
2780
+
2781
+ --pont-callout-warning-tonal-title-link-typography-color: var(
2782
+ --pont-callout-warning-tonal-title-typography-color
2783
+ );
2784
+ --pont-callout-warning-tonal-title-link-typography-color-hover: hsl(
2785
+ var(--pont-sem-color-text)
2786
+ );
2787
+
2788
+ --pont-callout-success-title-link-typography-color: var(
2789
+ --pont-callout-success-title-typography-color
2790
+ );
2791
+ --pont-callout-success-title-link-typography-color-hover: hsl(
2792
+ var(--pont-sem-color-text)
2793
+ );
2794
+
2795
+ --pont-callout-success-tonal-title-link-typography-color: var(
2796
+ --pont-callout-success-tonal-title-typography-color
2797
+ );
2798
+ --pont-callout-success-tonal-title-link-typography-color-hover: hsl(
2799
+ var(--pont-sem-color-text)
2800
+ );
2801
+
2802
+ --pont-callout-info-title-link-typography-color: var(
2803
+ --pont-callout-info-title-typography-color
2804
+ );
2805
+ --pont-callout-info-title-link-typography-color-hover: hsl(
2806
+ var(--pont-sem-color-text)
2807
+ );
2808
+
2809
+ --pont-callout-info-tonal-title-link-typography-color: var(
2810
+ --pont-callout-info-tonal-title-typography-color
2811
+ );
2812
+ --pont-callout-info-tonal-title-link-typography-color-hover: hsl(
2813
+ var(--pont-sem-color-text)
2814
+ );
2293
2815
  }
2294
2816
 
2295
2817
  /*
2296
2818
  * --------------------------------------------------
2297
- * ALERT DESCRIPTION
2819
+ * CALLOUT DESCRIPTION
2298
2820
  * --------------------------------------------------
2299
2821
  */
2300
2822
 
2301
2823
  :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
2824
+ --pont-callout-description-typography-font: var(
2825
+ --pont-callout-typography-font
2826
+ );
2827
+ --pont-callout-description-typography-size: var(
2828
+ --pont-callout-typography-size
2829
+ );
2830
+ --pont-callout-description-typography-weight: var(
2831
+ --pont-callout-typography-weight
2832
+ );
2833
+ --pont-callout-description-typography-tracking: var(
2834
+ --pont-callout-typography-tracking
2835
+ );
2836
+ --pont-callout-description-typography-leading: var(
2837
+ --pont-callout-typography-leading
2306
2838
  );
2307
2839
 
2308
- /* * VARIANTS * */
2309
- --pont-callout-description-default-color-text: hsl(
2840
+ /* Note: responsive variable with media query below */
2841
+ --pont-callout-description-typography-wrap: var(
2842
+ --pont-ref-typography-wrap-balance
2843
+ );
2844
+
2845
+ /* Note: this is actually applied as a margin-bottom to every `<p>` child, excluding the last child */
2846
+ --pont-callout-description-typography-p-spacing: calc(
2847
+ var(--pont-ref-space) * 4
2848
+ );
2849
+ }
2850
+
2851
+ @media (width >= 48rem) {
2852
+ :root {
2853
+ --pont-callout-description-typography-wrap: var(
2854
+ --pont-ref-typography-wrap-pretty
2855
+ );
2856
+ }
2857
+ }
2858
+
2859
+ /* * -------- VARIANTS -------- * */
2860
+
2861
+ :root {
2862
+ --pont-callout-default-description-typography-color: hsl(
2310
2863
  var(--pont-sem-color-text-secondary)
2311
2864
  );
2312
- --pont-callout-description-brand-color-text: hsl(
2865
+ --pont-callout-brand-description-typography-color: hsl(
2866
+ var(--pont-sem-color-text-brand-secondary)
2867
+ );
2868
+ --pont-callout-brand-tonal-description-typography-color: hsl(
2313
2869
  var(--pont-sem-color-text-brand-secondary)
2314
2870
  );
2315
- --pont-callout-description-destructive-color-text: hsl(
2871
+ --pont-callout-destructive-description-typography-color: hsl(
2316
2872
  var(--pont-sem-color-text-destructive-secondary)
2317
2873
  );
2318
- --pont-callout-description-warning-color-text: hsl(
2874
+ --pont-callout-destructive-tonal-description-typography-color: hsl(
2875
+ var(--pont-sem-color-text-destructive-secondary)
2876
+ );
2877
+ --pont-callout-warning-description-typography-color: hsl(
2319
2878
  var(--pont-sem-color-text-warning-secondary)
2320
2879
  );
2321
- --pont-callout-description-success-color-text: hsl(
2880
+ --pont-callout-warning-tonal-description-typography-color: hsl(
2881
+ var(--pont-sem-color-text-warning-secondary)
2882
+ );
2883
+ --pont-callout-success-description-typography-color: hsl(
2884
+ var(--pont-sem-color-text-success-secondary)
2885
+ );
2886
+ --pont-callout-success-tonal-description-typography-color: hsl(
2322
2887
  var(--pont-sem-color-text-success-secondary)
2323
2888
  );
2324
- --pont-callout-description-info-color-text: hsl(
2889
+ --pont-callout-info-description-typography-color: hsl(
2325
2890
  var(--pont-sem-color-text-info-secondary)
2326
2891
  );
2892
+ --pont-callout-info-tonal-description-typography-color: hsl(
2893
+ var(--pont-sem-color-text-info-secondary)
2894
+ );
2895
+ }
2327
2896
 
2328
- /* * LINK CHILD * */
2329
- --pont-callout-description-color-link-hover: hsl(var(--pont-sem-color-text));
2897
+ /* * -------- CALLOUT DESCRIPTION > LINK -------- * */
2330
2898
 
2331
- /* * PARAGRAPH CHILD * */
2332
- --pont-callout-description-p-space-mb: var(--pont-ref-space-4);
2899
+ :root {
2900
+ --pont-callout-description-link-typography-decoration-line: var(
2901
+ --pont-ref-typography-decoration-line-underline
2902
+ );
2903
+ --pont-callout-description-link-typography-decoration-color: var(
2904
+ --pont-sem-typography-decoration-color-default
2905
+ );
2906
+ --pont-callout-description-link-typography-decoration-style: var(
2907
+ --pont-sem-typography-decoration-style-default
2908
+ );
2909
+ --pont-callout-description-link-typography-decoration-thickness: var(
2910
+ --pont-sem-typography-decoration-thickness-default
2911
+ );
2912
+ --pont-callout-description-link-typography-underline-offset: 3px;
2913
+ }
2914
+
2915
+ /* * VARIANTS * */
2916
+
2917
+ :root {
2918
+ --pont-callout-default-description-link-typography-color: var(
2919
+ --pont-callout-default-description-typography-color
2920
+ );
2921
+ --pont-callout-default-description-link-typography-color-hover: hsl(
2922
+ var(--pont-sem-color-text)
2923
+ );
2924
+
2925
+ --pont-callout-brand-description-link-typography-color: var(
2926
+ --pont-callout-brand-description-typography-color
2927
+ );
2928
+ --pont-callout-brand-description-link-typography-color-hover: hsl(
2929
+ var(--pont-sem-color-text)
2930
+ );
2931
+
2932
+ --pont-callout-brand-tonal-description-link-typography-color: var(
2933
+ --pont-callout-brand-tonal-description-typography-color
2934
+ );
2935
+ --pont-callout-brand-tonal-description-link-typography-color-hover: hsl(
2936
+ var(--pont-sem-color-text)
2937
+ );
2938
+
2939
+ --pont-callout-destructive-description-link-typography-color: var(
2940
+ --pont-callout-destructive-description-typography-color
2941
+ );
2942
+ --pont-callout-destructive-description-link-typography-color-hover: hsl(
2943
+ var(--pont-sem-color-text)
2944
+ );
2945
+
2946
+ --pont-callout-destructive-tonal-description-link-typography-color: var(
2947
+ --pont-callout-destructive-tonal-description-typography-color
2948
+ );
2949
+ --pont-callout-destructive-tonal-description-link-typography-color-hover: hsl(
2950
+ var(--pont-sem-color-text)
2951
+ );
2952
+
2953
+ --pont-callout-warning-description-link-typography-color: var(
2954
+ --pont-callout-warning-description-typography-color
2955
+ );
2956
+ --pont-callout-warning-description-link-typography-color-hover: hsl(
2957
+ var(--pont-sem-color-text)
2958
+ );
2959
+
2960
+ --pont-callout-warning-tonal-description-link-typography-color: var(
2961
+ --pont-callout-warning-tonal-description-typography-color
2962
+ );
2963
+ --pont-callout-warning-tonal-description-link-typography-color-hover: hsl(
2964
+ var(--pont-sem-color-text)
2965
+ );
2966
+
2967
+ --pont-callout-success-description-link-typography-color: var(
2968
+ --pont-callout-success-description-typography-color
2969
+ );
2970
+ --pont-callout-success-description-link-typography-color-hover: hsl(
2971
+ var(--pont-sem-color-text)
2972
+ );
2973
+
2974
+ --pont-callout-success-tonal-description-link-typography-color: var(
2975
+ --pont-callout-success-tonal-description-typography-color
2976
+ );
2977
+ --pont-callout-success-tonal-description-link-typography-color-hover: hsl(
2978
+ var(--pont-sem-color-text)
2979
+ );
2980
+
2981
+ --pont-callout-info-description-link-typography-color: var(
2982
+ --pont-callout-info-description-typography-color
2983
+ );
2984
+ --pont-callout-info-description-link-typography-color-hover: hsl(
2985
+ var(--pont-sem-color-text)
2986
+ );
2987
+
2988
+ --pont-callout-info-tonal-description-link-typography-color: var(
2989
+ --pont-callout-info-tonal-description-typography-color
2990
+ );
2991
+ --pont-callout-info-tonal-description-link-typography-color-hover: hsl(
2992
+ var(--pont-sem-color-text)
2993
+ );
2333
2994
  }
2334
2995
 
2335
2996
  /*
2336
2997
  * --------------------------------------------------
2337
- * ALERT ACTION
2998
+ * CALLOUT ACTION
2338
2999
  * --------------------------------------------------
2339
3000
  */
2340
3001
 
2341
3002
  :root {
2342
- --pont-callout-action-space-top: var(--pont-ref-space-2);
2343
- --pont-callout-action-space-right: var(--pont-ref-space-2);
3003
+ /* LAYOUT */
3004
+ --pont-callout-action-layout-inset-t: calc(var(--pont-ref-space) * 2);
3005
+ --pont-callout-action-layout-inset-r: calc(var(--pont-ref-space) * 2);
3006
+ --pont-callout-action-layout-inset-b: var(--pont-ref-layout-inset-auto);
3007
+ --pont-callout-action-layout-inset-l: var(--pont-ref-layout-inset-auto);
2344
3008
  }
2345
3009
 
2346
3010
  /*
@@ -2495,10 +3159,10 @@
2495
3159
 
2496
3160
  :root {
2497
3161
  /* LAYOUT */
2498
- --pont-avatar-badge-layout-inset-t: auto;
3162
+ --pont-avatar-badge-layout-inset-t: var(--pont-ref-layout-inset-auto);
2499
3163
  --pont-avatar-badge-layout-inset-r: calc(var(--pont-ref-space) * 0);
2500
3164
  --pont-avatar-badge-layout-inset-b: calc(var(--pont-ref-space) * 0);
2501
- --pont-avatar-badge-layout-inset-l: auto;
3165
+ --pont-avatar-badge-layout-inset-l: var(--pont-ref-layout-inset-auto);
2502
3166
 
2503
3167
  --pont-avatar-badge-layout-z: 10;
2504
3168
 
@@ -4570,49 +5234,199 @@
4570
5234
  */
4571
5235
 
4572
5236
  :root {
4573
- --pont-checkbox-space-size: var(--pont-sem-space-indicator-size-lg);
5237
+ /* SIZING */
5238
+ --pont-checkbox-sizing-w: calc(var(--pont-ref-space) * 4);
5239
+ --pont-checkbox-sizing-h: calc(var(--pont-ref-space) * 4);
4574
5240
 
4575
- --pont-checkbox-color-bg: hsl(var(--pont-sem-color-bg-fill-quaternary));
5241
+ /* TYPOGRAPHY */
5242
+ --pont-checkbox-typography-color: hsl(
5243
+ var(--pont-sem-color-text-brand-on-fill)
5244
+ );
4576
5245
 
4577
- --pont-checkbox-width-border: var(--pont-sem-width-border);
4578
- --pont-checkbox-color-border: hsl(var(--pont-sem-color-border-secondary));
4579
- --pont-checkbox-radius: var(--pont-sem-radius-indicator-sm-as-px);
5246
+ /* BACKGROUND */
5247
+ --pont-checkbox-bg-color: hsl(var(--pont-sem-color-bg-fill-quaternary));
4580
5248
 
4581
- --pont-checkbox-motion-fn: var(--pont-sem-motion-fn-default);
5249
+ /* BORDER */
5250
+ --pont-checkbox-border-radius-tl: 4px;
5251
+ --pont-checkbox-border-radius-tr: 4px;
5252
+ --pont-checkbox-border-radius-bl: 4px;
5253
+ --pont-checkbox-border-radius-br: 4px;
5254
+
5255
+ --pont-checkbox-border-style: var(--pont-ref-border-style-solid);
5256
+ --pont-checkbox-border-color: hsl(var(--pont-sem-color-border-secondary));
5257
+ --pont-checkbox-border-width-t: var(--pont-sem-width-border);
5258
+ --pont-checkbox-border-width-r: var(--pont-sem-width-border);
5259
+ --pont-checkbox-border-width-b: var(--pont-sem-width-border);
5260
+ --pont-checkbox-border-width-l: var(--pont-sem-width-border);
5261
+
5262
+ --pont-checkbox-outline-w: 0px;
5263
+ --pont-checkbox-outline-color: transparent;
5264
+ --pont-checkbox-outline-style: var(--pont-ref-border-outline-style-none);
5265
+ --pont-checkbox-outline-offset: 0px;
5266
+
5267
+ /* MOTION */
5268
+ --pont-checkbox-motion-property: var(--pont-ref-motion-property-colors);
4582
5269
  --pont-checkbox-motion-duration: var(--pont-sem-motion-duration-default);
5270
+ --pont-checkbox-motion-fn: var(--pont-sem-motion-fn-default);
5271
+ }
4583
5272
 
4584
- /* CHECKED */
4585
- --pont-checkbox-color-text-checked: hsl(var(--pont-sem-color-text-brand-on-fill));
4586
- --pont-checkbox-color-bg-checked: hsl(var(--pont-sem-color-bg-fill-brand));
4587
- --pont-checkbox-color-border-checked: hsl(var(--pont-sem-color-border-brand));
5273
+ /* * -------- STATES -------- * */
4588
5274
 
4589
- /* INVALID */
4590
- --pont-checkbox-color-border-invalid: hsl(var(--pont-sem-color-border-invalid-secondary));
4591
- --pont-checkbox-width-ring-invalid: var(--pont-sem-width-ring-invalid);
4592
- --pont-checkbox-color-ring-invalid: hsl(var(--pont-sem-color-ring-destructive));
5275
+ /* * ACTIVE (CHECKED) * */
4593
5276
 
4594
- /* FOCUS VISIBLE */
4595
- --pont-checkbox-color-border-focus: hsl(var(--pont-sem-color-border-focus));
4596
- --pont-checkbox-width-ring-focus: var(--pont-sem-width-ring-focus);
4597
- --pont-checkbox-color-ring-focus: hsl(var(--pont-sem-color-ring-focus));
5277
+ :root {
5278
+ /* TYPOGRAPHY */
5279
+ --pont-checkbox-typography-color-active: var(
5280
+ --pont-checkbox-typography-color
5281
+ );
5282
+
5283
+ /* BACKGROUND */
5284
+ --pont-checkbox-bg-color-active: hsl(var(--pont-sem-color-bg-fill-brand));
5285
+
5286
+ /* BORDER */
5287
+ --pont-checkbox-border-style-active: var(--pont-checkbox-border-style);
5288
+ --pont-checkbox-border-color-active: hsl(var(--pont-sem-color-border-brand));
5289
+ --pont-checkbox-border-width-t-active: var(--pont-checkbox-border-width-t);
5290
+ --pont-checkbox-border-width-r-active: var(--pont-checkbox-border-width-r);
5291
+ --pont-checkbox-border-width-b-active: var(--pont-checkbox-border-width-b);
5292
+ --pont-checkbox-border-width-l-active: var(--pont-checkbox-border-width-l);
5293
+
5294
+ --pont-checkbox-outline-w-active: 0px;
5295
+ --pont-checkbox-outline-color-active: transparent;
5296
+ --pont-checkbox-outline-style-active: var(
5297
+ --pont-ref-border-outline-style-none
5298
+ );
5299
+ --pont-checkbox-outline-offset-active: 0px;
5300
+ }
5301
+
5302
+ /* * FOCUS * */
5303
+
5304
+ :root {
5305
+ /* BORDER */
5306
+ --pont-checkbox-border-style-focus: var(--pont-checkbox-border-style);
5307
+ --pont-checkbox-border-color-focus: hsl(var(--pont-sem-color-border-focus));
5308
+ --pont-checkbox-border-width-t-focus: var(--pont-checkbox-border-width-t);
5309
+ --pont-checkbox-border-width-r-focus: var(--pont-checkbox-border-width-r);
5310
+ --pont-checkbox-border-width-b-focus: var(--pont-checkbox-border-width-b);
5311
+ --pont-checkbox-border-width-l-focus: var(--pont-checkbox-border-width-l);
5312
+
5313
+ --pont-checkbox-outline-w-focus: 0px;
5314
+ --pont-checkbox-outline-color-focus: transparent;
5315
+ --pont-checkbox-outline-style-focus: var(
5316
+ --pont-ref-border-outline-style-none
5317
+ );
5318
+ --pont-checkbox-outline-offset-focus: 0px;
5319
+
5320
+ /* EFFECT */
5321
+ --pont-checkbox-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
5322
+ --pont-checkbox-effect-inset-shadow-focus: inset
5323
+ var(--pont-ref-effect-shadow-none);
5324
+ --pont-checkbox-effect-inset-ring-focus: inset
5325
+ var(--pont-ref-effect-shadow-none);
5326
+
5327
+ --pont-checkbox-effect-ring-offset-w-focus: 0px;
5328
+ --pont-checkbox-effect-ring-offset-color-focus: hsl(var(--pont-sem-color-bg));
5329
+ --pont-checkbox-effect-ring-offset-focus: 0 0 0
5330
+ var(--pont-checkbox-effect-ring-offset-w-focus)
5331
+ var(--pont-checkbox-effect-ring-offset-color-focus);
5332
+
5333
+ --pont-checkbox-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
5334
+ --pont-checkbox-effect-ring-color-focus: hsl(
5335
+ var(--pont-sem-color-ring-focus)
5336
+ );
5337
+ --pont-checkbox-effect-ring-focus: 0 0 0
5338
+ calc(
5339
+ var(--pont-checkbox-effect-ring-w-focus) +
5340
+ var(--pont-checkbox-effect-ring-offset-w-focus)
5341
+ )
5342
+ var(--pont-checkbox-effect-ring-color-focus);
5343
+ }
5344
+
5345
+ /* * DISABLED * */
5346
+
5347
+ :root {
5348
+ /* EFFECT */
5349
+ --pont-checkbox-effect-opacity-disabled: var(--pont-sem-opacity-disabled);
5350
+ }
5351
+
5352
+ /* * INVALID * */
5353
+
5354
+ :root {
5355
+ /* BORDER */
5356
+ --pont-checkbox-border-style-invalid: var(--pont-checkbox-border-style);
5357
+ --pont-checkbox-border-color-invalid: hsl(
5358
+ var(--pont-sem-color-border-invalid-secondary)
5359
+ );
5360
+ --pont-checkbox-border-width-t-invalid: var(--pont-checkbox-border-width-t);
5361
+ --pont-checkbox-border-width-r-invalid: var(--pont-checkbox-border-width-r);
5362
+ --pont-checkbox-border-width-b-invalid: var(--pont-checkbox-border-width-b);
5363
+ --pont-checkbox-border-width-l-invalid: var(--pont-checkbox-border-width-l);
5364
+
5365
+ --pont-checkbox-outline-w-invalid: 0px;
5366
+ --pont-checkbox-outline-color-invalid: transparent;
5367
+ --pont-checkbox-outline-style-invalid: var(
5368
+ --pont-ref-border-outline-style-none
5369
+ );
5370
+ --pont-checkbox-outline-offset-invalid: 0px;
5371
+
5372
+ /* EFFECT */
5373
+ --pont-checkbox-effect-shadow-invalid: var(--pont-ref-effect-shadow-none);
5374
+ --pont-checkbox-effect-inset-shadow-invalid: inset
5375
+ var(--pont-ref-effect-shadow-none);
5376
+ --pont-checkbox-effect-inset-ring-invalid: inset
5377
+ var(--pont-ref-effect-shadow-none);
5378
+
5379
+ --pont-checkbox-effect-ring-offset-w-invalid: 0px;
5380
+ --pont-checkbox-effect-ring-offset-color-invalid: hsl(
5381
+ var(--pont-sem-color-bg)
5382
+ );
5383
+ --pont-checkbox-effect-ring-offset-invalid: 0 0 0
5384
+ var(--pont-checkbox-effect-ring-offset-w-invalid)
5385
+ var(--pont-checkbox-effect-ring-offset-color-invalid);
5386
+
5387
+ --pont-checkbox-effect-ring-w-invalid: var(--pont-sem-width-ring-invalid);
5388
+ --pont-checkbox-effect-ring-color-invalid: hsl(
5389
+ var(--pont-sem-color-ring-destructive)
5390
+ );
5391
+ --pont-checkbox-effect-ring-invalid: 0 0 0
5392
+ calc(
5393
+ var(--pont-checkbox-effect-ring-w-invalid) +
5394
+ var(--pont-checkbox-effect-ring-offset-w-invalid)
5395
+ )
5396
+ var(--pont-checkbox-effect-ring-color-invalid);
5397
+ }
4598
5398
 
4599
- /* DISABLED */
4600
- --pont-checkbox-opacity-disabled: var(--pont-sem-opacity-disabled);
5399
+ /* * -------- CHECKBOX... AFTER -------- * */
4601
5400
 
4602
- /* * AFTER (::after) * */
4603
- --pont-checkbox-after-space-inset-x: var(--pont-ref-space-neg-3);
4604
- --pont-checkbox-after-space-inset-y: var(--pont-ref-space-neg-2);
5401
+ :root {
5402
+ --pont-checkbox-after-layout-inset-t: calc(var(--pont-ref-space) * -2);
5403
+ --pont-checkbox-after-layout-inset-r: calc(var(--pont-ref-space) * -3);
5404
+ --pont-checkbox-after-layout-inset-b: calc(var(--pont-ref-space) * -2);
5405
+ --pont-checkbox-after-layout-inset-l: calc(var(--pont-ref-space) * -3);
4605
5406
  }
4606
5407
 
4607
5408
  /*
4608
5409
  * --------------------------------------------------
4609
- * CHECKBOX INDICATOR
5410
+ * CHECKBOX INDICATOR & CHECKBOX ICON
4610
5411
  * --------------------------------------------------
4611
5412
  */
4612
5413
 
5414
+ /* Note: some of the tokens below are applied to the indicator part (color and
5415
+ motion tokens) while others are applied to the icon (sizing tokens) despite
5416
+ them all being named `--pont-checkbox-icon-*`. */
5417
+
4613
5418
  :root {
4614
- /* * CHECKBOX INDICATOR ICON * */
4615
- --pont-checkbox-indicator-icon-space-size: var(--pont-sem-space-icon-size-sm);
5419
+ /* SIZING */
5420
+ --pont-checkbox-icon-sizing-w: var(--pont-sem-space-icon-size-sm);
5421
+ --pont-checkbox-icon-sizing-h: var(--pont-sem-space-icon-size-sm);
5422
+
5423
+ /* COLOR */
5424
+ --pont-checkbox-icon-color: currentColor;
5425
+
5426
+ /* MOTION */
5427
+ --pont-checkbox-icon-motion-property: var(--pont-ref-motion-property-none);
5428
+ --pont-checkbox-icon-motion-duration: var(--pont-sem-motion-duration-default);
5429
+ --pont-checkbox-icon-motion-fn: var(--pont-sem-motion-fn-default);
4616
5430
  /* empty */
4617
5431
  --pont-combo-box-empty-font-size: var(--pont-sem-font-form-size);
4618
5432
  --pont-combo-box-empty-space-py: var(--pont-ref-space-6);
@@ -7042,47 +7856,178 @@
7042
7856
  */
7043
7857
 
7044
7858
  :root {
7045
- --pont-textarea-space-px: var(--pont-sem-space-form-px);
7046
- --pont-textarea-space-py: var(--pont-sem-space-form-py-lg);
7859
+ /* SPACING */
7860
+ --pont-textarea-spacing-pt: calc(var(--pont-ref-space) * 2);
7861
+ --pont-textarea-spacing-pr: calc(var(--pont-ref-space) * 2.5);
7862
+ --pont-textarea-spacing-pb: calc(var(--pont-ref-space) * 2);
7863
+ --pont-textarea-spacing-pl: calc(var(--pont-ref-space) * 2.5);
7864
+
7865
+ /* SIZING */
7866
+ --pont-textarea-sizing-w: var(--pont-ref-sizing-w-full);
7867
+ --pont-textarea-sizing-h: var(--pont-ref-sizing-h-auto);
7868
+
7869
+ --pont-textarea-sizing-min-w: var(--pont-ref-sizing-min-w-auto);
7870
+ --pont-textarea-sizing-max-w: var(--pont-ref-sizing-max-w-none);
7871
+ --pont-textarea-sizing-min-h: calc(var(--pont-ref-space) * 16);
7872
+ --pont-textarea-sizing-max-h: var(--pont-ref-sizing-max-h-none);
7047
7873
 
7048
- --pont-textarea-space-min-h: var(--pont-sem-space-form-min-h);
7874
+ /* TYPOGRAPHY */
7875
+ --pont-textarea-typography-font: var(--pont-sem-font-family-default);
7876
+ --pont-textarea-typography-size: var(--pont-ref-font-size-sm);
7877
+ --pont-textarea-typography-weight: var(--pont-ref-font-weight-normal);
7878
+ --pont-textarea-typography-tracking: var(
7879
+ --pont-ref-font-letter-spacing-normal
7880
+ );
7881
+ --pont-textarea-typography-leading: var(--pont-ref-font-line-height-of-sm);
7049
7882
 
7050
- --pont-text-area-font-family: var(--pont-sem-font-family-default);
7051
- --pont-textarea-font-weight: var(--pont-sem-font-form-weight);
7052
- --pont-textarea-font-size: var(--pont-sem-font-form-size);
7053
- --pont-textarea-font-size-vw-sm: var(--pont-sem-font-form-size-vw-sm);
7054
- --pont-textarea-font-line-height: var(--pont-sem-font-form-line-height);
7055
- --pont-textarea-font-line-height-vw-sm: var(
7056
- --pont-sem-font-form-line-height-vw-sm
7883
+ --pont-textarea-typography-size-bp-max-md: var(--pont-ref-font-size-base);
7884
+ --pont-textarea-typography-leading-bp-max-md: var(
7885
+ --pont-ref-font-line-height-of-base
7057
7886
  );
7058
7887
 
7059
- --pont-textarea-color-bg: hsl(var(--pont-sem-color-bg-fill-quaternary));
7888
+ --pont-textarea-typography-color: hsl(var(--pont-sem-color-text));
7060
7889
 
7061
- --pont-textarea-width-border: var(--pont-sem-width-border);
7062
- --pont-textarea-color-border: hsl(var(--pont-sem-color-border-secondary));
7063
- --pont-textarea-radius: var(--pont-sem-radius-form);
7890
+ /* BACKGROUND */
7891
+ --pont-textarea-bg-color: hsl(var(--pont-sem-color-bg-fill-quaternary));
7064
7892
 
7065
- --pont-textarea-motion-fn: var(--pont-sem-motion-fn-default);
7893
+ /* BORDER */
7894
+ --pont-textarea-border-radius-tl: var(--pont-ref-radius-lg);
7895
+ --pont-textarea-border-radius-tr: var(--pont-ref-radius-lg);
7896
+ --pont-textarea-border-radius-br: var(--pont-ref-radius-lg);
7897
+ --pont-textarea-border-radius-bl: var(--pont-ref-radius-lg);
7898
+
7899
+ --pont-textarea-border-style: var(--pont-ref-border-style-solid);
7900
+ --pont-textarea-border-color: hsl(var(--pont-sem-color-border-secondary));
7901
+ --pont-textarea-border-width-t: var(--pont-sem-width-border);
7902
+ --pont-textarea-border-width-r: var(--pont-sem-width-border);
7903
+ --pont-textarea-border-width-b: var(--pont-sem-width-border);
7904
+ --pont-textarea-border-width-l: var(--pont-sem-width-border);
7905
+
7906
+ --pont-textarea-outline-w: 0px;
7907
+ --pont-textarea-outline-color: transparent;
7908
+ --pont-textarea-outline-style: var(--pont-ref-border-outline-style-none);
7909
+ --pont-textarea-outline-offset: 0px;
7910
+
7911
+ /* MOTION */
7912
+ --pont-textarea-motion-property: var(--pont-ref-motion-property-colors);
7066
7913
  --pont-textarea-motion-duration: var(--pont-sem-motion-duration-default);
7914
+ --pont-textarea-motion-fn: var(--pont-sem-motion-fn-default);
7067
7915
 
7068
- /* FOCUS VISIBLE */
7069
- --pont-textarea-color-border-focus: hsl(var(--pont-sem-color-border-focus));
7070
- --pont-textarea-width-ring-focus: var(--pont-sem-width-ring-focus);
7071
- --pont-textarea-color-ring-focus: hsl(var(--pont-sem-color-ring-focus));
7916
+ /* INTERACTIVITY */
7917
+ --pont-textarea-interactivity-field-sizing: var(
7918
+ --pont-ref-interactivity-field-sizing-content
7919
+ );
7920
+ }
7072
7921
 
7073
- /* INVALID */
7074
- --pont-textarea-color-border-invalid: hsl(
7922
+ /* * -------- STATES -------- * */
7923
+
7924
+ /* * FOCUS * */
7925
+
7926
+ :root {
7927
+ /* BORDER */
7928
+ --pont-textarea-border-style-focus: var(--pont-textarea-border-style);
7929
+ --pont-textarea-border-color-focus: hsl(var(--pont-sem-color-border-focus));
7930
+ --pont-textarea-border-width-t-focus: var(--pont-textarea-border-width-t);
7931
+ --pont-textarea-border-width-r-focus: var(--pont-textarea-border-width-r);
7932
+ --pont-textarea-border-width-b-focus: var(--pont-textarea-border-width-b);
7933
+ --pont-textarea-border-width-l-focus: var(--pont-textarea-border-width-l);
7934
+
7935
+ --pont-textarea-outline-w-focus: 0px;
7936
+ --pont-textarea-outline-color-focus: transparent;
7937
+ --pont-textarea-outline-style-focus: var(
7938
+ --pont-ref-border-outline-style-none
7939
+ );
7940
+ --pont-textarea-outline-offset-focus: 0px;
7941
+
7942
+ /* EFFECT */
7943
+ --pont-textarea-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
7944
+ --pont-textarea-effect-inset-shadow-focus: inset
7945
+ var(--pont-ref-effect-shadow-none);
7946
+ --pont-textarea-effect-inset-ring-focus: inset
7947
+ var(--pont-ref-effect-shadow-none);
7948
+
7949
+ --pont-textarea-effect-ring-offset-w-focus: 0px;
7950
+ --pont-textarea-effect-ring-offset-color-focus: hsl(var(--pont-sem-color-bg));
7951
+ --pont-textarea-effect-ring-offset-focus: 0 0 0
7952
+ var(--pont-textarea-effect-ring-offset-w-focus)
7953
+ var(--pont-textarea-effect-ring-offset-color-focus);
7954
+
7955
+ --pont-textarea-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
7956
+ --pont-textarea-effect-ring-color-focus: hsl(
7957
+ var(--pont-sem-color-ring-focus)
7958
+ );
7959
+ --pont-textarea-effect-ring-focus: 0 0 0
7960
+ calc(
7961
+ var(--pont-textarea-effect-ring-w-focus) +
7962
+ var(--pont-textarea-effect-ring-offset-w-focus)
7963
+ )
7964
+ var(--pont-textarea-effect-ring-color-focus);
7965
+ }
7966
+
7967
+ /* * DISABLED * */
7968
+
7969
+ :root {
7970
+ /* BACKGROUND */
7971
+ --pont-textarea-bg-color-disabled: hsl(
7972
+ var(--pont-sem-color-bg-fill-disabled)
7973
+ );
7974
+
7975
+ /* EFFECT */
7976
+ --pont-textarea-effect-opacity-disabled: var(--pont-sem-opacity-disabled);
7977
+ }
7978
+
7979
+ /* * INVALID * */
7980
+
7981
+ :root {
7982
+ /* BORDER */
7983
+ --pont-textarea-border-style-invalid: var(--pont-textarea-border-style);
7984
+ --pont-textarea-border-color-invalid: hsl(
7075
7985
  var(--pont-sem-color-border-invalid-secondary)
7076
7986
  );
7077
- --pont-textarea-width-ring-invalid: var(--pont-sem-width-ring-invalid);
7078
- --pont-textarea-color-ring-invalid: hsl(var(--pont-sem-color-ring-destructive));
7987
+ --pont-textarea-border-width-t-invalid: var(--pont-textarea-border-width-t);
7988
+ --pont-textarea-border-width-r-invalid: var(--pont-textarea-border-width-r);
7989
+ --pont-textarea-border-width-b-invalid: var(--pont-textarea-border-width-b);
7990
+ --pont-textarea-border-width-l-invalid: var(--pont-textarea-border-width-l);
7079
7991
 
7080
- /* DISABLED */
7081
- --pont-textarea-color-bg-disabled: hsl(var(--pont-sem-color-bg-fill-disabled));
7082
- --pont-textarea-opacity-disabled: var(--pont-sem-opacity-disabled);
7992
+ --pont-textarea-outline-w-invalid: 0px;
7993
+ --pont-textarea-outline-color-invalid: transparent;
7994
+ --pont-textarea-outline-style-invalid: var(
7995
+ --pont-ref-border-outline-style-none
7996
+ );
7997
+ --pont-textarea-outline-offset-invalid: 0px;
7083
7998
 
7084
- /* * PLACEHOLDER * */
7085
- --pont-textarea-placeholder-color-text: hsl(
7999
+ /* EFFECT */
8000
+ --pont-textarea-effect-shadow-invalid: var(--pont-ref-effect-shadow-none);
8001
+ --pont-textarea-effect-inset-shadow-invalid: inset
8002
+ var(--pont-ref-effect-shadow-none);
8003
+ --pont-textarea-effect-inset-ring-invalid: inset
8004
+ var(--pont-ref-effect-shadow-none);
8005
+
8006
+ --pont-textarea-effect-ring-offset-w-invalid: 0px;
8007
+ --pont-textarea-effect-ring-offset-color-invalid: hsl(
8008
+ var(--pont-sem-color-bg)
8009
+ );
8010
+ --pont-textarea-effect-ring-offset-invalid: 0 0 0
8011
+ var(--pont-textarea-effect-ring-offset-w-invalid)
8012
+ var(--pont-textarea-effect-ring-offset-color-invalid);
8013
+
8014
+ --pont-textarea-effect-ring-w-invalid: var(--pont-sem-width-ring-invalid);
8015
+ --pont-textarea-effect-ring-color-invalid: hsl(
8016
+ var(--pont-sem-color-ring-destructive)
8017
+ );
8018
+ --pont-textarea-effect-ring-invalid: 0 0 0
8019
+ calc(
8020
+ var(--pont-textarea-effect-ring-w-invalid) +
8021
+ var(--pont-textarea-effect-ring-offset-w-invalid)
8022
+ )
8023
+ var(--pont-textarea-effect-ring-color-invalid);
8024
+ }
8025
+
8026
+ /* * -------- TEXTAREA > PLACEHOLDER -------- * */
8027
+
8028
+ :root {
8029
+ /* TYPOGRAPHY */
8030
+ --pont-textarea-placeholder-typography-color: hsl(
7086
8031
  var(--pont-sem-color-text-secondary)
7087
8032
  );
7088
8033
  /* toast title */
@@ -7539,259 +8484,740 @@
7539
8484
  --pont-data-table-head-font-size: var(--pont-sem-font-size-sm);
7540
8485
  }
7541
8486
 
7542
- /* ---- primitive layer: component styles ----------------------------------- */
8487
+ /* ---- primitive layer: component styles ----------------------------------- */
8488
+
8489
+ /*
8490
+ * ===========================================================================
8491
+ * CALLOUT COMPONENT STYLES
8492
+ * [previously alert]
8493
+ * ===========================================================================
8494
+ */
8495
+
8496
+ /*
8497
+ * --------------------------------------------------
8498
+ * CALLOUT
8499
+ * --------------------------------------------------
8500
+ */
8501
+
8502
+ pont-callout {
8503
+ width: var(--pont-callout-sizing-w);
8504
+ height: var(--pont-callout-sizing-h);
8505
+ }
8506
+
8507
+ [data-pont-callout] {
8508
+ display: grid;
8509
+ position: relative;
8510
+
8511
+ -moz-column-gap: var(--pont-callout-layout-gap-x);
8512
+
8513
+ column-gap: var(--pont-callout-layout-gap-x);
8514
+ row-gap: var(--pont-callout-layout-gap-y);
8515
+
8516
+ padding-top: var(--pont-callout-spacing-pt);
8517
+ padding-right: var(--pont-callout-spacing-pr);
8518
+ padding-bottom: var(--pont-callout-spacing-pb);
8519
+ padding-left: var(--pont-callout-spacing-pl);
8520
+
8521
+ width: var(--pont-callout-sizing-w);
8522
+ height: var(--pont-callout-sizing-h);
8523
+
8524
+ font-family: var(--pont-callout-typography-font);
8525
+ font-size: var(--pont-callout-typography-size);
8526
+ font-weight: var(--pont-callout-typography-weight);
8527
+ letter-spacing: var(--pont-callout-typography-tracking);
8528
+ line-height: var(--pont-callout-typography-leading);
8529
+
8530
+ text-align: var(--pont-callout-typography-align);
8531
+
8532
+ border-top-left-radius: var(--pont-callout-border-radius-tl);
8533
+ border-top-right-radius: var(--pont-callout-border-radius-tr);
8534
+ border-bottom-left-radius: var(--pont-callout-border-radius-bl);
8535
+ border-bottom-right-radius: var(--pont-callout-border-radius-br);
8536
+ }
8537
+
8538
+ [data-pont-callout]:has(> :is(svg, pont-spinner)) {
8539
+ grid-template-columns: auto 1fr;
8540
+ -moz-column-gap: var(--pont-callout-layout-gap-x-has-icon);
8541
+ column-gap: var(--pont-callout-layout-gap-x-has-icon);
8542
+ row-gap: var(--pont-callout-layout-gap-y-has-icon);
8543
+ }
8544
+
8545
+ [data-pont-callout]:has(> pont-callout-action) {
8546
+ padding-top: var(--pont-callout-spacing-pt-has-action);
8547
+ padding-right: var(--pont-callout-spacing-pr-has-action);
8548
+ padding-bottom: var(--pont-callout-spacing-pb-has-action);
8549
+ padding-left: var(--pont-callout-spacing-pl-has-action);
8550
+ }
8551
+
8552
+ /* * -------- VARIANTS -------- * */
8553
+
8554
+ /* * DEFAULT * */
8555
+
8556
+ [data-pont-callout][data-variant="default"] {
8557
+ color: var(--pont-callout-default-typography-color);
8558
+
8559
+ background-color: var(--pont-callout-default-bg-color);
8560
+
8561
+ border-style: var(--pont-callout-default-border-style);
8562
+ border-color: var(--pont-callout-default-border-color);
8563
+ border-top-width: var(--pont-callout-default-border-width-t);
8564
+ border-right-width: var(--pont-callout-default-border-width-r);
8565
+ border-bottom-width: var(--pont-callout-default-border-width-b);
8566
+ border-left-width: var(--pont-callout-default-border-width-l);
8567
+ }
8568
+
8569
+ /* * BRAND * */
8570
+
8571
+ [data-pont-callout][data-variant="brand"] {
8572
+ color: var(--pont-callout-brand-typography-color);
8573
+
8574
+ background-color: var(--pont-callout-brand-bg-color);
8575
+
8576
+ border-style: var(--pont-callout-brand-border-style);
8577
+ border-color: var(--pont-callout-brand-border-color);
8578
+ border-top-width: var(--pont-callout-brand-border-width-t);
8579
+ border-right-width: var(--pont-callout-brand-border-width-r);
8580
+ border-bottom-width: var(--pont-callout-brand-border-width-b);
8581
+ border-left-width: var(--pont-callout-brand-border-width-l);
8582
+ }
8583
+
8584
+ /* * BRAND TONAL * */
8585
+
8586
+ [data-pont-callout][data-variant="brand-tonal"] {
8587
+ color: var(--pont-callout-brand-tonal-typography-color);
8588
+
8589
+ background-color: var(--pont-callout-brand-tonal-bg-color);
8590
+
8591
+ border-style: var(--pont-callout-brand-tonal-border-style);
8592
+ border-color: var(--pont-callout-brand-tonal-border-color);
8593
+ border-top-width: var(--pont-callout-brand-tonal-border-width-t);
8594
+ border-right-width: var(--pont-callout-brand-tonal-border-width-r);
8595
+ border-bottom-width: var(--pont-callout-brand-tonal-border-width-b);
8596
+ border-left-width: var(--pont-callout-brand-tonal-border-width-l);
8597
+ }
8598
+
8599
+ /* * DESTRUCTIVE * */
8600
+
8601
+ [data-pont-callout][data-variant="destructive"] {
8602
+ color: var(--pont-callout-destructive-typography-color);
8603
+
8604
+ background-color: var(--pont-callout-destructive-bg-color);
8605
+
8606
+ border-style: var(--pont-callout-destructive-border-style);
8607
+ border-color: var(--pont-callout-destructive-border-color);
8608
+ border-top-width: var(--pont-callout-destructive-border-width-t);
8609
+ border-right-width: var(--pont-callout-destructive-border-width-r);
8610
+ border-bottom-width: var(--pont-callout-destructive-border-width-b);
8611
+ border-left-width: var(--pont-callout-destructive-border-width-l);
8612
+ }
8613
+
8614
+ /* * DESTRUCTIVE TONAL * */
8615
+
8616
+ [data-pont-callout][data-variant="destructive-tonal"] {
8617
+ color: var(--pont-callout-destructive-tonal-typography-color);
8618
+
8619
+ background-color: var(--pont-callout-destructive-tonal-bg-color);
8620
+
8621
+ border-style: var(--pont-callout-destructive-tonal-border-style);
8622
+ border-color: var(--pont-callout-destructive-tonal-border-color);
8623
+ border-top-width: var(--pont-callout-destructive-tonal-border-width-t);
8624
+ border-right-width: var(--pont-callout-destructive-tonal-border-width-r);
8625
+ border-bottom-width: var(--pont-callout-destructive-tonal-border-width-b);
8626
+ border-left-width: var(--pont-callout-destructive-tonal-border-width-l);
8627
+ }
8628
+
8629
+ /* * WARNING * */
8630
+
8631
+ [data-pont-callout][data-variant="warning"] {
8632
+ color: var(--pont-callout-warning-typography-color);
8633
+
8634
+ background-color: var(--pont-callout-warning-bg-color);
8635
+
8636
+ border-style: var(--pont-callout-warning-border-style);
8637
+ border-color: var(--pont-callout-warning-border-color);
8638
+ border-top-width: var(--pont-callout-warning-border-width-t);
8639
+ border-right-width: var(--pont-callout-warning-border-width-r);
8640
+ border-bottom-width: var(--pont-callout-warning-border-width-b);
8641
+ border-left-width: var(--pont-callout-warning-border-width-l);
8642
+ }
8643
+
8644
+ /* * WARNING TONAL * */
8645
+
8646
+ [data-pont-callout][data-variant="warning-tonal"] {
8647
+ color: var(--pont-callout-warning-tonal-typography-color);
8648
+
8649
+ background-color: var(--pont-callout-warning-tonal-bg-color);
8650
+
8651
+ border-style: var(--pont-callout-warning-tonal-border-style);
8652
+ border-color: var(--pont-callout-warning-tonal-border-color);
8653
+ border-top-width: var(--pont-callout-warning-tonal-border-width-t);
8654
+ border-right-width: var(--pont-callout-warning-tonal-border-width-r);
8655
+ border-bottom-width: var(--pont-callout-warning-tonal-border-width-b);
8656
+ border-left-width: var(--pont-callout-warning-tonal-border-width-l);
8657
+ }
8658
+
8659
+ /* * SUCCESS * */
8660
+
8661
+ [data-pont-callout][data-variant="success"] {
8662
+ color: var(--pont-callout-success-typography-color);
8663
+
8664
+ background-color: var(--pont-callout-success-bg-color);
8665
+
8666
+ border-style: var(--pont-callout-success-border-style);
8667
+ border-color: var(--pont-callout-success-border-color);
8668
+ border-top-width: var(--pont-callout-success-border-width-t);
8669
+ border-right-width: var(--pont-callout-success-border-width-r);
8670
+ border-bottom-width: var(--pont-callout-success-border-width-b);
8671
+ border-left-width: var(--pont-callout-success-border-width-l);
8672
+ }
8673
+
8674
+ /* * SUCCESS TONAL * */
8675
+
8676
+ [data-pont-callout][data-variant="success-tonal"] {
8677
+ color: var(--pont-callout-success-tonal-typography-color);
8678
+
8679
+ background-color: var(--pont-callout-success-tonal-bg-color);
8680
+
8681
+ border-style: var(--pont-callout-success-tonal-border-style);
8682
+ border-color: var(--pont-callout-success-tonal-border-color);
8683
+ border-top-width: var(--pont-callout-success-tonal-border-width-t);
8684
+ border-right-width: var(--pont-callout-success-tonal-border-width-r);
8685
+ border-bottom-width: var(--pont-callout-success-tonal-border-width-b);
8686
+ border-left-width: var(--pont-callout-success-tonal-border-width-l);
8687
+ }
8688
+
8689
+ /* * INFO * */
8690
+
8691
+ [data-pont-callout][data-variant="info"] {
8692
+ color: var(--pont-callout-info-typography-color);
8693
+
8694
+ background-color: var(--pont-callout-info-bg-color);
8695
+
8696
+ border-style: var(--pont-callout-info-border-style);
8697
+ border-color: var(--pont-callout-info-border-color);
8698
+ border-top-width: var(--pont-callout-info-border-width-t);
8699
+ border-right-width: var(--pont-callout-info-border-width-r);
8700
+ border-bottom-width: var(--pont-callout-info-border-width-b);
8701
+ border-left-width: var(--pont-callout-info-border-width-l);
8702
+ }
8703
+
8704
+ /* * INFO TONAL * */
8705
+
8706
+ [data-pont-callout][data-variant="info-tonal"] {
8707
+ color: var(--pont-callout-info-tonal-typography-color);
8708
+
8709
+ background-color: var(--pont-callout-info-tonal-bg-color);
8710
+
8711
+ border-style: var(--pont-callout-info-tonal-border-style);
8712
+ border-color: var(--pont-callout-info-tonal-border-color);
8713
+ border-top-width: var(--pont-callout-info-tonal-border-width-t);
8714
+ border-right-width: var(--pont-callout-info-tonal-border-width-r);
8715
+ border-bottom-width: var(--pont-callout-info-tonal-border-width-b);
8716
+ border-left-width: var(--pont-callout-info-tonal-border-width-l);
8717
+ }
8718
+
8719
+ /*
8720
+ * --------------------------------------------------
8721
+ * CALLOUT 'ICON'
8722
+ * --------------------------------------------------
8723
+ */
8724
+
8725
+ [data-pont-callout] > :is(svg, pont-spinner) {
8726
+ grid-row: span 2 / span 2;
8727
+
8728
+ translate: var(--pont-callout-icon-transform-translate-x)
8729
+ var(--pont-callout-icon-transform-translate-y);
8730
+ }
8731
+
8732
+ [data-pont-callout] > svg {
8733
+ width: var(--pont-callout-icon-sizing-w);
8734
+ height: var(--pont-callout-icon-sizing-h);
8735
+ }
8736
+
8737
+ [data-pont-callout] > pont-spinner {
8738
+ --pont-spinner-sizing-w: var(--pont-callout-icon-sizing-w);
8739
+ --pont-spinner-sizing-h: var(--pont-callout-icon-sizing-h);
8740
+ }
8741
+
8742
+ /* * -------- VARIANTS -------- * */
8743
+
8744
+ [data-pont-callout][data-variant="default"] > :is(svg, pont-spinner) {
8745
+ color: var(--pont-callout-default-icon-svg-color);
8746
+ }
8747
+
8748
+ [data-pont-callout][data-variant="brand"] > :is(svg, pont-spinner) {
8749
+ color: var(--pont-callout-brand-icon-svg-color);
8750
+ }
8751
+
8752
+ [data-pont-callout][data-variant="brand-tonal"] > :is(svg, pont-spinner) {
8753
+ color: var(--pont-callout-brand-tonal-icon-svg-color);
8754
+ }
8755
+
8756
+ [data-pont-callout][data-variant="destructive"] > :is(svg, pont-spinner) {
8757
+ color: var(--pont-callout-destructive-icon-svg-color);
8758
+ }
8759
+
8760
+ [data-pont-callout][data-variant="destructive-tonal"] > :is(svg, pont-spinner) {
8761
+ color: var(--pont-callout-destructive-tonal-icon-svg-color);
8762
+ }
8763
+
8764
+ [data-pont-callout][data-variant="warning"] > :is(svg, pont-spinner) {
8765
+ color: var(--pont-callout-warning-icon-svg-color);
8766
+ }
8767
+
8768
+ [data-pont-callout][data-variant="warning-tonal"] > :is(svg, pont-spinner) {
8769
+ color: var(--pont-callout-warning-tonal-icon-svg-color);
8770
+ }
8771
+
8772
+ [data-pont-callout][data-variant="success"] > :is(svg, pont-spinner) {
8773
+ color: var(--pont-callout-success-icon-svg-color);
8774
+ }
8775
+
8776
+ [data-pont-callout][data-variant="success-tonal"] > :is(svg, pont-spinner) {
8777
+ color: var(--pont-callout-success-tonal-icon-svg-color);
8778
+ }
8779
+
8780
+ [data-pont-callout][data-variant="info"] > :is(svg, pont-spinner) {
8781
+ color: var(--pont-callout-info-icon-svg-color);
8782
+ }
8783
+
8784
+ [data-pont-callout][data-variant="info-tonal"] > :is(svg, pont-spinner) {
8785
+ color: var(--pont-callout-info-tonal-icon-svg-color);
8786
+ }
8787
+
8788
+ /*
8789
+ * --------------------------------------------------
8790
+ * CALLOUT TITLE
8791
+ * --------------------------------------------------
8792
+ */
8793
+
8794
+ [data-pont-callout-title] {
8795
+ font-family: var(--pont-callout-title-typography-font);
8796
+ font-size: var(--pont-callout-title-typography-size);
8797
+ font-weight: var(--pont-callout-title-typography-weight);
8798
+ letter-spacing: var(--pont-callout-title-typography-tracking);
8799
+ line-height: var(--pont-callout-title-typography-leading);
8800
+ }
8801
+
8802
+ [data-pont-callout]:has(> :is(svg, pont-spinner)) pont-callout-title {
8803
+ grid-column-start: 2;
8804
+ }
8805
+
8806
+ /* * -------- VARIANTS -------- * */
8807
+
8808
+ [data-pont-callout][data-variant="default"] [data-pont-callout-title] {
8809
+ color: var(--pont-callout-default-title-typography-color);
8810
+ }
8811
+
8812
+ [data-pont-callout][data-variant="brand"] [data-pont-callout-title] {
8813
+ color: var(--pont-callout-brand-title-typography-color);
8814
+ }
8815
+
8816
+ [data-pont-callout][data-variant="brand-tonal"] [data-pont-callout-title] {
8817
+ color: var(--pont-callout-brand-tonal-title-typography-color);
8818
+ }
8819
+
8820
+ [data-pont-callout][data-variant="destructive"] [data-pont-callout-title] {
8821
+ color: var(--pont-callout-destructive-title-typography-color);
8822
+ }
8823
+
8824
+ [data-pont-callout][data-variant="destructive-tonal"]
8825
+ [data-pont-callout-title] {
8826
+ color: var(--pont-callout-destructive-tonal-title-typography-color);
8827
+ }
8828
+
8829
+ [data-pont-callout][data-variant="warning"] [data-pont-callout-title] {
8830
+ color: var(--pont-callout-warning-title-typography-color);
8831
+ }
8832
+
8833
+ [data-pont-callout][data-variant="warning-tonal"] [data-pont-callout-title] {
8834
+ color: var(--pont-callout-warning-tonal-title-typography-color);
8835
+ }
8836
+
8837
+ [data-pont-callout][data-variant="success"] [data-pont-callout-title] {
8838
+ color: var(--pont-callout-success-title-typography-color);
8839
+ }
8840
+
8841
+ [data-pont-callout][data-variant="success-tonal"] [data-pont-callout-title] {
8842
+ color: var(--pont-callout-success-tonal-title-typography-color);
8843
+ }
8844
+
8845
+ [data-pont-callout][data-variant="info"] [data-pont-callout-title] {
8846
+ color: var(--pont-callout-info-title-typography-color);
8847
+ }
8848
+
8849
+ [data-pont-callout][data-variant="info-tonal"] [data-pont-callout-title] {
8850
+ color: var(--pont-callout-info-tonal-title-typography-color);
8851
+ }
8852
+
8853
+ /* * -------- CALLOUT TITLE > LINK -------- * */
8854
+
8855
+ [data-pont-callout-title] a {
8856
+ text-decoration-line: var(
8857
+ --pont-callout-title-link-typography-decoration-line
8858
+ );
8859
+ text-decoration-color: var(
8860
+ --pont-callout-title-link-typography-decoration-color
8861
+ );
8862
+ text-decoration-style: var(
8863
+ --pont-callout-title-link-typography-decoration-style
8864
+ );
8865
+ text-decoration-thickness: var(
8866
+ --pont-callout-title-link-typography-decoration-thickness
8867
+ );
8868
+ text-underline-offset: var(
8869
+ --pont-callout-title-link-typography-underline-offset
8870
+ );
8871
+ }
8872
+
8873
+ /* * VARIANTS * */
8874
+
8875
+ [data-pont-callout][data-variant="default"] [data-pont-callout-title] a {
8876
+ color: var(--pont-callout-default-title-link-typography-color);
8877
+ }
8878
+
8879
+ [data-pont-callout][data-variant="default"] [data-pont-callout-title] a:hover {
8880
+ color: var(--pont-callout-default-title-link-typography-color-hover);
8881
+ }
8882
+
8883
+ [data-pont-callout][data-variant="brand"] [data-pont-callout-title] a {
8884
+ color: var(--pont-callout-brand-title-link-typography-color);
8885
+ }
8886
+
8887
+ [data-pont-callout][data-variant="brand"] [data-pont-callout-title] a:hover {
8888
+ color: var(--pont-callout-brand-title-link-typography-color-hover);
8889
+ }
7543
8890
 
7544
- /*
7545
- * ===========================================================================
7546
- * ALERT COMPONENT STYLES
7547
- * ===========================================================================
7548
- */
8891
+ [data-pont-callout][data-variant="brand-tonal"] [data-pont-callout-title] a {
8892
+ color: var(--pont-callout-brand-tonal-title-link-typography-color);
8893
+ }
7549
8894
 
7550
- /*
7551
- * --------------------------------------------------
7552
- * ALERT
7553
- * --------------------------------------------------
7554
- */
8895
+ [data-pont-callout][data-variant="brand-tonal"]
8896
+ [data-pont-callout-title]
8897
+ a:hover {
8898
+ color: var(--pont-callout-brand-tonal-title-link-typography-color-hover);
8899
+ }
7555
8900
 
7556
- pont-callout {
7557
- width: 100%;
8901
+ [data-pont-callout][data-variant="destructive"] [data-pont-callout-title] a {
8902
+ color: var(--pont-callout-destructive-title-link-typography-color);
7558
8903
  }
7559
8904
 
7560
- pont-callout > [data-slot='alert'] {
7561
- display: grid;
8905
+ [data-pont-callout][data-variant="destructive"]
8906
+ [data-pont-callout-title]
8907
+ a:hover {
8908
+ color: var(--pont-callout-destructive-title-link-typography-color-hover);
8909
+ }
7562
8910
 
7563
- gap: var(--pont-callout-space-gap);
7564
- padding: var(--pont-callout-space-py) var(--pont-callout-space-px);
8911
+ [data-pont-callout][data-variant="destructive-tonal"]
8912
+ [data-pont-callout-title]
8913
+ a {
8914
+ color: var(--pont-callout-destructive-tonal-title-link-typography-color);
8915
+ }
7565
8916
 
7566
- width: 100%;
8917
+ [data-pont-callout][data-variant="destructive-tonal"]
8918
+ [data-pont-callout-title]
8919
+ a:hover {
8920
+ color: var(
8921
+ --pont-callout-destructive-tonal-title-link-typography-color-hover
8922
+ );
8923
+ }
7567
8924
 
7568
- font-family: var(--pont-callout-font-family);
7569
- font-size: var(--pont-callout-font-size);
7570
- line-height: var(--pont-callout-font-line-height);
7571
- text-align: left;
8925
+ [data-pont-callout][data-variant="warning"] [data-pont-callout-title] a {
8926
+ color: var(--pont-callout-warning-title-link-typography-color);
8927
+ }
7572
8928
 
7573
- background-color: var(--pont-callout-color-bg);
8929
+ [data-pont-callout][data-variant="warning"] [data-pont-callout-title] a:hover {
8930
+ color: var(--pont-callout-warning-title-link-typography-color-hover);
8931
+ }
7574
8932
 
7575
- border: var(--pont-callout-width-border) solid var(--pont-callout-color-border);
7576
- border-radius: var(--pont-callout-radius);
8933
+ [data-pont-callout][data-variant="warning-tonal"] [data-pont-callout-title] a {
8934
+ color: var(--pont-callout-warning-tonal-title-link-typography-color);
7577
8935
  }
7578
8936
 
7579
- pont-callout > [data-slot='alert']:has(> svg) {
7580
- grid-template-columns: auto 1fr;
7581
- -moz-column-gap: var(--pont-callout-space-gap-x-has-icon);
7582
- column-gap: var(--pont-callout-space-gap-x-has-icon);
8937
+ [data-pont-callout][data-variant="warning-tonal"]
8938
+ [data-pont-callout-title]
8939
+ a:hover {
8940
+ color: var(--pont-callout-warning-tonal-title-link-typography-color-hover);
7583
8941
  }
7584
8942
 
7585
- pont-callout > [data-slot='alert']:has(> pont-callout-action) {
7586
- position: relative;
7587
- padding-right: var(--pont-callout-space-pr-has-action);
8943
+ [data-pont-callout][data-variant="success"] [data-pont-callout-title] a {
8944
+ color: var(--pont-callout-success-title-link-typography-color);
7588
8945
  }
7589
8946
 
7590
- /* * VARIANTS * */
8947
+ [data-pont-callout][data-variant="success"] [data-pont-callout-title] a:hover {
8948
+ color: var(--pont-callout-success-title-link-typography-color-hover);
8949
+ }
8950
+
8951
+ [data-pont-callout][data-variant="success-tonal"] [data-pont-callout-title] a {
8952
+ color: var(--pont-callout-success-tonal-title-link-typography-color);
8953
+ }
8954
+
8955
+ [data-pont-callout][data-variant="success-tonal"]
8956
+ [data-pont-callout-title]
8957
+ a:hover {
8958
+ color: var(--pont-callout-success-tonal-title-link-typography-color-hover);
8959
+ }
7591
8960
 
7592
- pont-callout > [data-slot='alert'][data-variant='default'] {
7593
- color: var(--pont-callout-default-color-text);
7594
- background-color: var(--pont-callout-default-color-bg);
7595
- border-color: var(--pont-callout-default-color-border);
8961
+ [data-pont-callout][data-variant="info"] [data-pont-callout-title] a {
8962
+ color: var(--pont-callout-info-title-link-typography-color);
7596
8963
  }
7597
8964
 
7598
- /* BRAND & BRAND TONAL */
8965
+ [data-pont-callout][data-variant="info"] [data-pont-callout-title] a:hover {
8966
+ color: var(--pont-callout-info-title-link-typography-color-hover);
8967
+ }
7599
8968
 
7600
- pont-callout > [data-slot='alert'][data-variant^='brand'] {
7601
- color: var(--pont-callout-brand-color-text);
7602
- background-color: var(--pont-callout-brand-color-bg);
7603
- border-color: var(--pont-callout-brand-color-border);
8969
+ [data-pont-callout][data-variant="info-tonal"] [data-pont-callout-title] a {
8970
+ color: var(--pont-callout-info-tonal-title-link-typography-color);
7604
8971
  }
7605
8972
 
7606
- pont-callout > [data-slot='alert'][data-variant='brand-tonal'] {
7607
- background-color: var(--pont-callout-brand-tonal-color-bg);
7608
- border-color: var(--pont-callout-brand-tonal-color-border);
8973
+ [data-pont-callout][data-variant="info-tonal"]
8974
+ [data-pont-callout-title]
8975
+ a:hover {
8976
+ color: var(--pont-callout-info-tonal-title-link-typography-color-hover);
7609
8977
  }
7610
8978
 
7611
- /* DESTRUCTIVE & DESTRUCTIVE TONAL */
8979
+ /*
8980
+ * --------------------------------------------------
8981
+ * CALLOUT DESCRIPTION
8982
+ * --------------------------------------------------
8983
+ */
8984
+
8985
+ [data-pont-callout-description] {
8986
+ font-family: var(--pont-callout-description-typography-font);
8987
+ font-size: var(--pont-callout-description-typography-size);
8988
+ font-weight: var(--pont-callout-description-typography-weight);
8989
+ letter-spacing: var(--pont-callout-description-typography-tracking);
8990
+ line-height: var(--pont-callout-description-typography-leading);
7612
8991
 
7613
- pont-callout > [data-slot='alert'][data-variant^='destructive'] {
7614
- color: var(--pont-callout-destructive-color-text);
7615
- background-color: var(--pont-callout-destructive-color-bg);
7616
- border-color: var(--pont-callout-destructive-color-border);
8992
+ text-wrap: var(--pont-callout-description-typography-wrap);
7617
8993
  }
7618
8994
 
7619
- pont-callout > [data-slot='alert'][data-variant='destructive-tonal'] {
7620
- background-color: var(--pont-callout-destructive-tonal-color-bg);
7621
- border-color: var(--pont-callout-destructive-tonal-color-border);
8995
+ [data-pont-callout-description] p:not(:last-child) {
8996
+ margin-bottom: var(--pont-callout-description-typography-p-spacing);
7622
8997
  }
7623
8998
 
7624
- /* WARNING & WARNING TONAL */
8999
+ /* * -------- VARIANTS -------- * */
7625
9000
 
7626
- pont-callout > [data-slot='alert'][data-variant^='warning'] {
7627
- color: var(--pont-callout-warning-color-text);
7628
- background-color: var(--pont-callout-warning-color-bg);
7629
- border-color: var(--pont-callout-warning-color-border);
9001
+ [data-pont-callout][data-variant="default"] [data-pont-callout-description] {
9002
+ color: var(--pont-callout-default-description-typography-color);
7630
9003
  }
7631
9004
 
7632
- pont-callout > [data-slot='alert'][data-variant='warning-tonal'] {
7633
- background-color: var(--pont-callout-warning-tonal-color-bg);
7634
- border-color: var(--pont-callout-warning-tonal-color-border);
9005
+ [data-pont-callout][data-variant="brand"] [data-pont-callout-description] {
9006
+ color: var(--pont-callout-brand-description-typography-color);
7635
9007
  }
7636
9008
 
7637
- /* SUCCESS & SUCCESS TONAL */
9009
+ [data-pont-callout][data-variant="brand-tonal"]
9010
+ [data-pont-callout-description] {
9011
+ color: var(
9012
+ --pont-callout-destrubrandctive-tonal-description-typography-color
9013
+ );
9014
+ }
7638
9015
 
7639
- pont-callout > [data-slot='alert'][data-variant^='success'] {
7640
- color: var(--pont-callout-success-color-text);
7641
- background-color: var(--pont-callout-success-color-bg);
7642
- border-color: var(--pont-callout-success-color-border);
9016
+ [data-pont-callout][data-variant="destructive"]
9017
+ [data-pont-callout-description] {
9018
+ color: var(--pont-callout-destructive-description-typography-color);
7643
9019
  }
7644
9020
 
7645
- pont-callout > [data-slot='alert'][data-variant='success-tonal'] {
7646
- background-color: var(--pont-callout-success-tonal-color-bg);
7647
- border-color: var(--pont-callout-success-tonal-color-border);
9021
+ [data-pont-callout][data-variant="destructive-tonal"]
9022
+ [data-pont-callout-description] {
9023
+ color: var(--pont-callout-destructive-tonal-description-typography-color);
7648
9024
  }
7649
9025
 
7650
- /* INFO & INFO TONAL */
9026
+ [data-pont-callout][data-variant="warning"] [data-pont-callout-description] {
9027
+ color: var(--pont-callout-warning-description-typography-color);
9028
+ }
7651
9029
 
7652
- pont-callout > [data-slot='alert'][data-variant^='info'] {
7653
- color: var(--pont-callout-info-color-text);
7654
- background-color: var(--pont-callout-info-color-bg);
7655
- border-color: var(--pont-callout-info-color-border);
9030
+ [data-pont-callout][data-variant="warning-tonal"]
9031
+ [data-pont-callout-description] {
9032
+ color: var(--pont-callout-warning-tonal-description-typography-color);
7656
9033
  }
7657
9034
 
7658
- pont-callout > [data-slot='alert'][data-variant='info-tonal'] {
7659
- background-color: var(--pont-callout-info-tonal-color-bg);
7660
- border-color: var(--pont-callout-info-tonal-color-border);
9035
+ [data-pont-callout][data-variant="success"] [data-pont-callout-description] {
9036
+ color: var(--pont-callout-success-description-typography-color);
7661
9037
  }
7662
9038
 
7663
- /* * ICON CHILD * */
9039
+ [data-pont-callout][data-variant="success-tonal"]
9040
+ [data-pont-callout-description] {
9041
+ color: var(--pont-callout-success-tonal-description-typography-color);
9042
+ }
7664
9043
 
7665
- pont-callout > [data-slot='alert'] svg {
7666
- grid-row: span 2 / span 2;
9044
+ [data-pont-callout][data-variant="info"] [data-pont-callout-description] {
9045
+ color: var(--pont-callout-info-description-typography-color);
9046
+ }
7667
9047
 
7668
- width: var(--pont-callout-icon-space-size);
7669
- height: var(--pont-callout-icon-space-size);
9048
+ [data-pont-callout][data-variant="info-tonal"] [data-pont-callout-description] {
9049
+ color: var(--pont-callout-info-tonal-description-typography-color);
9050
+ }
7670
9051
 
7671
- color: currentColor;
9052
+ /* * -------- CALLOUT DESCRIPTION > LINK -------- * */
7672
9053
 
7673
- translate: 0 var(--pont-callout-icon-space-translate-y);
9054
+ [data-pont-callout-description] a {
9055
+ text-decoration-line: var(
9056
+ --pont-callout-description-link-typography-decoration-line
9057
+ );
9058
+ text-decoration-color: var(
9059
+ --pont-callout-description-link-typography-decoration-color
9060
+ );
9061
+ text-decoration-style: var(
9062
+ --pont-callout-description-link-typography-decoration-style
9063
+ );
9064
+ text-decoration-thickness: var(
9065
+ --pont-callout-description-link-typography-decoration-thickness
9066
+ );
9067
+ text-underline-offset: var(
9068
+ --pont-callout-description-link-typography-underline-offset
9069
+ );
7674
9070
  }
7675
9071
 
7676
- /*
7677
- * --------------------------------------------------
7678
- * ALERT TITLE
7679
- * --------------------------------------------------
7680
- */
9072
+ /* * VARIANTS * */
7681
9073
 
7682
- pont-callout-title > [data-slot='alert-title'] {
7683
- font-weight: var(--pont-callout-title-font-weight);
7684
- font-size: var(--pont-callout-title-font-size);
9074
+ [data-pont-callout][data-variant="default"] [data-pont-callout-description] a {
9075
+ color: var(--pont-callout-default-description-link-typography-color);
7685
9076
  }
7686
9077
 
7687
- pont-callout
7688
- > [data-slot='alert']:has(> svg)
7689
- > pont-callout-title
7690
- > [data-slot='alert-title'] {
7691
- grid-column-start: 2;
9078
+ [data-pont-callout][data-variant="default"]
9079
+ [data-pont-callout-description]
9080
+ a:hover {
9081
+ color: var(--pont-callout-default-description-link-typography-color-hover);
7692
9082
  }
7693
9083
 
7694
- /* * LINK CHILD * */
9084
+ [data-pont-callout][data-variant="brand"] [data-pont-callout-description] a {
9085
+ color: var(--pont-callout-brand-description-link-typography-color);
9086
+ }
7695
9087
 
7696
- pont-callout-title > [data-slot='alert-title'] a {
7697
- text-decoration-line: underline;
7698
- text-underline-offset: 3px;
9088
+ [data-pont-callout][data-variant="brand"]
9089
+ [data-pont-callout-description]
9090
+ a:hover {
9091
+ color: var(--pont-callout-brand-description-link-typography-color-hover);
7699
9092
  }
7700
9093
 
7701
- pont-callout-title > [data-slot='alert-title'] a:hover {
7702
- color: var(--pont-callout-title-color-link-hover);
9094
+ [data-pont-callout][data-variant="brand-tonal"]
9095
+ [data-pont-callout-description]
9096
+ a {
9097
+ color: var(--pont-callout-brand-tonal-description-link-typography-color);
7703
9098
  }
7704
9099
 
7705
- /*
7706
- * --------------------------------------------------
7707
- * ALERT DESCRIPTION
7708
- * --------------------------------------------------
7709
- */
9100
+ [data-pont-callout][data-variant="brand-tonal"]
9101
+ [data-pont-callout-description]
9102
+ a:hover {
9103
+ color: var(
9104
+ --pont-callout-brand-tonal-description-link-typography-color-hover
9105
+ );
9106
+ }
7710
9107
 
7711
- pont-callout-description > [data-slot='alert-description'] {
7712
- font-size: var(--pont-callout-description-font-size);
7713
- line-height: var(--pont-callout-description-font-line-height);
7714
- font-weight: var(--pont-callout-description-font-weight);
7715
- text-wrap: balance;
9108
+ [data-pont-callout][data-variant="destructive"]
9109
+ [data-pont-callout-description]
9110
+ a {
9111
+ color: var(--pont-callout-destructive-description-link-typography-color);
7716
9112
  }
7717
9113
 
7718
- @media (width >= 48rem) {
7719
- pont-callout-description > [data-slot='alert-description'] {
7720
- text-wrap: pretty;
7721
- }
9114
+ [data-pont-callout][data-variant="destructive"]
9115
+ [data-pont-callout-description]
9116
+ a:hover {
9117
+ color: var(
9118
+ --pont-callout-destructive-description-link-typography-color-hover
9119
+ );
7722
9120
  }
7723
9121
 
7724
- /* * VARIANTS * */
9122
+ [data-pont-callout][data-variant="destructive-tonal"]
9123
+ [data-pont-callout-description]
9124
+ a {
9125
+ color: var(
9126
+ --pont-callout-destructive-tonal-description-link-typography-color
9127
+ );
9128
+ }
9129
+
9130
+ [data-pont-callout][data-variant="destructive-tonal"]
9131
+ [data-pont-callout-description]
9132
+ a:hover {
9133
+ color: var(
9134
+ --pont-callout-destructive-tonal-description-link-typography-color-hover
9135
+ );
9136
+ }
7725
9137
 
7726
- pont-callout
7727
- > [data-slot='alert'][data-variant='default']
7728
- > pont-callout-description
7729
- > [data-slot='alert-description'] {
7730
- color: var(--pont-callout-description-default-color-text);
9138
+ [data-pont-callout][data-variant="warning"] [data-pont-callout-description] a {
9139
+ color: var(--pont-callout-warning-description-link-typography-color);
7731
9140
  }
7732
9141
 
7733
- pont-callout
7734
- > [data-slot='alert'][data-variant^='brand']
7735
- > pont-callout-description
7736
- > [data-slot='alert-description'] {
7737
- color: var(--pont-callout-brand-default-color-text);
9142
+ [data-pont-callout][data-variant="warning"]
9143
+ [data-pont-callout-description]
9144
+ a:hover {
9145
+ color: var(--pont-callout-warning-description-link-typography-color-hover);
7738
9146
  }
7739
9147
 
7740
- pont-callout
7741
- > [data-slot='alert'][data-variant^='destructive']
7742
- > pont-callout-description
7743
- > [data-slot='alert-description'] {
7744
- color: var(--pont-callout-destructive-default-color-text);
9148
+ [data-pont-callout][data-variant="warning-tonal"]
9149
+ [data-pont-callout-description]
9150
+ a {
9151
+ color: var(--pont-callout-warning-tonal-description-link-typography-color);
7745
9152
  }
7746
9153
 
7747
- pont-callout
7748
- > [data-slot='alert'][data-variant^='warning']
7749
- > pont-callout-description
7750
- > [data-slot='alert-description'] {
7751
- color: var(--pont-callout-warning-default-color-text);
9154
+ [data-pont-callout][data-variant="warning-tonal"]
9155
+ [data-pont-callout-description]
9156
+ a:hover {
9157
+ color: var(
9158
+ --pont-callout-warning-tonal-description-link-typography-color-hover
9159
+ );
7752
9160
  }
7753
9161
 
7754
- pont-callout
7755
- > [data-slot='alert'][data-variant^='success']
7756
- > pont-callout-description
7757
- > [data-slot='alert-description'] {
7758
- color: var(--pont-callout-success-default-color-text);
9162
+ [data-pont-callout][data-variant="success"] [data-pont-callout-description] a {
9163
+ color: var(--pont-callout-success-description-link-typography-color);
7759
9164
  }
7760
9165
 
7761
- pont-callout
7762
- > [data-slot='alert'][data-variant^='info']
7763
- > pont-callout-description
7764
- > [data-slot='alert-description'] {
7765
- color: var(--pont-callout-info-default-color-text);
9166
+ [data-pont-callout][data-variant="success"]
9167
+ [data-pont-callout-description]
9168
+ a:hover {
9169
+ color: var(--pont-callout-success-description-link-typography-color-hover);
7766
9170
  }
7767
9171
 
7768
- /* * LINK CHILD * */
9172
+ [data-pont-callout][data-variant="success-tonal"]
9173
+ [data-pont-callout-description]
9174
+ a {
9175
+ color: var(--pont-callout-success-tonal-description-link-typography-color);
9176
+ }
7769
9177
 
7770
- pont-callout-description > [data-slot='alert-description'] a {
7771
- text-decoration-line: underline;
7772
- text-underline-offset: 3px;
9178
+ [data-pont-callout][data-variant="success-tonal"]
9179
+ [data-pont-callout-description]
9180
+ a:hover {
9181
+ color: var(
9182
+ --pont-callout-success-tonal-description-link-typography-color-hover
9183
+ );
7773
9184
  }
7774
9185
 
7775
- pont-callout-description > [data-slot='alert-description'] a:hover {
7776
- color: var(--pont-callout-description-color-link-hover);
9186
+ [data-pont-callout][data-variant="info"] [data-pont-callout-description] a {
9187
+ color: var(--pont-callout-info-description-link-typography-color);
7777
9188
  }
7778
9189
 
7779
- /* * PARAGRAPH CHILD * */
9190
+ [data-pont-callout][data-variant="info"]
9191
+ [data-pont-callout-description]
9192
+ a:hover {
9193
+ color: var(--pont-callout-info-description-link-typography-color-hover);
9194
+ }
9195
+
9196
+ [data-pont-callout][data-variant="info-tonal"]
9197
+ [data-pont-callout-description]
9198
+ a {
9199
+ color: var(--pont-callout-info-tonal-description-link-typography-color);
9200
+ }
7780
9201
 
7781
- pont-callout-description > [data-slot='alert-description'] p:not(:last-child) {
7782
- margin-bottom: var(--pont-callout-description-p-space-mb);
9202
+ [data-pont-callout][data-variant="info-tonal"]
9203
+ [data-pont-callout-description]
9204
+ a:hover {
9205
+ color: var(--pont-callout-info-tonal-description-link-typography-color-hover);
7783
9206
  }
7784
9207
 
7785
9208
  /*
7786
9209
  * --------------------------------------------------
7787
- * ALERT ACTION
9210
+ * CALLOUT ACTION
7788
9211
  * --------------------------------------------------
7789
9212
  */
7790
9213
 
7791
9214
  pont-callout-action {
7792
9215
  position: absolute;
7793
- top: var(--pont-callout-action-space-top);
7794
- right: var(--pont-callout-action-space-right);
9216
+
9217
+ top: var(--pont-callout-action-layout-inset-t);
9218
+ right: var(--pont-callout-action-layout-inset-r);
9219
+ bottom: var(--pont-callout-action-layout-inset-b);
9220
+ left: var(--pont-callout-action-layout-inset-l);
7795
9221
  }
7796
9222
 
7797
9223
  /*
@@ -9661,104 +11087,187 @@ pont-card
9661
11087
  */
9662
11088
 
9663
11089
  pont-checkbox {
9664
- display: flex;
9665
- position: relative;
9666
-
9667
- align-items: center;
9668
- justify-content: center;
9669
11090
  flex-shrink: 0;
11091
+
11092
+ width: var(--pont-checkbox-sizing-w);
11093
+ height: var(--pont-checkbox-sizing-h);
9670
11094
  }
9671
11095
 
9672
- pont-checkbox > [data-slot="checkbox"] {
11096
+ [data-pont-checkbox] {
9673
11097
  display: flex;
9674
11098
  position: relative;
9675
11099
 
9676
- align-items: center;
9677
11100
  justify-content: center;
11101
+ align-items: center;
9678
11102
 
9679
- width: var(--pont-checkbox-space-size);
9680
- height: var(--pont-checkbox-space-size);
11103
+ width: var(--pont-checkbox-sizing-w);
11104
+ height: var(--pont-checkbox-sizing-h);
9681
11105
 
9682
- background-color: var(--pont-checkbox-color-bg);
11106
+ color: var(--pont-checkbox-typography-color);
9683
11107
 
9684
- border: var(--pont-checkbox-width-border) solid var(--pont-checkbox-color-border);
9685
- border-radius: var(--pont-checkbox-radius);
9686
- outline: none;
11108
+ background-color: var(--pont-checkbox-bg-color);
9687
11109
 
9688
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke;
9689
- transition-timing-function: var(--pont-checkbox-motion-fn);
11110
+ border-top-left-radius: var(--pont-checkbox-border-radius-tl);
11111
+ border-top-right-radius: var(--pont-checkbox-border-radius-tr);
11112
+ border-bottom-left-radius: var(--pont-checkbox-border-radius-bl);
11113
+ border-bottom-right-radius: var(--pont-checkbox-border-radius-br);
11114
+
11115
+ border-style: var(--pont-checkbox-border-style);
11116
+ border-color: var(--pont-checkbox-border-color);
11117
+ border-top-width: var(--pont-checkbox-border-width-t);
11118
+ border-right-width: var(--pont-checkbox-border-width-r);
11119
+ border-bottom-width: var(--pont-checkbox-border-width-b);
11120
+ border-left-width: var(--pont-checkbox-border-width-l);
11121
+
11122
+ outline-width: var(--pont-checkbox-outline-w);
11123
+ outline-color: var(--pont-checkbox-outline-color);
11124
+ outline-style: var(--pont-checkbox-outline-style);
11125
+ outline-offset: var(--pont-checkbox-outline-offset);
11126
+
11127
+ transition-property: var(--pont-checkbox-motion-property);
9690
11128
  transition-duration: var(--pont-checkbox-motion-duration);
11129
+ transition-timing-function: var(--pont-checkbox-motion-fn);
9691
11130
  }
9692
11131
 
9693
- /* CHECKED */
9694
- pont-checkbox > [data-slot="checkbox"][data-state="checked"] {
9695
- color: var(--pont-checkbox-color-text-checked);
9696
- background-color: var(--pont-checkbox-color-bg-checked);
9697
- border-color: var(--pont-checkbox-color-border-checked);
11132
+ /* * -------- STATES -------- * */
11133
+
11134
+ /* * ACTIVE (CHECKED) * */
11135
+
11136
+ [data-pont-checkbox][data-state="checked"] {
11137
+ color: var(--pont-checkbox-typography-color-active);
11138
+
11139
+ background-color: var(--pont-checkbox-bg-color-active);
11140
+
11141
+ border-style: var(--pont-checkbox-border-style-active);
11142
+ border-color: var(--pont-checkbox-border-color-active);
11143
+ border-top-width: var(--pont-checkbox-border-width-t-active);
11144
+ border-right-width: var(--pont-checkbox-border-width-r-active);
11145
+ border-bottom-width: var(--pont-checkbox-border-width-b-active);
11146
+ border-left-width: var(--pont-checkbox-border-width-l-active);
11147
+
11148
+ outline-width: var(--pont-checkbox-outline-w-active);
11149
+ outline-color: var(--pont-checkbox-outline-color-active);
11150
+ outline-style: var(--pont-checkbox-outline-style-active);
11151
+ outline-offset: var(--pont-checkbox-outline-offset-active);
9698
11152
  }
9699
11153
 
9700
- /* INVALID */
9701
- pont-checkbox > [data-slot="checkbox"][aria-invalid] {
9702
- border-color: var(--pont-checkbox-color-border-invalid);
11154
+ /* * FOCUS * */
11155
+
11156
+ [data-pont-checkbox]:focus-visible {
11157
+ border-style: var(--pont-checkbox-border-style-focus);
11158
+ border-color: var(--pont-checkbox-border-color-focus);
11159
+ border-top-width: var(--pont-checkbox-border-width-t-focus);
11160
+ border-right-width: var(--pont-checkbox-border-width-r-focus);
11161
+ border-bottom-width: var(--pont-checkbox-border-width-b-focus);
11162
+ border-left-width: var(--pont-checkbox-border-width-l-focus);
11163
+
11164
+ outline-width: var(--pont-checkbox-outline-w-focus);
11165
+ outline-color: var(--pont-checkbox-outline-color-focus);
11166
+ outline-style: var(--pont-checkbox-outline-style-focus);
11167
+ outline-offset: var(--pont-checkbox-outline-offset-focus);
11168
+
9703
11169
  box-shadow:
9704
- 0 0 rgb(0 0 0),
9705
- 0 0 rgb(0 0 0),
9706
- 0 0 rgb(0 0 0),
9707
- 0 0 0 var(--pont-checkbox-width-ring-invalid) var(--pont-checkbox-color-ring-invalid),
9708
- 0 0 rgb(0 0 0);
11170
+ var(--pont-checkbox-effect-inset-shadow-focus),
11171
+ var(--pont-checkbox-effect-inset-ring-focus),
11172
+ var(--pont-checkbox-effect-ring-offset-focus),
11173
+ var(--pont-checkbox-effect-ring-focus),
11174
+ var(--pont-checkbox-effect-shadow-focus);
9709
11175
  }
9710
11176
 
9711
- /* CHECKED & INVAlID */
9712
- pont-checkbox > [data-slot="checkbox"][data-state="checked"][aria-invalid] {
9713
- border-color: var(--pont-checkbox-color-border-checked);
11177
+ /* * DISABLED * */
11178
+
11179
+ [data-pont-checkbox]:disabled {
11180
+ opacity: var(--pont-checkbox-effect-opacity-disabled);
11181
+
11182
+ cursor: not-allowed;
9714
11183
  }
9715
11184
 
9716
- /* FOCUS VISIBLE */
9717
- pont-checkbox > [data-slot="checkbox"]:focus-visible {
9718
- border-color: var(--pont-checkbox-color-border-focus);
11185
+ [data-pont-field]:has(:disabled) [data-pont-checkbox] {
11186
+ opacity: var(--pont-checkbox-effect-opacity-disabled);
11187
+ }
11188
+
11189
+ /* * INVALID * */
11190
+
11191
+ [data-pont-checkbox][aria-invalid] {
11192
+ border-style: var(--pont-checkbox-border-style-invalid);
11193
+ border-color: var(--pont-checkbox-border-color-invalid);
11194
+ border-top-width: var(--pont-checkbox-border-width-t-invalid);
11195
+ border-right-width: var(--pont-checkbox-border-width-r-invalid);
11196
+ border-bottom-width: var(--pont-checkbox-border-width-b-invalid);
11197
+ border-left-width: var(--pont-checkbox-border-width-l-invalid);
11198
+
11199
+ outline-width: var(--pont-checkbox-outline-w-invalid);
11200
+ outline-color: var(--pont-checkbox-outline-color-invalid);
11201
+ outline-style: var(--pont-checkbox-outline-style-invalid);
11202
+ outline-offset: var(--pont-checkbox-outline-offset-invalid);
11203
+
9719
11204
  box-shadow:
9720
- 0 0 rgb(0 0 0),
9721
- 0 0 rgb(0 0 0),
9722
- 0 0 rgb(0 0 0),
9723
- 0 0 0 var(--pont-checkbox-width-ring-focus) var(--pont-checkbox-color-ring-focus),
9724
- 0 0 rgb(0 0 0);
11205
+ var(--pont-checkbox-effect-inset-shadow-invalid),
11206
+ var(--pont-checkbox-effect-inset-ring-invalid),
11207
+ var(--pont-checkbox-effect-ring-offset-invalid),
11208
+ var(--pont-checkbox-effect-ring-invalid),
11209
+ var(--pont-checkbox-effect-shadow-invalid);
9725
11210
  }
9726
11211
 
9727
- /* DISABLED */
9728
- pont-checkbox > [data-slot="checkbox"]:disabled {
9729
- opacity: var(--pont-checkbox-opacity-disabled);
9730
- cursor: not-allowed;
11212
+ /* * MISCELLANEOUS * */
11213
+
11214
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox] {
11215
+ border-color: var(--pont-checkbox-border-color);
11216
+ }
11217
+
11218
+ [data-pont-field-label]:has(:focus-visible)
11219
+ [data-pont-checkbox][data-state="checked"] {
11220
+ border-color: var(--pont-checkbox-border-color-active);
11221
+ }
11222
+
11223
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox] {
11224
+ --pont-checkbox-effect-ring: var(--pont-ref-effect-shadow-none);
9731
11225
  }
9732
11226
 
9733
- pont-field > [data-slot="field"][data-disabled] pont-checkbox > [data-slot="checkbox"] {
9734
- opacity: var(--pont-checkbox-opacity-disabled);
11227
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox]:focus-visible {
11228
+ --pont-checkbox-effect-ring-focus: var(--pont-ref-effect-shadow-none);
9735
11229
  }
9736
11230
 
9737
- /* * AFTER (::after) * */
9738
- pont-checkbox > [data-slot="checkbox"]::after {
11231
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox][aria-invalid] {
11232
+ --pont-checkbox-effect-ring-invalid: var(--pont-ref-effect-shadow-none);
11233
+ }
11234
+
11235
+ [data-pont-checkbox][data-state="checked"][aria-invalid] {
11236
+ border-color: var(--pont-checkbox-border-color-active);
11237
+ }
11238
+
11239
+ /* * -------- CHECKBOX... AFTER -------- * */
11240
+
11241
+ [data-pont-checkbox]::after {
9739
11242
  position: absolute;
9740
- inset-inline: var(--pont-checkbox-after-space-inset-x);
9741
- inset-block: var(--pont-checkbox-after-space-inset-y);
11243
+
11244
+ top: var(--pont-checkbox-after-layout-inset-t);
11245
+ right: var(--pont-checkbox-after-layout-inset-r);
11246
+ bottom: var(--pont-checkbox-after-layout-inset-b);
11247
+ left: var(--pont-checkbox-after-layout-inset-l);
9742
11248
  }
9743
11249
 
9744
11250
  /*
9745
11251
  * --------------------------------------------------
9746
- * CHECKBOX INDICATOR
11252
+ * CHECKBOX INDICATOR & CHECKBOX ICON
9747
11253
  * --------------------------------------------------
9748
11254
  */
9749
11255
 
9750
- pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] {
11256
+ [data-pont-checkbox-indicator] {
9751
11257
  display: grid;
11258
+
9752
11259
  place-content: center;
9753
- color: currentColor;
9754
- transition-property: none;
9755
- pointer-events: none;
11260
+
11261
+ color: var(--pont-checkbox-icon-color);
11262
+
11263
+ transition-property: var(--pont-checkbox-indicator-motion-property);
11264
+ transition-duration: var(--pont-checkbox-indicator-motion-duration);
11265
+ transition-timing-function: var(--pont-checkbox-indicator-motion-fn);
9756
11266
  }
9757
11267
 
9758
- /* * CHECKBOX INDICATOR ICON * */
9759
- pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] > svg {
9760
- width: var(--pont-checkbox-indicator-icon-space-size);
9761
- height: var(--pont-checkbox-indicator-icon-space-size);
11268
+ [data-pont-checkbox-icon] {
11269
+ width: var(--pont-checkbox-icon-sizing-w);
11270
+ height: var(--pont-checkbox-icon-sizing-h);
9762
11271
  }
9763
11272
 
9764
11273
  /*
@@ -9766,15 +11275,22 @@ pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] > svg
9766
11275
  * CHECKBOX INPUT
9767
11276
  * --------------------------------------------------
9768
11277
  */
9769
- pont-checkbox > [data-slot="checkbox-input"] {
11278
+
11279
+ [data-pont-checkbox-input] {
9770
11280
  position: absolute;
11281
+
9771
11282
  margin: 0px;
9772
- width: var(--pont-checkbox-space-size);
9773
- height: var(--pont-checkbox-space-size);
11283
+
11284
+ width: var(--pont-checkbox-sizing-w);
11285
+ height: var(--pont-checkbox-sizing-h);
11286
+
9774
11287
  opacity: 0;
11288
+
9775
11289
  transform: translateX(-100%);
11290
+
9776
11291
  pointer-events: none;
9777
11292
  }
11293
+
9778
11294
  /*
9779
11295
  * ===========================================================================
9780
11296
  * EMPTY COMPONENT STYLES
@@ -10857,17 +12373,27 @@ pont-input-group-textarea {
10857
12373
  flex: 1;
10858
12374
  width: 100%;
10859
12375
 
10860
- --pont-textarea-color-bg: transparent;
10861
- --pont-textarea-width-border: 0;
10862
- --pont-textarea-radius: 0;
10863
- --pont-textarea-width-ring-focus: 0;
10864
- --pont-textarea-width-ring-invalid: 0;
10865
- --pont-textarea-color-bg-disabled: transparent;
12376
+ --pont-textarea-bg-color: transparent;
12377
+
12378
+ --pont-textarea-border-radius-tl: 0;
12379
+ --pont-textarea-border-radius-tr: 0;
12380
+ --pont-textarea-border-radius-br: 0;
12381
+ --pont-textarea-border-radius-bl: 0;
12382
+
12383
+ --pont-textarea-border-width-t: 0;
12384
+ --pont-textarea-border-width-r: 0;
12385
+ --pont-textarea-border-width-b: 0;
12386
+ --pont-textarea-border-width-l: 0;
12387
+
12388
+ --pont-textarea-effect-ring-w-focus: 0px;
12389
+ --pont-textarea-effect-ring-w-invalid: 0px;
12390
+
12391
+ --pont-textarea-bg-color-disabled: transparent;
10866
12392
  }
10867
12393
 
10868
12394
  pont-input-group-textarea
10869
12395
  > pont-textarea[data-slot='input-group-textarea']
10870
- > [data-slot='textarea'] {
12396
+ > [data-pont-textarea] {
10871
12397
  resize: none;
10872
12398
  }
10873
12399
 
@@ -11825,74 +13351,135 @@ pont-tabs-content > [data-slot="tabs-content"][data-state="active"] {
11825
13351
  */
11826
13352
 
11827
13353
  pont-textarea {
11828
- width: 100%;
13354
+ width: var(--pont-textarea-sizing-w);
13355
+ height: var(--pont-textarea-sizing-h);
11829
13356
  }
11830
13357
 
11831
- pont-textarea > [data-slot='textarea'] {
11832
- field-sizing: content;
13358
+ [data-pont-textarea] {
11833
13359
  display: flex;
11834
- padding-inline: var(--pont-textarea-space-px);
11835
- padding-block: var(--pont-textarea-space-py);
11836
- width: 100%;
11837
- min-height: var(--pont-textarea-space-min-h);
11838
-
11839
- font-family: var(--pont-textarea-font-family);
11840
- font-size: var(--pont-textarea-font-size-vw-sm);
11841
- font-weight: var(--pont-textarea-font-weight);
11842
- line-height: var(--pont-textarea-font-line-height-vw-sm);
11843
- background-color: var(--pont-textarea-color-bg);
11844
- border: var(--pont-textarea-width-border) solid
11845
- var(--pont-textarea-color-border);
11846
- border-radius: var(--pont-textarea-radius);
11847
- outline: none;
11848
- transition-property:
11849
- color, background-color, border-color, outline-color, text-decoration-color,
11850
- fill, stroke;
11851
- transition-timing-function: var(--pont-textarea-motion-fn);
13360
+
13361
+ padding-top: var(--pont-textarea-spacing-pt);
13362
+ padding-right: var(--pont-textarea-spacing-pr);
13363
+ padding-bottom: var(--pont-textarea-spacing-pb);
13364
+ padding-left: var(--pont-textarea-spacing-pl);
13365
+
13366
+ width: var(--pont-textarea-sizing-w);
13367
+ height: var(--pont-textarea-sizing-h);
13368
+
13369
+ min-width: var(--pont-textarea-sizing-min-w);
13370
+ max-width: var(--pont-textarea-sizing-max-w);
13371
+ min-height: var(--pont-textarea-sizing-min-h);
13372
+ max-height: var(--pont-textarea-sizing-max-h);
13373
+
13374
+ font-family: var(--pont-textarea-typography-font);
13375
+ /* Note: media query below with font size in smaller viewports */
13376
+ font-size: var(--pont-textarea-typography-size);
13377
+ font-weight: var(--pont-textarea-typography-weight);
13378
+ /* Note: media query below with line height in smaller viewports */
13379
+ letter-spacing: var(--pont-textarea-typography-tracking);
13380
+ line-height: var(--pont-textarea-typography-leading);
13381
+
13382
+ color: var(--pont-textarea-typography-color);
13383
+
13384
+ background-color: var(--pont-textarea-bg-color);
13385
+
13386
+ border-top-left-radius: var(--pont-textarea-border-radius-tl);
13387
+ border-top-right-radius: var(--pont-textarea-border-radius-tr);
13388
+ border-bottom-right-radius: var(--pont-textarea-border-radius-br);
13389
+ border-bottom-left-radius: var(--pont-textarea-border-radius-bl);
13390
+
13391
+ border-style: var(--pont-textarea-border-style);
13392
+ border-color: var(--pont-textarea-border-color);
13393
+ border-top-width: var(--pont-textarea-border-width-t);
13394
+ border-right-width: var(--pont-textarea-border-width-r);
13395
+ border-bottom-width: var(--pont-textarea-border-width-b);
13396
+ border-left-width: var(--pont-textarea-border-width-l);
13397
+
13398
+ outline-width: var(--pont-textarea-outline-w);
13399
+ outline-color: var(--pont-textarea-outline-color);
13400
+ outline-style: var(--pont-textarea-outline-style);
13401
+ outline-offset: var(--pont-textarea-outline-offset);
13402
+
13403
+ transition-property: var(--pont-textarea-motion-property);
11852
13404
  transition-duration: var(--pont-textarea-motion-duration);
13405
+ transition-timing-function: var(--pont-textarea-motion-fn);
13406
+
13407
+ field-sizing: var(--pont-textarea-interactivity-field-sizing);
11853
13408
  }
11854
13409
 
11855
- @media (width >= 48rem) {
11856
- pont-textarea > [data-slot='textarea'] {
11857
- font-size: var(--pont-textarea-font-size);
11858
- line-height: var(--pont-textarea-font-line-height);
13410
+ @media (width < 48rem) {
13411
+ [data-pont-textarea] {
13412
+ font-size: var(--pont-textarea-typography-size-bp-max-md);
13413
+ line-height: var(--pont-textarea-typography-leading-bp-max-md);
11859
13414
  }
11860
13415
  }
11861
13416
 
11862
- pont-textarea > [data-slot='textarea']:focus-visible {
11863
- border-color: var(--pont-textarea-color-border-focus);
11864
- box-shadow:
11865
- 0 0 rgb(0 0 0),
11866
- 0 0 rgb(0 0 0),
11867
- 0 0 rgb(0 0 0),
11868
- 0 0 0 var(--pont-textarea-width-ring-focus)
11869
- var(--pont-textarea-color-ring-focus),
11870
- 0 0 rgb(0 0 0);
11871
- }
13417
+ /* * -------- STATES -------- * */
13418
+
13419
+ /* * FOCUS * */
13420
+
13421
+ [data-pont-textarea]:focus-visible {
13422
+ border-style: var(--pont-textarea-border-style-focus);
13423
+ border-color: var(--pont-textarea-border-color-focus);
13424
+ border-top-width: var(--pont-textarea-border-width-t-focus);
13425
+ border-right-width: var(--pont-textarea-border-width-r-focus);
13426
+ border-bottom-width: var(--pont-textarea-border-width-b-focus);
13427
+ border-left-width: var(--pont-textarea-border-width-l-focus);
13428
+
13429
+ outline-width: var(--pont-textarea-outline-w-focus);
13430
+ outline-color: var(--pont-textarea-outline-color-focus);
13431
+ outline-style: var(--pont-textarea-outline-style-focus);
13432
+ outline-offset: var(--pont-textarea-outline-offset-focus);
11872
13433
 
11873
- pont-textarea > [data-slot='textarea'][aria-invalid] {
11874
- border-color: var(--pont-textarea-color-border-invalid);
11875
13434
  box-shadow:
11876
- 0 0 rgb(0 0 0),
11877
- 0 0 rgb(0 0 0),
11878
- 0 0 rgb(0 0 0),
11879
- 0 0 0 var(--pont-textarea-width-ring-invalid)
11880
- var(--pont-textarea-color-ring-invalid),
11881
- 0 0 rgb(0 0 0);
13435
+ var(--pont-textarea-effect-inset-shadow-focus),
13436
+ var(--pont-textarea-effect-inset-ring-focus),
13437
+ var(--pont-textarea-effect-ring-offset-focus),
13438
+ var(--pont-textarea-effect-ring-focus),
13439
+ var(--pont-textarea-effect-shadow-focus);
11882
13440
  }
11883
13441
 
11884
- pont-textarea > [data-slot='textarea']:disabled {
11885
- background-color: var(--pont-textarea-color-bg-disabled);
11886
- opacity: var(--pont-textarea-opacity-disabled);
13442
+ /* * DISABLED * */
13443
+
13444
+ [data-pont-textarea]:disabled {
13445
+ background-color: var(--pont-textarea-bg-color-disabled);
13446
+
13447
+ opacity: var(--pont-textarea-effect-opacity-disabled);
13448
+
11887
13449
  cursor: not-allowed;
11888
13450
  }
11889
13451
 
11890
- pont-textarea > [data-slot='textarea']::-moz-placeholder {
11891
- color: var(--pont-textarea-placeholder-color-text);
13452
+ /* * INVALID * */
13453
+
13454
+ [data-pont-textarea][aria-invalid] {
13455
+ border-style: var(--pont-textarea-border-style-invalid);
13456
+ border-color: var(--pont-textarea-border-color-invalid);
13457
+ border-top-width: var(--pont-textarea-border-width-t-invalid);
13458
+ border-right-width: var(--pont-textarea-border-width-r-invalid);
13459
+ border-bottom-width: var(--pont-textarea-border-width-b-invalid);
13460
+ border-left-width: var(--pont-textarea-border-width-l-invalid);
13461
+
13462
+ outline-width: var(--pont-textarea-outline-w-invalid);
13463
+ outline-color: var(--pont-textarea-outline-color-invalid);
13464
+ outline-style: var(--pont-textarea-outline-style-invalid);
13465
+ outline-offset: var(--pont-textarea-outline-offset-invalid);
13466
+
13467
+ box-shadow:
13468
+ var(--pont-textarea-effect-inset-shadow-invalid),
13469
+ var(--pont-textarea-effect-inset-ring-invalid),
13470
+ var(--pont-textarea-effect-ring-offset-invalid),
13471
+ var(--pont-textarea-effect-ring-invalid),
13472
+ var(--pont-textarea-effect-shadow-invalid);
13473
+ }
13474
+
13475
+ /* * -------- TEXTAREA > PLACEHOLDER -------- * */
13476
+
13477
+ [data-pont-textarea]::-moz-placeholder {
13478
+ color: var(--pont-textarea-placeholder-typography-color);
11892
13479
  }
11893
13480
 
11894
- pont-textarea > [data-slot='textarea']::placeholder {
11895
- color: var(--pont-textarea-placeholder-color-text);
13481
+ [data-pont-textarea]::placeholder {
13482
+ color: var(--pont-textarea-placeholder-typography-color);
11896
13483
  }
11897
13484
 
11898
13485
  /*
@@ -13061,62 +14648,6 @@ DIVIDER
13061
14648
  --pont-multi-select-input-item-space-px: var(--pont-ref-space-4);
13062
14649
  }
13063
14650
 
13064
- /*
13065
- * ============================================================
13066
- * HELPERS: Some of these styles are future UI Kit fixes.
13067
- * ============================================================
13068
- */
13069
-
13070
- /*
13071
- * ----------------------------------------
13072
- * TOKENS
13073
- * ----------------------------------------
13074
- */
13075
-
13076
- :root {
13077
- --pont-sem-color-role-base: var(--pont-ref-color-base-900);
13078
- --pont-sem-color-role-on-base: var(--pont-ref-color-base-50);
13079
-
13080
- --pont-sem-color-bg-surface-base: var(--pont-sem-color-role-base) /
13081
- var(--pont-sem-opacity-surface);
13082
- --pont-sem-color-border-base-secondary: var(--pont-sem-color-role-base) /
13083
- var(--pont-sem-opacity-border-secondary);
13084
- }
13085
-
13086
- [data-theme="dark"] {
13087
- --pont-sem-color-role-base: var(--pont-ref-color-base-200);
13088
- --pont-sem-color-role-on-base: var(--pont-ref-color-base-900);
13089
- }
13090
-
13091
- /*
13092
- * ----------------------------------------
13093
- * ALERT
13094
- * ----------------------------------------
13095
- */
13096
-
13097
- /* * TOKENS * */
13098
-
13099
- :root {
13100
- --pont-callout-default-tonal-color-bg: hsl(var(--pont-sem-color-bg-surface-base));
13101
- --pont-callout-default-tonal-color-border: hsl(
13102
- var(--pont-sem-color-border-base-secondary)
13103
- );
13104
- }
13105
-
13106
- pont-callout {
13107
- display: block;
13108
- }
13109
-
13110
- /*
13111
- * ----------------------------------------
13112
- * FIELD
13113
- * ----------------------------------------
13114
- */
13115
-
13116
- pont-field {
13117
- display: block;
13118
- }
13119
-
13120
14651
  /*
13121
14652
  * ============================================================
13122
14653
  * BUTTON
@@ -13553,43 +15084,60 @@ pont-alert {
13553
15084
  width: 100%;
13554
15085
  }
13555
15086
 
15087
+ pont-alert > [part="alert"] {
15088
+ display: block;
15089
+ }
15090
+
13556
15091
  /* * DEFAULT (BASE) TONAL * */
13557
15092
 
13558
15093
  pont-alert
13559
15094
  > [part="alert"][data-variant="tonal"]:has(> [data-variant="default"]) {
13560
- --pont-callout-color-bg: var(--pont-callout-default-tonal-color-bg);
13561
- --pont-callout-color-border: var(--pont-callout-default-tonal-color-border);
15095
+ --pont-callout-default-bg-color: hsl(var(--pont-sem-color-bg-surface-base));
15096
+ --pont-callout-default-border-color: hsl(
15097
+ var(--pont-sem-color-border-base-secondary)
15098
+ );
13562
15099
  }
13563
15100
 
13564
15101
  /* * OUTLINE VARIANT * */
13565
15102
 
13566
15103
  pont-alert
13567
15104
  > [part="alert"][data-variant="outline"]:has(> [data-variant="default"]) {
13568
- --pont-callout-color-border: var(--pont-callout-default-tonal-color-border);
15105
+ --pont-callout-default-border-color: hsl(
15106
+ var(--pont-sem-color-border-base-secondary)
15107
+ );
13569
15108
  }
13570
15109
 
13571
15110
  pont-alert
13572
15111
  > [part="alert"][data-variant="outline"]:has(> [data-variant="brand"]) {
13573
- --pont-callout-color-border: var(--pont-callout-brand-tonal-color-border);
15112
+ --pont-callout-brand-border-color: var(
15113
+ --pont-callout-brand-tonal-border-color
15114
+ );
13574
15115
  }
13575
15116
 
13576
15117
  pont-alert
13577
15118
  > [part="alert"][data-variant="outline"]:has(> [data-variant="destructive"]) {
13578
- --pont-callout-color-border: var(--pont-callout-destructive-tonal-color-border);
15119
+ --pont-callout-destructive-border-color: var(
15120
+ --pont-callout-destructive-tonal-border-color
15121
+ );
13579
15122
  }
13580
15123
 
13581
15124
  pont-alert
13582
15125
  > [part="alert"][data-variant="outline"]:has(> [data-variant="warning"]) {
13583
- --pont-callout-color-border: var(--pont-callout-warning-tonal-color-border);
15126
+ --pont-callout-warning-border-color: var(
15127
+ --pont-callout-warning-tonal-border-color
15128
+ );
13584
15129
  }
13585
15130
 
13586
15131
  pont-alert
13587
15132
  > [part="alert"][data-variant="outline"]:has(> [data-variant="success"]) {
13588
- --pont-callout-color-border: var(--pont-callout-success-tonal-color-border);
15133
+ --pont-callout-success-border-color: var(
15134
+ --pont-callout-success-tonal-border-color
15135
+ );
13589
15136
  }
13590
15137
 
13591
- pont-alert > [part="alert"][data-variant="outline"]:has(> [data-variant="info"]) {
13592
- --pont-callout-color-border: var(--pont-callout-info-tonal-color-border);
15138
+ pont-alert
15139
+ > [part="alert"][data-variant="outline"]:has(> [data-variant="info"]) {
15140
+ --pont-callout-info-border-color: var(--pont-callout-info-tonal-border-color);
13593
15141
  }
13594
15142
 
13595
15143
  pont-countdown {