@wistia/ui 0.0.14 → 0.0.16

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/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*
3
- * @license @wistia/ui v0.0.14
3
+ * @license @wistia/ui v0.0.16
4
4
  *
5
5
  * Copyright (c) 2024-2024, Wistia, Inc. and its affiliates.
6
6
  *
@@ -440,6 +440,48 @@ var lightGlobalTokens = css3`
440
440
  --gray-alpha-10: #0000117d;
441
441
  --gray-alpha-11: #00000a9c;
442
442
  --gray-alpha-12: #000005de;
443
+ --vendor-hubspot-1: #fefcfb;
444
+ --vendor-hubspot-2: #fff5f2;
445
+ --vendor-hubspot-3: #ffe9e2;
446
+ --vendor-hubspot-4: #ffd7c9;
447
+ --vendor-hubspot-5: #ffc8b7;
448
+ --vendor-hubspot-6: #ffb8a3;
449
+ --vendor-hubspot-7: #ffa48d;
450
+ --vendor-hubspot-8: #f68a70;
451
+ --vendor-hubspot-9: #ff5c36;
452
+ --vendor-hubspot-10: #f24d25;
453
+ --vendor-hubspot-11: #d93a0f;
454
+ --vendor-hubspot-12: #5b2a1e;
455
+ --vendor-hubspot-surface: #fff3efcc;
456
+ --vendor-hubspot-contrast: #ffffff;
457
+ --vendor-marketo-1: #fdfdff;
458
+ --vendor-marketo-2: #f7f8ff;
459
+ --vendor-marketo-3: #eff2ff;
460
+ --vendor-marketo-4: #e3e8ff;
461
+ --vendor-marketo-5: #d5ddff;
462
+ --vendor-marketo-6: #c5cfff;
463
+ --vendor-marketo-7: #b0bcfa;
464
+ --vendor-marketo-8: #93a0f2;
465
+ --vendor-marketo-9: #4c50cc;
466
+ --vendor-marketo-10: #4040bb;
467
+ --vendor-marketo-11: #4f55c7;
468
+ --vendor-marketo-12: #252a62;
469
+ --vendor-marketo-surface: #f5f6ffcc;
470
+ --vendor-marketo-contrast: #ffffff;
471
+ --vendor-pardot-1: #fafdff;
472
+ --vendor-pardot-2: #f3fafe;
473
+ --vendor-pardot-3: #e1f5ff;
474
+ --vendor-pardot-4: #ceeeff;
475
+ --vendor-pardot-5: #bae5ff;
476
+ --vendor-pardot-6: #a4d9fa;
477
+ --vendor-pardot-7: #85c9f1;
478
+ --vendor-pardot-8: #4fb3e8;
479
+ --vendor-pardot-9: #00a1e0;
480
+ --vendor-pardot-10: #0094cf;
481
+ --vendor-pardot-11: #0079b5;
482
+ --vendor-pardot-12: #0c3a51;
483
+ --vendor-pardot-surface: #f0f9fecc;
484
+ --vendor-pardot-contrast: #ffffff;
443
485
  `;
444
486
  var darkGlobalTokens = css3`
445
487
  --app-background: #101629;
@@ -729,6 +771,48 @@ var darkGlobalTokens = css3`
729
771
  --gray-alpha-10: #a4bffe96;
730
772
  --gray-alpha-11: #b4caffde;
731
773
  --gray-alpha-12: #e4eeff;
774
+ --vendor-hubspot-1: #1d1513;
775
+ --vendor-hubspot-2: #231815;
776
+ --vendor-hubspot-3: #3b1a12;
777
+ --vendor-hubspot-4: #511609;
778
+ --vendor-hubspot-5: #601d0d;
779
+ --vendor-hubspot-6: #702a1a;
780
+ --vendor-hubspot-7: #883a27;
781
+ --vendor-hubspot-8: #af4a33;
782
+ --vendor-hubspot-9: #ff5c36;
783
+ --vendor-hubspot-10: #f14f28;
784
+ --vendor-hubspot-11: #ff9578;
785
+ --vendor-hubspot-12: #ffd5ca;
786
+ --vendor-hubspot-surface: #361a0280;
787
+ --vendor-hubspot-contrast: #ffffff;
788
+ --vendor-marketo-1: #141621;
789
+ --vendor-marketo-2: #161827;
790
+ --vendor-marketo-3: #1f234a;
791
+ --vendor-marketo-4: #262a66;
792
+ --vendor-marketo-5: #2f3476;
793
+ --vendor-marketo-6: #383f83;
794
+ --vendor-marketo-7: #444c97;
795
+ --vendor-marketo-8: #515ab4;
796
+ --vendor-marketo-9: #4c50cc;
797
+ --vendor-marketo-10: #4040bb;
798
+ --vendor-marketo-11: #9faeff;
799
+ --vendor-marketo-12: #dae1ff;
800
+ --vendor-marketo-surface: #1c1a2680;
801
+ --vendor-marketo-contrast: #ffffff;
802
+ --vendor-pardot-1: #0e191f;
803
+ --vendor-pardot-2: #111d24;
804
+ --vendor-pardot-3: #092c3d;
805
+ --vendor-pardot-4: #003752;
806
+ --vendor-pardot-5: #004463;
807
+ --vendor-pardot-6: #055274;
808
+ --vendor-pardot-7: #15648a;
809
+ --vendor-pardot-8: #197ba9;
810
+ --vendor-pardot-9: #00a1e0;
811
+ --vendor-pardot-10: #0095d3;
812
+ --vendor-pardot-11: #62c3f8;
813
+ --vendor-pardot-12: #bfe7ff;
814
+ --vendor-pardot-surface: #12242080;
815
+ --vendor-pardot-contrast: #ffffff;
732
816
  `;
733
817
 
734
818
  // src/css/designTokens/colorAlias.tsx
@@ -1512,7 +1596,10 @@ var colorSchemeOptions = [
1512
1596
  "orange",
1513
1597
  "pink",
1514
1598
  "purple",
1515
- "yellow"
1599
+ "yellow",
1600
+ "vendor-hubspot",
1601
+ "vendor-marketo",
1602
+ "vendor-pardot"
1516
1603
  ];
1517
1604
  var StyledColorSchemeWrapper = styled.div`
1518
1605
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
@@ -1708,8 +1795,8 @@ import { Children, cloneElement } from "react";
1708
1795
  import styled4 from "styled-components";
1709
1796
  import { isNotNil as isNotNil2, isNil as isNil5, isRecord } from "@wistia/type-guards";
1710
1797
  import { jsx as jsx6 } from "react/jsx-runtime";
1711
- var isDev = process.env["NODE_ENV"] === "development";
1712
- var PROPS_FOR_FLEX_CHILDREN = /* @__PURE__ */ new Set(["alignSelf", "basis", "grow", "order", "shrink"]);
1798
+ var isDev = process.env["NODE_ENV"] === "development" || process.env["NODE_ENV"] === "test";
1799
+ var propsForFlexChildren = /* @__PURE__ */ new Set(["alignSelf", "basis", "grow", "order", "shrink"]);
1713
1800
  var getGapStyle = (gap) => {
1714
1801
  if (isNotNil2(gap)) {
1715
1802
  if (isRecord(gap)) {
@@ -1799,7 +1886,7 @@ var Box = ({
1799
1886
  }) => {
1800
1887
  if (isDev && !hasBoxParent) {
1801
1888
  Object.keys(otherProps).forEach((prop) => {
1802
- if (PROPS_FOR_FLEX_CHILDREN.has(prop)) {
1889
+ if (propsForFlexChildren.has(prop)) {
1803
1890
  console.warn(`${prop} only has an effect on <Box> instances that are children of a <Box>`);
1804
1891
  }
1805
1892
  });
@@ -5390,6 +5477,7 @@ var StyledButton = styled7.button`
5390
5477
  ${({ $unstyled }) => !$unstyled && buttonBaseStyles}
5391
5478
  ${({ $fullWidth }) => $fullWidth && "width: 100%;"}
5392
5479
  position: relative;
5480
+ text-align: center;
5393
5481
  `;
5394
5482
  var StyledButtonContent = styled7.div`
5395
5483
  align-items: center;
@@ -5405,7 +5493,6 @@ var StyledButtonContent = styled7.div`
5405
5493
  `;
5406
5494
  var StyledButtonContentLabel = styled7.span`
5407
5495
  flex: 1;
5408
- text-align: center;
5409
5496
  `;
5410
5497
  var StyledButtonLoading = styled7.div`
5411
5498
  position: absolute;
@@ -5534,7 +5621,7 @@ var getAlignment = (align) => {
5534
5621
  if (align === "right") {
5535
5622
  return "flex-end";
5536
5623
  }
5537
- return void 0;
5624
+ return "flex-start";
5538
5625
  };
5539
5626
  var ButtonGroupComponent = styled8.div`
5540
5627
  display: flex;
@@ -5577,14 +5664,237 @@ var ButtonGroup = ({
5577
5664
  };
5578
5665
  ButtonGroup.displayName = "ButtonGroup";
5579
5666
 
5580
- // src/components/Divider/Divider.tsx
5581
- import styled9 from "styled-components";
5667
+ // src/components/Checkbox/Checkbox.tsx
5668
+ import { forwardRef as forwardRef4, useId } from "react";
5669
+ import { Root as CheckboxRoot, Indicator as CheckboxIndicator } from "@radix-ui/react-checkbox";
5670
+ import styled11 from "styled-components";
5671
+ import { isNonEmptyString as isNonEmptyString2 } from "@wistia/type-guards";
5672
+
5673
+ // src/components/Label/Label.tsx
5674
+ import styled9, { css as css12 } from "styled-components";
5582
5675
  import { jsx as jsx164 } from "react/jsx-runtime";
5676
+ var requiredStyle = css12`
5677
+ &::after {
5678
+ color: var(--color-text-error);
5679
+ display: inline;
5680
+ padding-left: var(--space-01);
5681
+ content: '*';
5682
+ }
5683
+ `;
5684
+ var disabledStyle = css12`
5685
+ color: var(--color-text-disabled);
5686
+ `;
5687
+ var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
5688
+ var StyledLabel = styled9.label`
5689
+ display: inline-block;
5690
+ font-size: var(--typography-label-1-size);
5691
+ font-weight: var(--typography-label-1-weight);
5692
+ line-height: var(--typography-label-1-line-height);
5693
+ cursor: inherit;
5694
+ width: 100%;
5695
+
5696
+ /* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
5697
+ > input,
5698
+ > textarea,
5699
+ > select {
5700
+ display: block;
5701
+ margin-top: ${SPACE_BETWEEN_LABEL_AND_INPUT};
5702
+ }
5703
+
5704
+ > label {
5705
+ font-weight: normal;
5706
+ }
5707
+
5708
+ ${({ $screenReaderOnly }) => $screenReaderOnly && visuallyHiddenStyle}
5709
+ ${({ disabled }) => disabled && disabledStyle}
5710
+ ${({ required }) => required && requiredStyle}
5711
+ `;
5712
+ var Label = ({
5713
+ children,
5714
+ disabled = false,
5715
+ htmlFor,
5716
+ required = false,
5717
+ screenReaderOnly = false,
5718
+ ...otherProps
5719
+ }) => /* @__PURE__ */ jsx164(
5720
+ StyledLabel,
5721
+ {
5722
+ $screenReaderOnly: screenReaderOnly,
5723
+ disabled,
5724
+ htmlFor,
5725
+ required,
5726
+ ...otherProps,
5727
+ children
5728
+ }
5729
+ );
5730
+ Label.displayName = "Label";
5731
+
5732
+ // src/components/Label/LabelDescription.tsx
5733
+ import styled10 from "styled-components";
5734
+ import { isNil as isNil9 } from "@wistia/type-guards";
5735
+ import { jsx as jsx165 } from "react/jsx-runtime";
5736
+ var StyledLabelDescription = styled10.div`
5737
+ color: var(--color-text-secondary);
5738
+ font-size: var(--typography-body-4-size);
5739
+ font-weight: var(--typography-body-4-weight);
5740
+ line-height: var(--typography-body-4-line-height);
5741
+ `;
5742
+ var LabelDescription = ({
5743
+ children,
5744
+ ...props
5745
+ }) => {
5746
+ if (isNil9(children)) {
5747
+ return null;
5748
+ }
5749
+ return /* @__PURE__ */ jsx165(StyledLabelDescription, { ...props, children });
5750
+ };
5751
+ LabelDescription.displayName = "LabelDescription";
5752
+
5753
+ // src/components/Checkbox/Checkbox.tsx
5754
+ import { jsx as jsx166, jsxs as jsxs6 } from "react/jsx-runtime";
5755
+ var CheckIcon = () => /* @__PURE__ */ jsx166(
5756
+ "svg",
5757
+ {
5758
+ fill: "inherit",
5759
+ height: "8",
5760
+ viewBox: "0 0 10 8",
5761
+ width: "10",
5762
+ xmlns: "http://www.w3.org/2000/svg",
5763
+ children: /* @__PURE__ */ jsx166(
5764
+ "path",
5765
+ {
5766
+ d: "M3.47281 7.19303L0.377565 4.07999C0.191609 3.89297 0.191609 3.58973 0.377565 3.40268L1.05098 2.72537C1.23694 2.53833 1.53847 2.53833 1.72442 2.72537L3.80953 4.82245L8.27558 0.330729C8.46154 0.143704 8.76306 0.143704 8.94902 0.330729L9.62244 1.00804C9.8084 1.19506 9.8084 1.49831 9.62244 1.68535L4.14624 7.19305C3.96027 7.38008 3.65876 7.38008 3.47281 7.19303Z",
5767
+ fill: "white"
5768
+ }
5769
+ )
5770
+ }
5771
+ );
5772
+ var StyledCheckboxWrapper = styled11.div`
5773
+ display: flex;
5774
+ align-items: center;
5775
+ cursor: pointer;
5776
+ padding: var(--space-02);
5777
+
5778
+ &:hover {
5779
+ /* TODO Lamp to design hover state */
5780
+ }
5781
+
5782
+ &:focus-within {
5783
+ /* TODO Lamp to design focus state */
5784
+ background-color: #efefef;
5785
+ }
5786
+ `;
5787
+ var StyledCheckboxRoot = styled11(CheckboxRoot)`
5788
+ all: unset; /* CheckboxRoot renders as a button element, so we need to reset all styles */
5789
+ background-color: var(--color-bg-fill-white);
5790
+ min-width: 16px;
5791
+ min-height: 16px;
5792
+ border-radius: var(--border-radius-01);
5793
+ border-width: 1px;
5794
+ border-style: solid;
5795
+ border-color: var(--color-border);
5796
+ display: flex;
5797
+ align-items: center;
5798
+ justify-content: center;
5799
+ align-self: start; /* align to the top to handle label descriptions */
5800
+ margin-top: 3px; /* bump down slightly to mimic "align-self: center" */
5801
+
5802
+ &[data-state='checked'] {
5803
+ background-color: var(--color-bg-fill);
5804
+ }
5805
+
5806
+ &[disabled] {
5807
+ background-color: var(--color-bg-surface-disabled);
5808
+
5809
+ svg path {
5810
+ fill: var(--color-icon-disabled);
5811
+ }
5812
+ }
5813
+
5814
+ &:hover {
5815
+ /* TODO Lamp to design hover state */
5816
+ }
5817
+
5818
+ &:focus {
5819
+ /* TODO Lamp to design focus state */
5820
+ }
5821
+ `;
5822
+ var StyledCheckboxIndicator = styled11(CheckboxIndicator)`
5823
+ display: flex;
5824
+ `;
5825
+ var StyledLabelWrapper = styled11.div`
5826
+ display: flex;
5827
+ flex-direction: column;
5828
+ padding-left: var(--space-02);
5829
+ `;
5830
+ var Checkbox = forwardRef4(
5831
+ ({
5832
+ checked,
5833
+ disabled = false,
5834
+ forceState,
5835
+ id,
5836
+ label = "default",
5837
+ description,
5838
+ name,
5839
+ onChange,
5840
+ required = false,
5841
+ value = "false",
5842
+ ...otherProps
5843
+ }, ref) => {
5844
+ const generatedId = useId();
5845
+ const computedId = isNonEmptyString2(id) ? id : `vhs-collapsible-group-${generatedId}`;
5846
+ return /* @__PURE__ */ jsxs6(StyledCheckboxWrapper, { children: [
5847
+ /* @__PURE__ */ jsx166(
5848
+ StyledCheckboxRoot,
5849
+ {
5850
+ ref,
5851
+ checked: checked ?? void 0,
5852
+ defaultChecked: checked === void 0 ? false : void 0,
5853
+ disabled,
5854
+ id: computedId,
5855
+ name,
5856
+ onCheckedChange: (state) => {
5857
+ if (onChange) {
5858
+ const syntheticEvent = {
5859
+ target: {
5860
+ id: computedId,
5861
+ checked: state === true
5862
+ }
5863
+ };
5864
+ onChange(syntheticEvent);
5865
+ }
5866
+ },
5867
+ required,
5868
+ value,
5869
+ ...otherProps,
5870
+ children: /* @__PURE__ */ jsx166(StyledCheckboxIndicator, { children: /* @__PURE__ */ jsx166(CheckIcon, {}) })
5871
+ }
5872
+ ),
5873
+ /* @__PURE__ */ jsxs6(StyledLabelWrapper, { children: [
5874
+ /* @__PURE__ */ jsx166(
5875
+ Label,
5876
+ {
5877
+ disabled,
5878
+ htmlFor: computedId,
5879
+ required,
5880
+ children: label
5881
+ }
5882
+ ),
5883
+ /* @__PURE__ */ jsx166(LabelDescription, { children: description })
5884
+ ] })
5885
+ ] });
5886
+ }
5887
+ );
5888
+ Checkbox.displayName = "Checkbox";
5889
+
5890
+ // src/components/Divider/Divider.tsx
5891
+ import styled12 from "styled-components";
5892
+ import { jsx as jsx167 } from "react/jsx-runtime";
5583
5893
  var sizeToPixelMap = {
5584
5894
  lg: 4,
5585
5895
  sm: 1
5586
5896
  };
5587
- var DividerComponent = styled9.hr`
5897
+ var DividerComponent = styled12.hr`
5588
5898
  background: none;
5589
5899
  border-bottom: none;
5590
5900
  border-left: none;
@@ -5599,7 +5909,7 @@ var DividerComponent = styled9.hr`
5599
5909
  `;
5600
5910
  var Divider = ({ size = "sm", ...otherProps }) => {
5601
5911
  const responsiveSize = useResponsiveProp(size);
5602
- return /* @__PURE__ */ jsx164(
5912
+ return /* @__PURE__ */ jsx167(
5603
5913
  DividerComponent,
5604
5914
  {
5605
5915
  $borderHeight: sizeToPixelMap[responsiveSize],
@@ -5611,9 +5921,9 @@ Divider.displayName = "Divider";
5611
5921
 
5612
5922
  // src/components/Ellipsis/Ellipsis.tsx
5613
5923
  import { isNotNil as isNotNil5 } from "@wistia/type-guards";
5614
- import styled10, { css as css12 } from "styled-components";
5615
- import { jsx as jsx165 } from "react/jsx-runtime";
5616
- var ellipsisStyle = css12`
5924
+ import styled13, { css as css13 } from "styled-components";
5925
+ import { jsx as jsx168 } from "react/jsx-runtime";
5926
+ var ellipsisStyle = css13`
5617
5927
  overflow: hidden;
5618
5928
  text-overflow: ellipsis;
5619
5929
  white-space: nowrap;
@@ -5636,14 +5946,14 @@ var ellipsisStyle = css12`
5636
5946
  }
5637
5947
  }
5638
5948
  `;
5639
- var ellipsisFlexParentStyle = css12`
5949
+ var ellipsisFlexParentStyle = css13`
5640
5950
  min-width: 0;
5641
5951
  `;
5642
- var EllipsisComponent = styled10.div`
5952
+ var EllipsisComponent = styled13.div`
5643
5953
  ${ellipsisStyle};
5644
5954
  ${({ $lines }) => {
5645
5955
  if (isNotNil5($lines)) {
5646
- return css12`
5956
+ return css13`
5647
5957
  -webkit-box-orient: vertical;
5648
5958
  -webkit-line-clamp: ${$lines};
5649
5959
  display: -webkit-box;
@@ -5653,7 +5963,7 @@ var EllipsisComponent = styled10.div`
5653
5963
  return void 0;
5654
5964
  }}
5655
5965
  `;
5656
- var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx165(
5966
+ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx168(
5657
5967
  EllipsisComponent,
5658
5968
  {
5659
5969
  $lines: lines,
@@ -5664,8 +5974,8 @@ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx165(
5664
5974
  Ellipsis.displayName = "Ellipsis";
5665
5975
 
5666
5976
  // src/components/Heading/Heading.tsx
5667
- import { forwardRef as forwardRef4 } from "react";
5668
- import styled11, { css as css13 } from "styled-components";
5977
+ import { forwardRef as forwardRef5 } from "react";
5978
+ import styled14, { css as css14 } from "styled-components";
5669
5979
 
5670
5980
  // src/private/helpers/makePolymorphic/makePolymorphic.tsx
5671
5981
  var makePolymorphic = (component) => {
@@ -5673,44 +5983,44 @@ var makePolymorphic = (component) => {
5673
5983
  };
5674
5984
 
5675
5985
  // src/components/Heading/Heading.tsx
5676
- import { jsx as jsx166 } from "react/jsx-runtime";
5677
- var heroStyle = css13`
5986
+ import { jsx as jsx169 } from "react/jsx-runtime";
5987
+ var heroStyle = css14`
5678
5988
  --font-family: var(--typography-heading-hero-family);
5679
5989
  --font-size: var(--typography-heading-hero-size);
5680
5990
  --font-weight: var(--typography-heading-hero-weight);
5681
5991
  --line-height: var(--typography-heading-hero-line-height);
5682
5992
  `;
5683
- var heading1TextStyle = css13`
5993
+ var heading1TextStyle = css14`
5684
5994
  --font-family: var(--typography-heading-1-family);
5685
5995
  --font-size: var(--typography-heading-1-size);
5686
5996
  --font-weight: var(--typography-heading-1-weight);
5687
5997
  --line-height: var(--typography-heading-1-line-height);
5688
5998
  `;
5689
- var heading2TextStyle = css13`
5999
+ var heading2TextStyle = css14`
5690
6000
  --font-family: var(--typography-heading-2-family);
5691
6001
  --font-size: var(--typography-heading-2-size);
5692
6002
  --font-weight: var(--typography-heading-2-weight);
5693
6003
  --line-height: var(--typography-heading-2-line-height);
5694
6004
  `;
5695
- var heading3TextStyle = css13`
6005
+ var heading3TextStyle = css14`
5696
6006
  --font-family: var(--typography-heading-3-family);
5697
6007
  --font-size: var(--typography-heading-3-size);
5698
6008
  --font-weight: var(--typography-heading-3-weight);
5699
6009
  --line-height: var(--typography-heading-3-line-height);
5700
6010
  `;
5701
- var heading4TextStyle = css13`
6011
+ var heading4TextStyle = css14`
5702
6012
  --font-family: var(--typography-heading-4-family);
5703
6013
  --font-size: var(--typography-heading-4-size);
5704
6014
  --font-weight: var(--typography-heading-4-weight);
5705
6015
  --line-height: var(--typography-heading-4-line-height);
5706
6016
  `;
5707
- var heading5TextStyle = css13`
6017
+ var heading5TextStyle = css14`
5708
6018
  --font-family: var(--typography-heading-5-family);
5709
6019
  --font-size: var(--typography-heading-5-size);
5710
6020
  --font-weight: var(--typography-heading-5-weight);
5711
6021
  --line-height: var(--typography-heading-5-line-height);
5712
6022
  `;
5713
- var heading6TextStyle = css13`
6023
+ var heading6TextStyle = css14`
5714
6024
  --font-family: var(--typography-heading-6-family);
5715
6025
  --font-size: var(--typography-heading-6-size);
5716
6026
  --font-weight: var(--typography-heading-6-weight);
@@ -5726,7 +6036,7 @@ var variantStyleMap = {
5726
6036
  heading6: heading6TextStyle
5727
6037
  };
5728
6038
  var DEFAULT_ELEMENT = "h1";
5729
- var StyledHeading = styled11.div`
6039
+ var StyledHeading = styled14.div`
5730
6040
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
5731
6041
  font-family: var(--font-family);
5732
6042
  font-size: var(--font-size);
@@ -5735,16 +6045,16 @@ var StyledHeading = styled11.div`
5735
6045
  color: var(--color-text);
5736
6046
  ${({ $variant }) => variantStyleMap[$variant]}
5737
6047
  ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
5738
- ${({ $inline }) => $inline && css13`
6048
+ ${({ $inline }) => $inline && css14`
5739
6049
  display: inline-block;
5740
6050
  `}
5741
- ${({ $disabled }) => $disabled && css13`
6051
+ ${({ $disabled }) => $disabled && css14`
5742
6052
  color: var(--color-text-disabled);
5743
6053
  `}
5744
- ${({ $preventUserSelect }) => $preventUserSelect && css13`
6054
+ ${({ $preventUserSelect }) => $preventUserSelect && css14`
5745
6055
  user-select: none;
5746
6056
  `}
5747
- ${({ $align }) => css13`
6057
+ ${({ $align }) => css14`
5748
6058
  text-align: ${$align};
5749
6059
  `}
5750
6060
  margin: 0;
@@ -5758,7 +6068,7 @@ var variantElementMap = {
5758
6068
  heading5: "h5",
5759
6069
  heading6: "h6"
5760
6070
  };
5761
- var HeadingComponent = forwardRef4(
6071
+ var HeadingComponent = forwardRef5(
5762
6072
  ({
5763
6073
  align = "left",
5764
6074
  colorScheme = "inherit",
@@ -5769,7 +6079,7 @@ var HeadingComponent = forwardRef4(
5769
6079
  variant = "heading1",
5770
6080
  renderAs,
5771
6081
  ...otherProps
5772
- }, ref) => /* @__PURE__ */ jsx166(
6082
+ }, ref) => /* @__PURE__ */ jsx169(
5773
6083
  StyledHeading,
5774
6084
  {
5775
6085
  ref,
@@ -5789,8 +6099,8 @@ HeadingComponent.displayName = "Heading";
5789
6099
  var Heading = makePolymorphic(HeadingComponent);
5790
6100
 
5791
6101
  // src/components/IconButton/IconButton.tsx
5792
- import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef5 } from "react";
5793
- import styled13 from "styled-components";
6102
+ import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef6 } from "react";
6103
+ import styled16 from "styled-components";
5794
6104
 
5795
6105
  // src/components/Tooltip/Tooltip.tsx
5796
6106
  import {
@@ -5800,16 +6110,16 @@ import {
5800
6110
  Portal,
5801
6111
  Arrow
5802
6112
  } from "@radix-ui/react-tooltip";
5803
- import styled12, { css as css14 } from "styled-components";
5804
- import { jsx as jsx167, jsxs as jsxs6 } from "react/jsx-runtime";
5805
- var CompactTooltipStyles = css14`
6113
+ import styled15, { css as css15 } from "styled-components";
6114
+ import { jsx as jsx170, jsxs as jsxs7 } from "react/jsx-runtime";
6115
+ var CompactTooltipStyles = css15`
5806
6116
  --tooltip-font-size: var(--typography-label-4-size);
5807
6117
  --tooltip-line-height: var(--typography-label-4-line-height);
5808
6118
  --tooltip-font-weight: var(--typography-label-4-weight);
5809
6119
  --tooltip-horizontal-padding: var(--space-02);
5810
6120
  --tooltip-vertical-padding: var(--space-03);
5811
6121
  `;
5812
- var StyledContent = styled12(Content)`
6122
+ var StyledContent = styled15(Content)`
5813
6123
  --tooltip-font-family: var(--typography-family-default);
5814
6124
  --tooltip-border-radius: var(--border-radius-05);
5815
6125
  --tooltip-bg: var(--color-bg-tooltip);
@@ -5867,14 +6177,14 @@ var Tooltip = ({
5867
6177
  if (forceOpen === true) {
5868
6178
  rootProps.open = true;
5869
6179
  }
5870
- return /* @__PURE__ */ jsxs6(
6180
+ return /* @__PURE__ */ jsxs7(
5871
6181
  Root,
5872
6182
  {
5873
6183
  delayDuration: delay,
5874
6184
  ...rootProps,
5875
6185
  children: [
5876
- /* @__PURE__ */ jsx167(Trigger, { asChild: true, children }),
5877
- /* @__PURE__ */ jsx167(Portal, { children: /* @__PURE__ */ jsxs6(
6186
+ /* @__PURE__ */ jsx170(Trigger, { asChild: true, children }),
6187
+ /* @__PURE__ */ jsx170(Portal, { children: /* @__PURE__ */ jsxs7(
5878
6188
  StyledContent,
5879
6189
  {
5880
6190
  $compact: compact,
@@ -5882,7 +6192,7 @@ var Tooltip = ({
5882
6192
  sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
5883
6193
  children: [
5884
6194
  content,
5885
- !hideArrow ? /* @__PURE__ */ jsx167(Arrow, { asChild: true, children: /* @__PURE__ */ jsx167(
6195
+ !hideArrow ? /* @__PURE__ */ jsx170(Arrow, { asChild: true, children: /* @__PURE__ */ jsx170(
5886
6196
  "svg",
5887
6197
  {
5888
6198
  fill: "var(--tooltip-bg)",
@@ -5891,7 +6201,7 @@ var Tooltip = ({
5891
6201
  viewBox: "0 0 12 8",
5892
6202
  width: "12",
5893
6203
  xmlns: "http://www.w3.org/2000/svg",
5894
- children: /* @__PURE__ */ jsx167("path", { d: "M6.8 6.93333C6.4 7.46667 5.6 7.46667 5.2 6.93333L-2.54292e-07 -1.04907e-06L12 0L6.8 6.93333Z" })
6204
+ children: /* @__PURE__ */ jsx170("path", { d: "M6.8 6.93333C6.4 7.46667 5.6 7.46667 5.2 6.93333L-2.54292e-07 -1.04907e-06L12 0L6.8 6.93333Z" })
5895
6205
  }
5896
6206
  ) }) : null
5897
6207
  ]
@@ -5904,8 +6214,8 @@ var Tooltip = ({
5904
6214
  Tooltip.displayName = "Tooltip";
5905
6215
 
5906
6216
  // src/components/IconButton/IconButton.tsx
5907
- import { jsx as jsx168 } from "react/jsx-runtime";
5908
- var StyledButton2 = styled13(Button)`
6217
+ import { jsx as jsx171 } from "react/jsx-runtime";
6218
+ var StyledButton2 = styled16(Button)`
5909
6219
  --icon-button-size-sm: 24px;
5910
6220
  --icon-button-size-md: 32px;
5911
6221
  --icon-button-size-lg: 40px;
@@ -5919,10 +6229,10 @@ var StyledButton2 = styled13(Button)`
5919
6229
  align-items: center;
5920
6230
  line-height: 1;
5921
6231
  `;
5922
- var IconButton = forwardRef5(
6232
+ var IconButton = forwardRef6(
5923
6233
  ({ children, label, disableTooltip = false, size = "md", ...props }, ref) => {
5924
6234
  const responsiveSize = useResponsiveProp(size);
5925
- const button = /* @__PURE__ */ jsx168(
6235
+ const button = /* @__PURE__ */ jsx171(
5926
6236
  StyledButton2,
5927
6237
  {
5928
6238
  ...props,
@@ -5938,209 +6248,217 @@ var IconButton = forwardRef5(
5938
6248
  if (disableTooltip) {
5939
6249
  return button;
5940
6250
  }
5941
- return /* @__PURE__ */ jsx168(Tooltip, { content: label, children: button });
6251
+ return /* @__PURE__ */ jsx171(Tooltip, { content: label, children: button });
5942
6252
  }
5943
6253
  );
5944
6254
  IconButton.displayName = "IconButton";
5945
6255
 
5946
- // src/components/Label/Label.tsx
5947
- import styled14, { css as css15 } from "styled-components";
5948
- import { jsx as jsx169 } from "react/jsx-runtime";
5949
- var requiredStyle = css15`
5950
- &::after {
5951
- color: red; /* TODO need a color for this */
5952
- display: inline;
5953
- padding-left: var(--space-01);
5954
- content: '*';
6256
+ // src/components/Menu/Menu.tsx
6257
+ import styled17, { css as css16, keyframes } from "styled-components";
6258
+ import {
6259
+ DropdownMenu,
6260
+ DropdownMenuTrigger,
6261
+ DropdownMenuPortal,
6262
+ DropdownMenuContent
6263
+ } from "@radix-ui/react-dropdown-menu";
6264
+ import { isNotNil as isNotNil6, isNotUndefined as isNotUndefined4 } from "@wistia/type-guards";
6265
+ import { jsx as jsx172, jsxs as jsxs8 } from "react/jsx-runtime";
6266
+ var open = keyframes`
6267
+ from {
6268
+ opacity: 0;
6269
+ transform: scale(.97) translateY(-8px);
6270
+ }
6271
+ to {
6272
+ opacity: 1;
6273
+ transform: scale(1);
5955
6274
  }
5956
6275
  `;
5957
- var disabledStyle = css15`
5958
- color: var(--color-text-disabled);
6276
+ var close = keyframes`
6277
+ from {
6278
+ opacity: 1;
6279
+ transform: scale(1);
6280
+ }
6281
+ to {
6282
+ opacity: 0;
6283
+ transform: scale(.97) translateY(-8px);
6284
+ }
5959
6285
  `;
5960
- var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
5961
- var StyledLabel = styled14.label`
5962
- display: block;
5963
- font-size: var(--typography-label-1-size);
5964
- font-weight: var(--typography-label-1-weight);
5965
- line-height: var(--typography-label-1-line-height);
5966
- margin-bottom: ${SPACE_BETWEEN_LABEL_AND_INPUT};
5967
- width: 100%;
5968
-
5969
- /* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
5970
- > input,
5971
- > textarea,
5972
- > select {
5973
- display: block;
5974
- margin-top: ${SPACE_BETWEEN_LABEL_AND_INPUT};
6286
+ var menuContentCss = css16`
6287
+ --menu-font-family: var(--typography-family-default);
6288
+ --menu-bg: var(--color-bg-fill-white); /* TODO - Not sure what token to use for this */
6289
+ --menu-shadow: 0 0 64px 0 rgba(0 0 0 / 8%); /* TODO - Need a box-shadow token */
6290
+ --menu-border-radius: var(--border-radius-01);
6291
+ --menu-padding: var(--space-03);
6292
+ --menu-min-width: 120px;
6293
+ --menu-max-width: 284px;
6294
+ --menu-zindex: 500; /* TODO - need z-index token */
6295
+
6296
+ animation: ${open}; /* TODO - need easing tokens */
6297
+ font-family: var(--menu-font-family);
6298
+ background: var(--menu-bg);
6299
+ border-radius: var(--menu-border-radius);
6300
+ box-shadow: var(--menu-shadow); /* TODO - Need a box-shadow token */
6301
+ max-height: var(--radix-dropdown-menu-content-available-height);
6302
+ min-width: var(--menu-min-width);
6303
+ max-width: var(--menu-max-width);
6304
+ overflow: auto;
6305
+ padding: var(--menu-padding);
6306
+ transform-origin: var(--radix-dropdown-menu-content-transform-origin);
6307
+ z-index: var(--menu-zindex);
6308
+
6309
+ &[data-state='closed'] {
6310
+ animation: ${close}; /* TODO - need easing tokens */
5975
6311
  }
5976
6312
 
5977
- > label {
5978
- font-weight: normal;
6313
+ ${mq.smAndUp} {
6314
+ bottom: 0;
6315
+ padding: var(--menu-padding);
6316
+ right: 0;
6317
+ top: 0;
6318
+ transform: initial;
5979
6319
  }
5980
6320
 
5981
- ${({ screenReaderOnly }) => screenReaderOnly && visuallyHiddenStyle}
5982
- ${({ disabled }) => disabled && disabledStyle}
5983
- ${({ required }) => required && requiredStyle}
5984
- `;
5985
- var Label = ({
5986
- children,
5987
- disabled = false,
5988
- htmlFor,
5989
- required = false,
5990
- screenReaderOnly = false,
5991
- ...otherProps
5992
- }) => /* @__PURE__ */ jsx169(
5993
- StyledLabel,
5994
- {
5995
- disabled,
5996
- required,
5997
- screenReaderOnly,
5998
- ...otherProps,
5999
- children
6321
+ hr {
6322
+ margin: var(--space-02) 0;
6000
6323
  }
6001
- );
6002
- Label.displayName = "Label";
6003
-
6004
- // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
6005
- import styled15 from "styled-components";
6006
- import { isNotNil as isNotNil6 } from "@wistia/type-guards";
6007
- import { jsx as jsx170 } from "react/jsx-runtime";
6008
- var VisuallyHidden = styled15.div({ ...visuallyHiddenStyle });
6009
- var VisuallyHiddenButFocusable = styled15.div({
6010
- "&:not(:focus-within)": visuallyHiddenStyle
6011
- });
6012
- var ScreenReaderOnly = ({
6013
- text,
6324
+ `;
6325
+ var MenuContent = styled17(DropdownMenuContent)`
6326
+ ${menuContentCss}
6327
+ `;
6328
+ var Menu = ({
6329
+ align = "start",
6014
6330
  children,
6015
- focusable = false,
6016
- ...otherProps
6331
+ trigger,
6332
+ label,
6333
+ isOpen,
6334
+ triggerProps = {},
6335
+ onOpenChange,
6336
+ onInteractOutside,
6337
+ ...props
6017
6338
  }) => {
6018
- const accessibleText = isNotNil6(text) ? text : children;
6019
- if (focusable) {
6020
- return /* @__PURE__ */ jsx170(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
6021
- }
6022
- return /* @__PURE__ */ jsx170(VisuallyHidden, { ...otherProps, children: accessibleText });
6339
+ return /* @__PURE__ */ jsxs8(
6340
+ DropdownMenu,
6341
+ {
6342
+ modal: false,
6343
+ ...isNotNil6(onOpenChange) && isNotNil6(isOpen) ? { open: isOpen, onOpenChange } : {},
6344
+ children: [
6345
+ /* @__PURE__ */ jsx172(DropdownMenuTrigger, { asChild: true, children: isNotUndefined4(trigger) ? trigger : /* @__PURE__ */ jsx172(
6346
+ Button,
6347
+ {
6348
+ "aria-expanded": isOpen,
6349
+ forceState: isOpen ? "active" : void 0,
6350
+ rightIcon: /* @__PURE__ */ jsx172(Icon, { type: "caret-down" }),
6351
+ ...triggerProps,
6352
+ children: label
6353
+ }
6354
+ ) }),
6355
+ /* @__PURE__ */ jsx172(DropdownMenuPortal, { children: /* @__PURE__ */ jsx172(
6356
+ MenuContent,
6357
+ {
6358
+ ...props,
6359
+ align,
6360
+ onFocusOutside: (event) => {
6361
+ event.preventDefault();
6362
+ },
6363
+ sideOffset: 6,
6364
+ children
6365
+ }
6366
+ ) })
6367
+ ]
6368
+ }
6369
+ );
6023
6370
  };
6024
- ScreenReaderOnly.displayName = "ScreenReaderOnly";
6025
-
6026
- // src/components/Stack/Stack.tsx
6027
- import { forwardRef as forwardRef6 } from "react";
6028
- import styled16 from "styled-components";
6029
- import { jsx as jsx171 } from "react/jsx-runtime";
6030
- var DEFAULT_ELEMENT2 = "div";
6031
- var StyledStack = styled16.div`
6032
- display: flex;
6033
- flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
6034
- gap: ${({ $gap }) => `var(--${$gap})`};
6371
+ Menu.displayName = "Menu";
6035
6372
 
6036
- > * {
6037
- flex: 1;
6038
- }
6039
- `;
6040
- var StackComponent = forwardRef6(
6041
- ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
6042
- const responsiveGap = useResponsiveProp(gap);
6043
- const responsiveDirection = useResponsiveProp(direction);
6044
- return /* @__PURE__ */ jsx171(
6045
- StyledStack,
6046
- {
6047
- ref,
6048
- $direction: responsiveDirection,
6049
- $gap: responsiveGap,
6050
- as: renderAs ?? DEFAULT_ELEMENT2,
6051
- ...props
6052
- }
6053
- );
6054
- }
6055
- );
6056
- StackComponent.displayName = "Stack";
6057
- var Stack = makePolymorphic(StackComponent);
6373
+ // src/components/Menu/MenuLabel.tsx
6374
+ import styled19 from "styled-components";
6375
+ import { DropdownMenuLabel } from "@radix-ui/react-dropdown-menu";
6058
6376
 
6059
6377
  // src/components/Text/Text.tsx
6060
6378
  import { forwardRef as forwardRef7 } from "react";
6061
- import styled17, { css as css16 } from "styled-components";
6062
- import { jsx as jsx172 } from "react/jsx-runtime";
6063
- var bodyBoldStyles = css16`
6379
+ import styled18, { css as css17 } from "styled-components";
6380
+ import { jsx as jsx173 } from "react/jsx-runtime";
6381
+ var bodyBoldStyles = css17`
6064
6382
  > strong,
6065
6383
  b {
6066
6384
  font-weight: var(--typography-weight-body-bold);
6067
6385
  }
6068
6386
  `;
6069
- var labelBoldStyles = css16`
6387
+ var labelBoldStyles = css17`
6070
6388
  > strong,
6071
6389
  b {
6072
6390
  font-weight: var(--typography-weight-label-bold);
6073
6391
  }
6074
6392
  `;
6075
- var body1TextStyle = css16`
6393
+ var body1TextStyle = css17`
6076
6394
  --font-family: var(--typography-body-1-family);
6077
6395
  --font-size: var(--typography-body-1-size);
6078
6396
  --font-weight: var(--typography-body-1-weight);
6079
6397
  --line-height: var(--typography-body-1-line-height);
6080
6398
  ${bodyBoldStyles}
6081
6399
  `;
6082
- var body2TextStyle = css16`
6400
+ var body2TextStyle = css17`
6083
6401
  --font-family: var(--typography-body-2-family);
6084
6402
  --font-size: var(--typography-body-2-size);
6085
6403
  --font-weight: var(--typography-body-2-weight);
6086
6404
  --line-height: var(--typography-body-2-line-height);
6087
6405
  ${bodyBoldStyles}
6088
6406
  `;
6089
- var body3TextStyle = css16`
6407
+ var body3TextStyle = css17`
6090
6408
  --font-family: var(--typography-body-3-family);
6091
6409
  --font-size: var(--typography-body-3-size);
6092
6410
  --font-weight: var(--typography-body-3-weight);
6093
6411
  --line-height: var(--typography-body-3-line-height);
6094
6412
  ${bodyBoldStyles}
6095
6413
  `;
6096
- var body4TextStyle = css16`
6414
+ var body4TextStyle = css17`
6097
6415
  --font-family: var(--typography-body-4-family);
6098
6416
  --font-size: var(--typography-body-4-size);
6099
6417
  --font-weight: var(--typography-body-4-weight);
6100
6418
  --line-height: var(--typography-body-4-line-height);
6101
6419
  ${bodyBoldStyles}
6102
6420
  `;
6103
- var label1TextStyle = css16`
6421
+ var label1TextStyle = css17`
6104
6422
  --font-family: var(--typography-label-1-family);
6105
6423
  --font-size: var(--typography-label-1-size);
6106
6424
  --font-weight: var(--typography-label-1-weight);
6107
6425
  --line-height: var(--typography-label-1-line-height);
6108
6426
  ${labelBoldStyles}
6109
6427
  `;
6110
- var label2TextStyle = css16`
6428
+ var label2TextStyle = css17`
6111
6429
  --font-family: var(--typography-label-2-family);
6112
6430
  --font-size: var(--typography-label-2-size);
6113
6431
  --font-weight: var(--typography-label-2-weight);
6114
6432
  --line-height: var(--typography-label-2-line-height);
6115
6433
  ${labelBoldStyles}
6116
6434
  `;
6117
- var label3TextStyle = css16`
6435
+ var label3TextStyle = css17`
6118
6436
  --font-family: var(--typography-label-3-family);
6119
6437
  --font-size: var(--typography-label-3-size);
6120
6438
  --font-weight: var(--typography-label-3-weight);
6121
6439
  --line-height: var(--typography-label-3-line-height);
6122
6440
  ${labelBoldStyles}
6123
6441
  `;
6124
- var label4TextStyle = css16`
6442
+ var label4TextStyle = css17`
6125
6443
  --font-family: var(--typography-label-4-family);
6126
6444
  --font-size: var(--typography-label-4-size);
6127
6445
  --font-weight: var(--typography-label-4-weight);
6128
6446
  --line-height: var(--typography-label-4-line-height);
6129
6447
  ${labelBoldStyles}
6130
6448
  `;
6131
- var body1MonoTextStyle = css16`
6449
+ var body1MonoTextStyle = css17`
6132
6450
  ${body1TextStyle};
6133
6451
  --font-family: var(--typography-family-mono);
6134
6452
  `;
6135
- var body2MonoTextStyle = css16`
6453
+ var body2MonoTextStyle = css17`
6136
6454
  ${body2TextStyle};
6137
6455
  --font-family: var(--typography-family-mono);
6138
6456
  `;
6139
- var body3MonoTextStyle = css16`
6457
+ var body3MonoTextStyle = css17`
6140
6458
  ${body3TextStyle};
6141
6459
  --font-family: var(--typography-family-mono);
6142
6460
  `;
6143
- var body4MonoTextStyle = css16`
6461
+ var body4MonoTextStyle = css17`
6144
6462
  ${body4TextStyle};
6145
6463
  --font-family: var(--typography-family-mono);
6146
6464
  `;
@@ -6158,13 +6476,13 @@ var variantStyleMap2 = {
6158
6476
  label3: label3TextStyle,
6159
6477
  label4: label4TextStyle
6160
6478
  };
6161
- var highContrastProminenceStyle = css16`
6479
+ var highContrastProminenceStyle = css17`
6162
6480
  --text-color: var(--color-text-high-contrast);
6163
6481
  `;
6164
- var vibrantProminenceStyle = css16`
6482
+ var vibrantProminenceStyle = css17`
6165
6483
  --text-color: var(--color-text);
6166
6484
  `;
6167
- var secondaryProminenceStyle = css16`
6485
+ var secondaryProminenceStyle = css17`
6168
6486
  --text-color: var(--color-text-secondary);
6169
6487
  `;
6170
6488
  var prominenceMap = {
@@ -6172,7 +6490,7 @@ var prominenceMap = {
6172
6490
  vibrant: vibrantProminenceStyle,
6173
6491
  secondary: secondaryProminenceStyle
6174
6492
  };
6175
- var StyledText = styled17.div`
6493
+ var StyledText = styled18.div`
6176
6494
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
6177
6495
  font-family: var(--font-family);
6178
6496
  font-size: var(--font-size);
@@ -6184,23 +6502,23 @@ var StyledText = styled17.div`
6184
6502
  ${({ $variant }) => variantStyleMap2[$variant]}
6185
6503
  ${({ $prominence }) => prominenceMap[$prominence]}
6186
6504
  ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
6187
- ${({ $inline }) => $inline && css16`
6505
+ ${({ $inline }) => $inline && css17`
6188
6506
  display: inline-block;
6189
6507
  `}
6190
- ${({ $disabled }) => $disabled && css16`
6508
+ ${({ $disabled }) => $disabled && css17`
6191
6509
  --text-color: var(--color-text-disabled);
6192
6510
  `}
6193
- ${({ $preventUserSelect }) => $preventUserSelect && css16`
6511
+ ${({ $preventUserSelect }) => $preventUserSelect && css17`
6194
6512
  user-select: none;
6195
6513
  `}
6196
- ${({ $align }) => css16`
6514
+ ${({ $align }) => css17`
6197
6515
  text-align: ${$align};
6198
6516
  `}
6199
- ${({ as }) => as === "p" && css16`
6517
+ ${({ as }) => as === "p" && css17`
6200
6518
  display: block;
6201
6519
  `}
6202
6520
  `;
6203
- var DEFAULT_ELEMENT3 = "div";
6521
+ var DEFAULT_ELEMENT2 = "div";
6204
6522
  var TextComponent = forwardRef7(
6205
6523
  ({
6206
6524
  align = "left",
@@ -6214,7 +6532,7 @@ var TextComponent = forwardRef7(
6214
6532
  renderAs,
6215
6533
  ...otherProps
6216
6534
  }, ref) => {
6217
- return /* @__PURE__ */ jsx172(
6535
+ return /* @__PURE__ */ jsx173(
6218
6536
  StyledText,
6219
6537
  {
6220
6538
  ref,
@@ -6226,7 +6544,7 @@ var TextComponent = forwardRef7(
6226
6544
  $preventUserSelect: preventUserSelect,
6227
6545
  $prominence: prominence,
6228
6546
  $variant: variant,
6229
- as: renderAs ?? DEFAULT_ELEMENT3,
6547
+ as: renderAs ?? DEFAULT_ELEMENT2,
6230
6548
  ...otherProps
6231
6549
  }
6232
6550
  );
@@ -6235,21 +6553,408 @@ var TextComponent = forwardRef7(
6235
6553
  TextComponent.displayName = "Text";
6236
6554
  var Text = makePolymorphic(TextComponent);
6237
6555
 
6556
+ // src/components/Menu/MenuLabel.tsx
6557
+ import { jsx as jsx174 } from "react/jsx-runtime";
6558
+ var StyledMenuLabel = styled19(DropdownMenuLabel)`
6559
+ padding: var(--space-02);
6560
+ `;
6561
+ var MenuLabel = ({ children, ...props }) => {
6562
+ return /* @__PURE__ */ jsx174(
6563
+ StyledMenuLabel,
6564
+ {
6565
+ asChild: true,
6566
+ ...props,
6567
+ children: /* @__PURE__ */ jsx174(
6568
+ Text,
6569
+ {
6570
+ variant: "label3",
6571
+ ...props,
6572
+ children
6573
+ }
6574
+ )
6575
+ }
6576
+ );
6577
+ };
6578
+ MenuLabel.displayName = "MenuLabel";
6579
+
6580
+ // src/components/Menu/SubMenu.tsx
6581
+ import { useState as useState4 } from "react";
6582
+ import styled22 from "styled-components";
6583
+ import {
6584
+ DropdownMenuPortal as DropdownMenuPortal2,
6585
+ DropdownMenuSub,
6586
+ DropdownMenuGroup,
6587
+ DropdownMenuSubContent,
6588
+ DropdownMenuSubTrigger,
6589
+ DropdownMenuItem
6590
+ } from "@radix-ui/react-dropdown-menu";
6591
+
6592
+ // src/components/Menu/MenuItemButton.tsx
6593
+ import { forwardRef as forwardRef8 } from "react";
6594
+ import styled20 from "styled-components";
6595
+ import { isNotNil as isNotNil7, isNotUndefined as isNotUndefined5 } from "@wistia/type-guards";
6596
+ import { jsx as jsx175, jsxs as jsxs9 } from "react/jsx-runtime";
6597
+ var StyledButton3 = styled20(Button)`
6598
+ --menu-item-border-radius: var(--border-radius-01);
6599
+ --menu-item-gap: var(--space-01);
6600
+ --menu-item-inner-gap: var(--space-04);
6601
+ --menu-item-disabled-bg: var(--color-white);
6602
+
6603
+ text-align: left;
6604
+ align-items: left;
6605
+ border-radius: var(--menu-item-border-radius);
6606
+ display: flex;
6607
+
6608
+ &[aria-disabled='true'] {
6609
+ background-color: var(--menu-item-disabled-bg);
6610
+ }
6611
+
6612
+ ${({ $isGated }) => isNotUndefined5($isGated) && $isGated ? `color: var(--color-text);` : ""}
6613
+ `;
6614
+ var StyledMenuContent = styled20.div`
6615
+ display: grid;
6616
+ grid-template-areas:
6617
+ 'label badge'
6618
+ 'description badge';
6619
+ grid-template-columns: 1fr auto;
6620
+ position: relative;
6621
+ align-content: center;
6622
+ `;
6623
+ var StyledBadgeContainer = styled20.div`
6624
+ grid-area: badge;
6625
+ align-self: start;
6626
+ justify-self: end;
6627
+ margin-left: var(--menu-item-inner-gap);
6628
+ `;
6629
+ var MenuItemButton = forwardRef8(({ children, appearance, command, ...props }, ref) => {
6630
+ let { colorScheme, badge } = props;
6631
+ if (appearance === "dangerous") {
6632
+ if (isNotUndefined5(colorScheme)) {
6633
+ console.warn("colorScheme prop is ignored when appearance is dangerous");
6634
+ }
6635
+ colorScheme = "error";
6636
+ }
6637
+ if (appearance === "gated") {
6638
+ if (isNotUndefined5(colorScheme)) {
6639
+ console.warn("colorScheme prop is ignored when appearance is gated");
6640
+ }
6641
+ colorScheme = "purple";
6642
+ badge = /* @__PURE__ */ jsx175(Icon, { type: "sparkle" });
6643
+ }
6644
+ return /* @__PURE__ */ jsx175(
6645
+ StyledButton3,
6646
+ {
6647
+ ...props,
6648
+ ref,
6649
+ $isGated: appearance === "gated",
6650
+ colorScheme: colorScheme ?? "default",
6651
+ fullWidth: true,
6652
+ variant: "ghost",
6653
+ children: /* @__PURE__ */ jsxs9(StyledMenuContent, { children: [
6654
+ children,
6655
+ isNotNil7(badge) || isNotNil7(command) ? /* @__PURE__ */ jsx175(StyledBadgeContainer, { children: badge ?? command }) : null
6656
+ ] })
6657
+ }
6658
+ );
6659
+ });
6660
+ MenuItemButton.displayName = "MenuItemButton";
6661
+
6662
+ // src/components/Menu/MenuItemLabelDescription.tsx
6663
+ import styled21 from "styled-components";
6664
+ import { jsx as jsx176 } from "react/jsx-runtime";
6665
+ var StyledMenuItemLabel = styled21(Text).attrs({ variant: "label3" })`
6666
+ grid-area: label;
6667
+ `;
6668
+ var StyledMenuItemDescription = styled21(Text).attrs({
6669
+ variant: "label4",
6670
+ prominence: "secondary"
6671
+ })`
6672
+ margin-top: var(--menu-item-gap);
6673
+ grid-area: description;
6674
+ `;
6675
+ var MenuItemLabel = ({ children }) => {
6676
+ return /* @__PURE__ */ jsx176(StyledMenuItemLabel, { children });
6677
+ };
6678
+ var MenuItemDescription = ({ children }) => {
6679
+ return /* @__PURE__ */ jsx176(StyledMenuItemDescription, { children });
6680
+ };
6681
+
6682
+ // src/components/Menu/SubMenu.tsx
6683
+ import { jsx as jsx177, jsxs as jsxs10 } from "react/jsx-runtime";
6684
+ var SubMenuContent = styled22(DropdownMenuSubContent)`
6685
+ ${menuContentCss}
6686
+ width: 298px;
6687
+
6688
+ ${mq.smAndDown} {
6689
+ transform: translateX(-100%) !important;
6690
+ }
6691
+ `;
6692
+ var StyledMobileSubMenuItems = styled22.div`
6693
+ margin-left: var(--space-04);
6694
+ `;
6695
+ var StyledSubTrigger = styled22(DropdownMenuSubTrigger)`
6696
+ outline: none;
6697
+
6698
+ &[data-state='open'],
6699
+ &[data-highlighted] {
6700
+ background-color: var(--button-color-bg-hover);
6701
+ }
6702
+ `;
6703
+ var SubMenuTrigger = (props) => {
6704
+ const { isSmAndUp } = useMq();
6705
+ const Trigger2 = isSmAndUp ? StyledSubTrigger : DropdownMenuItem;
6706
+ return /* @__PURE__ */ jsx177(Trigger2, { asChild: true, children: /* @__PURE__ */ jsx177(
6707
+ MenuItemButton,
6708
+ {
6709
+ ...props,
6710
+ rightIcon: /* @__PURE__ */ jsx177(Icon, { type: "caret-right" })
6711
+ }
6712
+ ) });
6713
+ };
6714
+ var SubMenu = ({
6715
+ label,
6716
+ description,
6717
+ children,
6718
+ onOpenChange = () => null,
6719
+ ...props
6720
+ }) => {
6721
+ const { isSmAndUp } = useMq();
6722
+ const [isExpanded, setIsExpanded] = useState4(false);
6723
+ return isSmAndUp ? /* @__PURE__ */ jsxs10(DropdownMenuSub, { onOpenChange, children: [
6724
+ /* @__PURE__ */ jsxs10(SubMenuTrigger, { ...props, children: [
6725
+ /* @__PURE__ */ jsx177(MenuItemLabel, { children: label }),
6726
+ /* @__PURE__ */ jsx177(MenuItemDescription, { children: description })
6727
+ ] }),
6728
+ /* @__PURE__ */ jsx177(DropdownMenuPortal2, { children: /* @__PURE__ */ jsx177(SubMenuContent, { children }) })
6729
+ ] }) : /* @__PURE__ */ jsxs10(DropdownMenuGroup, { children: [
6730
+ /* @__PURE__ */ jsxs10(
6731
+ SubMenuTrigger,
6732
+ {
6733
+ ...props,
6734
+ onClick: (event) => {
6735
+ event.preventDefault();
6736
+ setIsExpanded((prev) => !prev);
6737
+ },
6738
+ children: [
6739
+ /* @__PURE__ */ jsx177(MenuItemLabel, { children: label }),
6740
+ /* @__PURE__ */ jsx177(MenuItemDescription, { children: description })
6741
+ ]
6742
+ }
6743
+ ),
6744
+ /* @__PURE__ */ jsx177(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
6745
+ ] });
6746
+ };
6747
+ SubMenu.displayName = "SubMenu";
6748
+
6749
+ // src/components/Menu/MenuItem.tsx
6750
+ import { forwardRef as forwardRef9 } from "react";
6751
+ import { DropdownMenuItem as DropdownMenuItem2 } from "@radix-ui/react-dropdown-menu";
6752
+ import { jsx as jsx178 } from "react/jsx-runtime";
6753
+ var MenuItem = forwardRef9(
6754
+ ({ onSelect = () => null, ...props }, ref) => {
6755
+ return /* @__PURE__ */ jsx178(
6756
+ DropdownMenuItem2,
6757
+ {
6758
+ asChild: true,
6759
+ onSelect,
6760
+ children: /* @__PURE__ */ jsx178(
6761
+ MenuItemButton,
6762
+ {
6763
+ ...props,
6764
+ ref,
6765
+ leftIcon: props.icon
6766
+ }
6767
+ )
6768
+ }
6769
+ );
6770
+ }
6771
+ );
6772
+ MenuItem.displayName = "MenuItem";
6773
+
6774
+ // src/components/Menu/MenuRadioGroup.tsx
6775
+ import {
6776
+ DropdownMenuRadioGroup
6777
+ } from "@radix-ui/react-dropdown-menu";
6778
+ import { jsx as jsx179, jsxs as jsxs11 } from "react/jsx-runtime";
6779
+ var MenuRadioGroup = ({ children, label, ...props }) => {
6780
+ return /* @__PURE__ */ jsxs11(DropdownMenuRadioGroup, { ...props, children: [
6781
+ /* @__PURE__ */ jsx179(MenuLabel, { children: label }),
6782
+ children
6783
+ ] });
6784
+ };
6785
+ MenuRadioGroup.displayName = "MenuRadioGroup";
6786
+
6787
+ // src/components/Menu/RadioMenuItem.tsx
6788
+ import {
6789
+ DropdownMenuItemIndicator,
6790
+ DropdownMenuRadioItem
6791
+ } from "@radix-ui/react-dropdown-menu";
6792
+ import { jsx as jsx180 } from "react/jsx-runtime";
6793
+ var RadioMenuItem = ({
6794
+ onSelect,
6795
+ value,
6796
+ indicator = /* @__PURE__ */ jsx180(
6797
+ Icon,
6798
+ {
6799
+ size: "sm",
6800
+ type: "checkmark"
6801
+ }
6802
+ ),
6803
+ ...props
6804
+ }) => {
6805
+ const extraProps = onSelect ? { onSelect } : {};
6806
+ return /* @__PURE__ */ jsx180(
6807
+ DropdownMenuRadioItem,
6808
+ {
6809
+ ...extraProps,
6810
+ value,
6811
+ children: /* @__PURE__ */ jsx180(
6812
+ MenuItemButton,
6813
+ {
6814
+ ...props,
6815
+ rightIcon: /* @__PURE__ */ jsx180(DropdownMenuItemIndicator, { children: indicator })
6816
+ }
6817
+ )
6818
+ }
6819
+ );
6820
+ };
6821
+ RadioMenuItem.displayName = "RadioMenuItem";
6822
+
6823
+ // src/components/Menu/CheckboxMenuItem.tsx
6824
+ import {
6825
+ DropdownMenuItemIndicator as DropdownMenuItemIndicator2,
6826
+ DropdownMenuCheckboxItem
6827
+ } from "@radix-ui/react-dropdown-menu";
6828
+ import { jsx as jsx181 } from "react/jsx-runtime";
6829
+ var CheckboxMenuItem = ({
6830
+ onSelect,
6831
+ checked,
6832
+ onCheckedChange,
6833
+ indicator = /* @__PURE__ */ jsx181(
6834
+ Icon,
6835
+ {
6836
+ size: "sm",
6837
+ type: "checkmark"
6838
+ }
6839
+ ),
6840
+ ...props
6841
+ }) => {
6842
+ let extraProps = {};
6843
+ if (onSelect) {
6844
+ extraProps = {
6845
+ ...extraProps,
6846
+ onCheckedChange,
6847
+ onSelect
6848
+ };
6849
+ }
6850
+ return /* @__PURE__ */ jsx181(
6851
+ DropdownMenuCheckboxItem,
6852
+ {
6853
+ ...extraProps,
6854
+ checked,
6855
+ children: /* @__PURE__ */ jsx181(
6856
+ MenuItemButton,
6857
+ {
6858
+ ...props,
6859
+ rightIcon: /* @__PURE__ */ jsx181(DropdownMenuItemIndicator2, { children: indicator })
6860
+ }
6861
+ )
6862
+ }
6863
+ );
6864
+ };
6865
+ CheckboxMenuItem.displayName = "CheckboxMenuItem";
6866
+
6867
+ // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
6868
+ import styled23 from "styled-components";
6869
+ import { isNotNil as isNotNil8 } from "@wistia/type-guards";
6870
+ import { jsx as jsx182 } from "react/jsx-runtime";
6871
+ var VisuallyHidden = styled23.div({ ...visuallyHiddenStyle });
6872
+ var VisuallyHiddenButFocusable = styled23.div({
6873
+ "&:not(:focus-within)": visuallyHiddenStyle
6874
+ });
6875
+ var ScreenReaderOnly = ({
6876
+ text,
6877
+ children,
6878
+ focusable = false,
6879
+ ...otherProps
6880
+ }) => {
6881
+ const accessibleText = isNotNil8(text) ? text : children;
6882
+ if (focusable) {
6883
+ return /* @__PURE__ */ jsx182(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
6884
+ }
6885
+ return /* @__PURE__ */ jsx182(VisuallyHidden, { ...otherProps, children: accessibleText });
6886
+ };
6887
+ ScreenReaderOnly.displayName = "ScreenReaderOnly";
6888
+
6889
+ // src/components/Stack/Stack.tsx
6890
+ import { forwardRef as forwardRef10 } from "react";
6891
+ import styled24 from "styled-components";
6892
+ import { jsx as jsx183 } from "react/jsx-runtime";
6893
+ var DEFAULT_ELEMENT3 = "div";
6894
+ var StyledStack = styled24.div`
6895
+ display: flex;
6896
+ flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
6897
+ gap: ${({ $gap }) => `var(--${$gap})`};
6898
+
6899
+ > * {
6900
+ flex: 1;
6901
+ }
6902
+ `;
6903
+ var StackComponent = forwardRef10(
6904
+ ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
6905
+ const responsiveGap = useResponsiveProp(gap);
6906
+ const responsiveDirection = useResponsiveProp(direction);
6907
+ return /* @__PURE__ */ jsx183(
6908
+ StyledStack,
6909
+ {
6910
+ ref,
6911
+ $direction: responsiveDirection,
6912
+ $gap: responsiveGap,
6913
+ as: renderAs ?? DEFAULT_ELEMENT3,
6914
+ ...props
6915
+ }
6916
+ );
6917
+ }
6918
+ );
6919
+ StackComponent.displayName = "Stack";
6920
+ var Stack = makePolymorphic(StackComponent);
6921
+
6238
6922
  // src/components/WistiaLogo/WistiaLogo.tsx
6239
- import styled18 from "styled-components";
6240
- import { isNotNil as isNotNil7 } from "@wistia/type-guards";
6241
- import { jsx as jsx173, jsxs as jsxs7 } from "react/jsx-runtime";
6923
+ import styled25 from "styled-components";
6924
+ import { isNotNil as isNotNil9 } from "@wistia/type-guards";
6925
+ import { jsx as jsx184, jsxs as jsxs12 } from "react/jsx-runtime";
6242
6926
  var renderBrandmark = (brandmarkColor, iconOnly) => {
6243
6927
  if (iconOnly) {
6244
- return /* @__PURE__ */ jsx173("g", { fill: brandmarkColor, children: /* @__PURE__ */ jsx173("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" }) });
6928
+ return /* @__PURE__ */ jsx184(
6929
+ "g",
6930
+ {
6931
+ "data-testid": "ui-wistia-logo-brandmark",
6932
+ fill: brandmarkColor,
6933
+ children: /* @__PURE__ */ jsx184("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
6934
+ }
6935
+ );
6245
6936
  }
6246
- return /* @__PURE__ */ jsx173("g", { fill: brandmarkColor, children: /* @__PURE__ */ jsx173("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" }) });
6937
+ return /* @__PURE__ */ jsx184(
6938
+ "g",
6939
+ {
6940
+ "data-testid": "ui-wistia-logo-brandmark",
6941
+ fill: brandmarkColor,
6942
+ children: /* @__PURE__ */ jsx184("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
6943
+ }
6944
+ );
6247
6945
  };
6248
6946
  var renderLogotype = (logotypeColor, iconOnly) => {
6249
6947
  if (iconOnly) {
6250
6948
  return null;
6251
6949
  }
6252
- return /* @__PURE__ */ jsx173("g", { fill: logotypeColor, children: /* @__PURE__ */ jsx173("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" }) });
6950
+ return /* @__PURE__ */ jsx184(
6951
+ "g",
6952
+ {
6953
+ "data-testid": "ui-wistia-logo-logotype",
6954
+ fill: logotypeColor,
6955
+ children: /* @__PURE__ */ jsx184("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" })
6956
+ }
6957
+ );
6253
6958
  };
6254
6959
  var computedViewBox = (iconOnly) => {
6255
6960
  if (iconOnly) {
@@ -6257,7 +6962,7 @@ var computedViewBox = (iconOnly) => {
6257
6962
  }
6258
6963
  return "0 0 144 31.47";
6259
6964
  };
6260
- var WistiaLogoComponent = styled18.svg`
6965
+ var WistiaLogoComponent = styled25.svg`
6261
6966
  height: ${({ height }) => `${height}px`};
6262
6967
 
6263
6968
  /* ensure it will always fit on mobile */
@@ -6299,7 +7004,7 @@ var WistiaLogo = ({
6299
7004
  };
6300
7005
  const brandmarkColor = VARIANT_COLORS[variant].brandmark;
6301
7006
  const logotypeColor = VARIANT_COLORS[variant].logotype;
6302
- const Logo = /* @__PURE__ */ jsxs7(
7007
+ const Logo = /* @__PURE__ */ jsxs12(
6303
7008
  WistiaLogoComponent,
6304
7009
  {
6305
7010
  $hoverColor: hoverColor,
@@ -6309,14 +7014,14 @@ var WistiaLogo = ({
6309
7014
  xmlns: "http://www.w3.org/2000/svg",
6310
7015
  ...otherProps,
6311
7016
  children: [
6312
- /* @__PURE__ */ jsx173("title", { children: title }),
6313
- isNotNil7(description) ? /* @__PURE__ */ jsx173("desc", { children: description }) : null,
7017
+ /* @__PURE__ */ jsx184("title", { children: title }),
7018
+ isNotNil9(description) ? /* @__PURE__ */ jsx184("desc", { children: description }) : null,
6314
7019
  renderBrandmark(brandmarkColor, iconOnly),
6315
7020
  renderLogotype(logotypeColor, iconOnly)
6316
7021
  ]
6317
7022
  }
6318
7023
  );
6319
- return href !== void 0 ? /* @__PURE__ */ jsx173("a", { href, children: Logo }) : Logo;
7024
+ return href !== void 0 ? /* @__PURE__ */ jsx184("a", { href, children: Logo }) : Logo;
6320
7025
  };
6321
7026
  WistiaLogo.displayName = "WistiaLogo";
6322
7027
  export {
@@ -6325,6 +7030,8 @@ export {
6325
7030
  Box,
6326
7031
  Button,
6327
7032
  ButtonGroup,
7033
+ Checkbox,
7034
+ CheckboxMenuItem,
6328
7035
  ColorSchemeWrapper,
6329
7036
  Divider,
6330
7037
  Ellipsis,
@@ -6333,8 +7040,16 @@ export {
6333
7040
  IconButton,
6334
7041
  Label,
6335
7042
  Link,
7043
+ Menu,
7044
+ MenuItem,
7045
+ MenuItemDescription,
7046
+ MenuItemLabel,
7047
+ MenuLabel,
7048
+ MenuRadioGroup,
7049
+ RadioMenuItem,
6336
7050
  ScreenReaderOnly,
6337
7051
  Stack,
7052
+ SubMenu,
6338
7053
  Text,
6339
7054
  Tooltip,
6340
7055
  UIProvider,