@pontive/pontkit-core 1.10.0 → 1.11.1

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
@@ -676,6 +676,64 @@
676
676
  --pont-ref-sizing-h-max: max-content;
677
677
  --pont-ref-sizing-h-fit: fit-content;
678
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;
679
737
  }
680
738
 
681
739
  /*
@@ -726,6 +784,19 @@
726
784
  --pont-ref-typography-wrap-pretty: pretty;
727
785
  }
728
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;
798
+ }
799
+
729
800
  /*
730
801
  * ===========================================================================
731
802
  * SEMANTIC TOKENS INDEX
@@ -5163,49 +5234,199 @@
5163
5234
  */
5164
5235
 
5165
5236
  :root {
5166
- --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);
5167
5240
 
5168
- --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
+ );
5169
5245
 
5170
- --pont-checkbox-width-border: var(--pont-sem-width-border);
5171
- --pont-checkbox-color-border: hsl(var(--pont-sem-color-border-secondary));
5172
- --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));
5173
5248
 
5174
- --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);
5175
5269
  --pont-checkbox-motion-duration: var(--pont-sem-motion-duration-default);
5270
+ --pont-checkbox-motion-fn: var(--pont-sem-motion-fn-default);
5271
+ }
5176
5272
 
5177
- /* CHECKED */
5178
- --pont-checkbox-color-text-checked: hsl(var(--pont-sem-color-text-brand-on-fill));
5179
- --pont-checkbox-color-bg-checked: hsl(var(--pont-sem-color-bg-fill-brand));
5180
- --pont-checkbox-color-border-checked: hsl(var(--pont-sem-color-border-brand));
5273
+ /* * -------- STATES -------- * */
5181
5274
 
5182
- /* INVALID */
5183
- --pont-checkbox-color-border-invalid: hsl(var(--pont-sem-color-border-invalid-secondary));
5184
- --pont-checkbox-width-ring-invalid: var(--pont-sem-width-ring-invalid);
5185
- --pont-checkbox-color-ring-invalid: hsl(var(--pont-sem-color-ring-destructive));
5275
+ /* * ACTIVE (CHECKED) * */
5186
5276
 
5187
- /* FOCUS VISIBLE */
5188
- --pont-checkbox-color-border-focus: hsl(var(--pont-sem-color-border-focus));
5189
- --pont-checkbox-width-ring-focus: var(--pont-sem-width-ring-focus);
5190
- --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
+ );
5191
5282
 
5192
- /* DISABLED */
5193
- --pont-checkbox-opacity-disabled: var(--pont-sem-opacity-disabled);
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 * */
5194
5346
 
5195
- /* * AFTER (::after) * */
5196
- --pont-checkbox-after-space-inset-x: var(--pont-ref-space-neg-3);
5197
- --pont-checkbox-after-space-inset-y: var(--pont-ref-space-neg-2);
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
+ }
5398
+
5399
+ /* * -------- CHECKBOX... AFTER -------- * */
5400
+
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);
5198
5406
  }
5199
5407
 
5200
5408
  /*
5201
5409
  * --------------------------------------------------
5202
- * CHECKBOX INDICATOR
5410
+ * CHECKBOX INDICATOR & CHECKBOX ICON
5203
5411
  * --------------------------------------------------
5204
5412
  */
5205
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
+
5206
5418
  :root {
5207
- /* * CHECKBOX INDICATOR ICON * */
5208
- --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);
5209
5430
  /* empty */
5210
5431
  --pont-combo-box-empty-font-size: var(--pont-sem-font-form-size);
5211
5432
  --pont-combo-box-empty-space-py: var(--pont-ref-space-6);
@@ -6540,62 +6761,190 @@
6540
6761
  */
6541
6762
 
6542
6763
  :root {
6543
- --pont-input-font-family: var(--pont-sem-font-family-default);
6764
+ /* SPACING */
6765
+ --pont-input-spacing-pt: calc(var(--pont-ref-space) * 1);
6766
+ --pont-input-spacing-pr: calc(var(--pont-ref-space) * 2.5);
6767
+ --pont-input-spacing-pb: calc(var(--pont-ref-space) * 1);
6768
+ --pont-input-spacing-pl: calc(var(--pont-ref-space) * 2.5);
6544
6769
 
6545
- --pont-input-space-py: var(--pont-sem-space-form-py);
6546
- --pont-input-space-px: var(--pont-sem-space-form-px);
6770
+ /* SIZING */
6771
+ --pont-input-sizing-w: var(--pont-ref-sizing-w-full);
6772
+ --pont-input-sizing-h: calc(var(--pont-ref-space) * 8);
6547
6773
 
6548
- --pont-input-space-h: var(--pont-sem-space-form-size-sm);
6774
+ --pont-input-sizing-min-w: 0px;
6775
+ --pont-input-sizing-max-w: var(--pont-ref-sizing-max-w-none);
6776
+ --pont-input-sizing-min-h: var(--pont-ref-sizing-min-h-auto);
6777
+ --pont-input-sizing-max-h: var(--pont-ref-sizing-max-h-none);
6549
6778
 
6550
- --pont-input-font-size: var(--pont-sem-font-form-size);
6551
- --pont-input-font-weight: var(--pont-sem-font-form-weight);
6552
- --pont-input-font-size-vw-sm: var(--pont-sem-font-form-size-vw-sm);
6553
- --pont-input-font-line-height: var(--pont-sem-font-form-line-height);
6554
- --pont-input-font-line-height-vw-sm: var(--pont-sem-font-form-line-height-vw-sm);
6779
+ /* TYPOGRAPHY */
6780
+ --pont-input-typography-font: var(--pont-sem-font-family-default);
6781
+ --pont-input-typography-size: var(--pont-ref-font-size-sm);
6782
+ --pont-input-typography-weight: var(--pont-ref-font-weight-normal);
6783
+ --pont-input-typography-tracking: var(--pont-ref-font-letter-spacing-normal);
6784
+ --pont-input-typography-leading: var(--pont-ref-font-line-height-of-sm);
6785
+
6786
+ --pont-input-typography-size-bp-max-md: var(--pont-ref-font-size-base);
6787
+ --pont-input-typography-leading-bp-max-md: var(
6788
+ --pont-ref-font-line-height-of-base
6789
+ );
6555
6790
 
6556
- --pont-input-color-bg: hsl(var(--pont-sem-color-bg-fill-quaternary));
6791
+ --pont-input-typography-color: hsl(var(--pont-sem-color-text));
6557
6792
 
6558
- --pont-input-width-border: var(--pont-sem-width-border);
6559
- --pont-input-color-border: hsl(var(--pont-sem-color-border-secondary));
6560
- --pont-input-radius: var(--pont-sem-radius-form);
6793
+ /* BACKGROUND */
6794
+ --pont-input-bg-color: hsl(var(--pont-sem-color-bg-fill-quaternary));
6561
6795
 
6562
- --pont-input-motion-fn: var(--pont-sem-motion-fn-default);
6796
+ /* BORDER */
6797
+ --pont-input-border-radius-tl: var(--pont-ref-radius-lg);
6798
+ --pont-input-border-radius-tr: var(--pont-ref-radius-lg);
6799
+ --pont-input-border-radius-br: var(--pont-ref-radius-lg);
6800
+ --pont-input-border-radius-bl: var(--pont-ref-radius-lg);
6801
+
6802
+ --pont-input-border-style: var(--pont-ref-border-style-solid);
6803
+ --pont-input-border-color: hsl(var(--pont-sem-color-border-secondary));
6804
+ --pont-input-border-width-t: var(--pont-sem-width-border);
6805
+ --pont-input-border-width-r: var(--pont-sem-width-border);
6806
+ --pont-input-border-width-b: var(--pont-sem-width-border);
6807
+ --pont-input-border-width-l: var(--pont-sem-width-border);
6808
+
6809
+ --pont-input-outline-w: 0px;
6810
+ --pont-input-outline-color: transparent;
6811
+ --pont-input-outline-style: var(--pont-ref-border-outline-style-none);
6812
+ --pont-input-outline-offset: 0px;
6813
+
6814
+ /* MOTION */
6815
+ --pont-input-motion-property: var(--pont-ref-motion-property-colors);
6563
6816
  --pont-input-motion-duration: var(--pont-sem-motion-duration-default);
6817
+ --pont-input-motion-fn: var(--pont-sem-motion-fn-default);
6818
+ }
6564
6819
 
6565
- /* FOCUS VISIBLE */
6566
- --pont-input-color-border-focus: hsl(var(--pont-sem-color-border-focus));
6567
- --pont-input-width-ring-focus: var(--pont-sem-width-ring-focus);
6568
- --pont-input-color-ring-focus: hsl(var(--pont-sem-color-ring-focus));
6820
+ /* * -------- STATES -------- * */
6569
6821
 
6570
- /* INVALID */
6571
- --pont-input-color-border-invalid: hsl(
6822
+ /* * FOCUS * */
6823
+
6824
+ :root {
6825
+ /* BORDER */
6826
+ --pont-input-border-style-focus: var(--pont-input-border-style);
6827
+ --pont-input-border-color-focus: hsl(var(--pont-sem-color-border-focus));
6828
+ --pont-input-border-width-t-focus: var(--pont-input-border-width-t);
6829
+ --pont-input-border-width-r-focus: var(--pont-input-border-width-r);
6830
+ --pont-input-border-width-b-focus: var(--pont-input-border-width-b);
6831
+ --pont-input-border-width-l-focus: var(--pont-input-border-width-l);
6832
+
6833
+ --pont-input-outline-w-focus: 0px;
6834
+ --pont-input-outline-color-focus: transparent;
6835
+ --pont-input-outline-style-focus: var(--pont-ref-border-outline-style-none);
6836
+ --pont-input-outline-offset-focus: 0px;
6837
+
6838
+ /* EFFECT */
6839
+ --pont-input-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
6840
+ --pont-input-effect-inset-shadow-focus: inset
6841
+ var(--pont-ref-effect-shadow-none);
6842
+ --pont-input-effect-inset-ring-focus: inset var(--pont-ref-effect-shadow-none);
6843
+
6844
+ --pont-input-effect-ring-offset-w-focus: 0px;
6845
+ --pont-input-effect-ring-offset-color-focus: hsl(var(--pont-sem-color-bg));
6846
+ --pont-input-effect-ring-offset-focus: 0 0 0
6847
+ var(--pont-input-effect-ring-offset-w-focus)
6848
+ var(--pont-input-effect-ring-offset-color-focus);
6849
+
6850
+ --pont-input-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
6851
+ --pont-input-effect-ring-color-focus: hsl(var(--pont-sem-color-ring-focus));
6852
+ --pont-input-effect-ring-focus: 0 0 0
6853
+ calc(
6854
+ var(--pont-input-effect-ring-w-focus) +
6855
+ var(--pont-input-effect-ring-offset-w-focus)
6856
+ )
6857
+ var(--pont-input-effect-ring-color-focus);
6858
+ }
6859
+
6860
+ /* * DISABLED * */
6861
+
6862
+ :root {
6863
+ /* BACKGROUND */
6864
+ --pont-input-bg-color-disabled: hsl(var(--pont-sem-color-bg-fill-disabled));
6865
+
6866
+ /* EFFECT */
6867
+ --pont-input-effect-opacity-disabled: var(--pont-sem-opacity-disabled);
6868
+ }
6869
+
6870
+ /* * INVALID * */
6871
+
6872
+ :root {
6873
+ /* BORDER */
6874
+ --pont-input-border-style-invalid: var(--pont-input-border-style);
6875
+ --pont-input-border-color-invalid: hsl(
6572
6876
  var(--pont-sem-color-border-invalid-secondary)
6573
6877
  );
6574
- --pont-input-width-ring-invalid: var(--pont-sem-width-ring-invalid);
6575
- --pont-input-color-ring-invalid: hsl(var(--pont-sem-color-ring-destructive));
6878
+ --pont-input-border-width-t-invalid: var(--pont-input-border-width-t);
6879
+ --pont-input-border-width-r-invalid: var(--pont-input-border-width-r);
6880
+ --pont-input-border-width-b-invalid: var(--pont-input-border-width-b);
6881
+ --pont-input-border-width-l-invalid: var(--pont-input-border-width-l);
6576
6882
 
6577
- /* DISABLED */
6578
- --pont-input-color-bg-disabled: hsl(var(--pont-sem-color-bg-fill-disabled));
6579
- --pont-input-opacity-disabled: var(--pont-sem-opacity-disabled);
6883
+ --pont-input-outline-w-invalid: 0px;
6884
+ --pont-input-outline-color-invalid: transparent;
6885
+ --pont-input-outline-style-invalid: var(--pont-ref-border-outline-style-none);
6886
+ --pont-input-outline-offset-invalid: 0px;
6580
6887
 
6581
- /* * PLACEHOLDER * */
6582
- --pont-input-placeholder-color-text: hsl(var(--pont-sem-color-text-secondary));
6888
+ /* EFFECT */
6889
+ --pont-input-effect-shadow-invalid: var(--pont-ref-effect-shadow-none);
6890
+ --pont-input-effect-inset-shadow-invalid: inset
6891
+ var(--pont-ref-effect-shadow-none);
6892
+ --pont-input-effect-inset-ring-invalid: inset
6893
+ var(--pont-ref-effect-shadow-none);
6583
6894
 
6584
- /* * FILE SELECTOR BUTTON * */
6585
- --pont-input-file-button-space-h: var(--pont-sem-space-action-size-xs);
6895
+ --pont-input-effect-ring-offset-w-invalid: 0px;
6896
+ --pont-input-effect-ring-offset-color-invalid: hsl(var(--pont-sem-color-bg));
6897
+ --pont-input-effect-ring-offset-invalid: 0 0 0
6898
+ var(--pont-input-effect-ring-offset-w-invalid)
6899
+ var(--pont-input-effect-ring-offset-color-invalid);
6586
6900
 
6587
- --pont-input-file-button-font-size: var(--pont-sem-font-action-size);
6588
- --pont-input-file-button-font-line-height: var(
6589
- --pont-sem-font-action-line-height
6901
+ --pont-input-effect-ring-w-invalid: var(--pont-sem-width-ring-invalid);
6902
+ --pont-input-effect-ring-color-invalid: hsl(
6903
+ var(--pont-sem-color-ring-destructive)
6590
6904
  );
6591
- --pont-input-file-button-font-weight: var(--pont-sem-font-action-weight);
6592
- --pont-input-file-button-color-text: hsl(var(--pont-sem-color-text));
6905
+ --pont-input-effect-ring-invalid: 0 0 0
6906
+ calc(
6907
+ var(--pont-input-effect-ring-w-invalid) +
6908
+ var(--pont-input-effect-ring-offset-w-invalid)
6909
+ )
6910
+ var(--pont-input-effect-ring-color-invalid);
6911
+ }
6912
+
6913
+ /* * -------- INPUT > PLACEHOLDER -------- * */
6593
6914
 
6594
- --pont-input-file-button-color-bg: hsl(
6595
- var(--pont-sem-color-bg-fill-transparent)
6915
+ :root {
6916
+ /* TYPOGRAPHY */
6917
+ --pont-input-placeholder-typography-color: hsl(
6918
+ var(--pont-sem-color-text-secondary)
6596
6919
  );
6920
+ }
6921
+
6922
+ /* * -------- INPUT > FILE (SELECTOR BUTTON) -------- * */
6923
+
6924
+ :root {
6925
+ /* SIZING */
6926
+ --pont-input-file-sizing-w: var(--pont-ref-sizing-w-auto);
6927
+ --pont-input-file-sizing-h: calc(var(--pont-ref-space) * 6);
6928
+
6929
+ /* TYPOGRAPHY */
6930
+ --pont-input-file-typography-font: var(--pont-input-typography-font);
6931
+ --pont-input-file-typography-size: var(--pont-ref-font-size-sm);
6932
+ --pont-input-file-typography-weight: var(--pont-ref-font-weight-medium);
6933
+ --pont-input-file-typography-tracking: var(--pont-input-typography-tracking);
6934
+ --pont-input-file-typography-leading: var(--pont-ref-font-line-height-of-sm);
6935
+
6936
+ --pont-input-file-typography-color: var(--pont-input-typography-color);
6937
+
6938
+ /* BACKGROUND */
6939
+ --pont-input-file-bg-color: transparent;
6597
6940
 
6598
- --pont-input-file-button-width-border: 0px;
6941
+ /* BORDER */
6942
+ --pont-input-file-border-style: var(--pont-ref-border-style-solid);
6943
+ --pont-input-file-border-color: transparent;
6944
+ --pont-input-file-border-width-t: 0px;
6945
+ --pont-input-file-border-width-r: 0px;
6946
+ --pont-input-file-border-width-b: 0px;
6947
+ --pont-input-file-border-width-l: 0px;
6599
6948
  }
6600
6949
 
6601
6950
  /*
@@ -7635,47 +7984,178 @@
7635
7984
  */
7636
7985
 
7637
7986
  :root {
7638
- --pont-textarea-space-px: var(--pont-sem-space-form-px);
7639
- --pont-textarea-space-py: var(--pont-sem-space-form-py-lg);
7987
+ /* SPACING */
7988
+ --pont-textarea-spacing-pt: calc(var(--pont-ref-space) * 2);
7989
+ --pont-textarea-spacing-pr: calc(var(--pont-ref-space) * 2.5);
7990
+ --pont-textarea-spacing-pb: calc(var(--pont-ref-space) * 2);
7991
+ --pont-textarea-spacing-pl: calc(var(--pont-ref-space) * 2.5);
7640
7992
 
7641
- --pont-textarea-space-min-h: var(--pont-sem-space-form-min-h);
7993
+ /* SIZING */
7994
+ --pont-textarea-sizing-w: var(--pont-ref-sizing-w-full);
7995
+ --pont-textarea-sizing-h: var(--pont-ref-sizing-h-auto);
7996
+
7997
+ --pont-textarea-sizing-min-w: var(--pont-ref-sizing-min-w-auto);
7998
+ --pont-textarea-sizing-max-w: var(--pont-ref-sizing-max-w-none);
7999
+ --pont-textarea-sizing-min-h: calc(var(--pont-ref-space) * 16);
8000
+ --pont-textarea-sizing-max-h: var(--pont-ref-sizing-max-h-none);
7642
8001
 
7643
- --pont-text-area-font-family: var(--pont-sem-font-family-default);
7644
- --pont-textarea-font-weight: var(--pont-sem-font-form-weight);
7645
- --pont-textarea-font-size: var(--pont-sem-font-form-size);
7646
- --pont-textarea-font-size-vw-sm: var(--pont-sem-font-form-size-vw-sm);
7647
- --pont-textarea-font-line-height: var(--pont-sem-font-form-line-height);
7648
- --pont-textarea-font-line-height-vw-sm: var(
7649
- --pont-sem-font-form-line-height-vw-sm
8002
+ /* TYPOGRAPHY */
8003
+ --pont-textarea-typography-font: var(--pont-sem-font-family-default);
8004
+ --pont-textarea-typography-size: var(--pont-ref-font-size-sm);
8005
+ --pont-textarea-typography-weight: var(--pont-ref-font-weight-normal);
8006
+ --pont-textarea-typography-tracking: var(
8007
+ --pont-ref-font-letter-spacing-normal
8008
+ );
8009
+ --pont-textarea-typography-leading: var(--pont-ref-font-line-height-of-sm);
8010
+
8011
+ --pont-textarea-typography-size-bp-max-md: var(--pont-ref-font-size-base);
8012
+ --pont-textarea-typography-leading-bp-max-md: var(
8013
+ --pont-ref-font-line-height-of-base
7650
8014
  );
7651
8015
 
7652
- --pont-textarea-color-bg: hsl(var(--pont-sem-color-bg-fill-quaternary));
8016
+ --pont-textarea-typography-color: hsl(var(--pont-sem-color-text));
7653
8017
 
7654
- --pont-textarea-width-border: var(--pont-sem-width-border);
7655
- --pont-textarea-color-border: hsl(var(--pont-sem-color-border-secondary));
7656
- --pont-textarea-radius: var(--pont-sem-radius-form);
8018
+ /* BACKGROUND */
8019
+ --pont-textarea-bg-color: hsl(var(--pont-sem-color-bg-fill-quaternary));
7657
8020
 
7658
- --pont-textarea-motion-fn: var(--pont-sem-motion-fn-default);
8021
+ /* BORDER */
8022
+ --pont-textarea-border-radius-tl: var(--pont-ref-radius-lg);
8023
+ --pont-textarea-border-radius-tr: var(--pont-ref-radius-lg);
8024
+ --pont-textarea-border-radius-br: var(--pont-ref-radius-lg);
8025
+ --pont-textarea-border-radius-bl: var(--pont-ref-radius-lg);
8026
+
8027
+ --pont-textarea-border-style: var(--pont-ref-border-style-solid);
8028
+ --pont-textarea-border-color: hsl(var(--pont-sem-color-border-secondary));
8029
+ --pont-textarea-border-width-t: var(--pont-sem-width-border);
8030
+ --pont-textarea-border-width-r: var(--pont-sem-width-border);
8031
+ --pont-textarea-border-width-b: var(--pont-sem-width-border);
8032
+ --pont-textarea-border-width-l: var(--pont-sem-width-border);
8033
+
8034
+ --pont-textarea-outline-w: 0px;
8035
+ --pont-textarea-outline-color: transparent;
8036
+ --pont-textarea-outline-style: var(--pont-ref-border-outline-style-none);
8037
+ --pont-textarea-outline-offset: 0px;
8038
+
8039
+ /* MOTION */
8040
+ --pont-textarea-motion-property: var(--pont-ref-motion-property-colors);
7659
8041
  --pont-textarea-motion-duration: var(--pont-sem-motion-duration-default);
8042
+ --pont-textarea-motion-fn: var(--pont-sem-motion-fn-default);
7660
8043
 
7661
- /* FOCUS VISIBLE */
7662
- --pont-textarea-color-border-focus: hsl(var(--pont-sem-color-border-focus));
7663
- --pont-textarea-width-ring-focus: var(--pont-sem-width-ring-focus);
7664
- --pont-textarea-color-ring-focus: hsl(var(--pont-sem-color-ring-focus));
8044
+ /* INTERACTIVITY */
8045
+ --pont-textarea-interactivity-field-sizing: var(
8046
+ --pont-ref-interactivity-field-sizing-content
8047
+ );
8048
+ }
7665
8049
 
7666
- /* INVALID */
7667
- --pont-textarea-color-border-invalid: hsl(
8050
+ /* * -------- STATES -------- * */
8051
+
8052
+ /* * FOCUS * */
8053
+
8054
+ :root {
8055
+ /* BORDER */
8056
+ --pont-textarea-border-style-focus: var(--pont-textarea-border-style);
8057
+ --pont-textarea-border-color-focus: hsl(var(--pont-sem-color-border-focus));
8058
+ --pont-textarea-border-width-t-focus: var(--pont-textarea-border-width-t);
8059
+ --pont-textarea-border-width-r-focus: var(--pont-textarea-border-width-r);
8060
+ --pont-textarea-border-width-b-focus: var(--pont-textarea-border-width-b);
8061
+ --pont-textarea-border-width-l-focus: var(--pont-textarea-border-width-l);
8062
+
8063
+ --pont-textarea-outline-w-focus: 0px;
8064
+ --pont-textarea-outline-color-focus: transparent;
8065
+ --pont-textarea-outline-style-focus: var(
8066
+ --pont-ref-border-outline-style-none
8067
+ );
8068
+ --pont-textarea-outline-offset-focus: 0px;
8069
+
8070
+ /* EFFECT */
8071
+ --pont-textarea-effect-shadow-focus: var(--pont-ref-effect-shadow-none);
8072
+ --pont-textarea-effect-inset-shadow-focus: inset
8073
+ var(--pont-ref-effect-shadow-none);
8074
+ --pont-textarea-effect-inset-ring-focus: inset
8075
+ var(--pont-ref-effect-shadow-none);
8076
+
8077
+ --pont-textarea-effect-ring-offset-w-focus: 0px;
8078
+ --pont-textarea-effect-ring-offset-color-focus: hsl(var(--pont-sem-color-bg));
8079
+ --pont-textarea-effect-ring-offset-focus: 0 0 0
8080
+ var(--pont-textarea-effect-ring-offset-w-focus)
8081
+ var(--pont-textarea-effect-ring-offset-color-focus);
8082
+
8083
+ --pont-textarea-effect-ring-w-focus: var(--pont-sem-width-ring-focus);
8084
+ --pont-textarea-effect-ring-color-focus: hsl(
8085
+ var(--pont-sem-color-ring-focus)
8086
+ );
8087
+ --pont-textarea-effect-ring-focus: 0 0 0
8088
+ calc(
8089
+ var(--pont-textarea-effect-ring-w-focus) +
8090
+ var(--pont-textarea-effect-ring-offset-w-focus)
8091
+ )
8092
+ var(--pont-textarea-effect-ring-color-focus);
8093
+ }
8094
+
8095
+ /* * DISABLED * */
8096
+
8097
+ :root {
8098
+ /* BACKGROUND */
8099
+ --pont-textarea-bg-color-disabled: hsl(
8100
+ var(--pont-sem-color-bg-fill-disabled)
8101
+ );
8102
+
8103
+ /* EFFECT */
8104
+ --pont-textarea-effect-opacity-disabled: var(--pont-sem-opacity-disabled);
8105
+ }
8106
+
8107
+ /* * INVALID * */
8108
+
8109
+ :root {
8110
+ /* BORDER */
8111
+ --pont-textarea-border-style-invalid: var(--pont-textarea-border-style);
8112
+ --pont-textarea-border-color-invalid: hsl(
7668
8113
  var(--pont-sem-color-border-invalid-secondary)
7669
8114
  );
7670
- --pont-textarea-width-ring-invalid: var(--pont-sem-width-ring-invalid);
7671
- --pont-textarea-color-ring-invalid: hsl(var(--pont-sem-color-ring-destructive));
8115
+ --pont-textarea-border-width-t-invalid: var(--pont-textarea-border-width-t);
8116
+ --pont-textarea-border-width-r-invalid: var(--pont-textarea-border-width-r);
8117
+ --pont-textarea-border-width-b-invalid: var(--pont-textarea-border-width-b);
8118
+ --pont-textarea-border-width-l-invalid: var(--pont-textarea-border-width-l);
7672
8119
 
7673
- /* DISABLED */
7674
- --pont-textarea-color-bg-disabled: hsl(var(--pont-sem-color-bg-fill-disabled));
7675
- --pont-textarea-opacity-disabled: var(--pont-sem-opacity-disabled);
8120
+ --pont-textarea-outline-w-invalid: 0px;
8121
+ --pont-textarea-outline-color-invalid: transparent;
8122
+ --pont-textarea-outline-style-invalid: var(
8123
+ --pont-ref-border-outline-style-none
8124
+ );
8125
+ --pont-textarea-outline-offset-invalid: 0px;
8126
+
8127
+ /* EFFECT */
8128
+ --pont-textarea-effect-shadow-invalid: var(--pont-ref-effect-shadow-none);
8129
+ --pont-textarea-effect-inset-shadow-invalid: inset
8130
+ var(--pont-ref-effect-shadow-none);
8131
+ --pont-textarea-effect-inset-ring-invalid: inset
8132
+ var(--pont-ref-effect-shadow-none);
7676
8133
 
7677
- /* * PLACEHOLDER * */
7678
- --pont-textarea-placeholder-color-text: hsl(
8134
+ --pont-textarea-effect-ring-offset-w-invalid: 0px;
8135
+ --pont-textarea-effect-ring-offset-color-invalid: hsl(
8136
+ var(--pont-sem-color-bg)
8137
+ );
8138
+ --pont-textarea-effect-ring-offset-invalid: 0 0 0
8139
+ var(--pont-textarea-effect-ring-offset-w-invalid)
8140
+ var(--pont-textarea-effect-ring-offset-color-invalid);
8141
+
8142
+ --pont-textarea-effect-ring-w-invalid: var(--pont-sem-width-ring-invalid);
8143
+ --pont-textarea-effect-ring-color-invalid: hsl(
8144
+ var(--pont-sem-color-ring-destructive)
8145
+ );
8146
+ --pont-textarea-effect-ring-invalid: 0 0 0
8147
+ calc(
8148
+ var(--pont-textarea-effect-ring-w-invalid) +
8149
+ var(--pont-textarea-effect-ring-offset-w-invalid)
8150
+ )
8151
+ var(--pont-textarea-effect-ring-color-invalid);
8152
+ }
8153
+
8154
+ /* * -------- TEXTAREA > PLACEHOLDER -------- * */
8155
+
8156
+ :root {
8157
+ /* TYPOGRAPHY */
8158
+ --pont-textarea-placeholder-typography-color: hsl(
7679
8159
  var(--pont-sem-color-text-secondary)
7680
8160
  );
7681
8161
  /* toast title */
@@ -10735,104 +11215,187 @@ pont-card
10735
11215
  */
10736
11216
 
10737
11217
  pont-checkbox {
10738
- display: flex;
10739
- position: relative;
10740
-
10741
- align-items: center;
10742
- justify-content: center;
10743
11218
  flex-shrink: 0;
11219
+
11220
+ width: var(--pont-checkbox-sizing-w);
11221
+ height: var(--pont-checkbox-sizing-h);
10744
11222
  }
10745
11223
 
10746
- pont-checkbox > [data-slot="checkbox"] {
11224
+ [data-pont-checkbox] {
10747
11225
  display: flex;
10748
11226
  position: relative;
10749
11227
 
10750
- align-items: center;
10751
11228
  justify-content: center;
11229
+ align-items: center;
10752
11230
 
10753
- width: var(--pont-checkbox-space-size);
10754
- height: var(--pont-checkbox-space-size);
11231
+ width: var(--pont-checkbox-sizing-w);
11232
+ height: var(--pont-checkbox-sizing-h);
10755
11233
 
10756
- background-color: var(--pont-checkbox-color-bg);
11234
+ color: var(--pont-checkbox-typography-color);
10757
11235
 
10758
- border: var(--pont-checkbox-width-border) solid var(--pont-checkbox-color-border);
10759
- border-radius: var(--pont-checkbox-radius);
10760
- outline: none;
11236
+ background-color: var(--pont-checkbox-bg-color);
10761
11237
 
10762
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke;
10763
- transition-timing-function: var(--pont-checkbox-motion-fn);
11238
+ border-top-left-radius: var(--pont-checkbox-border-radius-tl);
11239
+ border-top-right-radius: var(--pont-checkbox-border-radius-tr);
11240
+ border-bottom-left-radius: var(--pont-checkbox-border-radius-bl);
11241
+ border-bottom-right-radius: var(--pont-checkbox-border-radius-br);
11242
+
11243
+ border-style: var(--pont-checkbox-border-style);
11244
+ border-color: var(--pont-checkbox-border-color);
11245
+ border-top-width: var(--pont-checkbox-border-width-t);
11246
+ border-right-width: var(--pont-checkbox-border-width-r);
11247
+ border-bottom-width: var(--pont-checkbox-border-width-b);
11248
+ border-left-width: var(--pont-checkbox-border-width-l);
11249
+
11250
+ outline-width: var(--pont-checkbox-outline-w);
11251
+ outline-color: var(--pont-checkbox-outline-color);
11252
+ outline-style: var(--pont-checkbox-outline-style);
11253
+ outline-offset: var(--pont-checkbox-outline-offset);
11254
+
11255
+ transition-property: var(--pont-checkbox-motion-property);
10764
11256
  transition-duration: var(--pont-checkbox-motion-duration);
11257
+ transition-timing-function: var(--pont-checkbox-motion-fn);
10765
11258
  }
10766
11259
 
10767
- /* CHECKED */
10768
- pont-checkbox > [data-slot="checkbox"][data-state="checked"] {
10769
- color: var(--pont-checkbox-color-text-checked);
10770
- background-color: var(--pont-checkbox-color-bg-checked);
10771
- border-color: var(--pont-checkbox-color-border-checked);
11260
+ /* * -------- STATES -------- * */
11261
+
11262
+ /* * ACTIVE (CHECKED) * */
11263
+
11264
+ [data-pont-checkbox][data-state="checked"] {
11265
+ color: var(--pont-checkbox-typography-color-active);
11266
+
11267
+ background-color: var(--pont-checkbox-bg-color-active);
11268
+
11269
+ border-style: var(--pont-checkbox-border-style-active);
11270
+ border-color: var(--pont-checkbox-border-color-active);
11271
+ border-top-width: var(--pont-checkbox-border-width-t-active);
11272
+ border-right-width: var(--pont-checkbox-border-width-r-active);
11273
+ border-bottom-width: var(--pont-checkbox-border-width-b-active);
11274
+ border-left-width: var(--pont-checkbox-border-width-l-active);
11275
+
11276
+ outline-width: var(--pont-checkbox-outline-w-active);
11277
+ outline-color: var(--pont-checkbox-outline-color-active);
11278
+ outline-style: var(--pont-checkbox-outline-style-active);
11279
+ outline-offset: var(--pont-checkbox-outline-offset-active);
10772
11280
  }
10773
11281
 
10774
- /* INVALID */
10775
- pont-checkbox > [data-slot="checkbox"][aria-invalid] {
10776
- border-color: var(--pont-checkbox-color-border-invalid);
11282
+ /* * FOCUS * */
11283
+
11284
+ [data-pont-checkbox]:focus-visible {
11285
+ border-style: var(--pont-checkbox-border-style-focus);
11286
+ border-color: var(--pont-checkbox-border-color-focus);
11287
+ border-top-width: var(--pont-checkbox-border-width-t-focus);
11288
+ border-right-width: var(--pont-checkbox-border-width-r-focus);
11289
+ border-bottom-width: var(--pont-checkbox-border-width-b-focus);
11290
+ border-left-width: var(--pont-checkbox-border-width-l-focus);
11291
+
11292
+ outline-width: var(--pont-checkbox-outline-w-focus);
11293
+ outline-color: var(--pont-checkbox-outline-color-focus);
11294
+ outline-style: var(--pont-checkbox-outline-style-focus);
11295
+ outline-offset: var(--pont-checkbox-outline-offset-focus);
11296
+
10777
11297
  box-shadow:
10778
- 0 0 rgb(0 0 0),
10779
- 0 0 rgb(0 0 0),
10780
- 0 0 rgb(0 0 0),
10781
- 0 0 0 var(--pont-checkbox-width-ring-invalid) var(--pont-checkbox-color-ring-invalid),
10782
- 0 0 rgb(0 0 0);
11298
+ var(--pont-checkbox-effect-inset-shadow-focus),
11299
+ var(--pont-checkbox-effect-inset-ring-focus),
11300
+ var(--pont-checkbox-effect-ring-offset-focus),
11301
+ var(--pont-checkbox-effect-ring-focus),
11302
+ var(--pont-checkbox-effect-shadow-focus);
10783
11303
  }
10784
11304
 
10785
- /* CHECKED & INVAlID */
10786
- pont-checkbox > [data-slot="checkbox"][data-state="checked"][aria-invalid] {
10787
- border-color: var(--pont-checkbox-color-border-checked);
11305
+ /* * DISABLED * */
11306
+
11307
+ [data-pont-checkbox]:disabled {
11308
+ opacity: var(--pont-checkbox-effect-opacity-disabled);
11309
+
11310
+ cursor: not-allowed;
10788
11311
  }
10789
11312
 
10790
- /* FOCUS VISIBLE */
10791
- pont-checkbox > [data-slot="checkbox"]:focus-visible {
10792
- border-color: var(--pont-checkbox-color-border-focus);
11313
+ [data-pont-field]:has(:disabled) [data-pont-checkbox] {
11314
+ opacity: var(--pont-checkbox-effect-opacity-disabled);
11315
+ }
11316
+
11317
+ /* * INVALID * */
11318
+
11319
+ [data-pont-checkbox][aria-invalid] {
11320
+ border-style: var(--pont-checkbox-border-style-invalid);
11321
+ border-color: var(--pont-checkbox-border-color-invalid);
11322
+ border-top-width: var(--pont-checkbox-border-width-t-invalid);
11323
+ border-right-width: var(--pont-checkbox-border-width-r-invalid);
11324
+ border-bottom-width: var(--pont-checkbox-border-width-b-invalid);
11325
+ border-left-width: var(--pont-checkbox-border-width-l-invalid);
11326
+
11327
+ outline-width: var(--pont-checkbox-outline-w-invalid);
11328
+ outline-color: var(--pont-checkbox-outline-color-invalid);
11329
+ outline-style: var(--pont-checkbox-outline-style-invalid);
11330
+ outline-offset: var(--pont-checkbox-outline-offset-invalid);
11331
+
10793
11332
  box-shadow:
10794
- 0 0 rgb(0 0 0),
10795
- 0 0 rgb(0 0 0),
10796
- 0 0 rgb(0 0 0),
10797
- 0 0 0 var(--pont-checkbox-width-ring-focus) var(--pont-checkbox-color-ring-focus),
10798
- 0 0 rgb(0 0 0);
11333
+ var(--pont-checkbox-effect-inset-shadow-invalid),
11334
+ var(--pont-checkbox-effect-inset-ring-invalid),
11335
+ var(--pont-checkbox-effect-ring-offset-invalid),
11336
+ var(--pont-checkbox-effect-ring-invalid),
11337
+ var(--pont-checkbox-effect-shadow-invalid);
10799
11338
  }
10800
11339
 
10801
- /* DISABLED */
10802
- pont-checkbox > [data-slot="checkbox"]:disabled {
10803
- opacity: var(--pont-checkbox-opacity-disabled);
10804
- cursor: not-allowed;
11340
+ /* * MISCELLANEOUS * */
11341
+
11342
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox] {
11343
+ border-color: var(--pont-checkbox-border-color);
11344
+ }
11345
+
11346
+ [data-pont-field-label]:has(:focus-visible)
11347
+ [data-pont-checkbox][data-state="checked"] {
11348
+ border-color: var(--pont-checkbox-border-color-active);
11349
+ }
11350
+
11351
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox] {
11352
+ --pont-checkbox-effect-ring: var(--pont-ref-effect-shadow-none);
11353
+ }
11354
+
11355
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox]:focus-visible {
11356
+ --pont-checkbox-effect-ring-focus: var(--pont-ref-effect-shadow-none);
10805
11357
  }
10806
11358
 
10807
- pont-field > [data-slot="field"][data-disabled] pont-checkbox > [data-slot="checkbox"] {
10808
- opacity: var(--pont-checkbox-opacity-disabled);
11359
+ [data-pont-field-label]:has(:focus-visible) [data-pont-checkbox][aria-invalid] {
11360
+ --pont-checkbox-effect-ring-invalid: var(--pont-ref-effect-shadow-none);
10809
11361
  }
10810
11362
 
10811
- /* * AFTER (::after) * */
10812
- pont-checkbox > [data-slot="checkbox"]::after {
11363
+ [data-pont-checkbox][data-state="checked"][aria-invalid] {
11364
+ border-color: var(--pont-checkbox-border-color-active);
11365
+ }
11366
+
11367
+ /* * -------- CHECKBOX... AFTER -------- * */
11368
+
11369
+ [data-pont-checkbox]::after {
10813
11370
  position: absolute;
10814
- inset-inline: var(--pont-checkbox-after-space-inset-x);
10815
- inset-block: var(--pont-checkbox-after-space-inset-y);
11371
+
11372
+ top: var(--pont-checkbox-after-layout-inset-t);
11373
+ right: var(--pont-checkbox-after-layout-inset-r);
11374
+ bottom: var(--pont-checkbox-after-layout-inset-b);
11375
+ left: var(--pont-checkbox-after-layout-inset-l);
10816
11376
  }
10817
11377
 
10818
11378
  /*
10819
11379
  * --------------------------------------------------
10820
- * CHECKBOX INDICATOR
11380
+ * CHECKBOX INDICATOR & CHECKBOX ICON
10821
11381
  * --------------------------------------------------
10822
11382
  */
10823
11383
 
10824
- pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] {
11384
+ [data-pont-checkbox-indicator] {
10825
11385
  display: grid;
11386
+
10826
11387
  place-content: center;
10827
- color: currentColor;
10828
- transition-property: none;
10829
- pointer-events: none;
11388
+
11389
+ color: var(--pont-checkbox-icon-color);
11390
+
11391
+ transition-property: var(--pont-checkbox-indicator-motion-property);
11392
+ transition-duration: var(--pont-checkbox-indicator-motion-duration);
11393
+ transition-timing-function: var(--pont-checkbox-indicator-motion-fn);
10830
11394
  }
10831
11395
 
10832
- /* * CHECKBOX INDICATOR ICON * */
10833
- pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] > svg {
10834
- width: var(--pont-checkbox-indicator-icon-space-size);
10835
- height: var(--pont-checkbox-indicator-icon-space-size);
11396
+ [data-pont-checkbox-icon] {
11397
+ width: var(--pont-checkbox-icon-sizing-w);
11398
+ height: var(--pont-checkbox-icon-sizing-h);
10836
11399
  }
10837
11400
 
10838
11401
  /*
@@ -10840,15 +11403,22 @@ pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] > svg
10840
11403
  * CHECKBOX INPUT
10841
11404
  * --------------------------------------------------
10842
11405
  */
10843
- pont-checkbox > [data-slot="checkbox-input"] {
11406
+
11407
+ [data-pont-checkbox-input] {
10844
11408
  position: absolute;
11409
+
10845
11410
  margin: 0px;
10846
- width: var(--pont-checkbox-space-size);
10847
- height: var(--pont-checkbox-space-size);
11411
+
11412
+ width: var(--pont-checkbox-sizing-w);
11413
+ height: var(--pont-checkbox-sizing-h);
11414
+
10848
11415
  opacity: 0;
11416
+
10849
11417
  transform: translateX(-100%);
11418
+
10850
11419
  pointer-events: none;
10851
11420
  }
11421
+
10852
11422
  /*
10853
11423
  * ===========================================================================
10854
11424
  * EMPTY COMPONENT STYLES
@@ -11461,98 +12031,162 @@ pont-field-error
11461
12031
  */
11462
12032
 
11463
12033
  pont-input {
11464
- width: 100%;
11465
- min-width: 0;
12034
+ width: var(--pont-input-sizing-w);
12035
+ height: var(--pont-input-sizing-h);
12036
+
12037
+ min-width: var(--pont-input-sizing-min-w);
12038
+ max-width: var(--pont-input-sizing-max-w);
12039
+ min-height: var(--pont-input-sizing-min-h);
12040
+ max-height: var(--pont-input-sizing-max-h);
12041
+ }
12042
+
12043
+ [data-pont-input] {
12044
+ padding-top: var(--pont-input-spacing-pt);
12045
+ padding-right: var(--pont-input-spacing-pr);
12046
+ padding-bottom: var(--pont-input-spacing-pb);
12047
+ padding-left: var(--pont-input-spacing-pl);
12048
+
12049
+ width: var(--pont-input-sizing-w);
12050
+ height: var(--pont-input-sizing-h);
12051
+
12052
+ min-width: var(--pont-input-sizing-min-w);
12053
+ max-width: var(--pont-input-sizing-max-w);
12054
+ min-height: var(--pont-input-sizing-min-h);
12055
+ max-height: var(--pont-input-sizing-max-h);
12056
+
12057
+ font-family: var(--pont-input-typography-font);
12058
+ /* Note: media query below with font size in smaller viewports */
12059
+ font-size: var(--pont-input-typography-size);
12060
+ font-weight: var(--pont-input-typography-weight);
12061
+ /* Note: media query below with line height in smaller viewports */
12062
+ letter-spacing: var(--pont-input-typography-tracking);
12063
+ line-height: var(--pont-input-typography-leading);
12064
+
12065
+ color: var(--pont-input-typography-color);
12066
+
12067
+ background-color: var(--pont-input-bg-color);
12068
+
12069
+ border-top-left-radius: var(--pont-input-border-radius-tl);
12070
+ border-top-right-radius: var(--pont-input-border-radius-tr);
12071
+ border-bottom-right-radius: var(--pont-input-border-radius-br);
12072
+ border-bottom-left-radius: var(--pont-input-border-radius-bl);
12073
+
12074
+ border-style: var(--pont-input-border-style);
12075
+ border-color: var(--pont-input-border-color);
12076
+ border-top-width: var(--pont-input-border-width-t);
12077
+ border-right-width: var(--pont-input-border-width-r);
12078
+ border-bottom-width: var(--pont-input-border-width-b);
12079
+ border-left-width: var(--pont-input-border-width-l);
12080
+
12081
+ outline-width: var(--pont-input-outline-w);
12082
+ outline-color: var(--pont-input-outline-color);
12083
+ outline-style: var(--pont-input-outline-style);
12084
+ outline-offset: var(--pont-input-outline-offset);
12085
+
12086
+ transition-property: var(--pont-input-motion-property);
12087
+ transition-duration: var(--pont-input-motion-duration);
12088
+ transition-timing-function: var(--pont-input-motion-fn);
11466
12089
  }
11467
12090
 
11468
- pont-input > [data-slot='input'] {
11469
- width: 100%;
11470
- height: var(--pont-input-space-h);
11471
-
11472
- padding: var(--pont-input-space-py) var(--pont-input-space-px);
12091
+ @media (width < 48rem) {
12092
+ [data-pont-input] {
12093
+ font-size: var(--pont-input-typography-size-bp-max-md);
12094
+ line-height: var(--pont-input-typography-leading-bp-max-md);
12095
+ }
12096
+ }
11473
12097
 
11474
- font-family: var(--pont-input-font-family);
11475
- font-size: var(--pont-input-font-size-vw-sm);
11476
- font-weight: var(--pont-input-font-weight);
12098
+ /* * -------- STATES -------- * */
11477
12099
 
11478
- line-height: var(--pont-input-font-line-height-vw-sm);
12100
+ /* * FOCUS * */
11479
12101
 
11480
- background-color: var(--pont-input-color-bg);
12102
+ [data-pont-input]:focus-visible {
12103
+ border-style: var(--pont-input-border-style-focus);
12104
+ border-color: var(--pont-input-border-color-focus);
12105
+ border-top-width: var(--pont-input-border-width-t-focus);
12106
+ border-right-width: var(--pont-input-border-width-r-focus);
12107
+ border-bottom-width: var(--pont-input-border-width-b-focus);
12108
+ border-left-width: var(--pont-input-border-width-l-focus);
11481
12109
 
11482
- border: var(--pont-input-width-border) solid var(--pont-input-color-border);
11483
- border-radius: var(--pont-input-radius);
11484
- outline: none;
12110
+ outline-width: var(--pont-input-outline-w-focus);
12111
+ outline-color: var(--pont-input-outline-color-focus);
12112
+ outline-style: var(--pont-input-outline-style-focus);
12113
+ outline-offset: var(--pont-input-outline-offset-focus);
11485
12114
 
11486
- transition-property:
11487
- color, background-color, border-color, outline-color, text-decoration-color,
11488
- fill, stroke;
11489
- transition-timing-function: var(--pont-input-motion-fn);
11490
- transition-duration: var(--pont-input-motion-duration);
12115
+ box-shadow:
12116
+ var(--pont-input-effect-inset-shadow-focus),
12117
+ var(--pont-input-effect-inset-ring-focus),
12118
+ var(--pont-input-effect-ring-offset-focus),
12119
+ var(--pont-input-effect-ring-focus), var(--pont-input-effect-shadow-focus);
11491
12120
  }
11492
12121
 
11493
- @media (width >= 48rem) {
11494
- pont-input > [data-slot='input'] {
11495
- font-size: var(--pont-input-font-size);
11496
- line-height: var(--pont-input-font-line-height);
11497
- }
11498
- }
12122
+ /* * DISABLED * */
11499
12123
 
11500
- /* FOCUS VISIBLE */
11501
- pont-input > [data-slot='input']:focus-visible {
11502
- border-color: var(--pont-input-color-border-focus);
11503
- box-shadow:
11504
- 0 0 rgb(0 0 0),
11505
- 0 0 rgb(0 0 0),
11506
- 0 0 rgb(0 0 0),
11507
- 0 0 0 var(--pont-input-width-ring-focus) var(--pont-input-color-ring-focus),
11508
- 0 0 rgb(0 0 0);
11509
- }
12124
+ [data-pont-input]:disabled {
12125
+ background-color: var(--pont-input-bg-color-disabled);
11510
12126
 
11511
- /* INVALID */
11512
- pont-input > [data-slot='input'][aria-invalid] {
11513
- border-color: var(--pont-input-color-border-invalid);
11514
- box-shadow:
11515
- 0 0 rgb(0 0 0),
11516
- 0 0 rgb(0 0 0),
11517
- 0 0 rgb(0 0 0),
11518
- 0 0 0 var(--pont-input-width-ring-invalid)
11519
- var(--pont-input-color-ring-invalid),
11520
- 0 0 rgb(0 0 0);
11521
- }
12127
+ opacity: var(--pont-input-effect-opacity-disabled);
11522
12128
 
11523
- /* DISABLED */
11524
- pont-input > [data-slot='input']:disabled {
11525
- background-color: var(--pont-input-color-bg-disabled);
11526
- opacity: var(--pont-input-opacity-disabled);
11527
- pointer-events: none;
11528
12129
  cursor: not-allowed;
12130
+ pointer-events: none;
11529
12131
  }
11530
12132
 
11531
- /* * PLACEHOLDER * */
12133
+ /* * INVALID * */
11532
12134
 
11533
- pont-input > [data-slot='input']::-moz-placeholder {
11534
- color: var(--pont-input-placeholder-color-text);
12135
+ [data-pont-input][aria-invalid] {
12136
+ border-style: var(--pont-input-border-style-invalid);
12137
+ border-color: var(--pont-input-border-color-invalid);
12138
+ border-top-width: var(--pont-input-border-width-t-invalid);
12139
+ border-right-width: var(--pont-input-border-width-r-invalid);
12140
+ border-bottom-width: var(--pont-input-border-width-b-invalid);
12141
+ border-left-width: var(--pont-input-border-width-l-invalid);
12142
+
12143
+ outline-width: var(--pont-input-outline-w-invalid);
12144
+ outline-color: var(--pont-input-outline-color-invalid);
12145
+ outline-style: var(--pont-input-outline-style-invalid);
12146
+ outline-offset: var(--pont-input-outline-offset-invalid);
12147
+
12148
+ box-shadow:
12149
+ var(--pont-input-effect-inset-shadow-invalid),
12150
+ var(--pont-input-effect-inset-ring-invalid),
12151
+ var(--pont-input-effect-ring-offset-invalid),
12152
+ var(--pont-input-effect-ring-invalid),
12153
+ var(--pont-input-effect-shadow-invalid);
11535
12154
  }
11536
12155
 
11537
- pont-input > [data-slot='input']::placeholder {
11538
- color: var(--pont-input-placeholder-color-text);
12156
+ /* * -------- INPUT > PLACEHOLDER -------- * */
12157
+
12158
+ [data-pont-input]::-moz-placeholder {
12159
+ color: var(--pont-input-placeholder-typography-color);
11539
12160
  }
11540
12161
 
11541
- /* * FILE SELECTOR BUTTON * */
12162
+ [data-pont-input]::placeholder {
12163
+ color: var(--pont-input-placeholder-typography-color);
12164
+ }
11542
12165
 
11543
- pont-input > [data-slot='input']::file-selector-button {
12166
+ /* * -------- INPUT > FILE (SELECTOR BUTTON) -------- * */
12167
+
12168
+ [data-pont-input]::file-selector-button {
11544
12169
  display: inline-flex;
11545
12170
 
11546
- height: var(--pont-input-file-button-space-h);
12171
+ width: var(--pont-input-file-sizing-w);
12172
+ height: var(--pont-input-file-sizing-h);
12173
+
12174
+ font-family: var(--pont-input-file-typography-font);
12175
+ font-size: var(--pont-input-file-typography-size);
12176
+ font-weight: var(--pont-input-file-typography-weight);
12177
+ letter-spacing: var(--pont-input-file-typography-tracking);
12178
+ line-height: var(--pont-input-file-typography-leading);
11547
12179
 
11548
- font-size: var(--pont-input-file-button-font-size);
11549
- line-height: var(--pont-input-file-button-font-line-height);
11550
- font-weight: var(--pont-input-file-button-font-weight);
11551
- color: var(--pont-input-file-button-color-text);
12180
+ color: var(--pont-input-file-typography-color);
11552
12181
 
11553
- background-color: var(--pont-input-file-button-color-bg);
12182
+ background-color: var(--pont-input-file-bg-color);
11554
12183
 
11555
- border-width: var(--pont-input-file-button-width-border);
12184
+ border-style: var(--pont-input-file-border-style);
12185
+ border-color: var(--pont-input-file-border-color);
12186
+ border-top-width: var(--pont-input-file-border-width-t);
12187
+ border-right-width: var(--pont-input-file-border-width-r);
12188
+ border-bottom-width: var(--pont-input-file-border-width-b);
12189
+ border-left-width: var(--pont-input-file-border-width-l);
11556
12190
  }
11557
12191
 
11558
12192
  /*
@@ -11913,12 +12547,22 @@ pont-input-group-input {
11913
12547
  flex: 1;
11914
12548
  width: 100%;
11915
12549
 
11916
- --pont-input-color-bg: transparent;
11917
- --pont-input-width-border: 0;
11918
- --pont-input-radius: 0;
11919
- --pont-input-width-ring-focus: 0;
11920
- --pont-input-width-ring-invalid: 0;
11921
- --pont-input-color-bg-disabled: transparent;
12550
+ --pont-input-bg-color: transparent;
12551
+
12552
+ --pont-input-border-width-t: 0;
12553
+ --pont-input-border-width-r: 0;
12554
+ --pont-input-border-width-b: 0;
12555
+ --pont-input-border-width-l: 0;
12556
+
12557
+ --pont-input-border-radius-tl: 0;
12558
+ --pont-input-border-radius-tr: 0;
12559
+ --pont-input-border-radius-br: 0;
12560
+ --pont-input-border-radius-bl: 0;
12561
+
12562
+ --pont-input-effect-ring-w-focus: 0px;
12563
+ --pont-input-effect-ring-w-invalid: 0px;
12564
+
12565
+ --pont-input-bg-color-disabled: transparent;
11922
12566
  }
11923
12567
 
11924
12568
  /*
@@ -11931,17 +12575,27 @@ pont-input-group-textarea {
11931
12575
  flex: 1;
11932
12576
  width: 100%;
11933
12577
 
11934
- --pont-textarea-color-bg: transparent;
11935
- --pont-textarea-width-border: 0;
11936
- --pont-textarea-radius: 0;
11937
- --pont-textarea-width-ring-focus: 0;
11938
- --pont-textarea-width-ring-invalid: 0;
11939
- --pont-textarea-color-bg-disabled: transparent;
12578
+ --pont-textarea-bg-color: transparent;
12579
+
12580
+ --pont-textarea-border-radius-tl: 0;
12581
+ --pont-textarea-border-radius-tr: 0;
12582
+ --pont-textarea-border-radius-br: 0;
12583
+ --pont-textarea-border-radius-bl: 0;
12584
+
12585
+ --pont-textarea-border-width-t: 0;
12586
+ --pont-textarea-border-width-r: 0;
12587
+ --pont-textarea-border-width-b: 0;
12588
+ --pont-textarea-border-width-l: 0;
12589
+
12590
+ --pont-textarea-effect-ring-w-focus: 0px;
12591
+ --pont-textarea-effect-ring-w-invalid: 0px;
12592
+
12593
+ --pont-textarea-bg-color-disabled: transparent;
11940
12594
  }
11941
12595
 
11942
12596
  pont-input-group-textarea
11943
12597
  > pont-textarea[data-slot='input-group-textarea']
11944
- > [data-slot='textarea'] {
12598
+ > [data-pont-textarea] {
11945
12599
  resize: none;
11946
12600
  }
11947
12601
 
@@ -12899,74 +13553,140 @@ pont-tabs-content > [data-slot="tabs-content"][data-state="active"] {
12899
13553
  */
12900
13554
 
12901
13555
  pont-textarea {
12902
- width: 100%;
13556
+ width: var(--pont-textarea-sizing-w);
13557
+ height: var(--pont-textarea-sizing-h);
13558
+
13559
+ min-width: var(--pont-textarea-sizing-min-w);
13560
+ max-width: var(--pont-textarea-sizing-max-w);
13561
+ min-height: var(--pont-textarea-sizing-min-h);
13562
+ max-height: var(--pont-textarea-sizing-max-h);
12903
13563
  }
12904
13564
 
12905
- pont-textarea > [data-slot='textarea'] {
12906
- field-sizing: content;
13565
+ [data-pont-textarea] {
12907
13566
  display: flex;
12908
- padding-inline: var(--pont-textarea-space-px);
12909
- padding-block: var(--pont-textarea-space-py);
12910
- width: 100%;
12911
- min-height: var(--pont-textarea-space-min-h);
12912
-
12913
- font-family: var(--pont-textarea-font-family);
12914
- font-size: var(--pont-textarea-font-size-vw-sm);
12915
- font-weight: var(--pont-textarea-font-weight);
12916
- line-height: var(--pont-textarea-font-line-height-vw-sm);
12917
- background-color: var(--pont-textarea-color-bg);
12918
- border: var(--pont-textarea-width-border) solid
12919
- var(--pont-textarea-color-border);
12920
- border-radius: var(--pont-textarea-radius);
12921
- outline: none;
12922
- transition-property:
12923
- color, background-color, border-color, outline-color, text-decoration-color,
12924
- fill, stroke;
12925
- transition-timing-function: var(--pont-textarea-motion-fn);
13567
+
13568
+ padding-top: var(--pont-textarea-spacing-pt);
13569
+ padding-right: var(--pont-textarea-spacing-pr);
13570
+ padding-bottom: var(--pont-textarea-spacing-pb);
13571
+ padding-left: var(--pont-textarea-spacing-pl);
13572
+
13573
+ width: var(--pont-textarea-sizing-w);
13574
+ height: var(--pont-textarea-sizing-h);
13575
+
13576
+ min-width: var(--pont-textarea-sizing-min-w);
13577
+ max-width: var(--pont-textarea-sizing-max-w);
13578
+ min-height: var(--pont-textarea-sizing-min-h);
13579
+ max-height: var(--pont-textarea-sizing-max-h);
13580
+
13581
+ font-family: var(--pont-textarea-typography-font);
13582
+ /* Note: media query below with font size in smaller viewports */
13583
+ font-size: var(--pont-textarea-typography-size);
13584
+ font-weight: var(--pont-textarea-typography-weight);
13585
+ /* Note: media query below with line height in smaller viewports */
13586
+ letter-spacing: var(--pont-textarea-typography-tracking);
13587
+ line-height: var(--pont-textarea-typography-leading);
13588
+
13589
+ color: var(--pont-textarea-typography-color);
13590
+
13591
+ background-color: var(--pont-textarea-bg-color);
13592
+
13593
+ border-top-left-radius: var(--pont-textarea-border-radius-tl);
13594
+ border-top-right-radius: var(--pont-textarea-border-radius-tr);
13595
+ border-bottom-right-radius: var(--pont-textarea-border-radius-br);
13596
+ border-bottom-left-radius: var(--pont-textarea-border-radius-bl);
13597
+
13598
+ border-style: var(--pont-textarea-border-style);
13599
+ border-color: var(--pont-textarea-border-color);
13600
+ border-top-width: var(--pont-textarea-border-width-t);
13601
+ border-right-width: var(--pont-textarea-border-width-r);
13602
+ border-bottom-width: var(--pont-textarea-border-width-b);
13603
+ border-left-width: var(--pont-textarea-border-width-l);
13604
+
13605
+ outline-width: var(--pont-textarea-outline-w);
13606
+ outline-color: var(--pont-textarea-outline-color);
13607
+ outline-style: var(--pont-textarea-outline-style);
13608
+ outline-offset: var(--pont-textarea-outline-offset);
13609
+
13610
+ transition-property: var(--pont-textarea-motion-property);
12926
13611
  transition-duration: var(--pont-textarea-motion-duration);
13612
+ transition-timing-function: var(--pont-textarea-motion-fn);
13613
+
13614
+ field-sizing: var(--pont-textarea-interactivity-field-sizing);
12927
13615
  }
12928
13616
 
12929
- @media (width >= 48rem) {
12930
- pont-textarea > [data-slot='textarea'] {
12931
- font-size: var(--pont-textarea-font-size);
12932
- line-height: var(--pont-textarea-font-line-height);
13617
+ @media (width < 48rem) {
13618
+ [data-pont-textarea] {
13619
+ font-size: var(--pont-textarea-typography-size-bp-max-md);
13620
+ line-height: var(--pont-textarea-typography-leading-bp-max-md);
12933
13621
  }
12934
13622
  }
12935
13623
 
12936
- pont-textarea > [data-slot='textarea']:focus-visible {
12937
- border-color: var(--pont-textarea-color-border-focus);
12938
- box-shadow:
12939
- 0 0 rgb(0 0 0),
12940
- 0 0 rgb(0 0 0),
12941
- 0 0 rgb(0 0 0),
12942
- 0 0 0 var(--pont-textarea-width-ring-focus)
12943
- var(--pont-textarea-color-ring-focus),
12944
- 0 0 rgb(0 0 0);
12945
- }
13624
+ /* * -------- STATES -------- * */
13625
+
13626
+ /* * FOCUS * */
13627
+
13628
+ [data-pont-textarea]:focus-visible {
13629
+ border-style: var(--pont-textarea-border-style-focus);
13630
+ border-color: var(--pont-textarea-border-color-focus);
13631
+ border-top-width: var(--pont-textarea-border-width-t-focus);
13632
+ border-right-width: var(--pont-textarea-border-width-r-focus);
13633
+ border-bottom-width: var(--pont-textarea-border-width-b-focus);
13634
+ border-left-width: var(--pont-textarea-border-width-l-focus);
13635
+
13636
+ outline-width: var(--pont-textarea-outline-w-focus);
13637
+ outline-color: var(--pont-textarea-outline-color-focus);
13638
+ outline-style: var(--pont-textarea-outline-style-focus);
13639
+ outline-offset: var(--pont-textarea-outline-offset-focus);
12946
13640
 
12947
- pont-textarea > [data-slot='textarea'][aria-invalid] {
12948
- border-color: var(--pont-textarea-color-border-invalid);
12949
13641
  box-shadow:
12950
- 0 0 rgb(0 0 0),
12951
- 0 0 rgb(0 0 0),
12952
- 0 0 rgb(0 0 0),
12953
- 0 0 0 var(--pont-textarea-width-ring-invalid)
12954
- var(--pont-textarea-color-ring-invalid),
12955
- 0 0 rgb(0 0 0);
13642
+ var(--pont-textarea-effect-inset-shadow-focus),
13643
+ var(--pont-textarea-effect-inset-ring-focus),
13644
+ var(--pont-textarea-effect-ring-offset-focus),
13645
+ var(--pont-textarea-effect-ring-focus),
13646
+ var(--pont-textarea-effect-shadow-focus);
12956
13647
  }
12957
13648
 
12958
- pont-textarea > [data-slot='textarea']:disabled {
12959
- background-color: var(--pont-textarea-color-bg-disabled);
12960
- opacity: var(--pont-textarea-opacity-disabled);
13649
+ /* * DISABLED * */
13650
+
13651
+ [data-pont-textarea]:disabled {
13652
+ background-color: var(--pont-textarea-bg-color-disabled);
13653
+
13654
+ opacity: var(--pont-textarea-effect-opacity-disabled);
13655
+
12961
13656
  cursor: not-allowed;
12962
13657
  }
12963
13658
 
12964
- pont-textarea > [data-slot='textarea']::-moz-placeholder {
12965
- color: var(--pont-textarea-placeholder-color-text);
13659
+ /* * INVALID * */
13660
+
13661
+ [data-pont-textarea][aria-invalid] {
13662
+ border-style: var(--pont-textarea-border-style-invalid);
13663
+ border-color: var(--pont-textarea-border-color-invalid);
13664
+ border-top-width: var(--pont-textarea-border-width-t-invalid);
13665
+ border-right-width: var(--pont-textarea-border-width-r-invalid);
13666
+ border-bottom-width: var(--pont-textarea-border-width-b-invalid);
13667
+ border-left-width: var(--pont-textarea-border-width-l-invalid);
13668
+
13669
+ outline-width: var(--pont-textarea-outline-w-invalid);
13670
+ outline-color: var(--pont-textarea-outline-color-invalid);
13671
+ outline-style: var(--pont-textarea-outline-style-invalid);
13672
+ outline-offset: var(--pont-textarea-outline-offset-invalid);
13673
+
13674
+ box-shadow:
13675
+ var(--pont-textarea-effect-inset-shadow-invalid),
13676
+ var(--pont-textarea-effect-inset-ring-invalid),
13677
+ var(--pont-textarea-effect-ring-offset-invalid),
13678
+ var(--pont-textarea-effect-ring-invalid),
13679
+ var(--pont-textarea-effect-shadow-invalid);
12966
13680
  }
12967
13681
 
12968
- pont-textarea > [data-slot='textarea']::placeholder {
12969
- color: var(--pont-textarea-placeholder-color-text);
13682
+ /* * -------- TEXTAREA > PLACEHOLDER -------- * */
13683
+
13684
+ [data-pont-textarea]::-moz-placeholder {
13685
+ color: var(--pont-textarea-placeholder-typography-color);
13686
+ }
13687
+
13688
+ [data-pont-textarea]::placeholder {
13689
+ color: var(--pont-textarea-placeholder-typography-color);
12970
13690
  }
12971
13691
 
12972
13692
  /*
@@ -14079,34 +14799,40 @@ DIVIDER
14079
14799
 
14080
14800
  /* MultiInput */
14081
14801
  :root {
14082
- --pont-multi-email-input-radius: var(--pont-input-radius);
14083
- --pont-multi-email-input-width-border: var(--pont-input-width-border);
14084
- --pont-multi-email-input-color-border: var(--pont-input-color-border);
14085
- --pont-multi-email-input-color-bg: var(--pont-input-color-bg);
14086
- --pont-multi-email-input-font-size: var(--pont-input-font-size);
14087
- --pont-multi-email-input-color-border-focus: var(
14088
- --pont-input-color-border-focus
14089
- );
14090
- --pont-multi-email-input-width-ring-focus: var(--pont-input-width-ring-focus);
14091
- --pont-multi-email-input-color-ring-focus: var(--pont-input-color-ring-focus);
14802
+ /* TODO: each corner now has its own radius token in pont-input */
14803
+ --pont-multi-email-input-radius: var(--pont-input-border-radius-tl);
14804
+ /* TODO: each side now has its own width token in pont-input */
14805
+ --pont-multi-email-input-width-border: var(--pont-input-border-width-t);
14806
+ --pont-multi-email-input-color-border: var(--pont-input-border-color);
14807
+ --pont-multi-email-input-color-bg: var(--pont-input-bg-color);
14808
+ --pont-multi-email-input-font-size: var(--pont-input-typography-size);
14809
+ --pont-multi-email-input-color-border-focus: var(--pont-input-border-color-focus);
14810
+ /* TODO: each side now has its own width token in pont-input */
14811
+ --pont-multi-email-input-width-ring-focus: var(--pont-input-border-width-t-focus);
14812
+ --pont-multi-email-input-color-ring-focus: var(--pont-input-effect-ring-color-focus);
14092
14813
  --pont-multi-email-input-error-color-text: var(--pont-sem-color-text-destructive);
14093
- --pont-multi-email-input-space-py: var(--pont-input-space-py);
14094
- --pont-multi-email-input-space-px: var(--pont-input-space-px);
14814
+ /* TODO: each side now has its own padding token in pont input */
14815
+ --pont-multi-email-input-space-py: var(--pont-input-spacing-pt);
14816
+ --pont-multi-email-input-space-px: var(--pont-input-spacing-pr);
14095
14817
  }
14096
14818
 
14097
14819
  /* Badge Selector */
14098
14820
  :root {
14099
- --pont-badge-selector-radius: var(--pont-input-radius);
14100
- --pont-badge-selector-width-border: var(--pont-input-width-border);
14101
- --pont-badge-selector-color-border: var(--pont-input-color-border);
14102
- --pont-badge-selector-color-bg: var(--pont-input-color-bg);
14103
- --pont-badge-selector-font-size: var(--pont-input-font-size);
14104
- --pont-badge-selector-color-border-focus: var(--pont-input-color-border-focus);
14105
- --pont-badge-selector-width-ring-focus: var(--pont-input-width-ring-focus);
14106
- --pont-badge-selector-color-ring-focus: var(--pont-input-color-ring-focus);
14821
+ /* TODO: each corner now has its own radius token in pont-input */
14822
+ --pont-badge-selector-radius: var(--pont-input-border-radius-tl);
14823
+ /* TODO: each side now has its own width token in pont-input */
14824
+ --pont-badge-selector-width-border: var(--pont-input-border-width-t);
14825
+ --pont-badge-selector-color-border: var(--pont-input-border-color);
14826
+ --pont-badge-selector-color-bg: var(--pont-input-bg-color);
14827
+ --pont-badge-selector-font-size: var(--pont-input-typography-size);
14828
+ --pont-badge-selector-color-border-focus: var(--pont-input-border-color-focus);
14829
+ /* TODO: each side now has its own width token in pont-input */
14830
+ --pont-badge-selector-width-ring-focus: var(--pont-input-effect-ring-w-focus);
14831
+ --pont-badge-selector-color-ring-focus: var(--pont-input-effect-ring-color-focus);
14107
14832
  --pont-badge-selector-error-color-text: var(--pont-sem-color-text-destructive);
14108
- --pont-badge-selector-space-py: var(--pont-input-space-py);
14109
- --pont-badge-selector-space-px: var(--pont-input-space-px);
14833
+ /* TODO: each side now has its own padding token in pont input */
14834
+ --pont-badge-selector-space-py: var(--pont-input-spacing-pt);
14835
+ --pont-badge-selector-space-px: var(--pont-input-spacing-pr);
14110
14836
  --pont-badge-selector-ul-color-bg: var(--pont-sem-color-bg-surface-secondary);
14111
14837
  }
14112
14838
 
@@ -15400,8 +16126,8 @@ pont-profile pont-card {
15400
16126
  }
15401
16127
 
15402
16128
  pont-profile pont-card pont-input {
15403
- --pont-input-color-bg: var(--pont-account-settings-input-color-bg);
15404
- --pont-input-color-bg-disabled: var(
16129
+ --pont-input-bg-color: var(--pont-account-settings-input-color-bg);
16130
+ --pont-input-bg-color-disabled: var(
15405
16131
  --pont-account-settings-input-color-bg-disabled
15406
16132
  );
15407
16133
  }