@turquoisehealth/pit-viper 2.28.0 → 2.29.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.
@@ -3442,16 +3442,17 @@ pv-dropdown-auto-close.pv-dropdown > [class*=pv-button] {
3442
3442
 
3443
3443
  .pv-card {
3444
3444
  position: relative;
3445
- border: 1px solid #E3E7EA;
3446
- border-radius: 4px;
3445
+ border: 1px solid var(--card-border-color, #E3E7EA);
3446
+ border-radius: var(--card-radius, 8px);
3447
+ background-color: var(--card-background-color, #FFFFFF);
3447
3448
  overflow: clip;
3448
3449
  transition-duration: 0.125s;
3449
3450
  transition-timing-function: ease-in;
3450
3451
  transition-property: border-color;
3451
3452
  }
3452
- .pv-card:hover {
3453
- border-color: #36C5BA;
3454
- box-shadow: 0px 20px 28px -12px rgba(0, 0, 0, 0.24);
3453
+ .pv-card:hover, .pv-card:focus-visible {
3454
+ border-color: var(--card-hover-border-color, #E3E7EA);
3455
+ box-shadow: var(--card-hover-shadow, none);
3455
3456
  }
3456
3457
 
3457
3458
  .pv-card-link:after {
@@ -3489,20 +3490,29 @@ pv-dropdown-auto-close.pv-dropdown > [class*=pv-button] {
3489
3490
  outline: none;
3490
3491
  }
3491
3492
 
3492
- .pv-card:is(a, button) {
3493
- border-radius: 0.75rem;
3493
+ .pv-card:is(a, button),
3494
+ .pv-card:has(.pv-overlay-link) {
3494
3495
  color: inherit;
3495
3496
  font-weight: inherit;
3496
3497
  transition-duration: 0.125s;
3497
3498
  transition-timing-function: ease-in;
3498
3499
  transition-property: border-color, box-shadow, color;
3499
3500
  }
3500
- .pv-card:is(a, button):hover {
3501
- color: inherit;
3501
+ .pv-card:is(a, button):hover, .pv-card:is(a, button):focus-visible,
3502
+ .pv-card:has(.pv-overlay-link):hover,
3503
+ .pv-card:has(.pv-overlay-link):focus-visible {
3504
+ background-color: var(--card-hover-background-color, #E8F2F4);
3505
+ color: var(--card-hover-text-color, unset);
3502
3506
  text-decoration: none;
3503
3507
  }
3504
- .pv-card:is(a, button):hover .pv-text-subdued {
3505
- color: inherit;
3508
+ .pv-card:is(a, button):hover .pv-text-subdued, .pv-card:is(a, button):focus-visible .pv-text-subdued,
3509
+ .pv-card:has(.pv-overlay-link):hover .pv-text-subdued,
3510
+ .pv-card:has(.pv-overlay-link):focus-visible .pv-text-subdued {
3511
+ color: var(--card-hover-text-color, unset);
3512
+ }
3513
+ .pv-card:is(a, button):active,
3514
+ .pv-card:has(.pv-overlay-link):active {
3515
+ background-color: var(--card-pressed-background-color, #C7D8DB);
3506
3516
  }
3507
3517
 
3508
3518
  .pv-card:is(button) {
@@ -3577,6 +3587,13 @@ pv-dropdown-auto-close.pv-dropdown > [class*=pv-button] {
3577
3587
  content: var(--selected);
3578
3588
  }
3579
3589
 
3590
+ .pv-overlay-link:after {
3591
+ content: "";
3592
+ display: block;
3593
+ position: absolute;
3594
+ inset: 0;
3595
+ }
3596
+
3580
3597
  pv-figure-details {
3581
3598
  display: grid;
3582
3599
  gap: 1rem;
@@ -3696,6 +3713,21 @@ body:has(.pv-drawer) {
3696
3713
  transform: translateX(-100%);
3697
3714
  }
3698
3715
  }
3716
+ div.pv-drawer {
3717
+ position: fixed;
3718
+ top: 0;
3719
+ right: 0;
3720
+ bottom: 0;
3721
+ left: auto;
3722
+ transform: translateX(100%);
3723
+ opacity: 0;
3724
+ transition: opacity 0.2s ease, transform 0.2s ease;
3725
+ }
3726
+ div.pv-drawer[open] {
3727
+ transform: translateX(0);
3728
+ opacity: 1;
3729
+ }
3730
+
3699
3731
  .pv-rating {
3700
3732
  --background-color: #DCDFE4;
3701
3733
  --icon-color: #36C5BA;
@@ -3459,16 +3459,17 @@ pv-dropdown-auto-close.pv-dropdown > [class*=pv-button] {
3459
3459
 
3460
3460
  .pv-card {
3461
3461
  position: relative;
3462
- border: 1px solid #DCDFE4;
3463
- border-radius: 5px;
3462
+ border: 1px solid var(--card-border-color, #DCDFE4);
3463
+ border-radius: var(--card-radius, 5px);
3464
+ background-color: var(--card-background-color, #FFFFFF);
3464
3465
  overflow: clip;
3465
3466
  transition-duration: 0.125s;
3466
3467
  transition-timing-function: ease-in;
3467
3468
  transition-property: border-color;
3468
3469
  }
3469
- .pv-card:hover {
3470
- border-color: #176F6F;
3471
- box-shadow: 0px 20px 28px -12px rgba(0, 0, 0, 0.24);
3470
+ .pv-card:hover, .pv-card:focus-visible {
3471
+ border-color: var(--card-hover-border-color, #176F6F);
3472
+ box-shadow: var(--card-hover-shadow, 0px 20px 28px -12px rgba(0, 0, 0, 0.24));
3472
3473
  }
3473
3474
 
3474
3475
  .pv-card-link:after {
@@ -3506,20 +3507,29 @@ pv-dropdown-auto-close.pv-dropdown > [class*=pv-button] {
3506
3507
  outline: none;
3507
3508
  }
3508
3509
 
3509
- .pv-card:is(a, button) {
3510
- border-radius: 0.75rem;
3510
+ .pv-card:is(a, button),
3511
+ .pv-card:has(.pv-overlay-link) {
3511
3512
  color: inherit;
3512
3513
  font-weight: inherit;
3513
3514
  transition-duration: 0.125s;
3514
3515
  transition-timing-function: ease-in;
3515
3516
  transition-property: border-color, box-shadow, color;
3516
3517
  }
3517
- .pv-card:is(a, button):hover {
3518
- color: #176F6F;
3518
+ .pv-card:is(a, button):hover, .pv-card:is(a, button):focus-visible,
3519
+ .pv-card:has(.pv-overlay-link):hover,
3520
+ .pv-card:has(.pv-overlay-link):focus-visible {
3521
+ background-color: var(--card-hover-background-color, #FFFFFF);
3522
+ color: var(--card-hover-text-color, #176F6F);
3519
3523
  text-decoration: none;
3520
3524
  }
3521
- .pv-card:is(a, button):hover .pv-text-subdued {
3522
- color: #176F6F;
3525
+ .pv-card:is(a, button):hover .pv-text-subdued, .pv-card:is(a, button):focus-visible .pv-text-subdued,
3526
+ .pv-card:has(.pv-overlay-link):hover .pv-text-subdued,
3527
+ .pv-card:has(.pv-overlay-link):focus-visible .pv-text-subdued {
3528
+ color: var(--card-hover-text-color, #176F6F);
3529
+ }
3530
+ .pv-card:is(a, button):active,
3531
+ .pv-card:has(.pv-overlay-link):active {
3532
+ background-color: var(--card-pressed-background-color, #FFFFFF);
3523
3533
  }
3524
3534
 
3525
3535
  .pv-card:is(button) {
@@ -3594,6 +3604,13 @@ pv-dropdown-auto-close.pv-dropdown > [class*=pv-button] {
3594
3604
  content: var(--selected);
3595
3605
  }
3596
3606
 
3607
+ .pv-overlay-link:after {
3608
+ content: "";
3609
+ display: block;
3610
+ position: absolute;
3611
+ inset: 0;
3612
+ }
3613
+
3597
3614
  pv-figure-details {
3598
3615
  display: grid;
3599
3616
  gap: 1rem;
@@ -3713,6 +3730,21 @@ body:has(.pv-drawer) {
3713
3730
  transform: translateX(-100%);
3714
3731
  }
3715
3732
  }
3733
+ div.pv-drawer {
3734
+ position: fixed;
3735
+ top: 0;
3736
+ right: 0;
3737
+ bottom: 0;
3738
+ left: auto;
3739
+ transform: translateX(100%);
3740
+ opacity: 0;
3741
+ transition: opacity 0.2s ease, transform 0.2s ease;
3742
+ }
3743
+ div.pv-drawer[open] {
3744
+ transform: translateX(0);
3745
+ opacity: 1;
3746
+ }
3747
+
3716
3748
  .pv-rating {
3717
3749
  --background-color: #DCDFE4;
3718
3750
  --icon-color: #36C5BA;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turquoisehealth/pit-viper",
3
- "version": "2.28.0",
3
+ "version": "2.29.0",
4
4
  "description": "Turquoise Health's design system.",
5
5
  "main": "README.md",
6
6
  "publishConfig": {
@@ -74,6 +74,7 @@
74
74
  "@11ty/eleventy": "^3.0.0",
75
75
  "@11ty/eleventy-navigation": "^0.3.5",
76
76
  "@11ty/eleventy-plugin-syntaxhighlight": "^4.2.0",
77
+ "@testing-library/user-event": "^14.6.1",
77
78
  "dayjs": "^1.11.13",
78
79
  "eleventy-plugin-svg-sprite": "^2.4.0",
79
80
  "eleventy-plugin-toc": "^1.1.5",
@@ -27,7 +27,8 @@ orientation: BannerOrientations;
27
27
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
28
28
 
29
29
  declare const __VLS_component_2: DefineComponent<PvAccordionProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<PvAccordionProps> & Readonly<{}>, {
30
- chevronPosition: ChervronPosition;
30
+ defaultOpen: boolean;
31
+ chevronPosition: ChevronPosition;
31
32
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDetailsElement>;
32
33
 
33
34
  declare type __VLS_Props = PvSelectProps;
@@ -41,7 +42,7 @@ declare type __VLS_PublicProps = {
41
42
  } & __VLS_Props;
42
43
 
43
44
  declare type __VLS_PublicProps_2 = {
44
- modelValue?: string;
45
+ modelValue: string;
45
46
  } & __VLS_Props_2;
46
47
 
47
48
  declare type __VLS_PublicProps_3 = {
@@ -127,9 +128,9 @@ declare enum BannerVariantsEnum {
127
128
  Tertiary = "Tertiary"
128
129
  }
129
130
 
130
- declare type ChervronPosition = `${ChervronPositionEnum}`;
131
+ declare type ChevronPosition = `${ChevronPositionEnum}`;
131
132
 
132
- declare enum ChervronPositionEnum {
133
+ declare enum ChevronPositionEnum {
133
134
  left = "left",
134
135
  right = "right"
135
136
  }
@@ -159,7 +160,7 @@ export declare const PvAccordion: __VLS_WithTemplateSlots_7<typeof __VLS_compone
159
160
 
160
161
  declare interface PvAccordionProps {
161
162
  header: string;
162
- chevronPosition?: ChervronPosition;
163
+ chevronPosition?: ChevronPosition;
163
164
  defaultOpen?: boolean;
164
165
  counter?: number;
165
166
  }
@@ -561,14 +562,15 @@ export declare const PvSearchInput: DefineComponent<__VLS_PublicProps_2, {}, {},
561
562
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
562
563
  }>, {
563
564
  disabled: boolean;
564
- size: "sm" | "lg";
565
565
  placeholder: string;
566
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLInputElement>;
566
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {
567
+ 'search-input': HTMLInputElement;
568
+ }, HTMLDivElement>;
567
569
 
568
570
  declare interface PvSearchInputProps {
569
571
  placeholder?: string;
570
- size?: "sm" | "lg";
571
572
  disabled?: boolean;
573
+ displayShortcut?: boolean;
572
574
  }
573
575
 
574
576
  export declare const PvSegmentedControl: DefineComponent<PvSegmentedControlIconOnlyProps | PvSegmentedControlWithTextLabelProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {