@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.cjs 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
  *
@@ -44,6 +44,8 @@ __export(src_exports, {
44
44
  Box: () => Box,
45
45
  Button: () => Button,
46
46
  ButtonGroup: () => ButtonGroup,
47
+ Checkbox: () => Checkbox,
48
+ CheckboxMenuItem: () => CheckboxMenuItem,
47
49
  ColorSchemeWrapper: () => ColorSchemeWrapper,
48
50
  Divider: () => Divider,
49
51
  Ellipsis: () => Ellipsis,
@@ -52,8 +54,16 @@ __export(src_exports, {
52
54
  IconButton: () => IconButton,
53
55
  Label: () => Label,
54
56
  Link: () => Link,
57
+ Menu: () => Menu,
58
+ MenuItem: () => MenuItem,
59
+ MenuItemDescription: () => MenuItemDescription,
60
+ MenuItemLabel: () => MenuItemLabel,
61
+ MenuLabel: () => MenuLabel,
62
+ MenuRadioGroup: () => MenuRadioGroup,
63
+ RadioMenuItem: () => RadioMenuItem,
55
64
  ScreenReaderOnly: () => ScreenReaderOnly,
56
65
  Stack: () => Stack,
66
+ SubMenu: () => SubMenu,
57
67
  Text: () => Text,
58
68
  Tooltip: () => Tooltip,
59
69
  UIProvider: () => UIProvider,
@@ -5540,6 +5550,7 @@ var StyledButton = import_styled_components19.default.button`
5540
5550
  ${({ $unstyled }) => !$unstyled && buttonBaseStyles}
5541
5551
  ${({ $fullWidth }) => $fullWidth && "width: 100%;"}
5542
5552
  position: relative;
5553
+ text-align: center;
5543
5554
  `;
5544
5555
  var StyledButtonContent = import_styled_components19.default.div`
5545
5556
  align-items: center;
@@ -5555,7 +5566,6 @@ var StyledButtonContent = import_styled_components19.default.div`
5555
5566
  `;
5556
5567
  var StyledButtonContentLabel = import_styled_components19.default.span`
5557
5568
  flex: 1;
5558
- text-align: center;
5559
5569
  `;
5560
5570
  var StyledButtonLoading = import_styled_components19.default.div`
5561
5571
  position: absolute;
@@ -5727,14 +5737,237 @@ var ButtonGroup = ({
5727
5737
  };
5728
5738
  ButtonGroup.displayName = "ButtonGroup";
5729
5739
 
5730
- // src/components/Divider/Divider.tsx
5740
+ // src/components/Checkbox/Checkbox.tsx
5741
+ var import_react11 = require("react");
5742
+ var import_react_checkbox = require("@radix-ui/react-checkbox");
5743
+ var import_styled_components23 = __toESM(require("styled-components"));
5744
+ var import_type_guards15 = require("@wistia/type-guards");
5745
+
5746
+ // src/components/Label/Label.tsx
5731
5747
  var import_styled_components21 = __toESM(require("styled-components"));
5732
5748
  var import_jsx_runtime164 = require("react/jsx-runtime");
5749
+ var requiredStyle = import_styled_components21.css`
5750
+ &::after {
5751
+ color: var(--color-text-error);
5752
+ display: inline;
5753
+ padding-left: var(--space-01);
5754
+ content: '*';
5755
+ }
5756
+ `;
5757
+ var disabledStyle = import_styled_components21.css`
5758
+ color: var(--color-text-disabled);
5759
+ `;
5760
+ var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
5761
+ var StyledLabel = import_styled_components21.default.label`
5762
+ display: inline-block;
5763
+ font-size: var(--typography-label-1-size);
5764
+ font-weight: var(--typography-label-1-weight);
5765
+ line-height: var(--typography-label-1-line-height);
5766
+ cursor: inherit;
5767
+ width: 100%;
5768
+
5769
+ /* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
5770
+ > input,
5771
+ > textarea,
5772
+ > select {
5773
+ display: block;
5774
+ margin-top: ${SPACE_BETWEEN_LABEL_AND_INPUT};
5775
+ }
5776
+
5777
+ > label {
5778
+ font-weight: normal;
5779
+ }
5780
+
5781
+ ${({ $screenReaderOnly }) => $screenReaderOnly && visuallyHiddenStyle}
5782
+ ${({ disabled }) => disabled && disabledStyle}
5783
+ ${({ required }) => required && requiredStyle}
5784
+ `;
5785
+ var Label = ({
5786
+ children,
5787
+ disabled = false,
5788
+ htmlFor,
5789
+ required = false,
5790
+ screenReaderOnly = false,
5791
+ ...otherProps
5792
+ }) => /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
5793
+ StyledLabel,
5794
+ {
5795
+ $screenReaderOnly: screenReaderOnly,
5796
+ disabled,
5797
+ htmlFor,
5798
+ required,
5799
+ ...otherProps,
5800
+ children
5801
+ }
5802
+ );
5803
+ Label.displayName = "Label";
5804
+
5805
+ // src/components/Label/LabelDescription.tsx
5806
+ var import_styled_components22 = __toESM(require("styled-components"));
5807
+ var import_type_guards14 = require("@wistia/type-guards");
5808
+ var import_jsx_runtime165 = require("react/jsx-runtime");
5809
+ var StyledLabelDescription = import_styled_components22.default.div`
5810
+ color: var(--color-text-secondary);
5811
+ font-size: var(--typography-body-4-size);
5812
+ font-weight: var(--typography-body-4-weight);
5813
+ line-height: var(--typography-body-4-line-height);
5814
+ `;
5815
+ var LabelDescription = ({
5816
+ children,
5817
+ ...props
5818
+ }) => {
5819
+ if ((0, import_type_guards14.isNil)(children)) {
5820
+ return null;
5821
+ }
5822
+ return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(StyledLabelDescription, { ...props, children });
5823
+ };
5824
+ LabelDescription.displayName = "LabelDescription";
5825
+
5826
+ // src/components/Checkbox/Checkbox.tsx
5827
+ var import_jsx_runtime166 = require("react/jsx-runtime");
5828
+ var CheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
5829
+ "svg",
5830
+ {
5831
+ fill: "inherit",
5832
+ height: "8",
5833
+ viewBox: "0 0 10 8",
5834
+ width: "10",
5835
+ xmlns: "http://www.w3.org/2000/svg",
5836
+ children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
5837
+ "path",
5838
+ {
5839
+ 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",
5840
+ fill: "white"
5841
+ }
5842
+ )
5843
+ }
5844
+ );
5845
+ var StyledCheckboxWrapper = import_styled_components23.default.div`
5846
+ display: flex;
5847
+ align-items: center;
5848
+ cursor: pointer;
5849
+ padding: var(--space-02);
5850
+
5851
+ &:hover {
5852
+ /* TODO Lamp to design hover state */
5853
+ }
5854
+
5855
+ &:focus-within {
5856
+ /* TODO Lamp to design focus state */
5857
+ background-color: #efefef;
5858
+ }
5859
+ `;
5860
+ var StyledCheckboxRoot = (0, import_styled_components23.default)(import_react_checkbox.Root)`
5861
+ all: unset; /* CheckboxRoot renders as a button element, so we need to reset all styles */
5862
+ background-color: var(--color-bg-fill-white);
5863
+ min-width: 16px;
5864
+ min-height: 16px;
5865
+ border-radius: var(--border-radius-01);
5866
+ border-width: 1px;
5867
+ border-style: solid;
5868
+ border-color: var(--color-border);
5869
+ display: flex;
5870
+ align-items: center;
5871
+ justify-content: center;
5872
+ align-self: start; /* align to the top to handle label descriptions */
5873
+ margin-top: 3px; /* bump down slightly to mimic "align-self: center" */
5874
+
5875
+ &[data-state='checked'] {
5876
+ background-color: var(--color-bg-fill);
5877
+ }
5878
+
5879
+ &[disabled] {
5880
+ background-color: var(--color-bg-surface-disabled);
5881
+
5882
+ svg path {
5883
+ fill: var(--color-icon-disabled);
5884
+ }
5885
+ }
5886
+
5887
+ &:hover {
5888
+ /* TODO Lamp to design hover state */
5889
+ }
5890
+
5891
+ &:focus {
5892
+ /* TODO Lamp to design focus state */
5893
+ }
5894
+ `;
5895
+ var StyledCheckboxIndicator = (0, import_styled_components23.default)(import_react_checkbox.Indicator)`
5896
+ display: flex;
5897
+ `;
5898
+ var StyledLabelWrapper = import_styled_components23.default.div`
5899
+ display: flex;
5900
+ flex-direction: column;
5901
+ padding-left: var(--space-02);
5902
+ `;
5903
+ var Checkbox = (0, import_react11.forwardRef)(
5904
+ ({
5905
+ checked,
5906
+ disabled = false,
5907
+ forceState,
5908
+ id,
5909
+ label = "default",
5910
+ description,
5911
+ name,
5912
+ onChange,
5913
+ required = false,
5914
+ value = "false",
5915
+ ...otherProps
5916
+ }, ref) => {
5917
+ const generatedId = (0, import_react11.useId)();
5918
+ const computedId = (0, import_type_guards15.isNonEmptyString)(id) ? id : `vhs-collapsible-group-${generatedId}`;
5919
+ return /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(StyledCheckboxWrapper, { children: [
5920
+ /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
5921
+ StyledCheckboxRoot,
5922
+ {
5923
+ ref,
5924
+ checked: checked ?? void 0,
5925
+ defaultChecked: checked === void 0 ? false : void 0,
5926
+ disabled,
5927
+ id: computedId,
5928
+ name,
5929
+ onCheckedChange: (state) => {
5930
+ if (onChange) {
5931
+ const syntheticEvent = {
5932
+ target: {
5933
+ id: computedId,
5934
+ checked: state === true
5935
+ }
5936
+ };
5937
+ onChange(syntheticEvent);
5938
+ }
5939
+ },
5940
+ required,
5941
+ value,
5942
+ ...otherProps,
5943
+ children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(StyledCheckboxIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(CheckIcon, {}) })
5944
+ }
5945
+ ),
5946
+ /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(StyledLabelWrapper, { children: [
5947
+ /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
5948
+ Label,
5949
+ {
5950
+ disabled,
5951
+ htmlFor: computedId,
5952
+ required,
5953
+ children: label
5954
+ }
5955
+ ),
5956
+ /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(LabelDescription, { children: description })
5957
+ ] })
5958
+ ] });
5959
+ }
5960
+ );
5961
+ Checkbox.displayName = "Checkbox";
5962
+
5963
+ // src/components/Divider/Divider.tsx
5964
+ var import_styled_components24 = __toESM(require("styled-components"));
5965
+ var import_jsx_runtime167 = require("react/jsx-runtime");
5733
5966
  var sizeToPixelMap = {
5734
5967
  lg: 4,
5735
5968
  sm: 1
5736
5969
  };
5737
- var DividerComponent = import_styled_components21.default.hr`
5970
+ var DividerComponent = import_styled_components24.default.hr`
5738
5971
  background: none;
5739
5972
  border-bottom: none;
5740
5973
  border-left: none;
@@ -5749,7 +5982,7 @@ var DividerComponent = import_styled_components21.default.hr`
5749
5982
  `;
5750
5983
  var Divider = ({ size = "sm", ...otherProps }) => {
5751
5984
  const responsiveSize = useResponsiveProp(size);
5752
- return /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
5985
+ return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
5753
5986
  DividerComponent,
5754
5987
  {
5755
5988
  $borderHeight: sizeToPixelMap[responsiveSize],
@@ -5760,10 +5993,10 @@ var Divider = ({ size = "sm", ...otherProps }) => {
5760
5993
  Divider.displayName = "Divider";
5761
5994
 
5762
5995
  // src/components/Ellipsis/Ellipsis.tsx
5763
- var import_type_guards14 = require("@wistia/type-guards");
5764
- var import_styled_components22 = __toESM(require("styled-components"));
5765
- var import_jsx_runtime165 = require("react/jsx-runtime");
5766
- var ellipsisStyle = import_styled_components22.css`
5996
+ var import_type_guards16 = require("@wistia/type-guards");
5997
+ var import_styled_components25 = __toESM(require("styled-components"));
5998
+ var import_jsx_runtime168 = require("react/jsx-runtime");
5999
+ var ellipsisStyle = import_styled_components25.css`
5767
6000
  overflow: hidden;
5768
6001
  text-overflow: ellipsis;
5769
6002
  white-space: nowrap;
@@ -5786,14 +6019,14 @@ var ellipsisStyle = import_styled_components22.css`
5786
6019
  }
5787
6020
  }
5788
6021
  `;
5789
- var ellipsisFlexParentStyle = import_styled_components22.css`
6022
+ var ellipsisFlexParentStyle = import_styled_components25.css`
5790
6023
  min-width: 0;
5791
6024
  `;
5792
- var EllipsisComponent = import_styled_components22.default.div`
6025
+ var EllipsisComponent = import_styled_components25.default.div`
5793
6026
  ${ellipsisStyle};
5794
6027
  ${({ $lines }) => {
5795
- if ((0, import_type_guards14.isNotNil)($lines)) {
5796
- return import_styled_components22.css`
6028
+ if ((0, import_type_guards16.isNotNil)($lines)) {
6029
+ return import_styled_components25.css`
5797
6030
  -webkit-box-orient: vertical;
5798
6031
  -webkit-line-clamp: ${$lines};
5799
6032
  display: -webkit-box;
@@ -5803,7 +6036,7 @@ var EllipsisComponent = import_styled_components22.default.div`
5803
6036
  return void 0;
5804
6037
  }}
5805
6038
  `;
5806
- var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(
6039
+ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
5807
6040
  EllipsisComponent,
5808
6041
  {
5809
6042
  $lines: lines,
@@ -5814,8 +6047,8 @@ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0, impor
5814
6047
  Ellipsis.displayName = "Ellipsis";
5815
6048
 
5816
6049
  // src/components/Heading/Heading.tsx
5817
- var import_react11 = require("react");
5818
- var import_styled_components23 = __toESM(require("styled-components"));
6050
+ var import_react12 = require("react");
6051
+ var import_styled_components26 = __toESM(require("styled-components"));
5819
6052
 
5820
6053
  // src/private/helpers/makePolymorphic/makePolymorphic.tsx
5821
6054
  var makePolymorphic = (component) => {
@@ -5823,44 +6056,44 @@ var makePolymorphic = (component) => {
5823
6056
  };
5824
6057
 
5825
6058
  // src/components/Heading/Heading.tsx
5826
- var import_jsx_runtime166 = require("react/jsx-runtime");
5827
- var heroStyle = import_styled_components23.css`
6059
+ var import_jsx_runtime169 = require("react/jsx-runtime");
6060
+ var heroStyle = import_styled_components26.css`
5828
6061
  --font-family: var(--typography-heading-hero-family);
5829
6062
  --font-size: var(--typography-heading-hero-size);
5830
6063
  --font-weight: var(--typography-heading-hero-weight);
5831
6064
  --line-height: var(--typography-heading-hero-line-height);
5832
6065
  `;
5833
- var heading1TextStyle = import_styled_components23.css`
6066
+ var heading1TextStyle = import_styled_components26.css`
5834
6067
  --font-family: var(--typography-heading-1-family);
5835
6068
  --font-size: var(--typography-heading-1-size);
5836
6069
  --font-weight: var(--typography-heading-1-weight);
5837
6070
  --line-height: var(--typography-heading-1-line-height);
5838
6071
  `;
5839
- var heading2TextStyle = import_styled_components23.css`
6072
+ var heading2TextStyle = import_styled_components26.css`
5840
6073
  --font-family: var(--typography-heading-2-family);
5841
6074
  --font-size: var(--typography-heading-2-size);
5842
6075
  --font-weight: var(--typography-heading-2-weight);
5843
6076
  --line-height: var(--typography-heading-2-line-height);
5844
6077
  `;
5845
- var heading3TextStyle = import_styled_components23.css`
6078
+ var heading3TextStyle = import_styled_components26.css`
5846
6079
  --font-family: var(--typography-heading-3-family);
5847
6080
  --font-size: var(--typography-heading-3-size);
5848
6081
  --font-weight: var(--typography-heading-3-weight);
5849
6082
  --line-height: var(--typography-heading-3-line-height);
5850
6083
  `;
5851
- var heading4TextStyle = import_styled_components23.css`
6084
+ var heading4TextStyle = import_styled_components26.css`
5852
6085
  --font-family: var(--typography-heading-4-family);
5853
6086
  --font-size: var(--typography-heading-4-size);
5854
6087
  --font-weight: var(--typography-heading-4-weight);
5855
6088
  --line-height: var(--typography-heading-4-line-height);
5856
6089
  `;
5857
- var heading5TextStyle = import_styled_components23.css`
6090
+ var heading5TextStyle = import_styled_components26.css`
5858
6091
  --font-family: var(--typography-heading-5-family);
5859
6092
  --font-size: var(--typography-heading-5-size);
5860
6093
  --font-weight: var(--typography-heading-5-weight);
5861
6094
  --line-height: var(--typography-heading-5-line-height);
5862
6095
  `;
5863
- var heading6TextStyle = import_styled_components23.css`
6096
+ var heading6TextStyle = import_styled_components26.css`
5864
6097
  --font-family: var(--typography-heading-6-family);
5865
6098
  --font-size: var(--typography-heading-6-size);
5866
6099
  --font-weight: var(--typography-heading-6-weight);
@@ -5876,7 +6109,7 @@ var variantStyleMap = {
5876
6109
  heading6: heading6TextStyle
5877
6110
  };
5878
6111
  var DEFAULT_ELEMENT = "h1";
5879
- var StyledHeading = import_styled_components23.default.div`
6112
+ var StyledHeading = import_styled_components26.default.div`
5880
6113
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
5881
6114
  font-family: var(--font-family);
5882
6115
  font-size: var(--font-size);
@@ -5885,16 +6118,16 @@ var StyledHeading = import_styled_components23.default.div`
5885
6118
  color: var(--color-text);
5886
6119
  ${({ $variant }) => variantStyleMap[$variant]}
5887
6120
  ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
5888
- ${({ $inline }) => $inline && import_styled_components23.css`
6121
+ ${({ $inline }) => $inline && import_styled_components26.css`
5889
6122
  display: inline-block;
5890
6123
  `}
5891
- ${({ $disabled }) => $disabled && import_styled_components23.css`
6124
+ ${({ $disabled }) => $disabled && import_styled_components26.css`
5892
6125
  color: var(--color-text-disabled);
5893
6126
  `}
5894
- ${({ $preventUserSelect }) => $preventUserSelect && import_styled_components23.css`
6127
+ ${({ $preventUserSelect }) => $preventUserSelect && import_styled_components26.css`
5895
6128
  user-select: none;
5896
6129
  `}
5897
- ${({ $align }) => import_styled_components23.css`
6130
+ ${({ $align }) => import_styled_components26.css`
5898
6131
  text-align: ${$align};
5899
6132
  `}
5900
6133
  margin: 0;
@@ -5908,7 +6141,7 @@ var variantElementMap = {
5908
6141
  heading5: "h5",
5909
6142
  heading6: "h6"
5910
6143
  };
5911
- var HeadingComponent = (0, import_react11.forwardRef)(
6144
+ var HeadingComponent = (0, import_react12.forwardRef)(
5912
6145
  ({
5913
6146
  align = "left",
5914
6147
  colorScheme = "inherit",
@@ -5919,7 +6152,7 @@ var HeadingComponent = (0, import_react11.forwardRef)(
5919
6152
  variant = "heading1",
5920
6153
  renderAs,
5921
6154
  ...otherProps
5922
- }, ref) => /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
6155
+ }, ref) => /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
5923
6156
  StyledHeading,
5924
6157
  {
5925
6158
  ref,
@@ -5939,21 +6172,21 @@ HeadingComponent.displayName = "Heading";
5939
6172
  var Heading = makePolymorphic(HeadingComponent);
5940
6173
 
5941
6174
  // src/components/IconButton/IconButton.tsx
5942
- var import_react12 = require("react");
5943
- var import_styled_components25 = __toESM(require("styled-components"));
6175
+ var import_react13 = require("react");
6176
+ var import_styled_components28 = __toESM(require("styled-components"));
5944
6177
 
5945
6178
  // src/components/Tooltip/Tooltip.tsx
5946
6179
  var import_react_tooltip2 = require("@radix-ui/react-tooltip");
5947
- var import_styled_components24 = __toESM(require("styled-components"));
5948
- var import_jsx_runtime167 = require("react/jsx-runtime");
5949
- var CompactTooltipStyles = import_styled_components24.css`
6180
+ var import_styled_components27 = __toESM(require("styled-components"));
6181
+ var import_jsx_runtime170 = require("react/jsx-runtime");
6182
+ var CompactTooltipStyles = import_styled_components27.css`
5950
6183
  --tooltip-font-size: var(--typography-label-4-size);
5951
6184
  --tooltip-line-height: var(--typography-label-4-line-height);
5952
6185
  --tooltip-font-weight: var(--typography-label-4-weight);
5953
6186
  --tooltip-horizontal-padding: var(--space-02);
5954
6187
  --tooltip-vertical-padding: var(--space-03);
5955
6188
  `;
5956
- var StyledContent = (0, import_styled_components24.default)(import_react_tooltip2.Content)`
6189
+ var StyledContent = (0, import_styled_components27.default)(import_react_tooltip2.Content)`
5957
6190
  --tooltip-font-family: var(--typography-family-default);
5958
6191
  --tooltip-border-radius: var(--border-radius-05);
5959
6192
  --tooltip-bg: var(--color-bg-tooltip);
@@ -6011,14 +6244,14 @@ var Tooltip = ({
6011
6244
  if (forceOpen === true) {
6012
6245
  rootProps.open = true;
6013
6246
  }
6014
- return /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(
6247
+ return /* @__PURE__ */ (0, import_jsx_runtime170.jsxs)(
6015
6248
  import_react_tooltip2.Root,
6016
6249
  {
6017
6250
  delayDuration: delay,
6018
6251
  ...rootProps,
6019
6252
  children: [
6020
- /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_react_tooltip2.Trigger, { asChild: true, children }),
6021
- /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_react_tooltip2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(
6253
+ /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Trigger, { asChild: true, children }),
6254
+ /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime170.jsxs)(
6022
6255
  StyledContent,
6023
6256
  {
6024
6257
  $compact: compact,
@@ -6026,7 +6259,7 @@ var Tooltip = ({
6026
6259
  sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
6027
6260
  children: [
6028
6261
  content,
6029
- !hideArrow ? /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_react_tooltip2.Arrow, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
6262
+ !hideArrow ? /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Arrow, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(
6030
6263
  "svg",
6031
6264
  {
6032
6265
  fill: "var(--tooltip-bg)",
@@ -6035,7 +6268,7 @@ var Tooltip = ({
6035
6268
  viewBox: "0 0 12 8",
6036
6269
  width: "12",
6037
6270
  xmlns: "http://www.w3.org/2000/svg",
6038
- children: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("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" })
6271
+ children: /* @__PURE__ */ (0, import_jsx_runtime170.jsx)("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" })
6039
6272
  }
6040
6273
  ) }) : null
6041
6274
  ]
@@ -6048,8 +6281,8 @@ var Tooltip = ({
6048
6281
  Tooltip.displayName = "Tooltip";
6049
6282
 
6050
6283
  // src/components/IconButton/IconButton.tsx
6051
- var import_jsx_runtime168 = require("react/jsx-runtime");
6052
- var StyledButton2 = (0, import_styled_components25.default)(Button)`
6284
+ var import_jsx_runtime171 = require("react/jsx-runtime");
6285
+ var StyledButton2 = (0, import_styled_components28.default)(Button)`
6053
6286
  --icon-button-size-sm: 24px;
6054
6287
  --icon-button-size-md: 32px;
6055
6288
  --icon-button-size-lg: 40px;
@@ -6063,10 +6296,10 @@ var StyledButton2 = (0, import_styled_components25.default)(Button)`
6063
6296
  align-items: center;
6064
6297
  line-height: 1;
6065
6298
  `;
6066
- var IconButton = (0, import_react12.forwardRef)(
6299
+ var IconButton = (0, import_react13.forwardRef)(
6067
6300
  ({ children, label, disableTooltip = false, size = "md", ...props }, ref) => {
6068
6301
  const responsiveSize = useResponsiveProp(size);
6069
- const button = /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
6302
+ const button = /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
6070
6303
  StyledButton2,
6071
6304
  {
6072
6305
  ...props,
@@ -6074,7 +6307,7 @@ var IconButton = (0, import_react12.forwardRef)(
6074
6307
  "aria-label": label,
6075
6308
  "data-wistia-ui-icon-button": true,
6076
6309
  size: responsiveSize,
6077
- children: (0, import_react12.cloneElement)(import_react12.Children.only(children), {
6310
+ children: (0, import_react13.cloneElement)(import_react13.Children.only(children), {
6078
6311
  size: responsiveSize
6079
6312
  })
6080
6313
  }
@@ -6082,211 +6315,212 @@ var IconButton = (0, import_react12.forwardRef)(
6082
6315
  if (disableTooltip) {
6083
6316
  return button;
6084
6317
  }
6085
- return /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(Tooltip, { content: label, children: button });
6318
+ return /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(Tooltip, { content: label, children: button });
6086
6319
  }
6087
6320
  );
6088
6321
  IconButton.displayName = "IconButton";
6089
6322
 
6090
- // src/components/Label/Label.tsx
6091
- var import_styled_components26 = __toESM(require("styled-components"));
6092
- var import_jsx_runtime169 = require("react/jsx-runtime");
6093
- var requiredStyle = import_styled_components26.css`
6094
- &::after {
6095
- color: red; /* TODO need a color for this */
6096
- display: inline;
6097
- padding-left: var(--space-01);
6098
- content: '*';
6323
+ // src/components/Menu/Menu.tsx
6324
+ var import_styled_components29 = __toESM(require("styled-components"));
6325
+ var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
6326
+ var import_type_guards17 = require("@wistia/type-guards");
6327
+ var import_jsx_runtime172 = require("react/jsx-runtime");
6328
+ var open = import_styled_components29.keyframes`
6329
+ from {
6330
+ opacity: 0;
6331
+ transform: scale(.97) translateY(-8px);
6332
+ }
6333
+ to {
6334
+ opacity: 1;
6335
+ transform: scale(1);
6099
6336
  }
6100
6337
  `;
6101
- var disabledStyle = import_styled_components26.css`
6102
- color: var(--color-text-disabled);
6338
+ var close = import_styled_components29.keyframes`
6339
+ from {
6340
+ opacity: 1;
6341
+ transform: scale(1);
6342
+ }
6343
+ to {
6344
+ opacity: 0;
6345
+ transform: scale(.97) translateY(-8px);
6346
+ }
6103
6347
  `;
6104
- var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
6105
- var StyledLabel = import_styled_components26.default.label`
6106
- display: inline-block;
6107
- font-size: var(--typography-label-1-size);
6108
- font-weight: var(--typography-label-1-weight);
6109
- line-height: var(--typography-label-1-line-height);
6110
- margin-bottom: ${SPACE_BETWEEN_LABEL_AND_INPUT};
6111
- cursor: inherit;
6112
- width: 100%;
6113
-
6114
- /* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
6115
- > input,
6116
- > textarea,
6117
- > select {
6118
- display: block;
6119
- margin-top: ${SPACE_BETWEEN_LABEL_AND_INPUT};
6348
+ var menuContentCss = import_styled_components29.css`
6349
+ --menu-font-family: var(--typography-family-default);
6350
+ --menu-bg: var(--color-bg-fill-white); /* TODO - Not sure what token to use for this */
6351
+ --menu-shadow: 0 0 64px 0 rgba(0 0 0 / 8%); /* TODO - Need a box-shadow token */
6352
+ --menu-border-radius: var(--border-radius-01);
6353
+ --menu-padding: var(--space-03);
6354
+ --menu-min-width: 120px;
6355
+ --menu-max-width: 284px;
6356
+ --menu-zindex: 500; /* TODO - need z-index token */
6357
+
6358
+ animation: ${open}; /* TODO - need easing tokens */
6359
+ font-family: var(--menu-font-family);
6360
+ background: var(--menu-bg);
6361
+ border-radius: var(--menu-border-radius);
6362
+ box-shadow: var(--menu-shadow); /* TODO - Need a box-shadow token */
6363
+ max-height: var(--radix-dropdown-menu-content-available-height);
6364
+ min-width: var(--menu-min-width);
6365
+ max-width: var(--menu-max-width);
6366
+ overflow: auto;
6367
+ padding: var(--menu-padding);
6368
+ transform-origin: var(--radix-dropdown-menu-content-transform-origin);
6369
+ z-index: var(--menu-zindex);
6370
+
6371
+ &[data-state='closed'] {
6372
+ animation: ${close}; /* TODO - need easing tokens */
6120
6373
  }
6121
6374
 
6122
- > label {
6123
- font-weight: normal;
6375
+ ${mq.smAndUp} {
6376
+ bottom: 0;
6377
+ padding: var(--menu-padding);
6378
+ right: 0;
6379
+ top: 0;
6380
+ transform: initial;
6124
6381
  }
6125
6382
 
6126
- ${({ screenReaderOnly }) => screenReaderOnly && visuallyHiddenStyle}
6127
- ${({ disabled }) => disabled && disabledStyle}
6128
- ${({ required }) => required && requiredStyle}
6129
- `;
6130
- var Label = ({
6131
- children,
6132
- disabled = false,
6133
- htmlFor,
6134
- required = false,
6135
- screenReaderOnly = false,
6136
- ...otherProps
6137
- }) => /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
6138
- StyledLabel,
6139
- {
6140
- disabled,
6141
- htmlFor,
6142
- required,
6143
- screenReaderOnly,
6144
- ...otherProps,
6145
- children
6383
+ hr {
6384
+ margin: var(--space-02) 0;
6146
6385
  }
6147
- );
6148
- Label.displayName = "Label";
6149
-
6150
- // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
6151
- var import_styled_components27 = __toESM(require("styled-components"));
6152
- var import_type_guards15 = require("@wistia/type-guards");
6153
- var import_jsx_runtime170 = require("react/jsx-runtime");
6154
- var VisuallyHidden = import_styled_components27.default.div({ ...visuallyHiddenStyle });
6155
- var VisuallyHiddenButFocusable = import_styled_components27.default.div({
6156
- "&:not(:focus-within)": visuallyHiddenStyle
6157
- });
6158
- var ScreenReaderOnly = ({
6159
- text,
6386
+ `;
6387
+ var MenuContent = (0, import_styled_components29.default)(import_react_dropdown_menu.DropdownMenuContent)`
6388
+ ${menuContentCss}
6389
+ `;
6390
+ var Menu = ({
6391
+ align = "start",
6160
6392
  children,
6161
- focusable = false,
6162
- ...otherProps
6393
+ trigger,
6394
+ label,
6395
+ isOpen,
6396
+ triggerProps = {},
6397
+ onOpenChange,
6398
+ onInteractOutside,
6399
+ ...props
6163
6400
  }) => {
6164
- const accessibleText = (0, import_type_guards15.isNotNil)(text) ? text : children;
6165
- if (focusable) {
6166
- return /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
6167
- }
6168
- return /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(VisuallyHidden, { ...otherProps, children: accessibleText });
6401
+ return /* @__PURE__ */ (0, import_jsx_runtime172.jsxs)(
6402
+ import_react_dropdown_menu.DropdownMenu,
6403
+ {
6404
+ modal: false,
6405
+ ...(0, import_type_guards17.isNotNil)(onOpenChange) && (0, import_type_guards17.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {},
6406
+ children: [
6407
+ /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_react_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: (0, import_type_guards17.isNotUndefined)(trigger) ? trigger : /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
6408
+ Button,
6409
+ {
6410
+ "aria-expanded": isOpen,
6411
+ forceState: isOpen ? "active" : void 0,
6412
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(Icon, { type: "caret-down" }),
6413
+ ...triggerProps,
6414
+ children: label
6415
+ }
6416
+ ) }),
6417
+ /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_react_dropdown_menu.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
6418
+ MenuContent,
6419
+ {
6420
+ ...props,
6421
+ align,
6422
+ onFocusOutside: (event) => {
6423
+ event.preventDefault();
6424
+ },
6425
+ sideOffset: 6,
6426
+ children
6427
+ }
6428
+ ) })
6429
+ ]
6430
+ }
6431
+ );
6169
6432
  };
6170
- ScreenReaderOnly.displayName = "ScreenReaderOnly";
6433
+ Menu.displayName = "Menu";
6171
6434
 
6172
- // src/components/Stack/Stack.tsx
6173
- var import_react13 = require("react");
6174
- var import_styled_components28 = __toESM(require("styled-components"));
6175
- var import_jsx_runtime171 = require("react/jsx-runtime");
6176
- var DEFAULT_ELEMENT2 = "div";
6177
- var StyledStack = import_styled_components28.default.div`
6178
- display: flex;
6179
- flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
6180
- gap: ${({ $gap }) => `var(--${$gap})`};
6181
-
6182
- > * {
6183
- flex: 1;
6184
- }
6185
- `;
6186
- var StackComponent = (0, import_react13.forwardRef)(
6187
- ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
6188
- const responsiveGap = useResponsiveProp(gap);
6189
- const responsiveDirection = useResponsiveProp(direction);
6190
- return /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
6191
- StyledStack,
6192
- {
6193
- ref,
6194
- $direction: responsiveDirection,
6195
- $gap: responsiveGap,
6196
- as: renderAs ?? DEFAULT_ELEMENT2,
6197
- ...props
6198
- }
6199
- );
6200
- }
6201
- );
6202
- StackComponent.displayName = "Stack";
6203
- var Stack = makePolymorphic(StackComponent);
6435
+ // src/components/Menu/MenuLabel.tsx
6436
+ var import_styled_components31 = __toESM(require("styled-components"));
6437
+ var import_react_dropdown_menu2 = require("@radix-ui/react-dropdown-menu");
6204
6438
 
6205
6439
  // src/components/Text/Text.tsx
6206
6440
  var import_react14 = require("react");
6207
- var import_styled_components29 = __toESM(require("styled-components"));
6208
- var import_jsx_runtime172 = require("react/jsx-runtime");
6209
- var bodyBoldStyles = import_styled_components29.css`
6441
+ var import_styled_components30 = __toESM(require("styled-components"));
6442
+ var import_jsx_runtime173 = require("react/jsx-runtime");
6443
+ var bodyBoldStyles = import_styled_components30.css`
6210
6444
  > strong,
6211
6445
  b {
6212
6446
  font-weight: var(--typography-weight-body-bold);
6213
6447
  }
6214
6448
  `;
6215
- var labelBoldStyles = import_styled_components29.css`
6449
+ var labelBoldStyles = import_styled_components30.css`
6216
6450
  > strong,
6217
6451
  b {
6218
6452
  font-weight: var(--typography-weight-label-bold);
6219
6453
  }
6220
6454
  `;
6221
- var body1TextStyle = import_styled_components29.css`
6455
+ var body1TextStyle = import_styled_components30.css`
6222
6456
  --font-family: var(--typography-body-1-family);
6223
6457
  --font-size: var(--typography-body-1-size);
6224
6458
  --font-weight: var(--typography-body-1-weight);
6225
6459
  --line-height: var(--typography-body-1-line-height);
6226
6460
  ${bodyBoldStyles}
6227
6461
  `;
6228
- var body2TextStyle = import_styled_components29.css`
6462
+ var body2TextStyle = import_styled_components30.css`
6229
6463
  --font-family: var(--typography-body-2-family);
6230
6464
  --font-size: var(--typography-body-2-size);
6231
6465
  --font-weight: var(--typography-body-2-weight);
6232
6466
  --line-height: var(--typography-body-2-line-height);
6233
6467
  ${bodyBoldStyles}
6234
6468
  `;
6235
- var body3TextStyle = import_styled_components29.css`
6469
+ var body3TextStyle = import_styled_components30.css`
6236
6470
  --font-family: var(--typography-body-3-family);
6237
6471
  --font-size: var(--typography-body-3-size);
6238
6472
  --font-weight: var(--typography-body-3-weight);
6239
6473
  --line-height: var(--typography-body-3-line-height);
6240
6474
  ${bodyBoldStyles}
6241
6475
  `;
6242
- var body4TextStyle = import_styled_components29.css`
6476
+ var body4TextStyle = import_styled_components30.css`
6243
6477
  --font-family: var(--typography-body-4-family);
6244
6478
  --font-size: var(--typography-body-4-size);
6245
6479
  --font-weight: var(--typography-body-4-weight);
6246
6480
  --line-height: var(--typography-body-4-line-height);
6247
6481
  ${bodyBoldStyles}
6248
6482
  `;
6249
- var label1TextStyle = import_styled_components29.css`
6483
+ var label1TextStyle = import_styled_components30.css`
6250
6484
  --font-family: var(--typography-label-1-family);
6251
6485
  --font-size: var(--typography-label-1-size);
6252
6486
  --font-weight: var(--typography-label-1-weight);
6253
6487
  --line-height: var(--typography-label-1-line-height);
6254
6488
  ${labelBoldStyles}
6255
6489
  `;
6256
- var label2TextStyle = import_styled_components29.css`
6490
+ var label2TextStyle = import_styled_components30.css`
6257
6491
  --font-family: var(--typography-label-2-family);
6258
6492
  --font-size: var(--typography-label-2-size);
6259
6493
  --font-weight: var(--typography-label-2-weight);
6260
6494
  --line-height: var(--typography-label-2-line-height);
6261
6495
  ${labelBoldStyles}
6262
6496
  `;
6263
- var label3TextStyle = import_styled_components29.css`
6497
+ var label3TextStyle = import_styled_components30.css`
6264
6498
  --font-family: var(--typography-label-3-family);
6265
6499
  --font-size: var(--typography-label-3-size);
6266
6500
  --font-weight: var(--typography-label-3-weight);
6267
6501
  --line-height: var(--typography-label-3-line-height);
6268
6502
  ${labelBoldStyles}
6269
6503
  `;
6270
- var label4TextStyle = import_styled_components29.css`
6504
+ var label4TextStyle = import_styled_components30.css`
6271
6505
  --font-family: var(--typography-label-4-family);
6272
6506
  --font-size: var(--typography-label-4-size);
6273
6507
  --font-weight: var(--typography-label-4-weight);
6274
6508
  --line-height: var(--typography-label-4-line-height);
6275
6509
  ${labelBoldStyles}
6276
6510
  `;
6277
- var body1MonoTextStyle = import_styled_components29.css`
6511
+ var body1MonoTextStyle = import_styled_components30.css`
6278
6512
  ${body1TextStyle};
6279
6513
  --font-family: var(--typography-family-mono);
6280
6514
  `;
6281
- var body2MonoTextStyle = import_styled_components29.css`
6515
+ var body2MonoTextStyle = import_styled_components30.css`
6282
6516
  ${body2TextStyle};
6283
6517
  --font-family: var(--typography-family-mono);
6284
6518
  `;
6285
- var body3MonoTextStyle = import_styled_components29.css`
6519
+ var body3MonoTextStyle = import_styled_components30.css`
6286
6520
  ${body3TextStyle};
6287
6521
  --font-family: var(--typography-family-mono);
6288
6522
  `;
6289
- var body4MonoTextStyle = import_styled_components29.css`
6523
+ var body4MonoTextStyle = import_styled_components30.css`
6290
6524
  ${body4TextStyle};
6291
6525
  --font-family: var(--typography-family-mono);
6292
6526
  `;
@@ -6304,13 +6538,13 @@ var variantStyleMap2 = {
6304
6538
  label3: label3TextStyle,
6305
6539
  label4: label4TextStyle
6306
6540
  };
6307
- var highContrastProminenceStyle = import_styled_components29.css`
6541
+ var highContrastProminenceStyle = import_styled_components30.css`
6308
6542
  --text-color: var(--color-text-high-contrast);
6309
6543
  `;
6310
- var vibrantProminenceStyle = import_styled_components29.css`
6544
+ var vibrantProminenceStyle = import_styled_components30.css`
6311
6545
  --text-color: var(--color-text);
6312
6546
  `;
6313
- var secondaryProminenceStyle = import_styled_components29.css`
6547
+ var secondaryProminenceStyle = import_styled_components30.css`
6314
6548
  --text-color: var(--color-text-secondary);
6315
6549
  `;
6316
6550
  var prominenceMap = {
@@ -6318,7 +6552,7 @@ var prominenceMap = {
6318
6552
  vibrant: vibrantProminenceStyle,
6319
6553
  secondary: secondaryProminenceStyle
6320
6554
  };
6321
- var StyledText = import_styled_components29.default.div`
6555
+ var StyledText = import_styled_components30.default.div`
6322
6556
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
6323
6557
  font-family: var(--font-family);
6324
6558
  font-size: var(--font-size);
@@ -6330,23 +6564,23 @@ var StyledText = import_styled_components29.default.div`
6330
6564
  ${({ $variant }) => variantStyleMap2[$variant]}
6331
6565
  ${({ $prominence }) => prominenceMap[$prominence]}
6332
6566
  ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
6333
- ${({ $inline }) => $inline && import_styled_components29.css`
6567
+ ${({ $inline }) => $inline && import_styled_components30.css`
6334
6568
  display: inline-block;
6335
6569
  `}
6336
- ${({ $disabled }) => $disabled && import_styled_components29.css`
6570
+ ${({ $disabled }) => $disabled && import_styled_components30.css`
6337
6571
  --text-color: var(--color-text-disabled);
6338
6572
  `}
6339
- ${({ $preventUserSelect }) => $preventUserSelect && import_styled_components29.css`
6573
+ ${({ $preventUserSelect }) => $preventUserSelect && import_styled_components30.css`
6340
6574
  user-select: none;
6341
6575
  `}
6342
- ${({ $align }) => import_styled_components29.css`
6576
+ ${({ $align }) => import_styled_components30.css`
6343
6577
  text-align: ${$align};
6344
6578
  `}
6345
- ${({ as }) => as === "p" && import_styled_components29.css`
6579
+ ${({ as }) => as === "p" && import_styled_components30.css`
6346
6580
  display: block;
6347
6581
  `}
6348
6582
  `;
6349
- var DEFAULT_ELEMENT3 = "div";
6583
+ var DEFAULT_ELEMENT2 = "div";
6350
6584
  var TextComponent = (0, import_react14.forwardRef)(
6351
6585
  ({
6352
6586
  align = "left",
@@ -6360,7 +6594,7 @@ var TextComponent = (0, import_react14.forwardRef)(
6360
6594
  renderAs,
6361
6595
  ...otherProps
6362
6596
  }, ref) => {
6363
- return /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
6597
+ return /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(
6364
6598
  StyledText,
6365
6599
  {
6366
6600
  ref,
@@ -6372,7 +6606,7 @@ var TextComponent = (0, import_react14.forwardRef)(
6372
6606
  $preventUserSelect: preventUserSelect,
6373
6607
  $prominence: prominence,
6374
6608
  $variant: variant,
6375
- as: renderAs ?? DEFAULT_ELEMENT3,
6609
+ as: renderAs ?? DEFAULT_ELEMENT2,
6376
6610
  ...otherProps
6377
6611
  }
6378
6612
  );
@@ -6381,21 +6615,393 @@ var TextComponent = (0, import_react14.forwardRef)(
6381
6615
  TextComponent.displayName = "Text";
6382
6616
  var Text = makePolymorphic(TextComponent);
6383
6617
 
6618
+ // src/components/Menu/MenuLabel.tsx
6619
+ var import_jsx_runtime174 = require("react/jsx-runtime");
6620
+ var StyledMenuLabel = (0, import_styled_components31.default)(import_react_dropdown_menu2.DropdownMenuLabel)`
6621
+ padding: var(--space-02);
6622
+ `;
6623
+ var MenuLabel = ({ children, ...props }) => {
6624
+ return /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
6625
+ StyledMenuLabel,
6626
+ {
6627
+ asChild: true,
6628
+ ...props,
6629
+ children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
6630
+ Text,
6631
+ {
6632
+ variant: "label3",
6633
+ ...props,
6634
+ children
6635
+ }
6636
+ )
6637
+ }
6638
+ );
6639
+ };
6640
+ MenuLabel.displayName = "MenuLabel";
6641
+
6642
+ // src/components/Menu/SubMenu.tsx
6643
+ var import_react16 = require("react");
6644
+ var import_styled_components34 = __toESM(require("styled-components"));
6645
+ var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
6646
+
6647
+ // src/components/Menu/MenuItemButton.tsx
6648
+ var import_react15 = require("react");
6649
+ var import_styled_components32 = __toESM(require("styled-components"));
6650
+ var import_type_guards18 = require("@wistia/type-guards");
6651
+ var import_jsx_runtime175 = require("react/jsx-runtime");
6652
+ var StyledButton3 = (0, import_styled_components32.default)(Button)`
6653
+ --menu-item-border-radius: var(--border-radius-01);
6654
+ --menu-item-gap: var(--space-01);
6655
+ --menu-item-inner-gap: var(--space-04);
6656
+ --menu-item-disabled-bg: var(--color-white);
6657
+
6658
+ text-align: left;
6659
+ align-items: left;
6660
+ border-radius: var(--menu-item-border-radius);
6661
+ display: flex;
6662
+
6663
+ &[aria-disabled='true'] {
6664
+ background-color: var(--menu-item-disabled-bg);
6665
+ }
6666
+
6667
+ ${({ $isGated }) => (0, import_type_guards18.isNotUndefined)($isGated) && $isGated ? `color: var(--color-text);` : ""}
6668
+ `;
6669
+ var StyledMenuContent = import_styled_components32.default.div`
6670
+ display: grid;
6671
+ grid-template-areas:
6672
+ 'label badge'
6673
+ 'description badge';
6674
+ grid-template-columns: 1fr auto;
6675
+ position: relative;
6676
+ align-content: center;
6677
+ `;
6678
+ var StyledBadgeContainer = import_styled_components32.default.div`
6679
+ grid-area: badge;
6680
+ align-self: start;
6681
+ justify-self: end;
6682
+ margin-left: var(--menu-item-inner-gap);
6683
+ `;
6684
+ var MenuItemButton = (0, import_react15.forwardRef)(({ children, appearance, command, ...props }, ref) => {
6685
+ let { colorScheme, badge } = props;
6686
+ if (appearance === "dangerous") {
6687
+ if ((0, import_type_guards18.isNotUndefined)(colorScheme)) {
6688
+ console.warn("colorScheme prop is ignored when appearance is dangerous");
6689
+ }
6690
+ colorScheme = "error";
6691
+ }
6692
+ if (appearance === "gated") {
6693
+ if ((0, import_type_guards18.isNotUndefined)(colorScheme)) {
6694
+ console.warn("colorScheme prop is ignored when appearance is gated");
6695
+ }
6696
+ colorScheme = "purple";
6697
+ badge = /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(Icon, { type: "sparkle" });
6698
+ }
6699
+ return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
6700
+ StyledButton3,
6701
+ {
6702
+ ...props,
6703
+ ref,
6704
+ $isGated: appearance === "gated",
6705
+ colorScheme: colorScheme ?? "default",
6706
+ fullWidth: true,
6707
+ variant: "ghost",
6708
+ children: /* @__PURE__ */ (0, import_jsx_runtime175.jsxs)(StyledMenuContent, { children: [
6709
+ children,
6710
+ (0, import_type_guards18.isNotNil)(badge) || (0, import_type_guards18.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null
6711
+ ] })
6712
+ }
6713
+ );
6714
+ });
6715
+ MenuItemButton.displayName = "MenuItemButton";
6716
+
6717
+ // src/components/Menu/MenuItemLabelDescription.tsx
6718
+ var import_styled_components33 = __toESM(require("styled-components"));
6719
+ var import_jsx_runtime176 = require("react/jsx-runtime");
6720
+ var StyledMenuItemLabel = (0, import_styled_components33.default)(Text).attrs({ variant: "label3" })`
6721
+ grid-area: label;
6722
+ `;
6723
+ var StyledMenuItemDescription = (0, import_styled_components33.default)(Text).attrs({
6724
+ variant: "label4",
6725
+ prominence: "secondary"
6726
+ })`
6727
+ margin-top: var(--menu-item-gap);
6728
+ grid-area: description;
6729
+ `;
6730
+ var MenuItemLabel = ({ children }) => {
6731
+ return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledMenuItemLabel, { children });
6732
+ };
6733
+ var MenuItemDescription = ({ children }) => {
6734
+ return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledMenuItemDescription, { children });
6735
+ };
6736
+
6737
+ // src/components/Menu/SubMenu.tsx
6738
+ var import_jsx_runtime177 = require("react/jsx-runtime");
6739
+ var SubMenuContent = (0, import_styled_components34.default)(import_react_dropdown_menu3.DropdownMenuSubContent)`
6740
+ ${menuContentCss}
6741
+ width: 298px;
6742
+
6743
+ ${mq.smAndDown} {
6744
+ transform: translateX(-100%) !important;
6745
+ }
6746
+ `;
6747
+ var StyledMobileSubMenuItems = import_styled_components34.default.div`
6748
+ margin-left: var(--space-04);
6749
+ `;
6750
+ var StyledSubTrigger = (0, import_styled_components34.default)(import_react_dropdown_menu3.DropdownMenuSubTrigger)`
6751
+ outline: none;
6752
+
6753
+ &[data-state='open'],
6754
+ &[data-highlighted] {
6755
+ background-color: var(--button-color-bg-hover);
6756
+ }
6757
+ `;
6758
+ var SubMenuTrigger = (props) => {
6759
+ const { isSmAndUp } = useMq();
6760
+ const Trigger2 = isSmAndUp ? StyledSubTrigger : import_react_dropdown_menu3.DropdownMenuItem;
6761
+ return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Trigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(
6762
+ MenuItemButton,
6763
+ {
6764
+ ...props,
6765
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Icon, { type: "caret-right" })
6766
+ }
6767
+ ) });
6768
+ };
6769
+ var SubMenu = ({
6770
+ label,
6771
+ description,
6772
+ children,
6773
+ onOpenChange = () => null,
6774
+ ...props
6775
+ }) => {
6776
+ const { isSmAndUp } = useMq();
6777
+ const [isExpanded, setIsExpanded] = (0, import_react16.useState)(false);
6778
+ return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
6779
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(SubMenuTrigger, { ...props, children: [
6780
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemLabel, { children: label }),
6781
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemDescription, { children: description })
6782
+ ] }),
6783
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(import_react_dropdown_menu3.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(SubMenuContent, { children }) })
6784
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react_dropdown_menu3.DropdownMenuGroup, { children: [
6785
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(
6786
+ SubMenuTrigger,
6787
+ {
6788
+ ...props,
6789
+ onClick: (event) => {
6790
+ event.preventDefault();
6791
+ setIsExpanded((prev) => !prev);
6792
+ },
6793
+ children: [
6794
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemLabel, { children: label }),
6795
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemDescription, { children: description })
6796
+ ]
6797
+ }
6798
+ ),
6799
+ /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
6800
+ ] });
6801
+ };
6802
+ SubMenu.displayName = "SubMenu";
6803
+
6804
+ // src/components/Menu/MenuItem.tsx
6805
+ var import_react17 = require("react");
6806
+ var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
6807
+ var import_jsx_runtime178 = require("react/jsx-runtime");
6808
+ var MenuItem = (0, import_react17.forwardRef)(
6809
+ ({ onSelect = () => null, ...props }, ref) => {
6810
+ return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(
6811
+ import_react_dropdown_menu4.DropdownMenuItem,
6812
+ {
6813
+ asChild: true,
6814
+ onSelect,
6815
+ children: /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(
6816
+ MenuItemButton,
6817
+ {
6818
+ ...props,
6819
+ ref,
6820
+ leftIcon: props.icon
6821
+ }
6822
+ )
6823
+ }
6824
+ );
6825
+ }
6826
+ );
6827
+ MenuItem.displayName = "MenuItem";
6828
+
6829
+ // src/components/Menu/MenuRadioGroup.tsx
6830
+ var import_react_dropdown_menu5 = require("@radix-ui/react-dropdown-menu");
6831
+ var import_jsx_runtime179 = require("react/jsx-runtime");
6832
+ var MenuRadioGroup = ({ children, label, ...props }) => {
6833
+ return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)(import_react_dropdown_menu5.DropdownMenuRadioGroup, { ...props, children: [
6834
+ /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(MenuLabel, { children: label }),
6835
+ children
6836
+ ] });
6837
+ };
6838
+ MenuRadioGroup.displayName = "MenuRadioGroup";
6839
+
6840
+ // src/components/Menu/RadioMenuItem.tsx
6841
+ var import_react_dropdown_menu6 = require("@radix-ui/react-dropdown-menu");
6842
+ var import_jsx_runtime180 = require("react/jsx-runtime");
6843
+ var RadioMenuItem = ({
6844
+ onSelect,
6845
+ value,
6846
+ indicator = /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
6847
+ Icon,
6848
+ {
6849
+ size: "sm",
6850
+ type: "checkmark"
6851
+ }
6852
+ ),
6853
+ ...props
6854
+ }) => {
6855
+ const extraProps = onSelect ? { onSelect } : {};
6856
+ return /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
6857
+ import_react_dropdown_menu6.DropdownMenuRadioItem,
6858
+ {
6859
+ ...extraProps,
6860
+ value,
6861
+ children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
6862
+ MenuItemButton,
6863
+ {
6864
+ ...props,
6865
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_react_dropdown_menu6.DropdownMenuItemIndicator, { children: indicator })
6866
+ }
6867
+ )
6868
+ }
6869
+ );
6870
+ };
6871
+ RadioMenuItem.displayName = "RadioMenuItem";
6872
+
6873
+ // src/components/Menu/CheckboxMenuItem.tsx
6874
+ var import_react_dropdown_menu7 = require("@radix-ui/react-dropdown-menu");
6875
+ var import_jsx_runtime181 = require("react/jsx-runtime");
6876
+ var CheckboxMenuItem = ({
6877
+ onSelect,
6878
+ checked,
6879
+ onCheckedChange,
6880
+ indicator = /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
6881
+ Icon,
6882
+ {
6883
+ size: "sm",
6884
+ type: "checkmark"
6885
+ }
6886
+ ),
6887
+ ...props
6888
+ }) => {
6889
+ let extraProps = {};
6890
+ if (onSelect) {
6891
+ extraProps = {
6892
+ ...extraProps,
6893
+ onCheckedChange,
6894
+ onSelect
6895
+ };
6896
+ }
6897
+ return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
6898
+ import_react_dropdown_menu7.DropdownMenuCheckboxItem,
6899
+ {
6900
+ ...extraProps,
6901
+ checked,
6902
+ children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
6903
+ MenuItemButton,
6904
+ {
6905
+ ...props,
6906
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_react_dropdown_menu7.DropdownMenuItemIndicator, { children: indicator })
6907
+ }
6908
+ )
6909
+ }
6910
+ );
6911
+ };
6912
+ CheckboxMenuItem.displayName = "CheckboxMenuItem";
6913
+
6914
+ // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
6915
+ var import_styled_components35 = __toESM(require("styled-components"));
6916
+ var import_type_guards19 = require("@wistia/type-guards");
6917
+ var import_jsx_runtime182 = require("react/jsx-runtime");
6918
+ var VisuallyHidden = import_styled_components35.default.div({ ...visuallyHiddenStyle });
6919
+ var VisuallyHiddenButFocusable = import_styled_components35.default.div({
6920
+ "&:not(:focus-within)": visuallyHiddenStyle
6921
+ });
6922
+ var ScreenReaderOnly = ({
6923
+ text,
6924
+ children,
6925
+ focusable = false,
6926
+ ...otherProps
6927
+ }) => {
6928
+ const accessibleText = (0, import_type_guards19.isNotNil)(text) ? text : children;
6929
+ if (focusable) {
6930
+ return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
6931
+ }
6932
+ return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(VisuallyHidden, { ...otherProps, children: accessibleText });
6933
+ };
6934
+ ScreenReaderOnly.displayName = "ScreenReaderOnly";
6935
+
6936
+ // src/components/Stack/Stack.tsx
6937
+ var import_react18 = require("react");
6938
+ var import_styled_components36 = __toESM(require("styled-components"));
6939
+ var import_jsx_runtime183 = require("react/jsx-runtime");
6940
+ var DEFAULT_ELEMENT3 = "div";
6941
+ var StyledStack = import_styled_components36.default.div`
6942
+ display: flex;
6943
+ flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
6944
+ gap: ${({ $gap }) => `var(--${$gap})`};
6945
+
6946
+ > * {
6947
+ flex: 1;
6948
+ }
6949
+ `;
6950
+ var StackComponent = (0, import_react18.forwardRef)(
6951
+ ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
6952
+ const responsiveGap = useResponsiveProp(gap);
6953
+ const responsiveDirection = useResponsiveProp(direction);
6954
+ return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
6955
+ StyledStack,
6956
+ {
6957
+ ref,
6958
+ $direction: responsiveDirection,
6959
+ $gap: responsiveGap,
6960
+ as: renderAs ?? DEFAULT_ELEMENT3,
6961
+ ...props
6962
+ }
6963
+ );
6964
+ }
6965
+ );
6966
+ StackComponent.displayName = "Stack";
6967
+ var Stack = makePolymorphic(StackComponent);
6968
+
6384
6969
  // src/components/WistiaLogo/WistiaLogo.tsx
6385
- var import_styled_components30 = __toESM(require("styled-components"));
6386
- var import_type_guards16 = require("@wistia/type-guards");
6387
- var import_jsx_runtime173 = require("react/jsx-runtime");
6970
+ var import_styled_components37 = __toESM(require("styled-components"));
6971
+ var import_type_guards20 = require("@wistia/type-guards");
6972
+ var import_jsx_runtime184 = require("react/jsx-runtime");
6388
6973
  var renderBrandmark = (brandmarkColor, iconOnly) => {
6389
6974
  if (iconOnly) {
6390
- return /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("g", { fill: brandmarkColor, children: /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("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" }) });
6975
+ return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
6976
+ "g",
6977
+ {
6978
+ "data-testid": "ui-wistia-logo-brandmark",
6979
+ fill: brandmarkColor,
6980
+ children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("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" })
6981
+ }
6982
+ );
6391
6983
  }
6392
- return /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("g", { fill: brandmarkColor, children: /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("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" }) });
6984
+ return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
6985
+ "g",
6986
+ {
6987
+ "data-testid": "ui-wistia-logo-brandmark",
6988
+ fill: brandmarkColor,
6989
+ children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("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" })
6990
+ }
6991
+ );
6393
6992
  };
6394
6993
  var renderLogotype = (logotypeColor, iconOnly) => {
6395
6994
  if (iconOnly) {
6396
6995
  return null;
6397
6996
  }
6398
- return /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("g", { fill: logotypeColor, children: /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("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" }) });
6997
+ return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
6998
+ "g",
6999
+ {
7000
+ "data-testid": "ui-wistia-logo-logotype",
7001
+ fill: logotypeColor,
7002
+ children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("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" })
7003
+ }
7004
+ );
6399
7005
  };
6400
7006
  var computedViewBox = (iconOnly) => {
6401
7007
  if (iconOnly) {
@@ -6403,7 +7009,7 @@ var computedViewBox = (iconOnly) => {
6403
7009
  }
6404
7010
  return "0 0 144 31.47";
6405
7011
  };
6406
- var WistiaLogoComponent = import_styled_components30.default.svg`
7012
+ var WistiaLogoComponent = import_styled_components37.default.svg`
6407
7013
  height: ${({ height }) => `${height}px`};
6408
7014
 
6409
7015
  /* ensure it will always fit on mobile */
@@ -6445,7 +7051,7 @@ var WistiaLogo = ({
6445
7051
  };
6446
7052
  const brandmarkColor = VARIANT_COLORS[variant].brandmark;
6447
7053
  const logotypeColor = VARIANT_COLORS[variant].logotype;
6448
- const Logo = /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)(
7054
+ const Logo = /* @__PURE__ */ (0, import_jsx_runtime184.jsxs)(
6449
7055
  WistiaLogoComponent,
6450
7056
  {
6451
7057
  $hoverColor: hoverColor,
@@ -6455,14 +7061,14 @@ var WistiaLogo = ({
6455
7061
  xmlns: "http://www.w3.org/2000/svg",
6456
7062
  ...otherProps,
6457
7063
  children: [
6458
- /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("title", { children: title }),
6459
- (0, import_type_guards16.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("desc", { children: description }) : null,
7064
+ /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("title", { children: title }),
7065
+ (0, import_type_guards20.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("desc", { children: description }) : null,
6460
7066
  renderBrandmark(brandmarkColor, iconOnly),
6461
7067
  renderLogotype(logotypeColor, iconOnly)
6462
7068
  ]
6463
7069
  }
6464
7070
  );
6465
- return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("a", { href, children: Logo }) : Logo;
7071
+ return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("a", { href, children: Logo }) : Logo;
6466
7072
  };
6467
7073
  WistiaLogo.displayName = "WistiaLogo";
6468
7074
  // Annotate the CommonJS export names for ESM import in node:
@@ -6472,6 +7078,8 @@ WistiaLogo.displayName = "WistiaLogo";
6472
7078
  Box,
6473
7079
  Button,
6474
7080
  ButtonGroup,
7081
+ Checkbox,
7082
+ CheckboxMenuItem,
6475
7083
  ColorSchemeWrapper,
6476
7084
  Divider,
6477
7085
  Ellipsis,
@@ -6480,8 +7088,16 @@ WistiaLogo.displayName = "WistiaLogo";
6480
7088
  IconButton,
6481
7089
  Label,
6482
7090
  Link,
7091
+ Menu,
7092
+ MenuItem,
7093
+ MenuItemDescription,
7094
+ MenuItemLabel,
7095
+ MenuLabel,
7096
+ MenuRadioGroup,
7097
+ RadioMenuItem,
6483
7098
  ScreenReaderOnly,
6484
7099
  Stack,
7100
+ SubMenu,
6485
7101
  Text,
6486
7102
  Tooltip,
6487
7103
  UIProvider,