@wistia/ui 0.6.35 → 0.6.36

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.6.35
3
+ * @license @wistia/ui v0.6.36
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -128,6 +128,7 @@ __export(index_exports, {
128
128
  useImperativeFilePicker: () => import_use_file_picker.useImperativeFilePicker,
129
129
  useKey: () => useKey,
130
130
  useLocalStorage: () => useLocalStorage,
131
+ useLockBodyScroll: () => useLockBodyScroll,
131
132
  useMq: () => useMq,
132
133
  useToast: () => useToast,
133
134
  useWindowSize: () => useWindowSize
@@ -2176,11 +2177,27 @@ var useLocalStorage = (key, initialValue, storage = window.localStorage) => {
2176
2177
  return [storedValue, setValue, removeValue];
2177
2178
  };
2178
2179
 
2180
+ // src/hooks/useLockBodyScroll/useLockBodyScroll.ts
2181
+ var import_react8 = require("react");
2182
+ var useLockBodyScroll = (locked) => {
2183
+ (0, import_react8.useLayoutEffect)(() => {
2184
+ if (locked) {
2185
+ const originalStyle = window.getComputedStyle(document.body).overflow;
2186
+ document.body.style.overflow = "hidden";
2187
+ return () => {
2188
+ document.body.style.overflow = originalStyle;
2189
+ };
2190
+ }
2191
+ return () => {
2192
+ };
2193
+ }, [locked]);
2194
+ };
2195
+
2179
2196
  // src/hooks/useMq/useMq.ts
2180
2197
  var import_type_guards7 = require("@wistia/type-guards");
2181
2198
 
2182
2199
  // src/hooks/useWindowSize/useWindowSize.ts
2183
- var import_react8 = require("react");
2200
+ var import_react9 = require("react");
2184
2201
  var import_throttle_debounce = require("throttle-debounce");
2185
2202
 
2186
2203
  // src/private/helpers/isClient/isClient.ts
@@ -2188,11 +2205,11 @@ var isClient = () => typeof window !== "undefined" && typeof document !== "undef
2188
2205
 
2189
2206
  // src/hooks/useWindowSize/useWindowSize.ts
2190
2207
  var useWindowSize = (interval = 0) => {
2191
- const [dimensions, setDimensions] = (0, import_react8.useState)({
2208
+ const [dimensions, setDimensions] = (0, import_react9.useState)({
2192
2209
  width: isClient() ? window.innerWidth : 0,
2193
2210
  height: isClient() ? window.innerHeight : 0
2194
2211
  });
2195
- (0, import_react8.useLayoutEffect)(() => {
2212
+ (0, import_react9.useLayoutEffect)(() => {
2196
2213
  const handleResize = (0, import_throttle_debounce.debounce)(
2197
2214
  interval,
2198
2215
  () => setDimensions({
@@ -2244,11 +2261,11 @@ var useActiveMq = () => {
2244
2261
  };
2245
2262
 
2246
2263
  // src/hooks/useToast/useToast.tsx
2247
- var import_react10 = require("react");
2264
+ var import_react11 = require("react");
2248
2265
  var import_sonner2 = require("sonner");
2249
2266
 
2250
2267
  // src/private/components/Toast/Toast.tsx
2251
- var import_react9 = require("react");
2268
+ var import_react10 = require("react");
2252
2269
  var import_styled_components15 = __toESM(require("styled-components"));
2253
2270
  var import_type_guards9 = require("@wistia/type-guards");
2254
2271
 
@@ -2478,8 +2495,8 @@ var StyledToast = import_styled_components15.default.div`
2478
2495
  }
2479
2496
  `;
2480
2497
  var Action = ({ actionButton }) => {
2481
- if ((0, import_type_guards9.isNotNil)(actionButton) && (0, import_react9.isValidElement)(actionButton)) {
2482
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react9.cloneElement)(actionButton, {
2498
+ if ((0, import_type_guards9.isNotNil)(actionButton) && (0, import_react10.isValidElement)(actionButton)) {
2499
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react10.cloneElement)(actionButton, {
2483
2500
  variant: "soft",
2484
2501
  // force Button variant
2485
2502
  size: "sm"
@@ -2515,7 +2532,7 @@ Toast.displayName = "Toast";
2515
2532
  // src/hooks/useToast/useToast.tsx
2516
2533
  var import_jsx_runtime6 = require("react/jsx-runtime");
2517
2534
  var useToast = () => {
2518
- return (0, import_react10.useCallback)(
2535
+ return (0, import_react11.useCallback)(
2519
2536
  ({ message, action, colorScheme, icon, position = "bottom-left", duration = 3e3 }) => {
2520
2537
  import_sonner2.toast.custom(
2521
2538
  () => {
@@ -2537,11 +2554,11 @@ var useToast = () => {
2537
2554
  };
2538
2555
 
2539
2556
  // src/components/ActionButton/ActionButton.tsx
2540
- var import_react14 = require("react");
2557
+ var import_react15 = require("react");
2541
2558
  var import_styled_components21 = __toESM(require("styled-components"));
2542
2559
 
2543
2560
  // src/components/Button/Button.tsx
2544
- var import_react13 = require("react");
2561
+ var import_react14 = require("react");
2545
2562
  var import_styled_components20 = __toESM(require("styled-components"));
2546
2563
  var import_type_guards13 = require("@wistia/type-guards");
2547
2564
 
@@ -6603,13 +6620,13 @@ var iconMap = {
6603
6620
 
6604
6621
  // src/private/hooks/useResponsiveProp/useResponsiveProp.ts
6605
6622
  var import_type_guards10 = require("@wistia/type-guards");
6606
- var import_react11 = require("react");
6623
+ var import_react12 = require("react");
6607
6624
  var isResponsiveObject = (values) => {
6608
6625
  return typeof values === "object" && values !== null && !Array.isArray(values) && "base" in values;
6609
6626
  };
6610
6627
  var useResponsiveProp = (values) => {
6611
6628
  const activeMediaQueries = useActiveMq();
6612
- return (0, import_react11.useMemo)(() => {
6629
+ return (0, import_react12.useMemo)(() => {
6613
6630
  if ((0, import_type_guards10.isRecord)(values) && isResponsiveObject(values)) {
6614
6631
  const mq2 = activeMediaQueries.find((key) => key in values);
6615
6632
  return (0, import_type_guards10.isNotUndefined)(mq2) && (0, import_type_guards10.isNotUndefined)(values[mq2]) ? values[mq2] : values.base;
@@ -6676,7 +6693,7 @@ var Icon = ({
6676
6693
  Icon.displayName = "Icon";
6677
6694
 
6678
6695
  // src/components/Link/Link.tsx
6679
- var import_react12 = require("react");
6696
+ var import_react13 = require("react");
6680
6697
  var import_type_guards12 = require("@wistia/type-guards");
6681
6698
  var import_styled_components19 = __toESM(require("styled-components"));
6682
6699
  var import_react_router_dom = require("react-router-dom");
@@ -6716,7 +6733,7 @@ var StyledLink = import_styled_components19.default.a`
6716
6733
  }
6717
6734
  }
6718
6735
  `;
6719
- var Link = (0, import_react12.forwardRef)(
6736
+ var Link = (0, import_react13.forwardRef)(
6720
6737
  ({
6721
6738
  beforeAction,
6722
6739
  children,
@@ -6862,7 +6879,7 @@ var ButtonContent = ({
6862
6879
  )
6863
6880
  ] });
6864
6881
  };
6865
- var Button = (0, import_react13.forwardRef)(
6882
+ var Button = (0, import_react14.forwardRef)(
6866
6883
  ({
6867
6884
  children,
6868
6885
  forceState,
@@ -7041,7 +7058,7 @@ var StyledLabel = import_styled_components21.default.span`
7041
7058
  grid-row: 2;
7042
7059
  text-align: left;
7043
7060
  `;
7044
- var ActionButton = (0, import_react14.forwardRef)(
7061
+ var ActionButton = (0, import_react15.forwardRef)(
7045
7062
  ({
7046
7063
  icon,
7047
7064
  colorScheme = "default",
@@ -7085,7 +7102,7 @@ var ActionButton = (0, import_react14.forwardRef)(
7085
7102
  ActionButton.displayName = "ActionButton";
7086
7103
 
7087
7104
  // src/components/Avatar/Avatar.tsx
7088
- var import_react15 = require("react");
7105
+ var import_react16 = require("react");
7089
7106
  var import_type_guards15 = require("@wistia/type-guards");
7090
7107
  var import_styled_components23 = __toESM(require("styled-components"));
7091
7108
 
@@ -7217,8 +7234,8 @@ var Avatar = ({
7217
7234
  onImageLoad,
7218
7235
  ...otherProps
7219
7236
  }) => {
7220
- const [imageLoadState, setImageLoadState] = (0, import_react15.useState)("loading");
7221
- (0, import_react15.useEffect)(() => {
7237
+ const [imageLoadState, setImageLoadState] = (0, import_react16.useState)("loading");
7238
+ (0, import_react16.useEffect)(() => {
7222
7239
  setImageLoadState("loading");
7223
7240
  }, [imageUrl]);
7224
7241
  const handleImageLoad = () => {
@@ -7230,7 +7247,7 @@ var Avatar = ({
7230
7247
  onImageLoad?.({ state: "error", type: "initials" });
7231
7248
  };
7232
7249
  const avatarSize = heightAndWidth ?? avatarSizeMap[size];
7233
- const avatarColor = (0, import_react15.useMemo)(() => chooseColorScheme(name), [name]);
7250
+ const avatarColor = (0, import_react16.useMemo)(() => chooseColorScheme(name), [name]);
7234
7251
  const showInitials = (0, import_type_guards15.isNil)(imageUrl) || imageLoadState === "error";
7235
7252
  return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
7236
7253
  AvatarWrapper,
@@ -7260,7 +7277,7 @@ var Avatar = ({
7260
7277
  Avatar.displayName = "Avatar";
7261
7278
 
7262
7279
  // src/components/Badge/Badge.tsx
7263
- var import_react16 = require("react");
7280
+ var import_react17 = require("react");
7264
7281
  var import_styled_components24 = __toESM(require("styled-components"));
7265
7282
  var import_type_guards16 = require("@wistia/type-guards");
7266
7283
  var import_jsx_runtime197 = require("react/jsx-runtime");
@@ -7284,7 +7301,7 @@ var StyledBadge = import_styled_components24.default.div`
7284
7301
  width: 12px;
7285
7302
  }
7286
7303
  `;
7287
- var Badge = (0, import_react16.forwardRef)(
7304
+ var Badge = (0, import_react17.forwardRef)(
7288
7305
  ({ colorScheme = "inherit", label, icon, ...otherProps }, ref) => {
7289
7306
  const hasIcon = (0, import_type_guards16.isNotNil)(icon);
7290
7307
  return /* @__PURE__ */ (0, import_jsx_runtime197.jsxs)(
@@ -7305,7 +7322,7 @@ var Badge = (0, import_react16.forwardRef)(
7305
7322
  Badge.displayName = "Badge";
7306
7323
 
7307
7324
  // src/components/Box/Box.tsx
7308
- var import_react17 = require("react");
7325
+ var import_react18 = require("react");
7309
7326
  var import_styled_components25 = __toESM(require("styled-components"));
7310
7327
  var import_type_guards17 = require("@wistia/type-guards");
7311
7328
 
@@ -7414,13 +7431,13 @@ var StyledBoxComponent = import_styled_components25.default.div`
7414
7431
  var wrapChildren = (children) => {
7415
7432
  if ((0, import_type_guards17.isNotNil)(children)) {
7416
7433
  if (typeof children === "object" && isDev) {
7417
- return import_react17.Children.map(children, (child) => {
7434
+ return import_react18.Children.map(children, (child) => {
7418
7435
  if ((0, import_type_guards17.isNil)(child)) return null;
7419
7436
  const elementParams = {};
7420
7437
  if (child.type?.displayName === "Box" || child.type?.displayName === "Box_UI") {
7421
7438
  elementParams.hasBoxParent = true;
7422
7439
  }
7423
- return (0, import_react17.cloneElement)(child, elementParams);
7440
+ return (0, import_react18.cloneElement)(child, elementParams);
7424
7441
  });
7425
7442
  }
7426
7443
  return children;
@@ -7428,7 +7445,7 @@ var wrapChildren = (children) => {
7428
7445
  return null;
7429
7446
  };
7430
7447
  var DEFAULT_ELEMENT = "div";
7431
- var BoxComponent = (0, import_react17.forwardRef)(
7448
+ var BoxComponent = (0, import_react18.forwardRef)(
7432
7449
  ({
7433
7450
  alignContent = "stretch",
7434
7451
  alignItems = "flex-start",
@@ -7505,7 +7522,7 @@ BoxComponent.displayName = "Box";
7505
7522
  var Box = makePolymorphic(BoxComponent);
7506
7523
 
7507
7524
  // src/components/Breadcrumbs/Breadcrumbs.tsx
7508
- var import_react18 = require("react");
7525
+ var import_react19 = require("react");
7509
7526
  var import_styled_components26 = __toESM(require("styled-components"));
7510
7527
  var import_jsx_runtime199 = require("react/jsx-runtime");
7511
7528
  var StyledBreadcrumbs = import_styled_components26.default.nav`
@@ -7521,7 +7538,7 @@ var StyledBreadcrumbs = import_styled_components26.default.nav`
7521
7538
  var BUFFER_WIDTH = 10;
7522
7539
  var Breadcrumbs = ({ children, ...props }) => {
7523
7540
  const { isXsAndDown } = useMq();
7524
- let crumbs = import_react18.Children.toArray(children);
7541
+ let crumbs = import_react19.Children.toArray(children);
7525
7542
  if (isXsAndDown) {
7526
7543
  crumbs = crumbs.slice(-1);
7527
7544
  }
@@ -7708,7 +7725,7 @@ var Card = ({
7708
7725
  Card.displayName = "Card";
7709
7726
 
7710
7727
  // src/components/Center/Center.tsx
7711
- var import_react19 = require("react");
7728
+ var import_react20 = require("react");
7712
7729
  var import_styled_components30 = __toESM(require("styled-components"));
7713
7730
  var import_jsx_runtime203 = require("react/jsx-runtime");
7714
7731
  var StyledCenter = import_styled_components30.default.div`
@@ -7723,7 +7740,7 @@ var StyledCenter = import_styled_components30.default.div`
7723
7740
  align-items: center;
7724
7741
  `}
7725
7742
  `;
7726
- var Center = (0, import_react19.forwardRef)(
7743
+ var Center = (0, import_react20.forwardRef)(
7727
7744
  ({ maxWidth = "100%", gutterWidth = "space-00", intrinsic = false, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
7728
7745
  StyledCenter,
7729
7746
  {
@@ -7739,7 +7756,7 @@ var Center = (0, import_react19.forwardRef)(
7739
7756
  Center.displayName = "Center";
7740
7757
 
7741
7758
  // src/components/Checkbox/Checkbox.tsx
7742
- var import_react20 = require("react");
7759
+ var import_react21 = require("react");
7743
7760
  var import_styled_components34 = __toESM(require("styled-components"));
7744
7761
  var import_type_guards22 = require("@wistia/type-guards");
7745
7762
 
@@ -7959,7 +7976,7 @@ var StyledHiddenCheckboxInput = import_styled_components34.default.input`
7959
7976
  display: block;
7960
7977
  }
7961
7978
  `;
7962
- var Checkbox = (0, import_react20.forwardRef)(
7979
+ var Checkbox = (0, import_react21.forwardRef)(
7963
7980
  ({
7964
7981
  checked,
7965
7982
  disabled = false,
@@ -7974,7 +7991,7 @@ var Checkbox = (0, import_react20.forwardRef)(
7974
7991
  hideLabel = false,
7975
7992
  ...props
7976
7993
  }, ref) => {
7977
- const generatedId = (0, import_react20.useId)();
7994
+ const generatedId = (0, import_react21.useId)();
7978
7995
  const computedId = (0, import_type_guards22.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-${generatedId}`;
7979
7996
  return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(StyledCheckboxWrapper, { disabled, children: [
7980
7997
  /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
@@ -8017,9 +8034,9 @@ var Checkbox = (0, import_react20.forwardRef)(
8017
8034
  Checkbox.displayName = "Checkbox";
8018
8035
 
8019
8036
  // src/components/ClickRegion/ClickRegion.tsx
8020
- var import_react21 = require("react");
8037
+ var import_react22 = require("react");
8021
8038
  var ClickRegion = ({ children, targetRef }) => {
8022
- (0, import_react21.useEffect)(() => {
8039
+ (0, import_react22.useEffect)(() => {
8023
8040
  if (targetRef.current && targetRef.current.tagName === "A") {
8024
8041
  targetRef.current.setAttribute("data-click-region-target-link", "");
8025
8042
  } else if (targetRef.current && targetRef.current.tagName === "BUTTON") {
@@ -8027,7 +8044,7 @@ var ClickRegion = ({ children, targetRef }) => {
8027
8044
  } else {
8028
8045
  }
8029
8046
  }, [targetRef]);
8030
- const handleClick = (0, import_react21.useCallback)(
8047
+ const handleClick = (0, import_react22.useCallback)(
8031
8048
  (event) => {
8032
8049
  const node = targetRef.current;
8033
8050
  if (event.target instanceof HTMLAnchorElement && !event.target.hasAttribute("data-click-region-target-link") || event.target instanceof HTMLButtonElement && !event.target.hasAttribute("data-click-region-target-button")) {
@@ -8044,7 +8061,7 @@ var ClickRegion = ({ children, targetRef }) => {
8044
8061
  },
8045
8062
  [targetRef]
8046
8063
  );
8047
- return (0, import_react21.cloneElement)(import_react21.Children.only(children), {
8064
+ return (0, import_react22.cloneElement)(import_react22.Children.only(children), {
8048
8065
  "data-click-region": true,
8049
8066
  onClick: handleClick
8050
8067
  });
@@ -8077,11 +8094,11 @@ var Collapsible = ({
8077
8094
  Collapsible.displayName = "Collapsible";
8078
8095
 
8079
8096
  // src/components/Collapsible/CollapsibleTrigger.tsx
8080
- var import_react22 = require("react");
8097
+ var import_react23 = require("react");
8081
8098
  var import_react_collapsible2 = require("@radix-ui/react-collapsible");
8082
8099
  var import_jsx_runtime209 = require("react/jsx-runtime");
8083
8100
  var CollapsibleTrigger = ({ children }) => {
8084
- import_react22.Children.only(children);
8101
+ import_react23.Children.only(children);
8085
8102
  return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(import_react_collapsible2.Trigger, { asChild: true, children });
8086
8103
  };
8087
8104
 
@@ -8108,7 +8125,7 @@ var import_styled_components38 = __toESM(require("styled-components"));
8108
8125
  var import_type_guards25 = require("@wistia/type-guards");
8109
8126
 
8110
8127
  // src/components/Heading/Heading.tsx
8111
- var import_react23 = require("react");
8128
+ var import_react24 = require("react");
8112
8129
  var import_styled_components37 = __toESM(require("styled-components"));
8113
8130
  var import_jsx_runtime211 = require("react/jsx-runtime");
8114
8131
  var heroStyle = import_styled_components37.css`
@@ -8195,7 +8212,7 @@ var variantElementMap = {
8195
8212
  heading5: "h5",
8196
8213
  heading6: "h6"
8197
8214
  };
8198
- var HeadingComponent = (0, import_react23.forwardRef)(
8215
+ var HeadingComponent = (0, import_react24.forwardRef)(
8199
8216
  ({
8200
8217
  align = "left",
8201
8218
  colorScheme = "inherit",
@@ -8359,7 +8376,7 @@ DataCards.displayName = "DataCards";
8359
8376
  var import_styled_components41 = __toESM(require("styled-components"));
8360
8377
 
8361
8378
  // src/components/Text/Text.tsx
8362
- var import_react24 = require("react");
8379
+ var import_react25 = require("react");
8363
8380
  var import_styled_components40 = __toESM(require("styled-components"));
8364
8381
  var import_jsx_runtime214 = require("react/jsx-runtime");
8365
8382
  var bodyBoldStyles = import_styled_components40.css`
@@ -8525,7 +8542,7 @@ var StyledText = import_styled_components40.default.div`
8525
8542
  }
8526
8543
  `}
8527
8544
  `;
8528
- var TextComponent = (0, import_react24.forwardRef)(
8545
+ var TextComponent = (0, import_react25.forwardRef)(
8529
8546
  ({
8530
8547
  align = "left",
8531
8548
  colorScheme = "inherit",
@@ -8641,7 +8658,7 @@ Divider.displayName = "Divider";
8641
8658
 
8642
8659
  // src/components/EditableHeading/EditableHeading.tsx
8643
8660
  var import_styled_components45 = __toESM(require("styled-components"));
8644
- var import_react26 = require("react");
8661
+ var import_react27 = require("react");
8645
8662
 
8646
8663
  // src/components/Tooltip/Tooltip.tsx
8647
8664
  var import_react_tooltip2 = require("@radix-ui/react-tooltip");
@@ -8750,7 +8767,7 @@ var Tooltip = ({
8750
8767
  Tooltip.displayName = "Tooltip";
8751
8768
 
8752
8769
  // src/components/Input/Input.tsx
8753
- var import_react25 = require("react");
8770
+ var import_react26 = require("react");
8754
8771
  var import_styled_components44 = __toESM(require("styled-components"));
8755
8772
  var import_type_guards26 = require("@wistia/type-guards");
8756
8773
  var import_jsx_runtime218 = require("react/jsx-runtime");
@@ -8839,7 +8856,7 @@ var StyledInputContainer = import_styled_components44.default.div`
8839
8856
  padding-right: 32px;
8840
8857
  }
8841
8858
  `;
8842
- var Input = (0, import_react25.forwardRef)(
8859
+ var Input = (0, import_react26.forwardRef)(
8843
8860
  ({
8844
8861
  fullWidth = true,
8845
8862
  monospace = false,
@@ -8849,7 +8866,7 @@ var Input = (0, import_react25.forwardRef)(
8849
8866
  rightIcon,
8850
8867
  ...props
8851
8868
  }, externalRef) => {
8852
- const internalRef = (0, import_react25.useRef)();
8869
+ const internalRef = (0, import_react26.useRef)();
8853
8870
  const ref = (
8854
8871
  // eslint-disable-next-line react-compiler/react-compiler
8855
8872
  (0, import_type_guards26.isNotNil)(externalRef) && (0, import_type_guards26.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
@@ -8859,14 +8876,14 @@ var Input = (0, import_react25.forwardRef)(
8859
8876
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(Icon, { type: "search" });
8860
8877
  }
8861
8878
  if ((0, import_type_guards26.isNotNil)(leftIconToDisplay)) {
8862
- leftIconToDisplay = (0, import_react25.cloneElement)(leftIconToDisplay, {
8879
+ leftIconToDisplay = (0, import_react26.cloneElement)(leftIconToDisplay, {
8863
8880
  size: "md",
8864
8881
  className: "wui-input-left-icon"
8865
8882
  });
8866
8883
  }
8867
8884
  let rightIconToDisplay = rightIcon;
8868
8885
  if ((0, import_type_guards26.isNotNil)(rightIconToDisplay)) {
8869
- rightIconToDisplay = (0, import_react25.cloneElement)(rightIconToDisplay, {
8886
+ rightIconToDisplay = (0, import_react26.cloneElement)(rightIconToDisplay, {
8870
8887
  size: "md",
8871
8888
  className: "wui-input-right-icon"
8872
8889
  });
@@ -8961,11 +8978,11 @@ var EditableHeading = ({
8961
8978
  forceEditing = false,
8962
8979
  editingDisabled = false
8963
8980
  }) => {
8964
- const [isEditing, setIsEditing] = (0, import_react26.useState)(false);
8965
- const [value, setValue] = (0, import_react26.useState)(children);
8966
- const [previousValue, setPreviousValue] = (0, import_react26.useState)(children);
8967
- const [headingHeight, setHeadingHeight] = (0, import_react26.useState)("60");
8968
- const headingRef = (0, import_react26.useRef)(null);
8981
+ const [isEditing, setIsEditing] = (0, import_react27.useState)(false);
8982
+ const [value, setValue] = (0, import_react27.useState)(children);
8983
+ const [previousValue, setPreviousValue] = (0, import_react27.useState)(children);
8984
+ const [headingHeight, setHeadingHeight] = (0, import_react27.useState)("60");
8985
+ const headingRef = (0, import_react27.useRef)(null);
8969
8986
  const handleSetEditing = (editing) => {
8970
8987
  if (editingDisabled) return;
8971
8988
  if (editing && headingRef.current) {
@@ -9051,12 +9068,12 @@ var EditableHeading = ({
9051
9068
  };
9052
9069
 
9053
9070
  // src/components/Form/Form.tsx
9054
- var import_react28 = require("react");
9071
+ var import_react29 = require("react");
9055
9072
  var import_styled_components47 = __toESM(require("styled-components"));
9056
9073
  var import_type_guards27 = require("@wistia/type-guards");
9057
9074
 
9058
9075
  // src/components/Stack/Stack.tsx
9059
- var import_react27 = require("react");
9076
+ var import_react28 = require("react");
9060
9077
  var import_styled_components46 = __toESM(require("styled-components"));
9061
9078
  var import_jsx_runtime220 = require("react/jsx-runtime");
9062
9079
  var DEFAULT_ELEMENT4 = "div";
@@ -9066,7 +9083,7 @@ var StyledStack = import_styled_components46.default.div`
9066
9083
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
9067
9084
  align-items: ${({ $alignItems }) => $alignItems};
9068
9085
  `;
9069
- var StackComponent = (0, import_react27.forwardRef)(
9086
+ var StackComponent = (0, import_react28.forwardRef)(
9070
9087
  ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
9071
9088
  const responsiveGap = useResponsiveProp(gap);
9072
9089
  const responsiveDirection = useResponsiveProp(direction);
@@ -9095,7 +9112,7 @@ var StyledForm = import_styled_components47.default.form`
9095
9112
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
9096
9113
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
9097
9114
  `;
9098
- var FormContext = (0, import_react28.createContext)({
9115
+ var FormContext = (0, import_react29.createContext)({
9099
9116
  values: {},
9100
9117
  errors: {},
9101
9118
  hasSubmitted: false,
@@ -9111,11 +9128,11 @@ var FormComponent = ({
9111
9128
  fullWidth = false,
9112
9129
  ...props
9113
9130
  }, forwardedRef) => {
9114
- const [errors, setErrors] = (0, import_react28.useState)({});
9115
- const [hasSubmitted, setHasSubmitted] = (0, import_react28.useState)(false);
9116
- const innerRef = (0, import_react28.useRef)();
9131
+ const [errors, setErrors] = (0, import_react29.useState)({});
9132
+ const [hasSubmitted, setHasSubmitted] = (0, import_react29.useState)(false);
9133
+ const innerRef = (0, import_react29.useRef)();
9117
9134
  const ref = forwardedRef ?? innerRef;
9118
- const autoId = (0, import_react28.useId)();
9135
+ const autoId = (0, import_react29.useId)();
9119
9136
  const id = props.id ?? autoId;
9120
9137
  const handleValidate = (nextFormData) => {
9121
9138
  const nextData = Object.fromEntries(nextFormData.entries());
@@ -9157,7 +9174,7 @@ var FormComponent = ({
9157
9174
  void action(null);
9158
9175
  }
9159
9176
  };
9160
- const context = (0, import_react28.useMemo)(() => {
9177
+ const context = (0, import_react29.useMemo)(() => {
9161
9178
  return {
9162
9179
  values,
9163
9180
  errors,
@@ -9186,15 +9203,15 @@ var FormComponent = ({
9186
9203
  );
9187
9204
  };
9188
9205
  FormComponent.displayName = "Form";
9189
- var Form = (0, import_react28.forwardRef)(FormComponent);
9206
+ var Form = (0, import_react29.forwardRef)(FormComponent);
9190
9207
 
9191
9208
  // src/components/Form/useFormState.tsx
9192
- var import_react29 = require("react");
9209
+ var import_react30 = require("react");
9193
9210
  var useFormState = (action, initialData = {}) => {
9194
- const [data, setData] = (0, import_react29.useState)(initialData);
9195
- const [isPending, setIsPending] = (0, import_react29.useState)(false);
9196
- const [error, setError] = (0, import_react29.useState)(null);
9197
- const formAction = (0, import_react29.useCallback)(
9211
+ const [data, setData] = (0, import_react30.useState)(initialData);
9212
+ const [isPending, setIsPending] = (0, import_react30.useState)(false);
9213
+ const [error, setError] = (0, import_react30.useState)(null);
9214
+ const formAction = (0, import_react30.useCallback)(
9198
9215
  async (nextFormData) => {
9199
9216
  if (nextFormData === null) {
9200
9217
  setData(initialData);
@@ -9225,15 +9242,15 @@ var useFormState = (action, initialData = {}) => {
9225
9242
  };
9226
9243
 
9227
9244
  // src/components/Form/FormErrorSummary.tsx
9228
- var import_react30 = require("react");
9245
+ var import_react31 = require("react");
9229
9246
  var import_type_guards28 = require("@wistia/type-guards");
9230
9247
  var import_jsx_runtime222 = require("react/jsx-runtime");
9231
9248
  var ErrorItem = ({ name, error, formId }) => {
9232
9249
  return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9233
9250
  };
9234
9251
  var FormErrorSummary = ({ description }) => {
9235
- const ref = (0, import_react30.useRef)(null);
9236
- const { formId, errors, hasSubmitted } = (0, import_react30.useContext)(FormContext);
9252
+ const ref = (0, import_react31.useRef)(null);
9253
+ const { formId, errors, hasSubmitted } = (0, import_react31.useContext)(FormContext);
9237
9254
  const isValid = Object.keys(errors).length === 0;
9238
9255
  if (isValid || !hasSubmitted) {
9239
9256
  return null;
@@ -9263,7 +9280,7 @@ var FormErrorSummary = ({ description }) => {
9263
9280
  };
9264
9281
 
9265
9282
  // src/components/FormField/FormField.tsx
9266
- var import_react33 = require("react");
9283
+ var import_react34 = require("react");
9267
9284
  var import_styled_components50 = __toESM(require("styled-components"));
9268
9285
  var import_type_guards29 = require("@wistia/type-guards");
9269
9286
 
@@ -9328,11 +9345,11 @@ var Label = ({
9328
9345
  Label.displayName = "Label";
9329
9346
 
9330
9347
  // src/components/FormGroup/CheckboxGroup.tsx
9331
- var import_react32 = require("react");
9348
+ var import_react33 = require("react");
9332
9349
 
9333
9350
  // src/components/FormGroup/FormGroup.tsx
9334
9351
  var import_styled_components49 = __toESM(require("styled-components"));
9335
- var import_react31 = require("react");
9352
+ var import_react32 = require("react");
9336
9353
  var import_jsx_runtime224 = require("react/jsx-runtime");
9337
9354
  var StyledFieldset = import_styled_components49.default.fieldset`
9338
9355
  border: 0;
@@ -9341,7 +9358,7 @@ var StyledLegend = import_styled_components49.default.legend`
9341
9358
  margin-bottom: var(--space-01);
9342
9359
  `;
9343
9360
  var FormGroup = ({ children, label, ...props }) => {
9344
- const ref = (0, import_react31.useRef)();
9361
+ const ref = (0, import_react32.useRef)();
9345
9362
  return /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)(
9346
9363
  Stack,
9347
9364
  {
@@ -9366,7 +9383,7 @@ FormGroup.displayName = "FormGroup";
9366
9383
 
9367
9384
  // src/components/FormGroup/CheckboxGroup.tsx
9368
9385
  var import_jsx_runtime225 = require("react/jsx-runtime");
9369
- var CheckboxGroupContext = (0, import_react32.createContext)(null);
9386
+ var CheckboxGroupContext = (0, import_react33.createContext)(null);
9370
9387
  var CheckboxGroup = ({
9371
9388
  children,
9372
9389
  name,
@@ -9374,7 +9391,7 @@ var CheckboxGroup = ({
9374
9391
  value,
9375
9392
  ...props
9376
9393
  }) => {
9377
- const context = (0, import_react32.useMemo)(() => {
9394
+ const context = (0, import_react33.useMemo)(() => {
9378
9395
  return {
9379
9396
  name,
9380
9397
  onChange
@@ -9459,8 +9476,8 @@ var FormField = ({
9459
9476
  value,
9460
9477
  ...props
9461
9478
  }) => {
9462
- const formState = (0, import_react33.useContext)(FormContext);
9463
- const checkboxGroup = (0, import_react33.useContext)(CheckboxGroupContext);
9479
+ const formState = (0, import_react34.useContext)(FormContext);
9480
+ const checkboxGroup = (0, import_react34.useContext)(CheckboxGroupContext);
9464
9481
  const defaultValue = formState.values[name];
9465
9482
  const isIntegratedLabel = children.type === Checkbox;
9466
9483
  const computedId = id ?? `${formState.formId}-${name}`;
@@ -9498,7 +9515,7 @@ var FormField = ({
9498
9515
  "aria-invalid": (0, import_type_guards29.isNotNil)(error)
9499
9516
  };
9500
9517
  }
9501
- import_react33.Children.only(children);
9518
+ import_react34.Children.only(children);
9502
9519
  return /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(
9503
9520
  StyledFormField,
9504
9521
  {
@@ -9507,7 +9524,7 @@ var FormField = ({
9507
9524
  children: [
9508
9525
  !isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(Label, { htmlFor: computedId, children: label }),
9509
9526
  (0, import_type_guards29.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
9510
- (0, import_react33.cloneElement)(children, childProps),
9527
+ (0, import_react34.cloneElement)(children, childProps),
9511
9528
  (0, import_type_guards29.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(import_jsx_runtime226.Fragment, { children: [
9512
9529
  /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", {}),
9513
9530
  /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
@@ -9525,9 +9542,9 @@ var FormField = ({
9525
9542
  FormField.displayName = "FormField";
9526
9543
 
9527
9544
  // src/components/FormGroup/RadioGroup.tsx
9528
- var import_react34 = require("react");
9545
+ var import_react35 = require("react");
9529
9546
  var import_jsx_runtime227 = require("react/jsx-runtime");
9530
- var RadioGroupContext = (0, import_react34.createContext)(null);
9547
+ var RadioGroupContext = (0, import_react35.createContext)(null);
9531
9548
  var RadioGroup = ({
9532
9549
  children,
9533
9550
  name,
@@ -9535,7 +9552,7 @@ var RadioGroup = ({
9535
9552
  value,
9536
9553
  ...props
9537
9554
  }) => {
9538
- const context = (0, import_react34.useMemo)(() => {
9555
+ const context = (0, import_react35.useMemo)(() => {
9539
9556
  return {
9540
9557
  name,
9541
9558
  onChange
@@ -9546,7 +9563,7 @@ var RadioGroup = ({
9546
9563
  RadioGroup.displayName = "RadioGroup";
9547
9564
 
9548
9565
  // src/components/IconButton/IconButton.tsx
9549
- var import_react35 = require("react");
9566
+ var import_react36 = require("react");
9550
9567
  var import_styled_components51 = __toESM(require("styled-components"));
9551
9568
  var import_jsx_runtime228 = require("react/jsx-runtime");
9552
9569
  var StyledButton2 = (0, import_styled_components51.default)(Button)`
@@ -9563,7 +9580,7 @@ var StyledButton2 = (0, import_styled_components51.default)(Button)`
9563
9580
  align-items: center;
9564
9581
  line-height: 1;
9565
9582
  `;
9566
- var IconButton = (0, import_react35.forwardRef)(
9583
+ var IconButton = (0, import_react36.forwardRef)(
9567
9584
  ({ children, label, size = "md", ...props }, ref) => {
9568
9585
  const responsiveSize = useResponsiveProp(size);
9569
9586
  return /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(
@@ -9574,7 +9591,7 @@ var IconButton = (0, import_react35.forwardRef)(
9574
9591
  "aria-label": label,
9575
9592
  "data-wistia-ui-icon-button": true,
9576
9593
  size: responsiveSize,
9577
- children: (0, import_react35.cloneElement)(import_react35.Children.only(children), {
9594
+ children: (0, import_react36.cloneElement)(import_react36.Children.only(children), {
9578
9595
  size: responsiveSize
9579
9596
  })
9580
9597
  }
@@ -9636,12 +9653,12 @@ Image.displayName = "Image";
9636
9653
  var import_styled_components53 = __toESM(require("styled-components"));
9637
9654
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
9638
9655
  var import_type_guards31 = require("@wistia/type-guards");
9639
- var import_react37 = require("react");
9656
+ var import_react38 = require("react");
9640
9657
 
9641
9658
  // src/components/Menu/MenuContext.tsx
9642
- var import_react36 = require("react");
9643
- var MenuContext = (0, import_react36.createContext)({ compact: false });
9644
- var useMenuContext = () => (0, import_react36.useContext)(MenuContext);
9659
+ var import_react37 = require("react");
9660
+ var MenuContext = (0, import_react37.createContext)({ compact: false });
9661
+ var useMenuContext = () => (0, import_react37.useContext)(MenuContext);
9645
9662
 
9646
9663
  // src/components/Menu/Menu.tsx
9647
9664
  var import_jsx_runtime230 = require("react/jsx-runtime");
@@ -9745,7 +9762,7 @@ var Menu = ({
9745
9762
  onInteractOutside,
9746
9763
  ...props
9747
9764
  }) => {
9748
- const contextValue = (0, import_react37.useMemo)(() => ({ compact }), [compact]);
9765
+ const contextValue = (0, import_react38.useMemo)(() => ({ compact }), [compact]);
9749
9766
  let controlProps = {
9750
9767
  ...(0, import_type_guards31.isNotNil)(onOpenChange) && (0, import_type_guards31.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
9751
9768
  };
@@ -9819,13 +9836,13 @@ var MenuLabel = ({ children, ...props }) => {
9819
9836
  MenuLabel.displayName = "MenuLabel";
9820
9837
 
9821
9838
  // src/components/Menu/SubMenu.tsx
9822
- var import_react39 = require("react");
9839
+ var import_react40 = require("react");
9823
9840
  var import_styled_components57 = __toESM(require("styled-components"));
9824
9841
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
9825
9842
  var import_type_guards33 = require("@wistia/type-guards");
9826
9843
 
9827
9844
  // src/components/Menu/MenuItemButton.tsx
9828
- var import_react38 = require("react");
9845
+ var import_react39 = require("react");
9829
9846
  var import_styled_components55 = __toESM(require("styled-components"));
9830
9847
  var import_type_guards32 = require("@wistia/type-guards");
9831
9848
  var import_jsx_runtime232 = require("react/jsx-runtime");
@@ -9902,7 +9919,7 @@ var StyledBadgeContainer = import_styled_components55.default.div`
9902
9919
  font-size: var(--wui-typography-label-4-size);
9903
9920
  color: var(--wui-color-text-secondary);
9904
9921
  `;
9905
- var MenuItemButton = (0, import_react38.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9922
+ var MenuItemButton = (0, import_react39.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9906
9923
  let { colorScheme, badge } = props;
9907
9924
  if (appearance === "dangerous") {
9908
9925
  if ((0, import_type_guards32.isNotUndefined)(colorScheme)) {
@@ -9998,7 +10015,7 @@ var SubMenu = ({
9998
10015
  ...props
9999
10016
  }) => {
10000
10017
  const { isSmAndUp } = useMq();
10001
- const [isExpanded, setIsExpanded] = (0, import_react39.useState)(false);
10018
+ const [isExpanded, setIsExpanded] = (0, import_react40.useState)(false);
10002
10019
  const { compact } = useMenuContext();
10003
10020
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
10004
10021
  /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(SubMenuTrigger, { ...props, children: [
@@ -10027,10 +10044,10 @@ var SubMenu = ({
10027
10044
  SubMenu.displayName = "SubMenu";
10028
10045
 
10029
10046
  // src/components/Menu/MenuItem.tsx
10030
- var import_react40 = require("react");
10047
+ var import_react41 = require("react");
10031
10048
  var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
10032
10049
  var import_jsx_runtime235 = require("react/jsx-runtime");
10033
- var MenuItem = (0, import_react40.forwardRef)(
10050
+ var MenuItem = (0, import_react41.forwardRef)(
10034
10051
  ({ onSelect = () => null, ...props }, ref) => {
10035
10052
  return /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(
10036
10053
  import_react_dropdown_menu4.DropdownMenuItem,
@@ -10180,7 +10197,7 @@ var CheckboxMenuItem = ({
10180
10197
  CheckboxMenuItem.displayName = "CheckboxMenuItem";
10181
10198
 
10182
10199
  // src/components/Modal/Modal.tsx
10183
- var import_react44 = require("react");
10200
+ var import_react45 = require("react");
10184
10201
  var import_styled_components62 = __toESM(require("styled-components"));
10185
10202
  var import_react_dialog4 = require("@radix-ui/react-dialog");
10186
10203
  var import_type_guards35 = require("@wistia/type-guards");
@@ -10240,19 +10257,19 @@ var ModalHeader = ({
10240
10257
  };
10241
10258
 
10242
10259
  // src/components/Modal/ModalContent.tsx
10243
- var import_react42 = require("react");
10260
+ var import_react43 = require("react");
10244
10261
  var import_styled_components60 = __toESM(require("styled-components"));
10245
10262
  var import_react_dialog3 = require("@radix-ui/react-dialog");
10246
10263
 
10247
10264
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
10248
- var import_react41 = require("react");
10265
+ var import_react42 = require("react");
10249
10266
  var import_type_guards34 = require("@wistia/type-guards");
10250
10267
  var useFocusRestore = () => {
10251
- const previouslyFocusedRef = (0, import_react41.useRef)(null);
10252
- (0, import_react41.useEffect)(() => {
10268
+ const previouslyFocusedRef = (0, import_react42.useRef)(null);
10269
+ (0, import_react42.useEffect)(() => {
10253
10270
  previouslyFocusedRef.current = document.activeElement;
10254
10271
  }, []);
10255
- (0, import_react41.useEffect)(() => {
10272
+ (0, import_react42.useEffect)(() => {
10256
10273
  return () => {
10257
10274
  if ((0, import_type_guards34.isNotNil)(previouslyFocusedRef.current)) {
10258
10275
  setTimeout(() => {
@@ -10306,7 +10323,7 @@ var StyledModalContent = (0, import_styled_components60.default)(import_react_di
10306
10323
  }
10307
10324
  }
10308
10325
  `;
10309
- var ModalContent = (0, import_react42.forwardRef)(
10326
+ var ModalContent = (0, import_react43.forwardRef)(
10310
10327
  ({ fullHeight, width, children, ...otherProps }, ref) => {
10311
10328
  useFocusRestore();
10312
10329
  return /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(
@@ -10324,7 +10341,7 @@ var ModalContent = (0, import_react42.forwardRef)(
10324
10341
  );
10325
10342
 
10326
10343
  // src/private/components/Backdrop/Backdrop.tsx
10327
- var import_react43 = require("react");
10344
+ var import_react44 = require("react");
10328
10345
  var import_styled_components61 = __toESM(require("styled-components"));
10329
10346
  var import_jsx_runtime242 = require("react/jsx-runtime");
10330
10347
  var backdropAnimationDuration = 150;
@@ -10362,7 +10379,7 @@ var BackdropComponent = import_styled_components61.default.div`
10362
10379
  }
10363
10380
  }
10364
10381
  `;
10365
- var Backdrop = (0, import_react43.forwardRef)(
10382
+ var Backdrop = (0, import_react44.forwardRef)(
10366
10383
  ({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
10367
10384
  BackdropComponent,
10368
10385
  {
@@ -10384,7 +10401,7 @@ var ModalBody = import_styled_components62.default.div`
10384
10401
  display: flex;
10385
10402
  order: 2;
10386
10403
  `;
10387
- var Modal = (0, import_react44.forwardRef)(
10404
+ var Modal = (0, import_react45.forwardRef)(
10388
10405
  ({
10389
10406
  children,
10390
10407
  fullHeight = false,
@@ -10586,7 +10603,7 @@ var ProgressBar = ({
10586
10603
  ProgressBar.displayName = "ProgressBar";
10587
10604
 
10588
10605
  // src/components/Radio/Radio.tsx
10589
- var import_react45 = require("react");
10606
+ var import_react46 = require("react");
10590
10607
  var import_styled_components65 = __toESM(require("styled-components"));
10591
10608
  var import_type_guards38 = require("@wistia/type-guards");
10592
10609
  var import_jsx_runtime246 = require("react/jsx-runtime");
@@ -10689,7 +10706,7 @@ var StyledHiddenRadioInput = import_styled_components65.default.input`
10689
10706
  display: block;
10690
10707
  }
10691
10708
  `;
10692
- var Radio = (0, import_react45.forwardRef)(
10709
+ var Radio = (0, import_react46.forwardRef)(
10693
10710
  ({
10694
10711
  checked,
10695
10712
  disabled = false,
@@ -10704,7 +10721,7 @@ var Radio = (0, import_react45.forwardRef)(
10704
10721
  hideLabel = false,
10705
10722
  ...props
10706
10723
  }, ref) => {
10707
- const generatedId = (0, import_react45.useId)();
10724
+ const generatedId = (0, import_react46.useId)();
10708
10725
  const computedId = (0, import_type_guards38.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
10709
10726
  return /* @__PURE__ */ (0, import_jsx_runtime246.jsxs)(
10710
10727
  StyledRadioWrapper,
@@ -10754,22 +10771,22 @@ var Radio = (0, import_react45.forwardRef)(
10754
10771
  Radio.displayName = "Radio";
10755
10772
 
10756
10773
  // src/components/SegmentedControl/SegmentedControl.tsx
10757
- var import_react49 = require("react");
10774
+ var import_react50 = require("react");
10758
10775
  var import_styled_components67 = __toESM(require("styled-components"));
10759
10776
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
10760
10777
  var import_type_guards39 = require("@wistia/type-guards");
10761
10778
 
10762
10779
  // src/components/SegmentedControl/useSelectedItemMeasurements.tsx
10763
- var import_react46 = require("react");
10780
+ var import_react47 = require("react");
10764
10781
  var import_jsx_runtime247 = require("react/jsx-runtime");
10765
- var SelectedItemMeasurementsContext = (0, import_react46.createContext)(
10782
+ var SelectedItemMeasurementsContext = (0, import_react47.createContext)(
10766
10783
  null
10767
10784
  );
10768
10785
  var SelectedItemMeasurementsProvider = ({
10769
10786
  children
10770
10787
  }) => {
10771
- const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react46.useState)(null);
10772
- const contextValue = (0, import_react46.useMemo)(
10788
+ const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react47.useState)(null);
10789
+ const contextValue = (0, import_react47.useMemo)(
10773
10790
  () => ({
10774
10791
  setSelectedItemMeasurements,
10775
10792
  selectedItemMeasurements
@@ -10779,7 +10796,7 @@ var SelectedItemMeasurementsProvider = ({
10779
10796
  return /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
10780
10797
  };
10781
10798
  var useSelectedItemMeasurements = () => {
10782
- const context = (0, import_react46.useContext)(SelectedItemMeasurementsContext);
10799
+ const context = (0, import_react47.useContext)(SelectedItemMeasurementsContext);
10783
10800
  if (context === null) {
10784
10801
  throw new Error(
10785
10802
  "useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
@@ -10789,15 +10806,15 @@ var useSelectedItemMeasurements = () => {
10789
10806
  };
10790
10807
 
10791
10808
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
10792
- var import_react48 = require("react");
10809
+ var import_react49 = require("react");
10793
10810
  var import_styled_components66 = __toESM(require("styled-components"));
10794
10811
 
10795
10812
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
10796
- var import_react47 = require("react");
10797
- var SegmentedControlValueContext = (0, import_react47.createContext)(null);
10813
+ var import_react48 = require("react");
10814
+ var SegmentedControlValueContext = (0, import_react48.createContext)(null);
10798
10815
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
10799
10816
  var useSegmentedControlValue = () => {
10800
- const context = (0, import_react47.useContext)(SegmentedControlValueContext);
10817
+ const context = (0, import_react48.useContext)(SegmentedControlValueContext);
10801
10818
  if (context === null) {
10802
10819
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
10803
10820
  }
@@ -10821,7 +10838,7 @@ var SelectedItemIndicatorDiv = import_styled_components66.default.div`
10821
10838
  var SelectedItemIndicator = () => {
10822
10839
  const selectedValue = useSegmentedControlValue();
10823
10840
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
10824
- const selectedItemIndicatorStyle = (0, import_react48.useMemo)(
10841
+ const selectedItemIndicatorStyle = (0, import_react49.useMemo)(
10825
10842
  () => selectedItemMeasurements != null ? {
10826
10843
  height: `${selectedItemMeasurements.offsetHeight}px`,
10827
10844
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -10859,7 +10876,7 @@ var segmentedControlStyles = import_styled_components67.css`
10859
10876
  var StyledSegmentedControl = (0, import_styled_components67.default)(import_react_toggle_group.Root)`
10860
10877
  ${segmentedControlStyles}
10861
10878
  `;
10862
- var SegmentedControl = (0, import_react49.forwardRef)(
10879
+ var SegmentedControl = (0, import_react50.forwardRef)(
10863
10880
  ({
10864
10881
  children,
10865
10882
  disabled = false,
@@ -10894,7 +10911,7 @@ var SegmentedControl = (0, import_react49.forwardRef)(
10894
10911
  SegmentedControl.displayName = "SegmentedControl";
10895
10912
 
10896
10913
  // src/components/SegmentedControl/SegmentedControlItem.tsx
10897
- var import_react50 = require("react");
10914
+ var import_react51 = require("react");
10898
10915
  var import_styled_components68 = __toESM(require("styled-components"));
10899
10916
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
10900
10917
  var import_type_guards41 = require("@wistia/type-guards");
@@ -10977,11 +10994,11 @@ var segmentedControlItemStyles = import_styled_components68.css`
10977
10994
  var StyledSegmentedControlItem = (0, import_styled_components68.default)(import_react_toggle_group2.Item)`
10978
10995
  ${segmentedControlItemStyles}
10979
10996
  `;
10980
- var SegmentedControlItem = (0, import_react50.forwardRef)(
10997
+ var SegmentedControlItem = (0, import_react51.forwardRef)(
10981
10998
  ({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
10982
10999
  const selectedValue = useSegmentedControlValue();
10983
11000
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
10984
- const buttonRef = (0, import_react50.useRef)(null);
11001
+ const buttonRef = (0, import_react51.useRef)(null);
10985
11002
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
10986
11003
  const handleClick = (event) => {
10987
11004
  const target = event.target;
@@ -10990,7 +11007,7 @@ var SegmentedControlItem = (0, import_react50.forwardRef)(
10990
11007
  event.preventDefault();
10991
11008
  }
10992
11009
  };
10993
- (0, import_react50.useEffect)(() => {
11010
+ (0, import_react51.useEffect)(() => {
10994
11011
  const buttonElem = buttonRef.current;
10995
11012
  if (!buttonElem) {
10996
11013
  return void 0;
@@ -11036,7 +11053,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
11036
11053
 
11037
11054
  // src/components/Select/Select.tsx
11038
11055
  var import_react_select = require("@radix-ui/react-select");
11039
- var import_react51 = require("react");
11056
+ var import_react52 = require("react");
11040
11057
  var import_styled_components69 = __toESM(require("styled-components"));
11041
11058
  var import_jsx_runtime251 = require("react/jsx-runtime");
11042
11059
  var StyledTrigger = (0, import_styled_components69.default)(import_react_select.Trigger)`
@@ -11105,7 +11122,7 @@ var StyledContent3 = (0, import_styled_components69.default)(import_react_select
11105
11122
  max-height: var(--radix-select-content-available-height);
11106
11123
  z-index: var(--wui-zindex-select);
11107
11124
  `;
11108
- var Select = (0, import_react51.forwardRef)(
11125
+ var Select = (0, import_react52.forwardRef)(
11109
11126
  ({
11110
11127
  colorScheme = "inherit",
11111
11128
  children,
@@ -11154,7 +11171,7 @@ Select.displayName = "Select";
11154
11171
 
11155
11172
  // src/components/Select/SelectOption.tsx
11156
11173
  var import_react_select2 = require("@radix-ui/react-select");
11157
- var import_react52 = require("react");
11174
+ var import_react53 = require("react");
11158
11175
  var import_styled_components70 = __toESM(require("styled-components"));
11159
11176
  var import_jsx_runtime252 = require("react/jsx-runtime");
11160
11177
  var StyledItem = (0, import_styled_components70.default)(import_react_select2.Item)`
@@ -11183,7 +11200,7 @@ var StyledItem = (0, import_styled_components70.default)(import_react_select2.It
11183
11200
  var StyledIconContainer = import_styled_components70.default.span`
11184
11201
  width: 12px;
11185
11202
  `;
11186
- var SelectOption = (0, import_react52.forwardRef)(
11203
+ var SelectOption = (0, import_react53.forwardRef)(
11187
11204
  ({ children, ...props }, forwardedRef) => {
11188
11205
  return /* @__PURE__ */ (0, import_jsx_runtime252.jsxs)(
11189
11206
  StyledItem,
@@ -11228,7 +11245,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
11228
11245
  };
11229
11246
 
11230
11247
  // src/components/Switch/Switch.tsx
11231
- var import_react53 = require("react");
11248
+ var import_react54 = require("react");
11232
11249
  var import_styled_components72 = __toESM(require("styled-components"));
11233
11250
  var import_type_guards42 = require("@wistia/type-guards");
11234
11251
  var import_jsx_runtime254 = require("react/jsx-runtime");
@@ -11333,7 +11350,7 @@ var StyledHiddenSwitchInput = import_styled_components72.default.input`
11333
11350
  }
11334
11351
  }
11335
11352
  `;
11336
- var Switch = (0, import_react53.forwardRef)(
11353
+ var Switch = (0, import_react54.forwardRef)(
11337
11354
  ({
11338
11355
  checked,
11339
11356
  disabled = false,
@@ -11348,7 +11365,7 @@ var Switch = (0, import_react53.forwardRef)(
11348
11365
  hideLabel = false,
11349
11366
  ...props
11350
11367
  }, ref) => {
11351
- const generatedId = (0, import_react53.useId)();
11368
+ const generatedId = (0, import_react54.useId)();
11352
11369
  const computedId = (0, import_type_guards42.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
11353
11370
  return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
11354
11371
  /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
@@ -11430,8 +11447,8 @@ var Table = ({
11430
11447
  var import_styled_components74 = __toESM(require("styled-components"));
11431
11448
 
11432
11449
  // src/components/Table/TableSectionContext.ts
11433
- var import_react54 = require("react");
11434
- var TableSectionContext = (0, import_react54.createContext)(null);
11450
+ var import_react55 = require("react");
11451
+ var TableSectionContext = (0, import_react55.createContext)(null);
11435
11452
 
11436
11453
  // src/components/Table/TableBody.tsx
11437
11454
  var import_jsx_runtime256 = require("react/jsx-runtime");
@@ -11441,7 +11458,7 @@ var TableBody = ({ children, ...props }) => {
11441
11458
  };
11442
11459
 
11443
11460
  // src/components/Table/TableCell.tsx
11444
- var import_react55 = require("react");
11461
+ var import_react56 = require("react");
11445
11462
  var import_styled_components75 = __toESM(require("styled-components"));
11446
11463
  var import_jsx_runtime257 = require("react/jsx-runtime");
11447
11464
  var sharedStyles = import_styled_components75.css`
@@ -11462,7 +11479,7 @@ var StyledTd = import_styled_components75.default.td`
11462
11479
  line-height: var(--wui-typography-body-2-line-height);
11463
11480
  `;
11464
11481
  var TableCell = ({ children, ...props }) => {
11465
- const section = (0, import_react55.useContext)(TableSectionContext);
11482
+ const section = (0, import_react56.useContext)(TableSectionContext);
11466
11483
  if (section === "head") {
11467
11484
  return /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(StyledTh, { ...props, children });
11468
11485
  }
@@ -11494,7 +11511,7 @@ var TableRow = ({ children, ...props }) => {
11494
11511
  };
11495
11512
 
11496
11513
  // src/components/Tabs/Tabs.tsx
11497
- var import_react60 = require("react");
11514
+ var import_react61 = require("react");
11498
11515
  var import_react_tabs4 = require("@radix-ui/react-tabs");
11499
11516
  var import_type_guards44 = require("@wistia/type-guards");
11500
11517
  var import_styled_components83 = __toESM(require("styled-components"));
@@ -11549,17 +11566,17 @@ var TabList = ({
11549
11566
  TabList.displayName = "TabList";
11550
11567
 
11551
11568
  // src/components/Tabs/TabItem.tsx
11552
- var import_react57 = require("react");
11569
+ var import_react58 = require("react");
11553
11570
  var import_styled_components81 = __toESM(require("styled-components"));
11554
11571
  var import_react_tabs3 = require("@radix-ui/react-tabs");
11555
11572
  var import_type_guards43 = require("@wistia/type-guards");
11556
11573
 
11557
11574
  // src/components/Tabs/useTabsValue.tsx
11558
- var import_react56 = require("react");
11559
- var TabsValueContext = (0, import_react56.createContext)(null);
11575
+ var import_react57 = require("react");
11576
+ var TabsValueContext = (0, import_react57.createContext)(null);
11560
11577
  var TabsValueProvider = TabsValueContext.Provider;
11561
11578
  var useTabsValue = () => {
11562
- const context = (0, import_react56.useContext)(TabsValueContext);
11579
+ const context = (0, import_react57.useContext)(TabsValueContext);
11563
11580
  if (context === null) {
11564
11581
  throw new Error("useTabsValue must be used within a TabsValueProvider");
11565
11582
  }
@@ -11575,13 +11592,13 @@ var StyledTabItem = (0, import_styled_components81.default)(import_react_tabs3.T
11575
11592
  outline: none;
11576
11593
  }
11577
11594
  `;
11578
- var TabItem = (0, import_react57.forwardRef)(
11595
+ var TabItem = (0, import_react58.forwardRef)(
11579
11596
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11580
11597
  const selectedValue = useTabsValue();
11581
11598
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11582
- const buttonRef = (0, import_react57.useRef)(null);
11599
+ const buttonRef = (0, import_react58.useRef)(null);
11583
11600
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11584
- (0, import_react57.useEffect)(() => {
11601
+ (0, import_react58.useEffect)(() => {
11585
11602
  const buttonElem = buttonRef.current;
11586
11603
  if (!buttonElem) {
11587
11604
  return void 0;
@@ -11625,16 +11642,16 @@ var TabItem = (0, import_react57.forwardRef)(
11625
11642
  TabItem.displayName = "TabItem";
11626
11643
 
11627
11644
  // src/components/Tabs/extractTabItems.ts
11628
- var import_react58 = require("react");
11645
+ var import_react59 = require("react");
11629
11646
  var extractTabItems = (children) => {
11630
11647
  const tabItems = [];
11631
- import_react58.Children.forEach(children, (child) => {
11632
- if (!(0, import_react58.isValidElement)(child)) {
11648
+ import_react59.Children.forEach(children, (child) => {
11649
+ if (!(0, import_react59.isValidElement)(child)) {
11633
11650
  return;
11634
11651
  }
11635
11652
  if (typeof child.type !== "string" && child.type.displayName === "Tab") {
11636
11653
  tabItems.push(child);
11637
- } else if (child.type === import_react58.Fragment) {
11654
+ } else if (child.type === import_react59.Fragment) {
11638
11655
  const fragmentElement = child;
11639
11656
  tabItems.push(...extractTabItems(fragmentElement.props.children));
11640
11657
  } else if ((child.props.children ?? null) != null) {
@@ -11647,7 +11664,7 @@ var extractTabItems = (children) => {
11647
11664
  };
11648
11665
 
11649
11666
  // src/components/Tabs/SelectedItemIndicator.tsx
11650
- var import_react59 = require("react");
11667
+ var import_react60 = require("react");
11651
11668
  var import_styled_components82 = __toESM(require("styled-components"));
11652
11669
  var import_jsx_runtime264 = require("react/jsx-runtime");
11653
11670
  var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(SelectedItemIndicatorDiv)`
@@ -11658,7 +11675,7 @@ var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(Selec
11658
11675
  var SelectedItemIndicator2 = () => {
11659
11676
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
11660
11677
  const selectedValue = useTabsValue();
11661
- const selectedItemIndicatorStyle = (0, import_react59.useMemo)(
11678
+ const selectedItemIndicatorStyle = (0, import_react60.useMemo)(
11662
11679
  () => selectedItemMeasurements != null ? {
11663
11680
  height: `${selectedItemMeasurements.offsetHeight}px`,
11664
11681
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -11699,7 +11716,7 @@ var StyledTabsRoot = (0, import_styled_components83.default)(import_react_tabs4.
11699
11716
  flex-direction: column;
11700
11717
  height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
11701
11718
  `;
11702
- var Tabs = (0, import_react60.forwardRef)(
11719
+ var Tabs = (0, import_react61.forwardRef)(
11703
11720
  ({
11704
11721
  children,
11705
11722
  fullWidth = true,
@@ -11711,7 +11728,7 @@ var Tabs = (0, import_react60.forwardRef)(
11711
11728
  ...otherProps
11712
11729
  }, ref) => {
11713
11730
  const tabItems = extractTabItems(children);
11714
- const [internalSelectedValue, setInternalSelectedValue] = (0, import_react60.useState)(defaultSelectedValue);
11731
+ const [internalSelectedValue, setInternalSelectedValue] = (0, import_react61.useState)(defaultSelectedValue);
11715
11732
  const modeProps = defaultSelectedValue !== void 0 ? {
11716
11733
  defaultValue: defaultSelectedValue,
11717
11734
  onValueChange: setInternalSelectedValue
@@ -11797,15 +11814,15 @@ var Tabs = (0, import_react60.forwardRef)(
11797
11814
  Tabs.displayName = "Tabs";
11798
11815
 
11799
11816
  // src/components/Tabs/Tab.tsx
11800
- var import_react61 = require("react");
11817
+ var import_react62 = require("react");
11801
11818
  var import_jsx_runtime266 = require("react/jsx-runtime");
11802
- var Tab = (0, import_react61.forwardRef)(({ children }, ref) => {
11819
+ var Tab = (0, import_react62.forwardRef)(({ children }, ref) => {
11803
11820
  return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { ref, children });
11804
11821
  });
11805
11822
  Tab.displayName = "Tab";
11806
11823
 
11807
11824
  // src/components/Tag/Tag.tsx
11808
- var import_react62 = require("react");
11825
+ var import_react63 = require("react");
11809
11826
  var import_styled_components84 = __toESM(require("styled-components"));
11810
11827
  var import_type_guards45 = require("@wistia/type-guards");
11811
11828
  var import_jsx_runtime267 = require("react/jsx-runtime");
@@ -11922,7 +11939,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
11922
11939
  )
11923
11940
  ] });
11924
11941
  };
11925
- var Tag = (0, import_react62.forwardRef)(
11942
+ var Tag = (0, import_react63.forwardRef)(
11926
11943
  ({
11927
11944
  onClickRemove,
11928
11945
  colorScheme = "inherit",
@@ -12182,6 +12199,7 @@ WistiaLogo.displayName = "WistiaLogo";
12182
12199
  useImperativeFilePicker,
12183
12200
  useKey,
12184
12201
  useLocalStorage,
12202
+ useLockBodyScroll,
12185
12203
  useMq,
12186
12204
  useToast,
12187
12205
  useWindowSize