@wistia/ui 0.9.1 → 0.9.2-beta.e562f7d7.1a8cf9b

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.9.1
3
+ * @license @wistia/ui v0.9.2-beta.e562f7d7.1a8cf9b
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -2976,9 +2976,8 @@ var buttonResetCss = import_styled_components17.css`
2976
2976
  padding: 0;
2977
2977
  }
2978
2978
 
2979
- /* add some default affordance for a focused button */
2980
2979
  &:focus {
2981
- outline: thin dotted #999999;
2980
+ outline: none;
2982
2981
  }
2983
2982
 
2984
2983
  &[aria-disabled] {
@@ -7375,6 +7374,8 @@ var StyledActionButton = (0, import_styled_components22.default)(Button)`
7375
7374
 
7376
7375
  &:hover,
7377
7376
  :focus-visible {
7377
+ --wui-color-text: var(--wui-color-text-button);
7378
+
7378
7379
  ${({ $hoverColorScheme }) => getColorScheme($hoverColorScheme)};
7379
7380
  background: var(--wui-color-bg-surface-tertiary);
7380
7381
  }
@@ -7417,7 +7418,7 @@ var StyledSecondaryIcon = import_styled_components22.default.div`
7417
7418
  width: 100%;
7418
7419
  display: flex;
7419
7420
  justify-content: flex-end;
7420
- transition: all var(--wui-motion-duration-02) var(--wui-motion-ease-in);
7421
+ transition: all var(--wui-motion-duration-02) var(--wui-motion-ease-out);
7421
7422
 
7422
7423
  ${({ $hideUntilHover }) => $hideUntilHover && import_styled_components22.css`
7423
7424
  will-change: transform;
@@ -8587,6 +8588,7 @@ var CollapsibleContent = ({ clamp, children }) => {
8587
8588
  };
8588
8589
 
8589
8590
  // src/components/DataCards/DataCard.tsx
8591
+ var import_react33 = require("react");
8590
8592
  var import_styled_components40 = __toESM(require("styled-components"));
8591
8593
  var import_type_guards29 = require("@wistia/type-guards");
8592
8594
 
@@ -8720,7 +8722,6 @@ var Heading = makePolymorphic(HeadingComponent);
8720
8722
  // src/components/DataCards/DataCard.tsx
8721
8723
  var import_jsx_runtime213 = require("react/jsx-runtime");
8722
8724
  var StyledDataCard = import_styled_components40.default.div`
8723
- ${({ $colorScheme }) => getColorScheme($colorScheme)}
8724
8725
  display: grid;
8725
8726
  grid-template-areas: 'label slot' 'value value';
8726
8727
  grid-template-rows: auto auto;
@@ -8731,6 +8732,49 @@ var StyledDataCard = import_styled_components40.default.div`
8731
8732
  flex: 1;
8732
8733
  border-radius: var(--wui-border-radius-02);
8733
8734
  position: relative;
8735
+ transition: background var(--wui-motion-duration-01) var(--wui-motion-ease);
8736
+
8737
+ &[data-click-region] {
8738
+ [data-wui-data-card-hover-icon] {
8739
+ opacity: 0;
8740
+ transform: translateX(-16px);
8741
+ transition: all var(--wui-motion-duration-02) var(--wui-motion-ease-out);
8742
+ }
8743
+
8744
+ &:not([disabled]) {
8745
+ cursor: pointer;
8746
+
8747
+ &:hover,
8748
+ &:has([data-click-region-target-button]:focus-visible),
8749
+ &:has([data-click-region-target-link]:focus-visible) {
8750
+ --wui-color-text: var(--wui-color-text-button);
8751
+
8752
+ background: var(--wui-color-bg-surface-secondary-hover);
8753
+
8754
+ [data-wui-data-card-hover-icon] {
8755
+ opacity: 1;
8756
+ transform: translateX(0);
8757
+ }
8758
+ }
8759
+
8760
+ &:has([data-click-region-target-button]:active),
8761
+ &:has([data-click-region-target-link]:active) {
8762
+ background: var(--wui-color-bg-surface-secondary-active);
8763
+ }
8764
+
8765
+ &:has([data-click-region-target-button]:focus-visible),
8766
+ &:has([data-click-region-target-link]:focus-visible) {
8767
+ outline: 2px solid var(--wui-color-focus-ring);
8768
+ outline-offset: 2px;
8769
+ }
8770
+ }
8771
+
8772
+ &[disabled] {
8773
+ pointer-events: none;
8774
+ }
8775
+
8776
+ ${({ $colorScheme }) => getColorScheme($colorScheme)}
8777
+ }
8734
8778
  `;
8735
8779
  var shimmer = import_styled_components40.keyframes`
8736
8780
  0% {
@@ -8776,7 +8820,7 @@ var StyledDataCardTrendContainer = import_styled_components40.default.div`
8776
8820
  bottom: var(--wui-space-01);
8777
8821
  right: var(--wui-space-01);
8778
8822
  `;
8779
- var DataCard = ({
8823
+ var DataCardInner = ({
8780
8824
  label,
8781
8825
  value,
8782
8826
  upperRightSlot,
@@ -8811,6 +8855,38 @@ var DataCard = ({
8811
8855
  ]
8812
8856
  }
8813
8857
  );
8858
+ var DataCardArrowIcon = /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
8859
+ Icon,
8860
+ {
8861
+ "data-wui-data-card-hover-icon": true,
8862
+ type: "arrow-right"
8863
+ }
8864
+ );
8865
+ var DataCard = (props) => {
8866
+ const ref = (0, import_react33.useRef)(null);
8867
+ if ((0, import_type_guards29.isNotNil)(props.href) || (0, import_type_guards29.isNotNil)(props.onClick)) {
8868
+ return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(ClickRegion, { targetRef: ref, children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
8869
+ DataCardInner,
8870
+ {
8871
+ upperRightSlot: props.upperRightSlot ?? DataCardArrowIcon,
8872
+ ...props,
8873
+ label: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
8874
+ Button,
8875
+ {
8876
+ ref,
8877
+ ...(0, import_type_guards29.isNotNil)(props.beforeAction) ? { beforeAction: props.beforeAction } : {},
8878
+ disabled: props.disabled ?? false,
8879
+ href: props.href,
8880
+ onClick: props.onClick,
8881
+ unstyled: true,
8882
+ children: props.label
8883
+ }
8884
+ )
8885
+ }
8886
+ ) });
8887
+ }
8888
+ return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(DataCardInner, { ...props });
8889
+ };
8814
8890
  DataCard.displayName = "DataCard";
8815
8891
 
8816
8892
  // src/components/DataCards/DataCards.tsx
@@ -8851,7 +8927,7 @@ DataCards.displayName = "DataCards";
8851
8927
  var import_styled_components43 = __toESM(require("styled-components"));
8852
8928
 
8853
8929
  // src/components/Text/Text.tsx
8854
- var import_react33 = require("react");
8930
+ var import_react34 = require("react");
8855
8931
  var import_styled_components42 = __toESM(require("styled-components"));
8856
8932
  var import_type_guards30 = require("@wistia/type-guards");
8857
8933
  var import_jsx_runtime215 = require("react/jsx-runtime");
@@ -9026,7 +9102,7 @@ var StyledText = import_styled_components42.default.div`
9026
9102
  }
9027
9103
  `}
9028
9104
  `;
9029
- var TextComponent = (0, import_react33.forwardRef)(
9105
+ var TextComponent = (0, import_react34.forwardRef)(
9030
9106
  ({
9031
9107
  align = "left",
9032
9108
  colorScheme = "inherit",
@@ -9139,7 +9215,7 @@ Divider.displayName = "Divider";
9139
9215
 
9140
9216
  // src/components/EditableHeading/EditableHeading.tsx
9141
9217
  var import_styled_components48 = __toESM(require("styled-components"));
9142
- var import_react35 = require("react");
9218
+ var import_react36 = require("react");
9143
9219
 
9144
9220
  // src/components/Tooltip/Tooltip.tsx
9145
9221
  var import_react_tooltip2 = require("@radix-ui/react-tooltip");
@@ -9291,7 +9367,7 @@ var Tooltip = ({
9291
9367
  Tooltip.displayName = "Tooltip";
9292
9368
 
9293
9369
  // src/components/Input/Input.tsx
9294
- var import_react34 = require("react");
9370
+ var import_react35 = require("react");
9295
9371
  var import_styled_components47 = __toESM(require("styled-components"));
9296
9372
  var import_type_guards31 = require("@wistia/type-guards");
9297
9373
 
@@ -9426,7 +9502,7 @@ var StyledInputContainer = import_styled_components47.default.div`
9426
9502
  padding-right: 32px;
9427
9503
  }
9428
9504
  `;
9429
- var Input = (0, import_react34.forwardRef)(
9505
+ var Input = (0, import_react35.forwardRef)(
9430
9506
  ({
9431
9507
  fullWidth = true,
9432
9508
  monospace = false,
@@ -9436,7 +9512,7 @@ var Input = (0, import_react34.forwardRef)(
9436
9512
  rightIcon,
9437
9513
  ...props
9438
9514
  }, externalRef) => {
9439
- const internalRef = (0, import_react34.useRef)();
9515
+ const internalRef = (0, import_react35.useRef)();
9440
9516
  const ref = (
9441
9517
  // eslint-disable-next-line react-compiler/react-compiler
9442
9518
  (0, import_type_guards31.isNotNil)(externalRef) && (0, import_type_guards31.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
@@ -9446,14 +9522,14 @@ var Input = (0, import_react34.forwardRef)(
9446
9522
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(Icon, { type: "search" });
9447
9523
  }
9448
9524
  if ((0, import_type_guards31.isNotNil)(leftIconToDisplay)) {
9449
- leftIconToDisplay = (0, import_react34.cloneElement)(leftIconToDisplay, {
9525
+ leftIconToDisplay = (0, import_react35.cloneElement)(leftIconToDisplay, {
9450
9526
  size: "md",
9451
9527
  className: "wui-input-left-icon"
9452
9528
  });
9453
9529
  }
9454
9530
  let rightIconToDisplay = rightIcon;
9455
9531
  if ((0, import_type_guards31.isNotNil)(rightIconToDisplay)) {
9456
- rightIconToDisplay = (0, import_react34.cloneElement)(rightIconToDisplay, {
9532
+ rightIconToDisplay = (0, import_react35.cloneElement)(rightIconToDisplay, {
9457
9533
  size: "md",
9458
9534
  className: "wui-input-right-icon"
9459
9535
  });
@@ -9545,11 +9621,11 @@ var EditableHeading = ({
9545
9621
  __forceEditing = false,
9546
9622
  editingDisabled = false
9547
9623
  }) => {
9548
- const [isEditing, setIsEditing] = (0, import_react35.useState)(false);
9549
- const [value, setValue] = (0, import_react35.useState)(children);
9550
- const [previousValue, setPreviousValue] = (0, import_react35.useState)(children);
9551
- const [headingHeight, setHeadingHeight] = (0, import_react35.useState)("60");
9552
- const headingRef = (0, import_react35.useRef)(null);
9624
+ const [isEditing, setIsEditing] = (0, import_react36.useState)(false);
9625
+ const [value, setValue] = (0, import_react36.useState)(children);
9626
+ const [previousValue, setPreviousValue] = (0, import_react36.useState)(children);
9627
+ const [headingHeight, setHeadingHeight] = (0, import_react36.useState)("60");
9628
+ const headingRef = (0, import_react36.useRef)(null);
9553
9629
  const handleSetEditing = (editing) => {
9554
9630
  if (editingDisabled) return;
9555
9631
  if (editing && headingRef.current) {
@@ -9628,12 +9704,12 @@ var EditableHeading = ({
9628
9704
  };
9629
9705
 
9630
9706
  // src/components/Form/Form.tsx
9631
- var import_react37 = require("react");
9707
+ var import_react38 = require("react");
9632
9708
  var import_styled_components50 = __toESM(require("styled-components"));
9633
9709
  var import_type_guards32 = require("@wistia/type-guards");
9634
9710
 
9635
9711
  // src/components/Stack/Stack.tsx
9636
- var import_react36 = require("react");
9712
+ var import_react37 = require("react");
9637
9713
  var import_styled_components49 = __toESM(require("styled-components"));
9638
9714
  var import_jsx_runtime221 = require("react/jsx-runtime");
9639
9715
  var DEFAULT_ELEMENT4 = "div";
@@ -9643,7 +9719,7 @@ var StyledStack = import_styled_components49.default.div`
9643
9719
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
9644
9720
  align-items: ${({ $alignItems }) => $alignItems};
9645
9721
  `;
9646
- var StackComponent = (0, import_react36.forwardRef)(
9722
+ var StackComponent = (0, import_react37.forwardRef)(
9647
9723
  ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
9648
9724
  const responsiveGap = useResponsiveProp(gap);
9649
9725
  const responsiveDirection = useResponsiveProp(direction);
@@ -9672,7 +9748,7 @@ var StyledForm = import_styled_components50.default.form`
9672
9748
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
9673
9749
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
9674
9750
  `;
9675
- var FormContext = (0, import_react37.createContext)({
9751
+ var FormContext = (0, import_react38.createContext)({
9676
9752
  values: {},
9677
9753
  errors: {},
9678
9754
  hasSubmitted: false,
@@ -9688,11 +9764,11 @@ var FormComponent = ({
9688
9764
  fullWidth = false,
9689
9765
  ...props
9690
9766
  }, forwardedRef) => {
9691
- const [errors, setErrors] = (0, import_react37.useState)({});
9692
- const [hasSubmitted, setHasSubmitted] = (0, import_react37.useState)(false);
9693
- const innerRef = (0, import_react37.useRef)();
9767
+ const [errors, setErrors] = (0, import_react38.useState)({});
9768
+ const [hasSubmitted, setHasSubmitted] = (0, import_react38.useState)(false);
9769
+ const innerRef = (0, import_react38.useRef)();
9694
9770
  const ref = forwardedRef ?? innerRef;
9695
- const autoId = (0, import_react37.useId)();
9771
+ const autoId = (0, import_react38.useId)();
9696
9772
  const id = props.id ?? autoId;
9697
9773
  const handleValidate = (nextFormData) => {
9698
9774
  const nextData = Object.fromEntries(nextFormData.entries());
@@ -9734,7 +9810,7 @@ var FormComponent = ({
9734
9810
  void action(null);
9735
9811
  }
9736
9812
  };
9737
- const context = (0, import_react37.useMemo)(() => {
9813
+ const context = (0, import_react38.useMemo)(() => {
9738
9814
  return {
9739
9815
  values,
9740
9816
  errors,
@@ -9763,15 +9839,15 @@ var FormComponent = ({
9763
9839
  );
9764
9840
  };
9765
9841
  FormComponent.displayName = "Form";
9766
- var Form = (0, import_react37.forwardRef)(FormComponent);
9842
+ var Form = (0, import_react38.forwardRef)(FormComponent);
9767
9843
 
9768
9844
  // src/components/Form/useFormState.tsx
9769
- var import_react38 = require("react");
9845
+ var import_react39 = require("react");
9770
9846
  var useFormState = (action, initialData = {}) => {
9771
- const [data, setData] = (0, import_react38.useState)(initialData);
9772
- const [isPending, setIsPending] = (0, import_react38.useState)(false);
9773
- const [error, setError] = (0, import_react38.useState)(null);
9774
- const formAction = (0, import_react38.useCallback)(
9847
+ const [data, setData] = (0, import_react39.useState)(initialData);
9848
+ const [isPending, setIsPending] = (0, import_react39.useState)(false);
9849
+ const [error, setError] = (0, import_react39.useState)(null);
9850
+ const formAction = (0, import_react39.useCallback)(
9775
9851
  async (nextFormData) => {
9776
9852
  if (nextFormData === null) {
9777
9853
  setData(initialData);
@@ -9802,15 +9878,15 @@ var useFormState = (action, initialData = {}) => {
9802
9878
  };
9803
9879
 
9804
9880
  // src/components/Form/FormErrorSummary.tsx
9805
- var import_react39 = require("react");
9881
+ var import_react40 = require("react");
9806
9882
  var import_type_guards33 = require("@wistia/type-guards");
9807
9883
  var import_jsx_runtime223 = require("react/jsx-runtime");
9808
9884
  var ErrorItem = ({ name, error, formId }) => {
9809
9885
  return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9810
9886
  };
9811
9887
  var FormErrorSummary = ({ description }) => {
9812
- const ref = (0, import_react39.useRef)(null);
9813
- const { formId, errors, hasSubmitted } = (0, import_react39.useContext)(FormContext);
9888
+ const ref = (0, import_react40.useRef)(null);
9889
+ const { formId, errors, hasSubmitted } = (0, import_react40.useContext)(FormContext);
9814
9890
  const isValid = Object.keys(errors).length === 0;
9815
9891
  if (isValid || !hasSubmitted) {
9816
9892
  return null;
@@ -9840,7 +9916,7 @@ var FormErrorSummary = ({ description }) => {
9840
9916
  };
9841
9917
 
9842
9918
  // src/components/FormField/FormField.tsx
9843
- var import_react42 = require("react");
9919
+ var import_react43 = require("react");
9844
9920
  var import_styled_components53 = __toESM(require("styled-components"));
9845
9921
  var import_type_guards34 = require("@wistia/type-guards");
9846
9922
 
@@ -9905,11 +9981,11 @@ var Label = ({
9905
9981
  Label.displayName = "Label";
9906
9982
 
9907
9983
  // src/components/FormGroup/CheckboxGroup.tsx
9908
- var import_react41 = require("react");
9984
+ var import_react42 = require("react");
9909
9985
 
9910
9986
  // src/components/FormGroup/FormGroup.tsx
9911
9987
  var import_styled_components52 = __toESM(require("styled-components"));
9912
- var import_react40 = require("react");
9988
+ var import_react41 = require("react");
9913
9989
  var import_jsx_runtime225 = require("react/jsx-runtime");
9914
9990
  var StyledFieldset = import_styled_components52.default.fieldset`
9915
9991
  border: 0;
@@ -9918,7 +9994,7 @@ var StyledLegend = import_styled_components52.default.legend`
9918
9994
  margin-bottom: var(--space-01);
9919
9995
  `;
9920
9996
  var FormGroup = ({ children, label, ...props }) => {
9921
- const ref = (0, import_react40.useRef)();
9997
+ const ref = (0, import_react41.useRef)();
9922
9998
  return /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(
9923
9999
  Stack,
9924
10000
  {
@@ -9943,7 +10019,7 @@ FormGroup.displayName = "FormGroup";
9943
10019
 
9944
10020
  // src/components/FormGroup/CheckboxGroup.tsx
9945
10021
  var import_jsx_runtime226 = require("react/jsx-runtime");
9946
- var CheckboxGroupContext = (0, import_react41.createContext)(null);
10022
+ var CheckboxGroupContext = (0, import_react42.createContext)(null);
9947
10023
  var CheckboxGroup = ({
9948
10024
  children,
9949
10025
  name,
@@ -9951,7 +10027,7 @@ var CheckboxGroup = ({
9951
10027
  value,
9952
10028
  ...props
9953
10029
  }) => {
9954
- const context = (0, import_react41.useMemo)(() => {
10030
+ const context = (0, import_react42.useMemo)(() => {
9955
10031
  return {
9956
10032
  name,
9957
10033
  onChange
@@ -10036,8 +10112,8 @@ var FormField = ({
10036
10112
  value,
10037
10113
  ...props
10038
10114
  }) => {
10039
- const formState = (0, import_react42.useContext)(FormContext);
10040
- const checkboxGroup = (0, import_react42.useContext)(CheckboxGroupContext);
10115
+ const formState = (0, import_react43.useContext)(FormContext);
10116
+ const checkboxGroup = (0, import_react43.useContext)(CheckboxGroupContext);
10041
10117
  const defaultValue = formState.values[name];
10042
10118
  const isIntegratedLabel = children.type === Checkbox;
10043
10119
  const computedId = id ?? `${formState.formId}-${name}`;
@@ -10075,7 +10151,7 @@ var FormField = ({
10075
10151
  "aria-invalid": (0, import_type_guards34.isNotNil)(error)
10076
10152
  };
10077
10153
  }
10078
- import_react42.Children.only(children);
10154
+ import_react43.Children.only(children);
10079
10155
  return /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)(
10080
10156
  StyledFormField,
10081
10157
  {
@@ -10084,7 +10160,7 @@ var FormField = ({
10084
10160
  children: [
10085
10161
  !isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Label, { htmlFor: computedId, children: label }),
10086
10162
  (0, import_type_guards34.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
10087
- (0, import_react42.cloneElement)(children, childProps),
10163
+ (0, import_react43.cloneElement)(children, childProps),
10088
10164
  (0, import_type_guards34.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)(import_jsx_runtime227.Fragment, { children: [
10089
10165
  /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", {}),
10090
10166
  /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
@@ -10102,9 +10178,9 @@ var FormField = ({
10102
10178
  FormField.displayName = "FormField";
10103
10179
 
10104
10180
  // src/components/FormGroup/RadioGroup.tsx
10105
- var import_react43 = require("react");
10181
+ var import_react44 = require("react");
10106
10182
  var import_jsx_runtime228 = require("react/jsx-runtime");
10107
- var RadioGroupContext = (0, import_react43.createContext)(null);
10183
+ var RadioGroupContext = (0, import_react44.createContext)(null);
10108
10184
  var RadioGroup = ({
10109
10185
  children,
10110
10186
  name,
@@ -10112,7 +10188,7 @@ var RadioGroup = ({
10112
10188
  value,
10113
10189
  ...props
10114
10190
  }) => {
10115
- const context = (0, import_react43.useMemo)(() => {
10191
+ const context = (0, import_react44.useMemo)(() => {
10116
10192
  return {
10117
10193
  name,
10118
10194
  onChange
@@ -10123,7 +10199,7 @@ var RadioGroup = ({
10123
10199
  RadioGroup.displayName = "RadioGroup";
10124
10200
 
10125
10201
  // src/components/IconButton/IconButton.tsx
10126
- var import_react44 = require("react");
10202
+ var import_react45 = require("react");
10127
10203
  var import_styled_components54 = __toESM(require("styled-components"));
10128
10204
  var import_jsx_runtime229 = require("react/jsx-runtime");
10129
10205
  var StyledButton2 = (0, import_styled_components54.default)(Button)`
@@ -10140,7 +10216,7 @@ var StyledButton2 = (0, import_styled_components54.default)(Button)`
10140
10216
  align-items: center;
10141
10217
  line-height: 1;
10142
10218
  `;
10143
- var IconButton = (0, import_react44.forwardRef)(
10219
+ var IconButton = (0, import_react45.forwardRef)(
10144
10220
  ({ children, label, size = "md", ...props }, ref) => {
10145
10221
  const responsiveSize = useResponsiveProp(size);
10146
10222
  return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(
@@ -10151,7 +10227,7 @@ var IconButton = (0, import_react44.forwardRef)(
10151
10227
  "aria-label": label,
10152
10228
  "data-wistia-ui-icon-button": true,
10153
10229
  size: responsiveSize,
10154
- children: (0, import_react44.cloneElement)(import_react44.Children.only(children), {
10230
+ children: (0, import_react45.cloneElement)(import_react45.Children.only(children), {
10155
10231
  size: responsiveSize
10156
10232
  })
10157
10233
  }
@@ -10162,7 +10238,7 @@ IconButton.displayName = "IconButton";
10162
10238
 
10163
10239
  // src/components/InputClickToCopy/InputClickToCopy.tsx
10164
10240
  var import_styled_components55 = __toESM(require("styled-components"));
10165
- var import_react45 = require("react");
10241
+ var import_react46 = require("react");
10166
10242
  var import_type_guards35 = require("@wistia/type-guards");
10167
10243
  var import_jsx_runtime230 = require("react/jsx-runtime");
10168
10244
  var StyledInput2 = (0, import_styled_components55.default)(Input)`
@@ -10175,10 +10251,10 @@ var StyledInput2 = (0, import_styled_components55.default)(Input)`
10175
10251
  }
10176
10252
  `;
10177
10253
  var COPY_SUCCESS_DURATION = 2e3;
10178
- var InputClickToCopy = (0, import_react45.forwardRef)(
10254
+ var InputClickToCopy = (0, import_react46.forwardRef)(
10179
10255
  ({ value, onCopy, ...props }, ref) => {
10180
- const [isCopied, setIsCopied] = (0, import_react45.useState)(false);
10181
- (0, import_react45.useEffect)(() => {
10256
+ const [isCopied, setIsCopied] = (0, import_react46.useState)(false);
10257
+ (0, import_react46.useEffect)(() => {
10182
10258
  if (isCopied) {
10183
10259
  const timeout = setTimeout(() => {
10184
10260
  setIsCopied(false);
@@ -10337,12 +10413,12 @@ KeyboardShortcut.displayName = "KeyboardShortcut";
10337
10413
  var import_styled_components57 = __toESM(require("styled-components"));
10338
10414
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
10339
10415
  var import_type_guards37 = require("@wistia/type-guards");
10340
- var import_react47 = require("react");
10416
+ var import_react48 = require("react");
10341
10417
 
10342
10418
  // src/components/Menu/MenuContext.tsx
10343
- var import_react46 = require("react");
10344
- var MenuContext = (0, import_react46.createContext)({ compact: false });
10345
- var useMenuContext = () => (0, import_react46.useContext)(MenuContext);
10419
+ var import_react47 = require("react");
10420
+ var MenuContext = (0, import_react47.createContext)({ compact: false });
10421
+ var useMenuContext = () => (0, import_react47.useContext)(MenuContext);
10346
10422
 
10347
10423
  // src/components/Menu/Menu.tsx
10348
10424
  var import_jsx_runtime232 = require("react/jsx-runtime");
@@ -10446,7 +10522,7 @@ var Menu = ({
10446
10522
  onInteractOutside,
10447
10523
  ...props
10448
10524
  }) => {
10449
- const contextValue = (0, import_react47.useMemo)(() => ({ compact }), [compact]);
10525
+ const contextValue = (0, import_react48.useMemo)(() => ({ compact }), [compact]);
10450
10526
  let controlProps = {
10451
10527
  ...(0, import_type_guards37.isNotNil)(onOpenChange) && (0, import_type_guards37.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
10452
10528
  };
@@ -10521,13 +10597,13 @@ var MenuLabel = ({ children, ...props }) => {
10521
10597
  MenuLabel.displayName = "MenuLabel";
10522
10598
 
10523
10599
  // src/components/Menu/SubMenu.tsx
10524
- var import_react49 = require("react");
10600
+ var import_react50 = require("react");
10525
10601
  var import_styled_components61 = __toESM(require("styled-components"));
10526
10602
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
10527
10603
  var import_type_guards39 = require("@wistia/type-guards");
10528
10604
 
10529
10605
  // src/components/Menu/MenuItemButton.tsx
10530
- var import_react48 = require("react");
10606
+ var import_react49 = require("react");
10531
10607
  var import_styled_components59 = __toESM(require("styled-components"));
10532
10608
  var import_type_guards38 = require("@wistia/type-guards");
10533
10609
  var import_jsx_runtime234 = require("react/jsx-runtime");
@@ -10604,7 +10680,7 @@ var StyledBadgeContainer = import_styled_components59.default.div`
10604
10680
  font-size: var(--wui-typography-label-4-size);
10605
10681
  color: var(--wui-color-text-secondary);
10606
10682
  `;
10607
- var MenuItemButton = (0, import_react48.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
10683
+ var MenuItemButton = (0, import_react49.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
10608
10684
  let { colorScheme, badge } = props;
10609
10685
  if (appearance === "dangerous") {
10610
10686
  if ((0, import_type_guards38.isNotUndefined)(colorScheme)) {
@@ -10704,7 +10780,7 @@ var SubMenu = ({
10704
10780
  ...props
10705
10781
  }) => {
10706
10782
  const { isSmAndUp } = useMq();
10707
- const [isExpanded, setIsExpanded] = (0, import_react49.useState)(false);
10783
+ const [isExpanded, setIsExpanded] = (0, import_react50.useState)(false);
10708
10784
  const { compact } = useMenuContext();
10709
10785
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
10710
10786
  /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)(SubMenuTrigger, { ...props, children: [
@@ -10733,10 +10809,10 @@ var SubMenu = ({
10733
10809
  SubMenu.displayName = "SubMenu";
10734
10810
 
10735
10811
  // src/components/Menu/MenuItem.tsx
10736
- var import_react50 = require("react");
10812
+ var import_react51 = require("react");
10737
10813
  var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
10738
10814
  var import_jsx_runtime237 = require("react/jsx-runtime");
10739
- var MenuItem = (0, import_react50.forwardRef)(
10815
+ var MenuItem = (0, import_react51.forwardRef)(
10740
10816
  ({ onSelect = () => null, ...props }, ref) => {
10741
10817
  return /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(
10742
10818
  import_react_dropdown_menu4.DropdownMenuItem,
@@ -10885,7 +10961,7 @@ var CheckboxMenuItem = ({
10885
10961
  CheckboxMenuItem.displayName = "CheckboxMenuItem";
10886
10962
 
10887
10963
  // src/components/Modal/Modal.tsx
10888
- var import_react54 = require("react");
10964
+ var import_react55 = require("react");
10889
10965
  var import_styled_components66 = __toESM(require("styled-components"));
10890
10966
  var import_react_dialog4 = require("@radix-ui/react-dialog");
10891
10967
  var import_type_guards42 = require("@wistia/type-guards");
@@ -10945,19 +11021,19 @@ var ModalHeader = ({
10945
11021
  };
10946
11022
 
10947
11023
  // src/components/Modal/ModalContent.tsx
10948
- var import_react52 = require("react");
11024
+ var import_react53 = require("react");
10949
11025
  var import_styled_components64 = __toESM(require("styled-components"));
10950
11026
  var import_react_dialog3 = require("@radix-ui/react-dialog");
10951
11027
 
10952
11028
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
10953
- var import_react51 = require("react");
11029
+ var import_react52 = require("react");
10954
11030
  var import_type_guards41 = require("@wistia/type-guards");
10955
11031
  var useFocusRestore = () => {
10956
- const previouslyFocusedRef = (0, import_react51.useRef)(null);
10957
- (0, import_react51.useEffect)(() => {
11032
+ const previouslyFocusedRef = (0, import_react52.useRef)(null);
11033
+ (0, import_react52.useEffect)(() => {
10958
11034
  previouslyFocusedRef.current = document.activeElement;
10959
11035
  }, []);
10960
- (0, import_react51.useEffect)(() => {
11036
+ (0, import_react52.useEffect)(() => {
10961
11037
  return () => {
10962
11038
  if ((0, import_type_guards41.isNotNil)(previouslyFocusedRef.current)) {
10963
11039
  setTimeout(() => {
@@ -11048,7 +11124,7 @@ var StyledModalContent = (0, import_styled_components64.default)(import_react_di
11048
11124
  }
11049
11125
  }
11050
11126
  `;
11051
- var ModalContent = (0, import_react52.forwardRef)(
11127
+ var ModalContent = (0, import_react53.forwardRef)(
11052
11128
  ({ fullHeight, width, alignHorizontal, alignVertical, children, ...props }, ref) => {
11053
11129
  useFocusRestore();
11054
11130
  return /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(
@@ -11068,7 +11144,7 @@ var ModalContent = (0, import_react52.forwardRef)(
11068
11144
  );
11069
11145
 
11070
11146
  // src/private/components/Backdrop/Backdrop.tsx
11071
- var import_react53 = require("react");
11147
+ var import_react54 = require("react");
11072
11148
  var import_styled_components65 = __toESM(require("styled-components"));
11073
11149
  var import_jsx_runtime244 = require("react/jsx-runtime");
11074
11150
  var alignVerticalMap = {
@@ -11108,7 +11184,7 @@ var BackdropComponent = import_styled_components65.default.div`
11108
11184
  }
11109
11185
  }
11110
11186
  `;
11111
- var Backdrop = (0, import_react53.forwardRef)(
11187
+ var Backdrop = (0, import_react54.forwardRef)(
11112
11188
  ({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime244.jsx)(
11113
11189
  BackdropComponent,
11114
11190
  {
@@ -11131,7 +11207,7 @@ var ModalBody = import_styled_components66.default.div`
11131
11207
  flex: 1 0 0;
11132
11208
  order: 2;
11133
11209
  `;
11134
- var Modal = (0, import_react54.forwardRef)(
11210
+ var Modal = (0, import_react55.forwardRef)(
11135
11211
  ({
11136
11212
  children,
11137
11213
  fullHeight = false,
@@ -11433,7 +11509,7 @@ var ProgressBar = ({
11433
11509
  ProgressBar.displayName = "ProgressBar";
11434
11510
 
11435
11511
  // src/components/Radio/Radio.tsx
11436
- var import_react55 = require("react");
11512
+ var import_react56 = require("react");
11437
11513
  var import_styled_components70 = __toESM(require("styled-components"));
11438
11514
  var import_type_guards45 = require("@wistia/type-guards");
11439
11515
  var import_jsx_runtime249 = require("react/jsx-runtime");
@@ -11536,7 +11612,7 @@ var StyledHiddenRadioInput = import_styled_components70.default.input`
11536
11612
  display: block;
11537
11613
  }
11538
11614
  `;
11539
- var Radio = (0, import_react55.forwardRef)(
11615
+ var Radio = (0, import_react56.forwardRef)(
11540
11616
  ({
11541
11617
  checked,
11542
11618
  disabled = false,
@@ -11551,7 +11627,7 @@ var Radio = (0, import_react55.forwardRef)(
11551
11627
  hideLabel = false,
11552
11628
  ...props
11553
11629
  }, ref) => {
11554
- const generatedId = (0, import_react55.useId)();
11630
+ const generatedId = (0, import_react56.useId)();
11555
11631
  const computedId = (0, import_type_guards45.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
11556
11632
  return /* @__PURE__ */ (0, import_jsx_runtime249.jsxs)(
11557
11633
  StyledRadioWrapper,
@@ -11601,20 +11677,20 @@ var Radio = (0, import_react55.forwardRef)(
11601
11677
  Radio.displayName = "Radio";
11602
11678
 
11603
11679
  // src/components/SegmentedControl/SegmentedControl.tsx
11604
- var import_react58 = require("react");
11680
+ var import_react59 = require("react");
11605
11681
  var import_styled_components72 = __toESM(require("styled-components"));
11606
11682
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
11607
11683
  var import_type_guards46 = require("@wistia/type-guards");
11608
11684
 
11609
11685
  // src/components/SegmentedControl/useSelectedItemStyle.tsx
11610
- var import_react56 = require("react");
11686
+ var import_react57 = require("react");
11611
11687
  var import_jsx_runtime250 = require("react/jsx-runtime");
11612
- var SelectedItemStyleContext = (0, import_react56.createContext)(null);
11688
+ var SelectedItemStyleContext = (0, import_react57.createContext)(null);
11613
11689
  var SelectedItemStyleProvider = ({
11614
11690
  children
11615
11691
  }) => {
11616
- const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react56.useState)(null);
11617
- const selectedItemIndicatorStyle = (0, import_react56.useMemo)(
11692
+ const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react57.useState)(null);
11693
+ const selectedItemIndicatorStyle = (0, import_react57.useMemo)(
11618
11694
  () => selectedItemMeasurements != null ? {
11619
11695
  height: `${selectedItemMeasurements.offsetHeight}px`,
11620
11696
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px) translateY(-50%)`,
@@ -11624,7 +11700,7 @@ var SelectedItemStyleProvider = ({
11624
11700
  },
11625
11701
  [selectedItemMeasurements]
11626
11702
  );
11627
- const contextValue = (0, import_react56.useMemo)(
11703
+ const contextValue = (0, import_react57.useMemo)(
11628
11704
  () => ({
11629
11705
  setSelectedItemMeasurements,
11630
11706
  selectedItemIndicatorStyle
@@ -11634,7 +11710,7 @@ var SelectedItemStyleProvider = ({
11634
11710
  return /* @__PURE__ */ (0, import_jsx_runtime250.jsx)(SelectedItemStyleContext.Provider, { value: contextValue, children });
11635
11711
  };
11636
11712
  var useSelectedItemStyle = () => {
11637
- const context = (0, import_react56.useContext)(SelectedItemStyleContext);
11713
+ const context = (0, import_react57.useContext)(SelectedItemStyleContext);
11638
11714
  if (context === null) {
11639
11715
  throw new Error("useSelectedItemStyle must be used within a SelectedItemStyleProvider");
11640
11716
  }
@@ -11645,11 +11721,11 @@ var useSelectedItemStyle = () => {
11645
11721
  var import_styled_components71 = __toESM(require("styled-components"));
11646
11722
 
11647
11723
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
11648
- var import_react57 = require("react");
11649
- var SegmentedControlValueContext = (0, import_react57.createContext)(null);
11724
+ var import_react58 = require("react");
11725
+ var SegmentedControlValueContext = (0, import_react58.createContext)(null);
11650
11726
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
11651
11727
  var useSegmentedControlValue = () => {
11652
- const context = (0, import_react57.useContext)(SegmentedControlValueContext);
11728
+ const context = (0, import_react58.useContext)(SegmentedControlValueContext);
11653
11729
  if (context === null) {
11654
11730
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
11655
11731
  }
@@ -11695,7 +11771,7 @@ var segmentedControlStyles = import_styled_components72.css`
11695
11771
  var StyledSegmentedControl = (0, import_styled_components72.default)(import_react_toggle_group.Root)`
11696
11772
  ${segmentedControlStyles}
11697
11773
  `;
11698
- var SegmentedControl = (0, import_react58.forwardRef)(
11774
+ var SegmentedControl = (0, import_react59.forwardRef)(
11699
11775
  ({
11700
11776
  children,
11701
11777
  disabled = false,
@@ -11730,7 +11806,7 @@ var SegmentedControl = (0, import_react58.forwardRef)(
11730
11806
  SegmentedControl.displayName = "SegmentedControl";
11731
11807
 
11732
11808
  // src/components/SegmentedControl/SegmentedControlItem.tsx
11733
- var import_react59 = require("react");
11809
+ var import_react60 = require("react");
11734
11810
  var import_styled_components73 = __toESM(require("styled-components"));
11735
11811
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
11736
11812
  var import_type_guards47 = require("@wistia/type-guards");
@@ -11798,11 +11874,11 @@ var segmentedControlItemStyles = import_styled_components73.css`
11798
11874
  var StyledSegmentedControlItem = (0, import_styled_components73.default)(import_react_toggle_group2.Item)`
11799
11875
  ${segmentedControlItemStyles}
11800
11876
  `;
11801
- var SegmentedControlItem = (0, import_react59.forwardRef)(
11877
+ var SegmentedControlItem = (0, import_react60.forwardRef)(
11802
11878
  ({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11803
11879
  const selectedValue = useSegmentedControlValue();
11804
11880
  const { setSelectedItemMeasurements } = useSelectedItemStyle();
11805
- const buttonRef = (0, import_react59.useRef)(null);
11881
+ const buttonRef = (0, import_react60.useRef)(null);
11806
11882
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11807
11883
  const handleClick = (event) => {
11808
11884
  const target = event.target;
@@ -11811,7 +11887,7 @@ var SegmentedControlItem = (0, import_react59.forwardRef)(
11811
11887
  event.preventDefault();
11812
11888
  }
11813
11889
  };
11814
- (0, import_react59.useEffect)(() => {
11890
+ (0, import_react60.useEffect)(() => {
11815
11891
  const buttonElem = buttonRef.current;
11816
11892
  if (!buttonElem) {
11817
11893
  return void 0;
@@ -11857,7 +11933,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
11857
11933
 
11858
11934
  // src/components/Select/Select.tsx
11859
11935
  var import_react_select = require("@radix-ui/react-select");
11860
- var import_react60 = require("react");
11936
+ var import_react61 = require("react");
11861
11937
  var import_styled_components74 = __toESM(require("styled-components"));
11862
11938
  var import_jsx_runtime254 = require("react/jsx-runtime");
11863
11939
  var StyledTrigger = (0, import_styled_components74.default)(import_react_select.Trigger)`
@@ -11922,7 +11998,7 @@ var StyledContent3 = (0, import_styled_components74.default)(import_react_select
11922
11998
  max-height: var(--radix-select-content-available-height);
11923
11999
  z-index: var(--wui-zindex-select);
11924
12000
  `;
11925
- var Select = (0, import_react60.forwardRef)(
12001
+ var Select = (0, import_react61.forwardRef)(
11926
12002
  ({
11927
12003
  colorScheme = "inherit",
11928
12004
  children,
@@ -11971,7 +12047,7 @@ Select.displayName = "Select";
11971
12047
 
11972
12048
  // src/components/Select/SelectOption.tsx
11973
12049
  var import_react_select2 = require("@radix-ui/react-select");
11974
- var import_react61 = require("react");
12050
+ var import_react62 = require("react");
11975
12051
  var import_styled_components75 = __toESM(require("styled-components"));
11976
12052
  var import_type_guards48 = require("@wistia/type-guards");
11977
12053
  var import_jsx_runtime255 = require("react/jsx-runtime");
@@ -12002,7 +12078,7 @@ var StyledItem = (0, import_styled_components75.default)(import_react_select2.It
12002
12078
  var StyledIconContainer = import_styled_components75.default.span`
12003
12079
  width: 12px;
12004
12080
  `;
12005
- var SelectOption = (0, import_react61.forwardRef)(
12081
+ var SelectOption = (0, import_react62.forwardRef)(
12006
12082
  ({ children, selectedDisplayValue, ...props }, forwardedRef) => {
12007
12083
  return /* @__PURE__ */ (0, import_jsx_runtime255.jsxs)(
12008
12084
  StyledItem,
@@ -12050,7 +12126,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
12050
12126
  };
12051
12127
 
12052
12128
  // src/components/Switch/Switch.tsx
12053
- var import_react62 = require("react");
12129
+ var import_react63 = require("react");
12054
12130
  var import_styled_components77 = __toESM(require("styled-components"));
12055
12131
  var import_type_guards49 = require("@wistia/type-guards");
12056
12132
  var import_jsx_runtime257 = require("react/jsx-runtime");
@@ -12155,7 +12231,7 @@ var StyledHiddenSwitchInput = import_styled_components77.default.input`
12155
12231
  }
12156
12232
  }
12157
12233
  `;
12158
- var Switch = (0, import_react62.forwardRef)(
12234
+ var Switch = (0, import_react63.forwardRef)(
12159
12235
  ({
12160
12236
  checked,
12161
12237
  disabled = false,
@@ -12170,7 +12246,7 @@ var Switch = (0, import_react62.forwardRef)(
12170
12246
  hideLabel = false,
12171
12247
  ...props
12172
12248
  }, ref) => {
12173
- const generatedId = (0, import_react62.useId)();
12249
+ const generatedId = (0, import_react63.useId)();
12174
12250
  const computedId = (0, import_type_guards49.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
12175
12251
  return /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
12176
12252
  /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
@@ -12260,8 +12336,8 @@ var Table = ({
12260
12336
  var import_styled_components79 = __toESM(require("styled-components"));
12261
12337
 
12262
12338
  // src/components/Table/TableSectionContext.ts
12263
- var import_react63 = require("react");
12264
- var TableSectionContext = (0, import_react63.createContext)(null);
12339
+ var import_react64 = require("react");
12340
+ var TableSectionContext = (0, import_react64.createContext)(null);
12265
12341
 
12266
12342
  // src/components/Table/TableBody.tsx
12267
12343
  var import_jsx_runtime259 = require("react/jsx-runtime");
@@ -12271,7 +12347,7 @@ var TableBody = ({ children, ...props }) => {
12271
12347
  };
12272
12348
 
12273
12349
  // src/components/Table/TableCell.tsx
12274
- var import_react64 = require("react");
12350
+ var import_react65 = require("react");
12275
12351
  var import_styled_components80 = __toESM(require("styled-components"));
12276
12352
  var import_jsx_runtime260 = require("react/jsx-runtime");
12277
12353
  var sharedStyles = import_styled_components80.css`
@@ -12292,7 +12368,7 @@ var StyledTd = import_styled_components80.default.td`
12292
12368
  line-height: var(--wui-typography-body-2-line-height);
12293
12369
  `;
12294
12370
  var TableCell = ({ children, ...props }) => {
12295
- const section = (0, import_react64.useContext)(TableSectionContext);
12371
+ const section = (0, import_react65.useContext)(TableSectionContext);
12296
12372
  if (section === "head") {
12297
12373
  return /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(StyledTh, { ...props, children });
12298
12374
  }
@@ -12324,7 +12400,7 @@ var TableRow = ({ children, ...props }) => {
12324
12400
  };
12325
12401
 
12326
12402
  // src/components/Tabs/Tabs.tsx
12327
- var import_react68 = require("react");
12403
+ var import_react69 = require("react");
12328
12404
  var import_react_tabs4 = require("@radix-ui/react-tabs");
12329
12405
  var import_type_guards51 = require("@wistia/type-guards");
12330
12406
  var import_styled_components88 = __toESM(require("styled-components"));
@@ -12379,17 +12455,17 @@ var TabList = ({
12379
12455
  TabList.displayName = "TabList";
12380
12456
 
12381
12457
  // src/components/Tabs/TabItem.tsx
12382
- var import_react66 = require("react");
12458
+ var import_react67 = require("react");
12383
12459
  var import_styled_components86 = __toESM(require("styled-components"));
12384
12460
  var import_react_tabs3 = require("@radix-ui/react-tabs");
12385
12461
  var import_type_guards50 = require("@wistia/type-guards");
12386
12462
 
12387
12463
  // src/components/Tabs/useTabsValue.tsx
12388
- var import_react65 = require("react");
12389
- var TabsValueContext = (0, import_react65.createContext)(null);
12464
+ var import_react66 = require("react");
12465
+ var TabsValueContext = (0, import_react66.createContext)(null);
12390
12466
  var TabsValueProvider = TabsValueContext.Provider;
12391
12467
  var useTabsValue = () => {
12392
- const context = (0, import_react65.useContext)(TabsValueContext);
12468
+ const context = (0, import_react66.useContext)(TabsValueContext);
12393
12469
  if (context === null) {
12394
12470
  throw new Error("useTabsValue must be used within a TabsValueProvider");
12395
12471
  }
@@ -12405,13 +12481,13 @@ var StyledTabItem = (0, import_styled_components86.default)(import_react_tabs3.T
12405
12481
  outline: none;
12406
12482
  }
12407
12483
  `;
12408
- var TabItem = (0, import_react66.forwardRef)(
12484
+ var TabItem = (0, import_react67.forwardRef)(
12409
12485
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
12410
12486
  const selectedValue = useTabsValue();
12411
12487
  const { setSelectedItemMeasurements } = useSelectedItemStyle();
12412
- const buttonRef = (0, import_react66.useRef)(null);
12488
+ const buttonRef = (0, import_react67.useRef)(null);
12413
12489
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
12414
- (0, import_react66.useEffect)(() => {
12490
+ (0, import_react67.useEffect)(() => {
12415
12491
  const buttonElem = buttonRef.current;
12416
12492
  if (!buttonElem) {
12417
12493
  return void 0;
@@ -12455,16 +12531,16 @@ var TabItem = (0, import_react66.forwardRef)(
12455
12531
  TabItem.displayName = "TabItem";
12456
12532
 
12457
12533
  // src/components/Tabs/extractTabItems.ts
12458
- var import_react67 = require("react");
12534
+ var import_react68 = require("react");
12459
12535
  var extractTabItems = (children) => {
12460
12536
  const tabItems = [];
12461
- import_react67.Children.forEach(children, (child) => {
12462
- if (!(0, import_react67.isValidElement)(child)) {
12537
+ import_react68.Children.forEach(children, (child) => {
12538
+ if (!(0, import_react68.isValidElement)(child)) {
12463
12539
  return;
12464
12540
  }
12465
12541
  if (typeof child.type !== "string" && child.type.displayName === "Tab") {
12466
12542
  tabItems.push(child);
12467
- } else if (child.type === import_react67.Fragment) {
12543
+ } else if (child.type === import_react68.Fragment) {
12468
12544
  const fragmentElement = child;
12469
12545
  tabItems.push(...extractTabItems(fragmentElement.props.children));
12470
12546
  } else if ((child.props.children ?? null) != null) {
@@ -12511,7 +12587,7 @@ var StyledTabsRoot = (0, import_styled_components88.default)(import_react_tabs4.
12511
12587
  flex-direction: column;
12512
12588
  height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
12513
12589
  `;
12514
- var Tabs = (0, import_react68.forwardRef)(
12590
+ var Tabs = (0, import_react69.forwardRef)(
12515
12591
  ({
12516
12592
  children,
12517
12593
  fullWidth = true,
@@ -12523,7 +12599,7 @@ var Tabs = (0, import_react68.forwardRef)(
12523
12599
  ...props
12524
12600
  }, ref) => {
12525
12601
  const tabItems = extractTabItems(children);
12526
- const [internalSelectedValue, setInternalSelectedValue] = (0, import_react68.useState)(defaultSelectedValue);
12602
+ const [internalSelectedValue, setInternalSelectedValue] = (0, import_react69.useState)(defaultSelectedValue);
12527
12603
  const modeProps = defaultSelectedValue !== void 0 ? {
12528
12604
  defaultValue: defaultSelectedValue,
12529
12605
  onValueChange: setInternalSelectedValue
@@ -12609,15 +12685,15 @@ var Tabs = (0, import_react68.forwardRef)(
12609
12685
  Tabs.displayName = "Tabs";
12610
12686
 
12611
12687
  // src/components/Tabs/Tab.tsx
12612
- var import_react69 = require("react");
12688
+ var import_react70 = require("react");
12613
12689
  var import_jsx_runtime269 = require("react/jsx-runtime");
12614
- var Tab = (0, import_react69.forwardRef)(({ children }, ref) => {
12690
+ var Tab = (0, import_react70.forwardRef)(({ children }, ref) => {
12615
12691
  return /* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { ref, children });
12616
12692
  });
12617
12693
  Tab.displayName = "Tab";
12618
12694
 
12619
12695
  // src/components/Tag/Tag.tsx
12620
- var import_react70 = require("react");
12696
+ var import_react71 = require("react");
12621
12697
  var import_styled_components89 = __toESM(require("styled-components"));
12622
12698
  var import_type_guards52 = require("@wistia/type-guards");
12623
12699
  var import_jsx_runtime270 = require("react/jsx-runtime");
@@ -12734,7 +12810,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
12734
12810
  )
12735
12811
  ] });
12736
12812
  };
12737
- var Tag = (0, import_react70.forwardRef)(
12813
+ var Tag = (0, import_react71.forwardRef)(
12738
12814
  ({ onClickRemove, colorScheme = "inherit", href, icon, label, onClickRemoveLabel, ...props }, ref) => {
12739
12815
  const hasIcon = (0, import_type_guards52.isNotNil)(icon);
12740
12816
  const labelProps = (0, import_type_guards52.isNotNil)(href) && (0, import_type_guards52.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
@@ -12808,7 +12884,7 @@ var ThumbnailBadge = ({ icon, label, ...props }) => {
12808
12884
  ThumbnailBadge.displayName = "ThumbnailBadge";
12809
12885
 
12810
12886
  // src/components/Thumbnail/Thumbnail.tsx
12811
- var import_react71 = require("react");
12887
+ var import_react72 = require("react");
12812
12888
  var import_styled_components92 = __toESM(require("styled-components"));
12813
12889
  var import_type_guards55 = require("@wistia/type-guards");
12814
12890
 
@@ -13109,7 +13185,7 @@ var getRelativeMousePosition = (elem, mouseEvent) => {
13109
13185
  left: relativeLeft
13110
13186
  };
13111
13187
  };
13112
- var Thumbnail = (0, import_react71.forwardRef)(
13188
+ var Thumbnail = (0, import_react72.forwardRef)(
13113
13189
  ({
13114
13190
  gradientBackground = "defaultMidOne",
13115
13191
  thumbnailImageType = "square",
@@ -13120,16 +13196,16 @@ var Thumbnail = (0, import_react71.forwardRef)(
13120
13196
  height,
13121
13197
  ...props
13122
13198
  }, ref) => {
13123
- const [percent, setPercent] = (0, import_react71.useState)(0);
13124
- const [isMouseOver, setIsMouseOver] = (0, import_react71.useState)(false);
13125
- const [isStoryboardReady, setIsStoryboardReady] = (0, import_react71.useState)(false);
13126
- const storyboardElementRef = (0, import_react71.useRef)(null);
13127
- const backgroundUrl = (0, import_react71.useMemo)(
13199
+ const [percent, setPercent] = (0, import_react72.useState)(0);
13200
+ const [isMouseOver, setIsMouseOver] = (0, import_react72.useState)(false);
13201
+ const [isStoryboardReady, setIsStoryboardReady] = (0, import_react72.useState)(false);
13202
+ const storyboardElementRef = (0, import_react72.useRef)(null);
13203
+ const backgroundUrl = (0, import_react72.useMemo)(
13128
13204
  () => thumbnailImageType === "square" && (0, import_type_guards55.isNotNil)(thumbnailUrl) ? thumbnailUrl : void 0,
13129
13205
  [thumbnailImageType, thumbnailUrl]
13130
13206
  );
13131
13207
  const isScrubbable = (0, import_type_guards55.isNotNil)(storyboard);
13132
- const trackStoryboardLoadStatus = (0, import_react71.useCallback)(() => {
13208
+ const trackStoryboardLoadStatus = (0, import_react72.useCallback)(() => {
13133
13209
  if (storyboardElementRef.current || !storyboard) {
13134
13210
  return storyboardElementRef.current;
13135
13211
  }
@@ -13139,7 +13215,7 @@ var Thumbnail = (0, import_react71.forwardRef)(
13139
13215
  storyboardElementRef.current = asset;
13140
13216
  return storyboardElementRef.current;
13141
13217
  }, [storyboard]);
13142
- const handleMouseMove = (0, import_react71.useCallback)(
13218
+ const handleMouseMove = (0, import_react72.useCallback)(
13143
13219
  (mouseEvent) => {
13144
13220
  if (!isScrubbable) return;
13145
13221
  const elem = mouseEvent.currentTarget;
@@ -13151,14 +13227,14 @@ var Thumbnail = (0, import_react71.forwardRef)(
13151
13227
  },
13152
13228
  [isScrubbable, trackStoryboardLoadStatus]
13153
13229
  );
13154
- const handleMouseOut = (0, import_react71.useCallback)(() => {
13230
+ const handleMouseOut = (0, import_react72.useCallback)(() => {
13155
13231
  if (!isScrubbable) return;
13156
13232
  setIsMouseOver(false);
13157
13233
  }, [isScrubbable]);
13158
- const shouldRenderStoryboard = (0, import_react71.useMemo)(() => {
13234
+ const shouldRenderStoryboard = (0, import_react72.useMemo)(() => {
13159
13235
  return Boolean(isScrubbable && isMouseOver && isStoryboardReady);
13160
13236
  }, [isScrubbable, isMouseOver, isStoryboardReady]);
13161
- const renderStoryboard = (0, import_react71.useCallback)(() => {
13237
+ const renderStoryboard = (0, import_react72.useCallback)(() => {
13162
13238
  if (!storyboard || (0, import_type_guards55.isUndefined)(height) || (0, import_type_guards55.isEmptyString)(height)) return null;
13163
13239
  const {
13164
13240
  url,
@@ -13223,7 +13299,7 @@ var Thumbnail = (0, import_react71.forwardRef)(
13223
13299
  Thumbnail.displayName = "Thumbnail";
13224
13300
 
13225
13301
  // src/components/ThumbnailCollage/ThumbnailCollage.tsx
13226
- var import_react72 = __toESM(require("react"));
13302
+ var import_react73 = __toESM(require("react"));
13227
13303
  var import_styled_components93 = __toESM(require("styled-components"));
13228
13304
  var import_type_guards56 = require("@wistia/type-guards");
13229
13305
  var import_jsx_runtime274 = (
@@ -13303,10 +13379,10 @@ var ThumbnailCollage = ({
13303
13379
  gradientBackground = "defaultMidOne",
13304
13380
  ...props
13305
13381
  }) => {
13306
- const thumbnailArray = import_react72.default.Children.toArray(children);
13382
+ const thumbnailArray = import_react73.default.Children.toArray(children);
13307
13383
  const truncatedThumbnails = thumbnailArray.slice(0, 3);
13308
13384
  const thumbnails = (0, import_type_guards56.isNonEmptyArray)(thumbnailArray) ? truncatedThumbnails.map((child) => {
13309
- return import_react72.default.cloneElement(child, {
13385
+ return import_react73.default.cloneElement(child, {
13310
13386
  ...child.props,
13311
13387
  children: void 0
13312
13388
  });