@wistia/ui 0.0.15 → 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.15
3
+ * @license @wistia/ui v0.0.16
4
4
  *
5
5
  * Copyright (c) 2024-2024, Wistia, Inc. and its affiliates.
6
6
  *
@@ -5477,6 +5477,7 @@ var StyledButton = styled7.button`
5477
5477
  ${({ $unstyled }) => !$unstyled && buttonBaseStyles}
5478
5478
  ${({ $fullWidth }) => $fullWidth && "width: 100%;"}
5479
5479
  position: relative;
5480
+ text-align: center;
5480
5481
  `;
5481
5482
  var StyledButtonContent = styled7.div`
5482
5483
  align-items: center;
@@ -5492,7 +5493,6 @@ var StyledButtonContent = styled7.div`
5492
5493
  `;
5493
5494
  var StyledButtonContentLabel = styled7.span`
5494
5495
  flex: 1;
5495
- text-align: center;
5496
5496
  `;
5497
5497
  var StyledButtonLoading = styled7.div`
5498
5498
  position: absolute;
@@ -5664,14 +5664,237 @@ var ButtonGroup = ({
5664
5664
  };
5665
5665
  ButtonGroup.displayName = "ButtonGroup";
5666
5666
 
5667
- // src/components/Divider/Divider.tsx
5668
- 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";
5669
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";
5670
5893
  var sizeToPixelMap = {
5671
5894
  lg: 4,
5672
5895
  sm: 1
5673
5896
  };
5674
- var DividerComponent = styled9.hr`
5897
+ var DividerComponent = styled12.hr`
5675
5898
  background: none;
5676
5899
  border-bottom: none;
5677
5900
  border-left: none;
@@ -5686,7 +5909,7 @@ var DividerComponent = styled9.hr`
5686
5909
  `;
5687
5910
  var Divider = ({ size = "sm", ...otherProps }) => {
5688
5911
  const responsiveSize = useResponsiveProp(size);
5689
- return /* @__PURE__ */ jsx164(
5912
+ return /* @__PURE__ */ jsx167(
5690
5913
  DividerComponent,
5691
5914
  {
5692
5915
  $borderHeight: sizeToPixelMap[responsiveSize],
@@ -5698,9 +5921,9 @@ Divider.displayName = "Divider";
5698
5921
 
5699
5922
  // src/components/Ellipsis/Ellipsis.tsx
5700
5923
  import { isNotNil as isNotNil5 } from "@wistia/type-guards";
5701
- import styled10, { css as css12 } from "styled-components";
5702
- import { jsx as jsx165 } from "react/jsx-runtime";
5703
- 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`
5704
5927
  overflow: hidden;
5705
5928
  text-overflow: ellipsis;
5706
5929
  white-space: nowrap;
@@ -5723,14 +5946,14 @@ var ellipsisStyle = css12`
5723
5946
  }
5724
5947
  }
5725
5948
  `;
5726
- var ellipsisFlexParentStyle = css12`
5949
+ var ellipsisFlexParentStyle = css13`
5727
5950
  min-width: 0;
5728
5951
  `;
5729
- var EllipsisComponent = styled10.div`
5952
+ var EllipsisComponent = styled13.div`
5730
5953
  ${ellipsisStyle};
5731
5954
  ${({ $lines }) => {
5732
5955
  if (isNotNil5($lines)) {
5733
- return css12`
5956
+ return css13`
5734
5957
  -webkit-box-orient: vertical;
5735
5958
  -webkit-line-clamp: ${$lines};
5736
5959
  display: -webkit-box;
@@ -5740,7 +5963,7 @@ var EllipsisComponent = styled10.div`
5740
5963
  return void 0;
5741
5964
  }}
5742
5965
  `;
5743
- var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx165(
5966
+ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx168(
5744
5967
  EllipsisComponent,
5745
5968
  {
5746
5969
  $lines: lines,
@@ -5751,8 +5974,8 @@ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx165(
5751
5974
  Ellipsis.displayName = "Ellipsis";
5752
5975
 
5753
5976
  // src/components/Heading/Heading.tsx
5754
- import { forwardRef as forwardRef4 } from "react";
5755
- import styled11, { css as css13 } from "styled-components";
5977
+ import { forwardRef as forwardRef5 } from "react";
5978
+ import styled14, { css as css14 } from "styled-components";
5756
5979
 
5757
5980
  // src/private/helpers/makePolymorphic/makePolymorphic.tsx
5758
5981
  var makePolymorphic = (component) => {
@@ -5760,44 +5983,44 @@ var makePolymorphic = (component) => {
5760
5983
  };
5761
5984
 
5762
5985
  // src/components/Heading/Heading.tsx
5763
- import { jsx as jsx166 } from "react/jsx-runtime";
5764
- var heroStyle = css13`
5986
+ import { jsx as jsx169 } from "react/jsx-runtime";
5987
+ var heroStyle = css14`
5765
5988
  --font-family: var(--typography-heading-hero-family);
5766
5989
  --font-size: var(--typography-heading-hero-size);
5767
5990
  --font-weight: var(--typography-heading-hero-weight);
5768
5991
  --line-height: var(--typography-heading-hero-line-height);
5769
5992
  `;
5770
- var heading1TextStyle = css13`
5993
+ var heading1TextStyle = css14`
5771
5994
  --font-family: var(--typography-heading-1-family);
5772
5995
  --font-size: var(--typography-heading-1-size);
5773
5996
  --font-weight: var(--typography-heading-1-weight);
5774
5997
  --line-height: var(--typography-heading-1-line-height);
5775
5998
  `;
5776
- var heading2TextStyle = css13`
5999
+ var heading2TextStyle = css14`
5777
6000
  --font-family: var(--typography-heading-2-family);
5778
6001
  --font-size: var(--typography-heading-2-size);
5779
6002
  --font-weight: var(--typography-heading-2-weight);
5780
6003
  --line-height: var(--typography-heading-2-line-height);
5781
6004
  `;
5782
- var heading3TextStyle = css13`
6005
+ var heading3TextStyle = css14`
5783
6006
  --font-family: var(--typography-heading-3-family);
5784
6007
  --font-size: var(--typography-heading-3-size);
5785
6008
  --font-weight: var(--typography-heading-3-weight);
5786
6009
  --line-height: var(--typography-heading-3-line-height);
5787
6010
  `;
5788
- var heading4TextStyle = css13`
6011
+ var heading4TextStyle = css14`
5789
6012
  --font-family: var(--typography-heading-4-family);
5790
6013
  --font-size: var(--typography-heading-4-size);
5791
6014
  --font-weight: var(--typography-heading-4-weight);
5792
6015
  --line-height: var(--typography-heading-4-line-height);
5793
6016
  `;
5794
- var heading5TextStyle = css13`
6017
+ var heading5TextStyle = css14`
5795
6018
  --font-family: var(--typography-heading-5-family);
5796
6019
  --font-size: var(--typography-heading-5-size);
5797
6020
  --font-weight: var(--typography-heading-5-weight);
5798
6021
  --line-height: var(--typography-heading-5-line-height);
5799
6022
  `;
5800
- var heading6TextStyle = css13`
6023
+ var heading6TextStyle = css14`
5801
6024
  --font-family: var(--typography-heading-6-family);
5802
6025
  --font-size: var(--typography-heading-6-size);
5803
6026
  --font-weight: var(--typography-heading-6-weight);
@@ -5813,7 +6036,7 @@ var variantStyleMap = {
5813
6036
  heading6: heading6TextStyle
5814
6037
  };
5815
6038
  var DEFAULT_ELEMENT = "h1";
5816
- var StyledHeading = styled11.div`
6039
+ var StyledHeading = styled14.div`
5817
6040
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
5818
6041
  font-family: var(--font-family);
5819
6042
  font-size: var(--font-size);
@@ -5822,16 +6045,16 @@ var StyledHeading = styled11.div`
5822
6045
  color: var(--color-text);
5823
6046
  ${({ $variant }) => variantStyleMap[$variant]}
5824
6047
  ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
5825
- ${({ $inline }) => $inline && css13`
6048
+ ${({ $inline }) => $inline && css14`
5826
6049
  display: inline-block;
5827
6050
  `}
5828
- ${({ $disabled }) => $disabled && css13`
6051
+ ${({ $disabled }) => $disabled && css14`
5829
6052
  color: var(--color-text-disabled);
5830
6053
  `}
5831
- ${({ $preventUserSelect }) => $preventUserSelect && css13`
6054
+ ${({ $preventUserSelect }) => $preventUserSelect && css14`
5832
6055
  user-select: none;
5833
6056
  `}
5834
- ${({ $align }) => css13`
6057
+ ${({ $align }) => css14`
5835
6058
  text-align: ${$align};
5836
6059
  `}
5837
6060
  margin: 0;
@@ -5845,7 +6068,7 @@ var variantElementMap = {
5845
6068
  heading5: "h5",
5846
6069
  heading6: "h6"
5847
6070
  };
5848
- var HeadingComponent = forwardRef4(
6071
+ var HeadingComponent = forwardRef5(
5849
6072
  ({
5850
6073
  align = "left",
5851
6074
  colorScheme = "inherit",
@@ -5856,7 +6079,7 @@ var HeadingComponent = forwardRef4(
5856
6079
  variant = "heading1",
5857
6080
  renderAs,
5858
6081
  ...otherProps
5859
- }, ref) => /* @__PURE__ */ jsx166(
6082
+ }, ref) => /* @__PURE__ */ jsx169(
5860
6083
  StyledHeading,
5861
6084
  {
5862
6085
  ref,
@@ -5876,8 +6099,8 @@ HeadingComponent.displayName = "Heading";
5876
6099
  var Heading = makePolymorphic(HeadingComponent);
5877
6100
 
5878
6101
  // src/components/IconButton/IconButton.tsx
5879
- import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef5 } from "react";
5880
- import styled13 from "styled-components";
6102
+ import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef6 } from "react";
6103
+ import styled16 from "styled-components";
5881
6104
 
5882
6105
  // src/components/Tooltip/Tooltip.tsx
5883
6106
  import {
@@ -5887,16 +6110,16 @@ import {
5887
6110
  Portal,
5888
6111
  Arrow
5889
6112
  } from "@radix-ui/react-tooltip";
5890
- import styled12, { css as css14 } from "styled-components";
5891
- import { jsx as jsx167, jsxs as jsxs6 } from "react/jsx-runtime";
5892
- 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`
5893
6116
  --tooltip-font-size: var(--typography-label-4-size);
5894
6117
  --tooltip-line-height: var(--typography-label-4-line-height);
5895
6118
  --tooltip-font-weight: var(--typography-label-4-weight);
5896
6119
  --tooltip-horizontal-padding: var(--space-02);
5897
6120
  --tooltip-vertical-padding: var(--space-03);
5898
6121
  `;
5899
- var StyledContent = styled12(Content)`
6122
+ var StyledContent = styled15(Content)`
5900
6123
  --tooltip-font-family: var(--typography-family-default);
5901
6124
  --tooltip-border-radius: var(--border-radius-05);
5902
6125
  --tooltip-bg: var(--color-bg-tooltip);
@@ -5954,14 +6177,14 @@ var Tooltip = ({
5954
6177
  if (forceOpen === true) {
5955
6178
  rootProps.open = true;
5956
6179
  }
5957
- return /* @__PURE__ */ jsxs6(
6180
+ return /* @__PURE__ */ jsxs7(
5958
6181
  Root,
5959
6182
  {
5960
6183
  delayDuration: delay,
5961
6184
  ...rootProps,
5962
6185
  children: [
5963
- /* @__PURE__ */ jsx167(Trigger, { asChild: true, children }),
5964
- /* @__PURE__ */ jsx167(Portal, { children: /* @__PURE__ */ jsxs6(
6186
+ /* @__PURE__ */ jsx170(Trigger, { asChild: true, children }),
6187
+ /* @__PURE__ */ jsx170(Portal, { children: /* @__PURE__ */ jsxs7(
5965
6188
  StyledContent,
5966
6189
  {
5967
6190
  $compact: compact,
@@ -5969,7 +6192,7 @@ var Tooltip = ({
5969
6192
  sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
5970
6193
  children: [
5971
6194
  content,
5972
- !hideArrow ? /* @__PURE__ */ jsx167(Arrow, { asChild: true, children: /* @__PURE__ */ jsx167(
6195
+ !hideArrow ? /* @__PURE__ */ jsx170(Arrow, { asChild: true, children: /* @__PURE__ */ jsx170(
5973
6196
  "svg",
5974
6197
  {
5975
6198
  fill: "var(--tooltip-bg)",
@@ -5978,7 +6201,7 @@ var Tooltip = ({
5978
6201
  viewBox: "0 0 12 8",
5979
6202
  width: "12",
5980
6203
  xmlns: "http://www.w3.org/2000/svg",
5981
- 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" })
5982
6205
  }
5983
6206
  ) }) : null
5984
6207
  ]
@@ -5991,8 +6214,8 @@ var Tooltip = ({
5991
6214
  Tooltip.displayName = "Tooltip";
5992
6215
 
5993
6216
  // src/components/IconButton/IconButton.tsx
5994
- import { jsx as jsx168 } from "react/jsx-runtime";
5995
- var StyledButton2 = styled13(Button)`
6217
+ import { jsx as jsx171 } from "react/jsx-runtime";
6218
+ var StyledButton2 = styled16(Button)`
5996
6219
  --icon-button-size-sm: 24px;
5997
6220
  --icon-button-size-md: 32px;
5998
6221
  --icon-button-size-lg: 40px;
@@ -6006,10 +6229,10 @@ var StyledButton2 = styled13(Button)`
6006
6229
  align-items: center;
6007
6230
  line-height: 1;
6008
6231
  `;
6009
- var IconButton = forwardRef5(
6232
+ var IconButton = forwardRef6(
6010
6233
  ({ children, label, disableTooltip = false, size = "md", ...props }, ref) => {
6011
6234
  const responsiveSize = useResponsiveProp(size);
6012
- const button = /* @__PURE__ */ jsx168(
6235
+ const button = /* @__PURE__ */ jsx171(
6013
6236
  StyledButton2,
6014
6237
  {
6015
6238
  ...props,
@@ -6025,211 +6248,217 @@ var IconButton = forwardRef5(
6025
6248
  if (disableTooltip) {
6026
6249
  return button;
6027
6250
  }
6028
- return /* @__PURE__ */ jsx168(Tooltip, { content: label, children: button });
6251
+ return /* @__PURE__ */ jsx171(Tooltip, { content: label, children: button });
6029
6252
  }
6030
6253
  );
6031
6254
  IconButton.displayName = "IconButton";
6032
6255
 
6033
- // src/components/Label/Label.tsx
6034
- import styled14, { css as css15 } from "styled-components";
6035
- import { jsx as jsx169 } from "react/jsx-runtime";
6036
- var requiredStyle = css15`
6037
- &::after {
6038
- color: red; /* TODO need a color for this */
6039
- display: inline;
6040
- padding-left: var(--space-01);
6041
- 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);
6042
6274
  }
6043
6275
  `;
6044
- var disabledStyle = css15`
6045
- 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
+ }
6046
6285
  `;
6047
- var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
6048
- var StyledLabel = styled14.label`
6049
- display: inline-block;
6050
- font-size: var(--typography-label-1-size);
6051
- font-weight: var(--typography-label-1-weight);
6052
- line-height: var(--typography-label-1-line-height);
6053
- margin-bottom: ${SPACE_BETWEEN_LABEL_AND_INPUT};
6054
- cursor: inherit;
6055
- width: 100%;
6056
-
6057
- /* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
6058
- > input,
6059
- > textarea,
6060
- > select {
6061
- display: block;
6062
- 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 */
6063
6311
  }
6064
6312
 
6065
- > label {
6066
- font-weight: normal;
6313
+ ${mq.smAndUp} {
6314
+ bottom: 0;
6315
+ padding: var(--menu-padding);
6316
+ right: 0;
6317
+ top: 0;
6318
+ transform: initial;
6067
6319
  }
6068
6320
 
6069
- ${({ screenReaderOnly }) => screenReaderOnly && visuallyHiddenStyle}
6070
- ${({ disabled }) => disabled && disabledStyle}
6071
- ${({ required }) => required && requiredStyle}
6072
- `;
6073
- var Label = ({
6074
- children,
6075
- disabled = false,
6076
- htmlFor,
6077
- required = false,
6078
- screenReaderOnly = false,
6079
- ...otherProps
6080
- }) => /* @__PURE__ */ jsx169(
6081
- StyledLabel,
6082
- {
6083
- disabled,
6084
- htmlFor,
6085
- required,
6086
- screenReaderOnly,
6087
- ...otherProps,
6088
- children
6321
+ hr {
6322
+ margin: var(--space-02) 0;
6089
6323
  }
6090
- );
6091
- Label.displayName = "Label";
6092
-
6093
- // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
6094
- import styled15 from "styled-components";
6095
- import { isNotNil as isNotNil6 } from "@wistia/type-guards";
6096
- import { jsx as jsx170 } from "react/jsx-runtime";
6097
- var VisuallyHidden = styled15.div({ ...visuallyHiddenStyle });
6098
- var VisuallyHiddenButFocusable = styled15.div({
6099
- "&:not(:focus-within)": visuallyHiddenStyle
6100
- });
6101
- var ScreenReaderOnly = ({
6102
- text,
6324
+ `;
6325
+ var MenuContent = styled17(DropdownMenuContent)`
6326
+ ${menuContentCss}
6327
+ `;
6328
+ var Menu = ({
6329
+ align = "start",
6103
6330
  children,
6104
- focusable = false,
6105
- ...otherProps
6331
+ trigger,
6332
+ label,
6333
+ isOpen,
6334
+ triggerProps = {},
6335
+ onOpenChange,
6336
+ onInteractOutside,
6337
+ ...props
6106
6338
  }) => {
6107
- const accessibleText = isNotNil6(text) ? text : children;
6108
- if (focusable) {
6109
- return /* @__PURE__ */ jsx170(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
6110
- }
6111
- 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
+ );
6112
6370
  };
6113
- ScreenReaderOnly.displayName = "ScreenReaderOnly";
6371
+ Menu.displayName = "Menu";
6114
6372
 
6115
- // src/components/Stack/Stack.tsx
6116
- import { forwardRef as forwardRef6 } from "react";
6117
- import styled16 from "styled-components";
6118
- import { jsx as jsx171 } from "react/jsx-runtime";
6119
- var DEFAULT_ELEMENT2 = "div";
6120
- var StyledStack = styled16.div`
6121
- display: flex;
6122
- flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
6123
- gap: ${({ $gap }) => `var(--${$gap})`};
6124
-
6125
- > * {
6126
- flex: 1;
6127
- }
6128
- `;
6129
- var StackComponent = forwardRef6(
6130
- ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
6131
- const responsiveGap = useResponsiveProp(gap);
6132
- const responsiveDirection = useResponsiveProp(direction);
6133
- return /* @__PURE__ */ jsx171(
6134
- StyledStack,
6135
- {
6136
- ref,
6137
- $direction: responsiveDirection,
6138
- $gap: responsiveGap,
6139
- as: renderAs ?? DEFAULT_ELEMENT2,
6140
- ...props
6141
- }
6142
- );
6143
- }
6144
- );
6145
- StackComponent.displayName = "Stack";
6146
- 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";
6147
6376
 
6148
6377
  // src/components/Text/Text.tsx
6149
6378
  import { forwardRef as forwardRef7 } from "react";
6150
- import styled17, { css as css16 } from "styled-components";
6151
- import { jsx as jsx172 } from "react/jsx-runtime";
6152
- 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`
6153
6382
  > strong,
6154
6383
  b {
6155
6384
  font-weight: var(--typography-weight-body-bold);
6156
6385
  }
6157
6386
  `;
6158
- var labelBoldStyles = css16`
6387
+ var labelBoldStyles = css17`
6159
6388
  > strong,
6160
6389
  b {
6161
6390
  font-weight: var(--typography-weight-label-bold);
6162
6391
  }
6163
6392
  `;
6164
- var body1TextStyle = css16`
6393
+ var body1TextStyle = css17`
6165
6394
  --font-family: var(--typography-body-1-family);
6166
6395
  --font-size: var(--typography-body-1-size);
6167
6396
  --font-weight: var(--typography-body-1-weight);
6168
6397
  --line-height: var(--typography-body-1-line-height);
6169
6398
  ${bodyBoldStyles}
6170
6399
  `;
6171
- var body2TextStyle = css16`
6400
+ var body2TextStyle = css17`
6172
6401
  --font-family: var(--typography-body-2-family);
6173
6402
  --font-size: var(--typography-body-2-size);
6174
6403
  --font-weight: var(--typography-body-2-weight);
6175
6404
  --line-height: var(--typography-body-2-line-height);
6176
6405
  ${bodyBoldStyles}
6177
6406
  `;
6178
- var body3TextStyle = css16`
6407
+ var body3TextStyle = css17`
6179
6408
  --font-family: var(--typography-body-3-family);
6180
6409
  --font-size: var(--typography-body-3-size);
6181
6410
  --font-weight: var(--typography-body-3-weight);
6182
6411
  --line-height: var(--typography-body-3-line-height);
6183
6412
  ${bodyBoldStyles}
6184
6413
  `;
6185
- var body4TextStyle = css16`
6414
+ var body4TextStyle = css17`
6186
6415
  --font-family: var(--typography-body-4-family);
6187
6416
  --font-size: var(--typography-body-4-size);
6188
6417
  --font-weight: var(--typography-body-4-weight);
6189
6418
  --line-height: var(--typography-body-4-line-height);
6190
6419
  ${bodyBoldStyles}
6191
6420
  `;
6192
- var label1TextStyle = css16`
6421
+ var label1TextStyle = css17`
6193
6422
  --font-family: var(--typography-label-1-family);
6194
6423
  --font-size: var(--typography-label-1-size);
6195
6424
  --font-weight: var(--typography-label-1-weight);
6196
6425
  --line-height: var(--typography-label-1-line-height);
6197
6426
  ${labelBoldStyles}
6198
6427
  `;
6199
- var label2TextStyle = css16`
6428
+ var label2TextStyle = css17`
6200
6429
  --font-family: var(--typography-label-2-family);
6201
6430
  --font-size: var(--typography-label-2-size);
6202
6431
  --font-weight: var(--typography-label-2-weight);
6203
6432
  --line-height: var(--typography-label-2-line-height);
6204
6433
  ${labelBoldStyles}
6205
6434
  `;
6206
- var label3TextStyle = css16`
6435
+ var label3TextStyle = css17`
6207
6436
  --font-family: var(--typography-label-3-family);
6208
6437
  --font-size: var(--typography-label-3-size);
6209
6438
  --font-weight: var(--typography-label-3-weight);
6210
6439
  --line-height: var(--typography-label-3-line-height);
6211
6440
  ${labelBoldStyles}
6212
6441
  `;
6213
- var label4TextStyle = css16`
6442
+ var label4TextStyle = css17`
6214
6443
  --font-family: var(--typography-label-4-family);
6215
6444
  --font-size: var(--typography-label-4-size);
6216
6445
  --font-weight: var(--typography-label-4-weight);
6217
6446
  --line-height: var(--typography-label-4-line-height);
6218
6447
  ${labelBoldStyles}
6219
6448
  `;
6220
- var body1MonoTextStyle = css16`
6449
+ var body1MonoTextStyle = css17`
6221
6450
  ${body1TextStyle};
6222
6451
  --font-family: var(--typography-family-mono);
6223
6452
  `;
6224
- var body2MonoTextStyle = css16`
6453
+ var body2MonoTextStyle = css17`
6225
6454
  ${body2TextStyle};
6226
6455
  --font-family: var(--typography-family-mono);
6227
6456
  `;
6228
- var body3MonoTextStyle = css16`
6457
+ var body3MonoTextStyle = css17`
6229
6458
  ${body3TextStyle};
6230
6459
  --font-family: var(--typography-family-mono);
6231
6460
  `;
6232
- var body4MonoTextStyle = css16`
6461
+ var body4MonoTextStyle = css17`
6233
6462
  ${body4TextStyle};
6234
6463
  --font-family: var(--typography-family-mono);
6235
6464
  `;
@@ -6247,13 +6476,13 @@ var variantStyleMap2 = {
6247
6476
  label3: label3TextStyle,
6248
6477
  label4: label4TextStyle
6249
6478
  };
6250
- var highContrastProminenceStyle = css16`
6479
+ var highContrastProminenceStyle = css17`
6251
6480
  --text-color: var(--color-text-high-contrast);
6252
6481
  `;
6253
- var vibrantProminenceStyle = css16`
6482
+ var vibrantProminenceStyle = css17`
6254
6483
  --text-color: var(--color-text);
6255
6484
  `;
6256
- var secondaryProminenceStyle = css16`
6485
+ var secondaryProminenceStyle = css17`
6257
6486
  --text-color: var(--color-text-secondary);
6258
6487
  `;
6259
6488
  var prominenceMap = {
@@ -6261,7 +6490,7 @@ var prominenceMap = {
6261
6490
  vibrant: vibrantProminenceStyle,
6262
6491
  secondary: secondaryProminenceStyle
6263
6492
  };
6264
- var StyledText = styled17.div`
6493
+ var StyledText = styled18.div`
6265
6494
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
6266
6495
  font-family: var(--font-family);
6267
6496
  font-size: var(--font-size);
@@ -6273,23 +6502,23 @@ var StyledText = styled17.div`
6273
6502
  ${({ $variant }) => variantStyleMap2[$variant]}
6274
6503
  ${({ $prominence }) => prominenceMap[$prominence]}
6275
6504
  ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
6276
- ${({ $inline }) => $inline && css16`
6505
+ ${({ $inline }) => $inline && css17`
6277
6506
  display: inline-block;
6278
6507
  `}
6279
- ${({ $disabled }) => $disabled && css16`
6508
+ ${({ $disabled }) => $disabled && css17`
6280
6509
  --text-color: var(--color-text-disabled);
6281
6510
  `}
6282
- ${({ $preventUserSelect }) => $preventUserSelect && css16`
6511
+ ${({ $preventUserSelect }) => $preventUserSelect && css17`
6283
6512
  user-select: none;
6284
6513
  `}
6285
- ${({ $align }) => css16`
6514
+ ${({ $align }) => css17`
6286
6515
  text-align: ${$align};
6287
6516
  `}
6288
- ${({ as }) => as === "p" && css16`
6517
+ ${({ as }) => as === "p" && css17`
6289
6518
  display: block;
6290
6519
  `}
6291
6520
  `;
6292
- var DEFAULT_ELEMENT3 = "div";
6521
+ var DEFAULT_ELEMENT2 = "div";
6293
6522
  var TextComponent = forwardRef7(
6294
6523
  ({
6295
6524
  align = "left",
@@ -6303,7 +6532,7 @@ var TextComponent = forwardRef7(
6303
6532
  renderAs,
6304
6533
  ...otherProps
6305
6534
  }, ref) => {
6306
- return /* @__PURE__ */ jsx172(
6535
+ return /* @__PURE__ */ jsx173(
6307
6536
  StyledText,
6308
6537
  {
6309
6538
  ref,
@@ -6315,7 +6544,7 @@ var TextComponent = forwardRef7(
6315
6544
  $preventUserSelect: preventUserSelect,
6316
6545
  $prominence: prominence,
6317
6546
  $variant: variant,
6318
- as: renderAs ?? DEFAULT_ELEMENT3,
6547
+ as: renderAs ?? DEFAULT_ELEMENT2,
6319
6548
  ...otherProps
6320
6549
  }
6321
6550
  );
@@ -6324,21 +6553,408 @@ var TextComponent = forwardRef7(
6324
6553
  TextComponent.displayName = "Text";
6325
6554
  var Text = makePolymorphic(TextComponent);
6326
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
+
6327
6922
  // src/components/WistiaLogo/WistiaLogo.tsx
6328
- import styled18 from "styled-components";
6329
- import { isNotNil as isNotNil7 } from "@wistia/type-guards";
6330
- 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";
6331
6926
  var renderBrandmark = (brandmarkColor, iconOnly) => {
6332
6927
  if (iconOnly) {
6333
- 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
+ );
6334
6936
  }
6335
- 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
+ );
6336
6945
  };
6337
6946
  var renderLogotype = (logotypeColor, iconOnly) => {
6338
6947
  if (iconOnly) {
6339
6948
  return null;
6340
6949
  }
6341
- 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
+ );
6342
6958
  };
6343
6959
  var computedViewBox = (iconOnly) => {
6344
6960
  if (iconOnly) {
@@ -6346,7 +6962,7 @@ var computedViewBox = (iconOnly) => {
6346
6962
  }
6347
6963
  return "0 0 144 31.47";
6348
6964
  };
6349
- var WistiaLogoComponent = styled18.svg`
6965
+ var WistiaLogoComponent = styled25.svg`
6350
6966
  height: ${({ height }) => `${height}px`};
6351
6967
 
6352
6968
  /* ensure it will always fit on mobile */
@@ -6388,7 +7004,7 @@ var WistiaLogo = ({
6388
7004
  };
6389
7005
  const brandmarkColor = VARIANT_COLORS[variant].brandmark;
6390
7006
  const logotypeColor = VARIANT_COLORS[variant].logotype;
6391
- const Logo = /* @__PURE__ */ jsxs7(
7007
+ const Logo = /* @__PURE__ */ jsxs12(
6392
7008
  WistiaLogoComponent,
6393
7009
  {
6394
7010
  $hoverColor: hoverColor,
@@ -6398,14 +7014,14 @@ var WistiaLogo = ({
6398
7014
  xmlns: "http://www.w3.org/2000/svg",
6399
7015
  ...otherProps,
6400
7016
  children: [
6401
- /* @__PURE__ */ jsx173("title", { children: title }),
6402
- isNotNil7(description) ? /* @__PURE__ */ jsx173("desc", { children: description }) : null,
7017
+ /* @__PURE__ */ jsx184("title", { children: title }),
7018
+ isNotNil9(description) ? /* @__PURE__ */ jsx184("desc", { children: description }) : null,
6403
7019
  renderBrandmark(brandmarkColor, iconOnly),
6404
7020
  renderLogotype(logotypeColor, iconOnly)
6405
7021
  ]
6406
7022
  }
6407
7023
  );
6408
- return href !== void 0 ? /* @__PURE__ */ jsx173("a", { href, children: Logo }) : Logo;
7024
+ return href !== void 0 ? /* @__PURE__ */ jsx184("a", { href, children: Logo }) : Logo;
6409
7025
  };
6410
7026
  WistiaLogo.displayName = "WistiaLogo";
6411
7027
  export {
@@ -6414,6 +7030,8 @@ export {
6414
7030
  Box,
6415
7031
  Button,
6416
7032
  ButtonGroup,
7033
+ Checkbox,
7034
+ CheckboxMenuItem,
6417
7035
  ColorSchemeWrapper,
6418
7036
  Divider,
6419
7037
  Ellipsis,
@@ -6422,8 +7040,16 @@ export {
6422
7040
  IconButton,
6423
7041
  Label,
6424
7042
  Link,
7043
+ Menu,
7044
+ MenuItem,
7045
+ MenuItemDescription,
7046
+ MenuItemLabel,
7047
+ MenuLabel,
7048
+ MenuRadioGroup,
7049
+ RadioMenuItem,
6425
7050
  ScreenReaderOnly,
6426
7051
  Stack,
7052
+ SubMenu,
6427
7053
  Text,
6428
7054
  Tooltip,
6429
7055
  UIProvider,