@pontive/pontkit-core 1.10.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
@@ -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
+ }
5194
5301
 
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);
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
+ }
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);
@@ -7635,47 +7856,178 @@
7635
7856
  */
7636
7857
 
7637
7858
  :root {
7638
- --pont-textarea-space-px: var(--pont-sem-space-form-px);
7639
- --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);
7640
7864
 
7641
- --pont-textarea-space-min-h: var(--pont-sem-space-form-min-h);
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);
7873
+
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);
7642
7882
 
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
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
7650
7886
  );
7651
7887
 
7652
- --pont-textarea-color-bg: hsl(var(--pont-sem-color-bg-fill-quaternary));
7888
+ --pont-textarea-typography-color: hsl(var(--pont-sem-color-text));
7889
+
7890
+ /* BACKGROUND */
7891
+ --pont-textarea-bg-color: hsl(var(--pont-sem-color-bg-fill-quaternary));
7653
7892
 
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);
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;
7657
7910
 
7658
- --pont-textarea-motion-fn: var(--pont-sem-motion-fn-default);
7911
+ /* MOTION */
7912
+ --pont-textarea-motion-property: var(--pont-ref-motion-property-colors);
7659
7913
  --pont-textarea-motion-duration: var(--pont-sem-motion-duration-default);
7914
+ --pont-textarea-motion-fn: var(--pont-sem-motion-fn-default);
7660
7915
 
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));
7916
+ /* INTERACTIVITY */
7917
+ --pont-textarea-interactivity-field-sizing: var(
7918
+ --pont-ref-interactivity-field-sizing-content
7919
+ );
7920
+ }
7665
7921
 
7666
- /* INVALID */
7667
- --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(
7668
7985
  var(--pont-sem-color-border-invalid-secondary)
7669
7986
  );
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));
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);
7672
7991
 
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);
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;
7676
7998
 
7677
- /* * PLACEHOLDER * */
7678
- --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(
7679
8031
  var(--pont-sem-color-text-secondary)
7680
8032
  );
7681
8033
  /* toast title */
@@ -10735,104 +11087,187 @@ pont-card
10735
11087
  */
10736
11088
 
10737
11089
  pont-checkbox {
10738
- display: flex;
10739
- position: relative;
10740
-
10741
- align-items: center;
10742
- justify-content: center;
10743
11090
  flex-shrink: 0;
11091
+
11092
+ width: var(--pont-checkbox-sizing-w);
11093
+ height: var(--pont-checkbox-sizing-h);
10744
11094
  }
10745
11095
 
10746
- pont-checkbox > [data-slot="checkbox"] {
11096
+ [data-pont-checkbox] {
10747
11097
  display: flex;
10748
11098
  position: relative;
10749
11099
 
10750
- align-items: center;
10751
11100
  justify-content: center;
11101
+ align-items: center;
10752
11102
 
10753
- width: var(--pont-checkbox-space-size);
10754
- height: var(--pont-checkbox-space-size);
11103
+ width: var(--pont-checkbox-sizing-w);
11104
+ height: var(--pont-checkbox-sizing-h);
10755
11105
 
10756
- background-color: var(--pont-checkbox-color-bg);
11106
+ color: var(--pont-checkbox-typography-color);
10757
11107
 
10758
- border: var(--pont-checkbox-width-border) solid var(--pont-checkbox-color-border);
10759
- border-radius: var(--pont-checkbox-radius);
10760
- outline: none;
11108
+ background-color: var(--pont-checkbox-bg-color);
10761
11109
 
10762
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke;
10763
- 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);
10764
11128
  transition-duration: var(--pont-checkbox-motion-duration);
11129
+ transition-timing-function: var(--pont-checkbox-motion-fn);
10765
11130
  }
10766
11131
 
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);
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);
10772
11152
  }
10773
11153
 
10774
- /* INVALID */
10775
- pont-checkbox > [data-slot="checkbox"][aria-invalid] {
10776
- 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
+
10777
11169
  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);
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);
10783
11175
  }
10784
11176
 
10785
- /* CHECKED & INVAlID */
10786
- pont-checkbox > [data-slot="checkbox"][data-state="checked"][aria-invalid] {
10787
- 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;
10788
11183
  }
10789
11184
 
10790
- /* FOCUS VISIBLE */
10791
- pont-checkbox > [data-slot="checkbox"]:focus-visible {
10792
- 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
+
10793
11204
  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);
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);
10799
11210
  }
10800
11211
 
10801
- /* DISABLED */
10802
- pont-checkbox > [data-slot="checkbox"]:disabled {
10803
- opacity: var(--pont-checkbox-opacity-disabled);
10804
- 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);
11225
+ }
11226
+
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);
11229
+ }
11230
+
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);
10805
11233
  }
10806
11234
 
10807
- pont-field > [data-slot="field"][data-disabled] pont-checkbox > [data-slot="checkbox"] {
10808
- opacity: var(--pont-checkbox-opacity-disabled);
11235
+ [data-pont-checkbox][data-state="checked"][aria-invalid] {
11236
+ border-color: var(--pont-checkbox-border-color-active);
10809
11237
  }
10810
11238
 
10811
- /* * AFTER (::after) * */
10812
- pont-checkbox > [data-slot="checkbox"]::after {
11239
+ /* * -------- CHECKBOX... AFTER -------- * */
11240
+
11241
+ [data-pont-checkbox]::after {
10813
11242
  position: absolute;
10814
- inset-inline: var(--pont-checkbox-after-space-inset-x);
10815
- 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);
10816
11248
  }
10817
11249
 
10818
11250
  /*
10819
11251
  * --------------------------------------------------
10820
- * CHECKBOX INDICATOR
11252
+ * CHECKBOX INDICATOR & CHECKBOX ICON
10821
11253
  * --------------------------------------------------
10822
11254
  */
10823
11255
 
10824
- pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] {
11256
+ [data-pont-checkbox-indicator] {
10825
11257
  display: grid;
11258
+
10826
11259
  place-content: center;
10827
- color: currentColor;
10828
- transition-property: none;
10829
- 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);
10830
11266
  }
10831
11267
 
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);
11268
+ [data-pont-checkbox-icon] {
11269
+ width: var(--pont-checkbox-icon-sizing-w);
11270
+ height: var(--pont-checkbox-icon-sizing-h);
10836
11271
  }
10837
11272
 
10838
11273
  /*
@@ -10840,15 +11275,22 @@ pont-checkbox > [data-slot="checkbox"] > [data-slot="checkbox-indicator"] > svg
10840
11275
  * CHECKBOX INPUT
10841
11276
  * --------------------------------------------------
10842
11277
  */
10843
- pont-checkbox > [data-slot="checkbox-input"] {
11278
+
11279
+ [data-pont-checkbox-input] {
10844
11280
  position: absolute;
11281
+
10845
11282
  margin: 0px;
10846
- width: var(--pont-checkbox-space-size);
10847
- height: var(--pont-checkbox-space-size);
11283
+
11284
+ width: var(--pont-checkbox-sizing-w);
11285
+ height: var(--pont-checkbox-sizing-h);
11286
+
10848
11287
  opacity: 0;
11288
+
10849
11289
  transform: translateX(-100%);
11290
+
10850
11291
  pointer-events: none;
10851
11292
  }
11293
+
10852
11294
  /*
10853
11295
  * ===========================================================================
10854
11296
  * EMPTY COMPONENT STYLES
@@ -11931,17 +12373,27 @@ pont-input-group-textarea {
11931
12373
  flex: 1;
11932
12374
  width: 100%;
11933
12375
 
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;
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;
11940
12392
  }
11941
12393
 
11942
12394
  pont-input-group-textarea
11943
12395
  > pont-textarea[data-slot='input-group-textarea']
11944
- > [data-slot='textarea'] {
12396
+ > [data-pont-textarea] {
11945
12397
  resize: none;
11946
12398
  }
11947
12399
 
@@ -12899,74 +13351,135 @@ pont-tabs-content > [data-slot="tabs-content"][data-state="active"] {
12899
13351
  */
12900
13352
 
12901
13353
  pont-textarea {
12902
- width: 100%;
13354
+ width: var(--pont-textarea-sizing-w);
13355
+ height: var(--pont-textarea-sizing-h);
12903
13356
  }
12904
13357
 
12905
- pont-textarea > [data-slot='textarea'] {
12906
- field-sizing: content;
13358
+ [data-pont-textarea] {
12907
13359
  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);
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);
12926
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);
12927
13408
  }
12928
13409
 
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);
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);
12933
13414
  }
12934
13415
  }
12935
13416
 
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
- }
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);
12946
13433
 
12947
- pont-textarea > [data-slot='textarea'][aria-invalid] {
12948
- border-color: var(--pont-textarea-color-border-invalid);
12949
13434
  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);
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);
12956
13440
  }
12957
13441
 
12958
- pont-textarea > [data-slot='textarea']:disabled {
12959
- background-color: var(--pont-textarea-color-bg-disabled);
12960
- 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
+
12961
13449
  cursor: not-allowed;
12962
13450
  }
12963
13451
 
12964
- pont-textarea > [data-slot='textarea']::-moz-placeholder {
12965
- 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);
12966
13479
  }
12967
13480
 
12968
- pont-textarea > [data-slot='textarea']::placeholder {
12969
- color: var(--pont-textarea-placeholder-color-text);
13481
+ [data-pont-textarea]::placeholder {
13482
+ color: var(--pont-textarea-placeholder-typography-color);
12970
13483
  }
12971
13484
 
12972
13485
  /*