@wistia/ui 0.6.34 → 0.6.35-beta.b45dd9e0.edf447e

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.34
3
+ * @license @wistia/ui v0.6.35-beta.b45dd9e0.edf447e
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
 
@@ -7358,6 +7375,38 @@ var getFillViewportStyle = (fillViewport) => {
7358
7375
  }
7359
7376
  return void 0;
7360
7377
  };
7378
+ var getFlexStyle = (flexMode) => {
7379
+ if (!flexMode) return null;
7380
+ switch (flexMode) {
7381
+ // grows to fill space, won't shrink, starts at 0
7382
+ case "grow":
7383
+ return import_styled_components25.css`
7384
+ flex: 1 0 0;
7385
+ `;
7386
+ // default behavior, can shrink but won't grow
7387
+ case "initial":
7388
+ return import_styled_components25.css`
7389
+ flex: 0 1 auto;
7390
+ `;
7391
+ // equal distribution of space
7392
+ case "equal":
7393
+ return import_styled_components25.css`
7394
+ flex: 1;
7395
+ `;
7396
+ // won't grow or shrink
7397
+ case "rigid":
7398
+ return import_styled_components25.css`
7399
+ flex: 0 0 auto;
7400
+ `;
7401
+ // can grow and shrink from content size
7402
+ case "fluid":
7403
+ return import_styled_components25.css`
7404
+ flex: 1 1 auto;
7405
+ `;
7406
+ default:
7407
+ return null;
7408
+ }
7409
+ };
7361
7410
  var StyledBoxComponent = import_styled_components25.default.div`
7362
7411
  align-content: ${({ $alignContent }) => $alignContent};
7363
7412
  align-items: ${({ $alignItems }) => $alignItems};
@@ -7367,6 +7416,8 @@ var StyledBoxComponent = import_styled_components25.default.div`
7367
7416
  flex-direction: ${({ $flexDirection }) => $flexDirection};
7368
7417
  ${({ $fillBox: fill }) => getFillStyle(fill)};
7369
7418
  ${({ $fillViewport }) => getFillViewportStyle($fillViewport)};
7419
+ ${({ $flexMode }) => getFlexStyle($flexMode)};
7420
+ ${({ $gap }) => getGapStyle($gap)};
7370
7421
  height: ${({ $height }) => $height ?? null};
7371
7422
  width: ${({ $width }) => $width ?? null};
7372
7423
 
@@ -7374,20 +7425,19 @@ var StyledBoxComponent = import_styled_components25.default.div`
7374
7425
  flex-grow: ${({ $grow }) => (0, import_type_guards17.isNotNil)($grow) ? $grow : null};
7375
7426
  flex-shrink: ${({ $shrink }) => (0, import_type_guards17.isNotNil)($shrink) ? $shrink : null};
7376
7427
  flex-wrap: ${({ $wrapItems }) => $wrapItems ? "wrap" : "nowrap"};
7377
- ${({ $gap }) => getGapStyle($gap)};
7378
7428
  justify-content: ${({ $justifyContent }) => $justifyContent};
7379
7429
  order: ${({ $order }) => (0, import_type_guards17.isNotNil)($order) ? $order : null};
7380
7430
  `;
7381
7431
  var wrapChildren = (children) => {
7382
7432
  if ((0, import_type_guards17.isNotNil)(children)) {
7383
7433
  if (typeof children === "object" && isDev) {
7384
- return import_react17.Children.map(children, (child) => {
7434
+ return import_react18.Children.map(children, (child) => {
7385
7435
  if ((0, import_type_guards17.isNil)(child)) return null;
7386
7436
  const elementParams = {};
7387
7437
  if (child.type?.displayName === "Box" || child.type?.displayName === "Box_UI") {
7388
7438
  elementParams.hasBoxParent = true;
7389
7439
  }
7390
- return (0, import_react17.cloneElement)(child, elementParams);
7440
+ return (0, import_react18.cloneElement)(child, elementParams);
7391
7441
  });
7392
7442
  }
7393
7443
  return children;
@@ -7395,7 +7445,7 @@ var wrapChildren = (children) => {
7395
7445
  return null;
7396
7446
  };
7397
7447
  var DEFAULT_ELEMENT = "div";
7398
- var BoxComponent = (0, import_react17.forwardRef)(
7448
+ var BoxComponent = (0, import_react18.forwardRef)(
7399
7449
  ({
7400
7450
  alignContent = "stretch",
7401
7451
  alignItems = "flex-start",
@@ -7417,6 +7467,7 @@ var BoxComponent = (0, import_react17.forwardRef)(
7417
7467
  shrink,
7418
7468
  width,
7419
7469
  wrapItems = false,
7470
+ flexMode,
7420
7471
  ...otherProps
7421
7472
  }, ref) => {
7422
7473
  if ((0, import_type_guards17.isNotUndefined)(height)) {
@@ -7450,6 +7501,7 @@ var BoxComponent = (0, import_react17.forwardRef)(
7450
7501
  $fillBox: fill,
7451
7502
  $fillViewport: fillViewport,
7452
7503
  $flexDirection: direction,
7504
+ $flexMode: flexMode,
7453
7505
  $gap: gap,
7454
7506
  $grow: grow,
7455
7507
  $height: height,
@@ -7470,7 +7522,7 @@ BoxComponent.displayName = "Box";
7470
7522
  var Box = makePolymorphic(BoxComponent);
7471
7523
 
7472
7524
  // src/components/Breadcrumbs/Breadcrumbs.tsx
7473
- var import_react18 = require("react");
7525
+ var import_react19 = require("react");
7474
7526
  var import_styled_components26 = __toESM(require("styled-components"));
7475
7527
  var import_jsx_runtime199 = require("react/jsx-runtime");
7476
7528
  var StyledBreadcrumbs = import_styled_components26.default.nav`
@@ -7486,7 +7538,7 @@ var StyledBreadcrumbs = import_styled_components26.default.nav`
7486
7538
  var BUFFER_WIDTH = 10;
7487
7539
  var Breadcrumbs = ({ children, ...props }) => {
7488
7540
  const { isXsAndDown } = useMq();
7489
- let crumbs = import_react18.Children.toArray(children);
7541
+ let crumbs = import_react19.Children.toArray(children);
7490
7542
  if (isXsAndDown) {
7491
7543
  crumbs = crumbs.slice(-1);
7492
7544
  }
@@ -7673,7 +7725,7 @@ var Card = ({
7673
7725
  Card.displayName = "Card";
7674
7726
 
7675
7727
  // src/components/Center/Center.tsx
7676
- var import_react19 = require("react");
7728
+ var import_react20 = require("react");
7677
7729
  var import_styled_components30 = __toESM(require("styled-components"));
7678
7730
  var import_jsx_runtime203 = require("react/jsx-runtime");
7679
7731
  var StyledCenter = import_styled_components30.default.div`
@@ -7688,7 +7740,7 @@ var StyledCenter = import_styled_components30.default.div`
7688
7740
  align-items: center;
7689
7741
  `}
7690
7742
  `;
7691
- var Center = (0, import_react19.forwardRef)(
7743
+ var Center = (0, import_react20.forwardRef)(
7692
7744
  ({ maxWidth = "100%", gutterWidth = "space-00", intrinsic = false, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
7693
7745
  StyledCenter,
7694
7746
  {
@@ -7704,7 +7756,7 @@ var Center = (0, import_react19.forwardRef)(
7704
7756
  Center.displayName = "Center";
7705
7757
 
7706
7758
  // src/components/Checkbox/Checkbox.tsx
7707
- var import_react20 = require("react");
7759
+ var import_react21 = require("react");
7708
7760
  var import_styled_components34 = __toESM(require("styled-components"));
7709
7761
  var import_type_guards22 = require("@wistia/type-guards");
7710
7762
 
@@ -7924,7 +7976,7 @@ var StyledHiddenCheckboxInput = import_styled_components34.default.input`
7924
7976
  display: block;
7925
7977
  }
7926
7978
  `;
7927
- var Checkbox = (0, import_react20.forwardRef)(
7979
+ var Checkbox = (0, import_react21.forwardRef)(
7928
7980
  ({
7929
7981
  checked,
7930
7982
  disabled = false,
@@ -7939,7 +7991,7 @@ var Checkbox = (0, import_react20.forwardRef)(
7939
7991
  hideLabel = false,
7940
7992
  ...props
7941
7993
  }, ref) => {
7942
- const generatedId = (0, import_react20.useId)();
7994
+ const generatedId = (0, import_react21.useId)();
7943
7995
  const computedId = (0, import_type_guards22.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-${generatedId}`;
7944
7996
  return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(StyledCheckboxWrapper, { disabled, children: [
7945
7997
  /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
@@ -7982,9 +8034,9 @@ var Checkbox = (0, import_react20.forwardRef)(
7982
8034
  Checkbox.displayName = "Checkbox";
7983
8035
 
7984
8036
  // src/components/ClickRegion/ClickRegion.tsx
7985
- var import_react21 = require("react");
8037
+ var import_react22 = require("react");
7986
8038
  var ClickRegion = ({ children, targetRef }) => {
7987
- (0, import_react21.useEffect)(() => {
8039
+ (0, import_react22.useEffect)(() => {
7988
8040
  if (targetRef.current && targetRef.current.tagName === "A") {
7989
8041
  targetRef.current.setAttribute("data-click-region-target-link", "");
7990
8042
  } else if (targetRef.current && targetRef.current.tagName === "BUTTON") {
@@ -7992,7 +8044,7 @@ var ClickRegion = ({ children, targetRef }) => {
7992
8044
  } else {
7993
8045
  }
7994
8046
  }, [targetRef]);
7995
- const handleClick = (0, import_react21.useCallback)(
8047
+ const handleClick = (0, import_react22.useCallback)(
7996
8048
  (event) => {
7997
8049
  const node = targetRef.current;
7998
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")) {
@@ -8009,7 +8061,7 @@ var ClickRegion = ({ children, targetRef }) => {
8009
8061
  },
8010
8062
  [targetRef]
8011
8063
  );
8012
- return (0, import_react21.cloneElement)(import_react21.Children.only(children), {
8064
+ return (0, import_react22.cloneElement)(import_react22.Children.only(children), {
8013
8065
  "data-click-region": true,
8014
8066
  onClick: handleClick
8015
8067
  });
@@ -8042,11 +8094,11 @@ var Collapsible = ({
8042
8094
  Collapsible.displayName = "Collapsible";
8043
8095
 
8044
8096
  // src/components/Collapsible/CollapsibleTrigger.tsx
8045
- var import_react22 = require("react");
8097
+ var import_react23 = require("react");
8046
8098
  var import_react_collapsible2 = require("@radix-ui/react-collapsible");
8047
8099
  var import_jsx_runtime209 = require("react/jsx-runtime");
8048
8100
  var CollapsibleTrigger = ({ children }) => {
8049
- import_react22.Children.only(children);
8101
+ import_react23.Children.only(children);
8050
8102
  return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(import_react_collapsible2.Trigger, { asChild: true, children });
8051
8103
  };
8052
8104
 
@@ -8073,7 +8125,7 @@ var import_styled_components38 = __toESM(require("styled-components"));
8073
8125
  var import_type_guards25 = require("@wistia/type-guards");
8074
8126
 
8075
8127
  // src/components/Heading/Heading.tsx
8076
- var import_react23 = require("react");
8128
+ var import_react24 = require("react");
8077
8129
  var import_styled_components37 = __toESM(require("styled-components"));
8078
8130
  var import_jsx_runtime211 = require("react/jsx-runtime");
8079
8131
  var heroStyle = import_styled_components37.css`
@@ -8160,7 +8212,7 @@ var variantElementMap = {
8160
8212
  heading5: "h5",
8161
8213
  heading6: "h6"
8162
8214
  };
8163
- var HeadingComponent = (0, import_react23.forwardRef)(
8215
+ var HeadingComponent = (0, import_react24.forwardRef)(
8164
8216
  ({
8165
8217
  align = "left",
8166
8218
  colorScheme = "inherit",
@@ -8324,7 +8376,7 @@ DataCards.displayName = "DataCards";
8324
8376
  var import_styled_components41 = __toESM(require("styled-components"));
8325
8377
 
8326
8378
  // src/components/Text/Text.tsx
8327
- var import_react24 = require("react");
8379
+ var import_react25 = require("react");
8328
8380
  var import_styled_components40 = __toESM(require("styled-components"));
8329
8381
  var import_jsx_runtime214 = require("react/jsx-runtime");
8330
8382
  var bodyBoldStyles = import_styled_components40.css`
@@ -8490,7 +8542,7 @@ var StyledText = import_styled_components40.default.div`
8490
8542
  }
8491
8543
  `}
8492
8544
  `;
8493
- var TextComponent = (0, import_react24.forwardRef)(
8545
+ var TextComponent = (0, import_react25.forwardRef)(
8494
8546
  ({
8495
8547
  align = "left",
8496
8548
  colorScheme = "inherit",
@@ -8606,7 +8658,7 @@ Divider.displayName = "Divider";
8606
8658
 
8607
8659
  // src/components/EditableHeading/EditableHeading.tsx
8608
8660
  var import_styled_components45 = __toESM(require("styled-components"));
8609
- var import_react26 = require("react");
8661
+ var import_react27 = require("react");
8610
8662
 
8611
8663
  // src/components/Tooltip/Tooltip.tsx
8612
8664
  var import_react_tooltip2 = require("@radix-ui/react-tooltip");
@@ -8715,7 +8767,7 @@ var Tooltip = ({
8715
8767
  Tooltip.displayName = "Tooltip";
8716
8768
 
8717
8769
  // src/components/Input/Input.tsx
8718
- var import_react25 = require("react");
8770
+ var import_react26 = require("react");
8719
8771
  var import_styled_components44 = __toESM(require("styled-components"));
8720
8772
  var import_type_guards26 = require("@wistia/type-guards");
8721
8773
  var import_jsx_runtime218 = require("react/jsx-runtime");
@@ -8804,7 +8856,7 @@ var StyledInputContainer = import_styled_components44.default.div`
8804
8856
  padding-right: 32px;
8805
8857
  }
8806
8858
  `;
8807
- var Input = (0, import_react25.forwardRef)(
8859
+ var Input = (0, import_react26.forwardRef)(
8808
8860
  ({
8809
8861
  fullWidth = true,
8810
8862
  monospace = false,
@@ -8814,7 +8866,7 @@ var Input = (0, import_react25.forwardRef)(
8814
8866
  rightIcon,
8815
8867
  ...props
8816
8868
  }, externalRef) => {
8817
- const internalRef = (0, import_react25.useRef)();
8869
+ const internalRef = (0, import_react26.useRef)();
8818
8870
  const ref = (
8819
8871
  // eslint-disable-next-line react-compiler/react-compiler
8820
8872
  (0, import_type_guards26.isNotNil)(externalRef) && (0, import_type_guards26.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
@@ -8824,14 +8876,14 @@ var Input = (0, import_react25.forwardRef)(
8824
8876
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(Icon, { type: "search" });
8825
8877
  }
8826
8878
  if ((0, import_type_guards26.isNotNil)(leftIconToDisplay)) {
8827
- leftIconToDisplay = (0, import_react25.cloneElement)(leftIconToDisplay, {
8879
+ leftIconToDisplay = (0, import_react26.cloneElement)(leftIconToDisplay, {
8828
8880
  size: "md",
8829
8881
  className: "wui-input-left-icon"
8830
8882
  });
8831
8883
  }
8832
8884
  let rightIconToDisplay = rightIcon;
8833
8885
  if ((0, import_type_guards26.isNotNil)(rightIconToDisplay)) {
8834
- rightIconToDisplay = (0, import_react25.cloneElement)(rightIconToDisplay, {
8886
+ rightIconToDisplay = (0, import_react26.cloneElement)(rightIconToDisplay, {
8835
8887
  size: "md",
8836
8888
  className: "wui-input-right-icon"
8837
8889
  });
@@ -8926,11 +8978,11 @@ var EditableHeading = ({
8926
8978
  forceEditing = false,
8927
8979
  editingDisabled = false
8928
8980
  }) => {
8929
- const [isEditing, setIsEditing] = (0, import_react26.useState)(false);
8930
- const [value, setValue] = (0, import_react26.useState)(children);
8931
- const [previousValue, setPreviousValue] = (0, import_react26.useState)(children);
8932
- const [headingHeight, setHeadingHeight] = (0, import_react26.useState)("60");
8933
- 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);
8934
8986
  const handleSetEditing = (editing) => {
8935
8987
  if (editingDisabled) return;
8936
8988
  if (editing && headingRef.current) {
@@ -9016,12 +9068,12 @@ var EditableHeading = ({
9016
9068
  };
9017
9069
 
9018
9070
  // src/components/Form/Form.tsx
9019
- var import_react28 = require("react");
9071
+ var import_react29 = require("react");
9020
9072
  var import_styled_components47 = __toESM(require("styled-components"));
9021
9073
  var import_type_guards27 = require("@wistia/type-guards");
9022
9074
 
9023
9075
  // src/components/Stack/Stack.tsx
9024
- var import_react27 = require("react");
9076
+ var import_react28 = require("react");
9025
9077
  var import_styled_components46 = __toESM(require("styled-components"));
9026
9078
  var import_jsx_runtime220 = require("react/jsx-runtime");
9027
9079
  var DEFAULT_ELEMENT4 = "div";
@@ -9031,7 +9083,7 @@ var StyledStack = import_styled_components46.default.div`
9031
9083
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
9032
9084
  align-items: ${({ $alignItems }) => $alignItems};
9033
9085
  `;
9034
- var StackComponent = (0, import_react27.forwardRef)(
9086
+ var StackComponent = (0, import_react28.forwardRef)(
9035
9087
  ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
9036
9088
  const responsiveGap = useResponsiveProp(gap);
9037
9089
  const responsiveDirection = useResponsiveProp(direction);
@@ -9060,7 +9112,7 @@ var StyledForm = import_styled_components47.default.form`
9060
9112
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
9061
9113
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
9062
9114
  `;
9063
- var FormContext = (0, import_react28.createContext)({
9115
+ var FormContext = (0, import_react29.createContext)({
9064
9116
  values: {},
9065
9117
  errors: {},
9066
9118
  hasSubmitted: false,
@@ -9076,11 +9128,11 @@ var FormComponent = ({
9076
9128
  fullWidth = false,
9077
9129
  ...props
9078
9130
  }, forwardedRef) => {
9079
- const [errors, setErrors] = (0, import_react28.useState)({});
9080
- const [hasSubmitted, setHasSubmitted] = (0, import_react28.useState)(false);
9081
- 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)();
9082
9134
  const ref = forwardedRef ?? innerRef;
9083
- const autoId = (0, import_react28.useId)();
9135
+ const autoId = (0, import_react29.useId)();
9084
9136
  const id = props.id ?? autoId;
9085
9137
  const handleValidate = (nextFormData) => {
9086
9138
  const nextData = Object.fromEntries(nextFormData.entries());
@@ -9122,7 +9174,7 @@ var FormComponent = ({
9122
9174
  void action(null);
9123
9175
  }
9124
9176
  };
9125
- const context = (0, import_react28.useMemo)(() => {
9177
+ const context = (0, import_react29.useMemo)(() => {
9126
9178
  return {
9127
9179
  values,
9128
9180
  errors,
@@ -9151,15 +9203,15 @@ var FormComponent = ({
9151
9203
  );
9152
9204
  };
9153
9205
  FormComponent.displayName = "Form";
9154
- var Form = (0, import_react28.forwardRef)(FormComponent);
9206
+ var Form = (0, import_react29.forwardRef)(FormComponent);
9155
9207
 
9156
9208
  // src/components/Form/useFormState.tsx
9157
- var import_react29 = require("react");
9209
+ var import_react30 = require("react");
9158
9210
  var useFormState = (action, initialData = {}) => {
9159
- const [data, setData] = (0, import_react29.useState)(initialData);
9160
- const [isPending, setIsPending] = (0, import_react29.useState)(false);
9161
- const [error, setError] = (0, import_react29.useState)(null);
9162
- 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)(
9163
9215
  async (nextFormData) => {
9164
9216
  if (nextFormData === null) {
9165
9217
  setData(initialData);
@@ -9190,15 +9242,15 @@ var useFormState = (action, initialData = {}) => {
9190
9242
  };
9191
9243
 
9192
9244
  // src/components/Form/FormErrorSummary.tsx
9193
- var import_react30 = require("react");
9245
+ var import_react31 = require("react");
9194
9246
  var import_type_guards28 = require("@wistia/type-guards");
9195
9247
  var import_jsx_runtime222 = require("react/jsx-runtime");
9196
9248
  var ErrorItem = ({ name, error, formId }) => {
9197
9249
  return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9198
9250
  };
9199
9251
  var FormErrorSummary = ({ description }) => {
9200
- const ref = (0, import_react30.useRef)(null);
9201
- 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);
9202
9254
  const isValid = Object.keys(errors).length === 0;
9203
9255
  if (isValid || !hasSubmitted) {
9204
9256
  return null;
@@ -9228,7 +9280,7 @@ var FormErrorSummary = ({ description }) => {
9228
9280
  };
9229
9281
 
9230
9282
  // src/components/FormField/FormField.tsx
9231
- var import_react33 = require("react");
9283
+ var import_react34 = require("react");
9232
9284
  var import_styled_components50 = __toESM(require("styled-components"));
9233
9285
  var import_type_guards29 = require("@wistia/type-guards");
9234
9286
 
@@ -9293,11 +9345,11 @@ var Label = ({
9293
9345
  Label.displayName = "Label";
9294
9346
 
9295
9347
  // src/components/FormGroup/CheckboxGroup.tsx
9296
- var import_react32 = require("react");
9348
+ var import_react33 = require("react");
9297
9349
 
9298
9350
  // src/components/FormGroup/FormGroup.tsx
9299
9351
  var import_styled_components49 = __toESM(require("styled-components"));
9300
- var import_react31 = require("react");
9352
+ var import_react32 = require("react");
9301
9353
  var import_jsx_runtime224 = require("react/jsx-runtime");
9302
9354
  var StyledFieldset = import_styled_components49.default.fieldset`
9303
9355
  border: 0;
@@ -9306,7 +9358,7 @@ var StyledLegend = import_styled_components49.default.legend`
9306
9358
  margin-bottom: var(--space-01);
9307
9359
  `;
9308
9360
  var FormGroup = ({ children, label, ...props }) => {
9309
- const ref = (0, import_react31.useRef)();
9361
+ const ref = (0, import_react32.useRef)();
9310
9362
  return /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)(
9311
9363
  Stack,
9312
9364
  {
@@ -9331,7 +9383,7 @@ FormGroup.displayName = "FormGroup";
9331
9383
 
9332
9384
  // src/components/FormGroup/CheckboxGroup.tsx
9333
9385
  var import_jsx_runtime225 = require("react/jsx-runtime");
9334
- var CheckboxGroupContext = (0, import_react32.createContext)(null);
9386
+ var CheckboxGroupContext = (0, import_react33.createContext)(null);
9335
9387
  var CheckboxGroup = ({
9336
9388
  children,
9337
9389
  name,
@@ -9339,7 +9391,7 @@ var CheckboxGroup = ({
9339
9391
  value,
9340
9392
  ...props
9341
9393
  }) => {
9342
- const context = (0, import_react32.useMemo)(() => {
9394
+ const context = (0, import_react33.useMemo)(() => {
9343
9395
  return {
9344
9396
  name,
9345
9397
  onChange
@@ -9424,8 +9476,8 @@ var FormField = ({
9424
9476
  value,
9425
9477
  ...props
9426
9478
  }) => {
9427
- const formState = (0, import_react33.useContext)(FormContext);
9428
- const checkboxGroup = (0, import_react33.useContext)(CheckboxGroupContext);
9479
+ const formState = (0, import_react34.useContext)(FormContext);
9480
+ const checkboxGroup = (0, import_react34.useContext)(CheckboxGroupContext);
9429
9481
  const defaultValue = formState.values[name];
9430
9482
  const isIntegratedLabel = children.type === Checkbox;
9431
9483
  const computedId = id ?? `${formState.formId}-${name}`;
@@ -9463,7 +9515,7 @@ var FormField = ({
9463
9515
  "aria-invalid": (0, import_type_guards29.isNotNil)(error)
9464
9516
  };
9465
9517
  }
9466
- import_react33.Children.only(children);
9518
+ import_react34.Children.only(children);
9467
9519
  return /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(
9468
9520
  StyledFormField,
9469
9521
  {
@@ -9472,7 +9524,7 @@ var FormField = ({
9472
9524
  children: [
9473
9525
  !isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(Label, { htmlFor: computedId, children: label }),
9474
9526
  (0, import_type_guards29.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
9475
- (0, import_react33.cloneElement)(children, childProps),
9527
+ (0, import_react34.cloneElement)(children, childProps),
9476
9528
  (0, import_type_guards29.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(import_jsx_runtime226.Fragment, { children: [
9477
9529
  /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", {}),
9478
9530
  /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
@@ -9490,9 +9542,9 @@ var FormField = ({
9490
9542
  FormField.displayName = "FormField";
9491
9543
 
9492
9544
  // src/components/FormGroup/RadioGroup.tsx
9493
- var import_react34 = require("react");
9545
+ var import_react35 = require("react");
9494
9546
  var import_jsx_runtime227 = require("react/jsx-runtime");
9495
- var RadioGroupContext = (0, import_react34.createContext)(null);
9547
+ var RadioGroupContext = (0, import_react35.createContext)(null);
9496
9548
  var RadioGroup = ({
9497
9549
  children,
9498
9550
  name,
@@ -9500,7 +9552,7 @@ var RadioGroup = ({
9500
9552
  value,
9501
9553
  ...props
9502
9554
  }) => {
9503
- const context = (0, import_react34.useMemo)(() => {
9555
+ const context = (0, import_react35.useMemo)(() => {
9504
9556
  return {
9505
9557
  name,
9506
9558
  onChange
@@ -9511,7 +9563,7 @@ var RadioGroup = ({
9511
9563
  RadioGroup.displayName = "RadioGroup";
9512
9564
 
9513
9565
  // src/components/IconButton/IconButton.tsx
9514
- var import_react35 = require("react");
9566
+ var import_react36 = require("react");
9515
9567
  var import_styled_components51 = __toESM(require("styled-components"));
9516
9568
  var import_jsx_runtime228 = require("react/jsx-runtime");
9517
9569
  var StyledButton2 = (0, import_styled_components51.default)(Button)`
@@ -9528,7 +9580,7 @@ var StyledButton2 = (0, import_styled_components51.default)(Button)`
9528
9580
  align-items: center;
9529
9581
  line-height: 1;
9530
9582
  `;
9531
- var IconButton = (0, import_react35.forwardRef)(
9583
+ var IconButton = (0, import_react36.forwardRef)(
9532
9584
  ({ children, label, size = "md", ...props }, ref) => {
9533
9585
  const responsiveSize = useResponsiveProp(size);
9534
9586
  return /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(
@@ -9539,7 +9591,7 @@ var IconButton = (0, import_react35.forwardRef)(
9539
9591
  "aria-label": label,
9540
9592
  "data-wistia-ui-icon-button": true,
9541
9593
  size: responsiveSize,
9542
- children: (0, import_react35.cloneElement)(import_react35.Children.only(children), {
9594
+ children: (0, import_react36.cloneElement)(import_react36.Children.only(children), {
9543
9595
  size: responsiveSize
9544
9596
  })
9545
9597
  }
@@ -9601,12 +9653,12 @@ Image.displayName = "Image";
9601
9653
  var import_styled_components53 = __toESM(require("styled-components"));
9602
9654
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
9603
9655
  var import_type_guards31 = require("@wistia/type-guards");
9604
- var import_react37 = require("react");
9656
+ var import_react38 = require("react");
9605
9657
 
9606
9658
  // src/components/Menu/MenuContext.tsx
9607
- var import_react36 = require("react");
9608
- var MenuContext = (0, import_react36.createContext)({ compact: false });
9609
- 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);
9610
9662
 
9611
9663
  // src/components/Menu/Menu.tsx
9612
9664
  var import_jsx_runtime230 = require("react/jsx-runtime");
@@ -9710,7 +9762,7 @@ var Menu = ({
9710
9762
  onInteractOutside,
9711
9763
  ...props
9712
9764
  }) => {
9713
- const contextValue = (0, import_react37.useMemo)(() => ({ compact }), [compact]);
9765
+ const contextValue = (0, import_react38.useMemo)(() => ({ compact }), [compact]);
9714
9766
  let controlProps = {
9715
9767
  ...(0, import_type_guards31.isNotNil)(onOpenChange) && (0, import_type_guards31.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
9716
9768
  };
@@ -9784,13 +9836,13 @@ var MenuLabel = ({ children, ...props }) => {
9784
9836
  MenuLabel.displayName = "MenuLabel";
9785
9837
 
9786
9838
  // src/components/Menu/SubMenu.tsx
9787
- var import_react39 = require("react");
9839
+ var import_react40 = require("react");
9788
9840
  var import_styled_components57 = __toESM(require("styled-components"));
9789
9841
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
9790
9842
  var import_type_guards33 = require("@wistia/type-guards");
9791
9843
 
9792
9844
  // src/components/Menu/MenuItemButton.tsx
9793
- var import_react38 = require("react");
9845
+ var import_react39 = require("react");
9794
9846
  var import_styled_components55 = __toESM(require("styled-components"));
9795
9847
  var import_type_guards32 = require("@wistia/type-guards");
9796
9848
  var import_jsx_runtime232 = require("react/jsx-runtime");
@@ -9867,7 +9919,7 @@ var StyledBadgeContainer = import_styled_components55.default.div`
9867
9919
  font-size: var(--wui-typography-label-4-size);
9868
9920
  color: var(--wui-color-text-secondary);
9869
9921
  `;
9870
- 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) => {
9871
9923
  let { colorScheme, badge } = props;
9872
9924
  if (appearance === "dangerous") {
9873
9925
  if ((0, import_type_guards32.isNotUndefined)(colorScheme)) {
@@ -9963,7 +10015,7 @@ var SubMenu = ({
9963
10015
  ...props
9964
10016
  }) => {
9965
10017
  const { isSmAndUp } = useMq();
9966
- const [isExpanded, setIsExpanded] = (0, import_react39.useState)(false);
10018
+ const [isExpanded, setIsExpanded] = (0, import_react40.useState)(false);
9967
10019
  const { compact } = useMenuContext();
9968
10020
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
9969
10021
  /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(SubMenuTrigger, { ...props, children: [
@@ -9992,10 +10044,10 @@ var SubMenu = ({
9992
10044
  SubMenu.displayName = "SubMenu";
9993
10045
 
9994
10046
  // src/components/Menu/MenuItem.tsx
9995
- var import_react40 = require("react");
10047
+ var import_react41 = require("react");
9996
10048
  var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
9997
10049
  var import_jsx_runtime235 = require("react/jsx-runtime");
9998
- var MenuItem = (0, import_react40.forwardRef)(
10050
+ var MenuItem = (0, import_react41.forwardRef)(
9999
10051
  ({ onSelect = () => null, ...props }, ref) => {
10000
10052
  return /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(
10001
10053
  import_react_dropdown_menu4.DropdownMenuItem,
@@ -10145,7 +10197,7 @@ var CheckboxMenuItem = ({
10145
10197
  CheckboxMenuItem.displayName = "CheckboxMenuItem";
10146
10198
 
10147
10199
  // src/components/Modal/Modal.tsx
10148
- var import_react44 = require("react");
10200
+ var import_react45 = require("react");
10149
10201
  var import_styled_components62 = __toESM(require("styled-components"));
10150
10202
  var import_react_dialog4 = require("@radix-ui/react-dialog");
10151
10203
  var import_type_guards35 = require("@wistia/type-guards");
@@ -10205,19 +10257,19 @@ var ModalHeader = ({
10205
10257
  };
10206
10258
 
10207
10259
  // src/components/Modal/ModalContent.tsx
10208
- var import_react42 = require("react");
10260
+ var import_react43 = require("react");
10209
10261
  var import_styled_components60 = __toESM(require("styled-components"));
10210
10262
  var import_react_dialog3 = require("@radix-ui/react-dialog");
10211
10263
 
10212
10264
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
10213
- var import_react41 = require("react");
10265
+ var import_react42 = require("react");
10214
10266
  var import_type_guards34 = require("@wistia/type-guards");
10215
10267
  var useFocusRestore = () => {
10216
- const previouslyFocusedRef = (0, import_react41.useRef)(null);
10217
- (0, import_react41.useEffect)(() => {
10268
+ const previouslyFocusedRef = (0, import_react42.useRef)(null);
10269
+ (0, import_react42.useEffect)(() => {
10218
10270
  previouslyFocusedRef.current = document.activeElement;
10219
10271
  }, []);
10220
- (0, import_react41.useEffect)(() => {
10272
+ (0, import_react42.useEffect)(() => {
10221
10273
  return () => {
10222
10274
  if ((0, import_type_guards34.isNotNil)(previouslyFocusedRef.current)) {
10223
10275
  setTimeout(() => {
@@ -10271,7 +10323,7 @@ var StyledModalContent = (0, import_styled_components60.default)(import_react_di
10271
10323
  }
10272
10324
  }
10273
10325
  `;
10274
- var ModalContent = (0, import_react42.forwardRef)(
10326
+ var ModalContent = (0, import_react43.forwardRef)(
10275
10327
  ({ fullHeight, width, children, ...otherProps }, ref) => {
10276
10328
  useFocusRestore();
10277
10329
  return /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(
@@ -10289,7 +10341,7 @@ var ModalContent = (0, import_react42.forwardRef)(
10289
10341
  );
10290
10342
 
10291
10343
  // src/private/components/Backdrop/Backdrop.tsx
10292
- var import_react43 = require("react");
10344
+ var import_react44 = require("react");
10293
10345
  var import_styled_components61 = __toESM(require("styled-components"));
10294
10346
  var import_jsx_runtime242 = require("react/jsx-runtime");
10295
10347
  var backdropAnimationDuration = 150;
@@ -10327,7 +10379,7 @@ var BackdropComponent = import_styled_components61.default.div`
10327
10379
  }
10328
10380
  }
10329
10381
  `;
10330
- var Backdrop = (0, import_react43.forwardRef)(
10382
+ var Backdrop = (0, import_react44.forwardRef)(
10331
10383
  ({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
10332
10384
  BackdropComponent,
10333
10385
  {
@@ -10349,7 +10401,7 @@ var ModalBody = import_styled_components62.default.div`
10349
10401
  display: flex;
10350
10402
  order: 2;
10351
10403
  `;
10352
- var Modal = (0, import_react44.forwardRef)(
10404
+ var Modal = (0, import_react45.forwardRef)(
10353
10405
  ({
10354
10406
  children,
10355
10407
  fullHeight = false,
@@ -10551,7 +10603,7 @@ var ProgressBar = ({
10551
10603
  ProgressBar.displayName = "ProgressBar";
10552
10604
 
10553
10605
  // src/components/Radio/Radio.tsx
10554
- var import_react45 = require("react");
10606
+ var import_react46 = require("react");
10555
10607
  var import_styled_components65 = __toESM(require("styled-components"));
10556
10608
  var import_type_guards38 = require("@wistia/type-guards");
10557
10609
  var import_jsx_runtime246 = require("react/jsx-runtime");
@@ -10654,7 +10706,7 @@ var StyledHiddenRadioInput = import_styled_components65.default.input`
10654
10706
  display: block;
10655
10707
  }
10656
10708
  `;
10657
- var Radio = (0, import_react45.forwardRef)(
10709
+ var Radio = (0, import_react46.forwardRef)(
10658
10710
  ({
10659
10711
  checked,
10660
10712
  disabled = false,
@@ -10669,7 +10721,7 @@ var Radio = (0, import_react45.forwardRef)(
10669
10721
  hideLabel = false,
10670
10722
  ...props
10671
10723
  }, ref) => {
10672
- const generatedId = (0, import_react45.useId)();
10724
+ const generatedId = (0, import_react46.useId)();
10673
10725
  const computedId = (0, import_type_guards38.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
10674
10726
  return /* @__PURE__ */ (0, import_jsx_runtime246.jsxs)(
10675
10727
  StyledRadioWrapper,
@@ -10719,22 +10771,22 @@ var Radio = (0, import_react45.forwardRef)(
10719
10771
  Radio.displayName = "Radio";
10720
10772
 
10721
10773
  // src/components/SegmentedControl/SegmentedControl.tsx
10722
- var import_react49 = require("react");
10774
+ var import_react50 = require("react");
10723
10775
  var import_styled_components67 = __toESM(require("styled-components"));
10724
10776
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
10725
10777
  var import_type_guards39 = require("@wistia/type-guards");
10726
10778
 
10727
10779
  // src/components/SegmentedControl/useSelectedItemMeasurements.tsx
10728
- var import_react46 = require("react");
10780
+ var import_react47 = require("react");
10729
10781
  var import_jsx_runtime247 = require("react/jsx-runtime");
10730
- var SelectedItemMeasurementsContext = (0, import_react46.createContext)(
10782
+ var SelectedItemMeasurementsContext = (0, import_react47.createContext)(
10731
10783
  null
10732
10784
  );
10733
10785
  var SelectedItemMeasurementsProvider = ({
10734
10786
  children
10735
10787
  }) => {
10736
- const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react46.useState)(null);
10737
- const contextValue = (0, import_react46.useMemo)(
10788
+ const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react47.useState)(null);
10789
+ const contextValue = (0, import_react47.useMemo)(
10738
10790
  () => ({
10739
10791
  setSelectedItemMeasurements,
10740
10792
  selectedItemMeasurements
@@ -10744,7 +10796,7 @@ var SelectedItemMeasurementsProvider = ({
10744
10796
  return /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
10745
10797
  };
10746
10798
  var useSelectedItemMeasurements = () => {
10747
- const context = (0, import_react46.useContext)(SelectedItemMeasurementsContext);
10799
+ const context = (0, import_react47.useContext)(SelectedItemMeasurementsContext);
10748
10800
  if (context === null) {
10749
10801
  throw new Error(
10750
10802
  "useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
@@ -10754,15 +10806,15 @@ var useSelectedItemMeasurements = () => {
10754
10806
  };
10755
10807
 
10756
10808
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
10757
- var import_react48 = require("react");
10809
+ var import_react49 = require("react");
10758
10810
  var import_styled_components66 = __toESM(require("styled-components"));
10759
10811
 
10760
10812
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
10761
- var import_react47 = require("react");
10762
- var SegmentedControlValueContext = (0, import_react47.createContext)(null);
10813
+ var import_react48 = require("react");
10814
+ var SegmentedControlValueContext = (0, import_react48.createContext)(null);
10763
10815
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
10764
10816
  var useSegmentedControlValue = () => {
10765
- const context = (0, import_react47.useContext)(SegmentedControlValueContext);
10817
+ const context = (0, import_react48.useContext)(SegmentedControlValueContext);
10766
10818
  if (context === null) {
10767
10819
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
10768
10820
  }
@@ -10786,7 +10838,7 @@ var SelectedItemIndicatorDiv = import_styled_components66.default.div`
10786
10838
  var SelectedItemIndicator = () => {
10787
10839
  const selectedValue = useSegmentedControlValue();
10788
10840
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
10789
- const selectedItemIndicatorStyle = (0, import_react48.useMemo)(
10841
+ const selectedItemIndicatorStyle = (0, import_react49.useMemo)(
10790
10842
  () => selectedItemMeasurements != null ? {
10791
10843
  height: `${selectedItemMeasurements.offsetHeight}px`,
10792
10844
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -10824,7 +10876,7 @@ var segmentedControlStyles = import_styled_components67.css`
10824
10876
  var StyledSegmentedControl = (0, import_styled_components67.default)(import_react_toggle_group.Root)`
10825
10877
  ${segmentedControlStyles}
10826
10878
  `;
10827
- var SegmentedControl = (0, import_react49.forwardRef)(
10879
+ var SegmentedControl = (0, import_react50.forwardRef)(
10828
10880
  ({
10829
10881
  children,
10830
10882
  disabled = false,
@@ -10859,7 +10911,7 @@ var SegmentedControl = (0, import_react49.forwardRef)(
10859
10911
  SegmentedControl.displayName = "SegmentedControl";
10860
10912
 
10861
10913
  // src/components/SegmentedControl/SegmentedControlItem.tsx
10862
- var import_react50 = require("react");
10914
+ var import_react51 = require("react");
10863
10915
  var import_styled_components68 = __toESM(require("styled-components"));
10864
10916
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
10865
10917
  var import_type_guards41 = require("@wistia/type-guards");
@@ -10942,11 +10994,11 @@ var segmentedControlItemStyles = import_styled_components68.css`
10942
10994
  var StyledSegmentedControlItem = (0, import_styled_components68.default)(import_react_toggle_group2.Item)`
10943
10995
  ${segmentedControlItemStyles}
10944
10996
  `;
10945
- var SegmentedControlItem = (0, import_react50.forwardRef)(
10997
+ var SegmentedControlItem = (0, import_react51.forwardRef)(
10946
10998
  ({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
10947
10999
  const selectedValue = useSegmentedControlValue();
10948
11000
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
10949
- const buttonRef = (0, import_react50.useRef)(null);
11001
+ const buttonRef = (0, import_react51.useRef)(null);
10950
11002
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
10951
11003
  const handleClick = (event) => {
10952
11004
  const target = event.target;
@@ -10955,7 +11007,7 @@ var SegmentedControlItem = (0, import_react50.forwardRef)(
10955
11007
  event.preventDefault();
10956
11008
  }
10957
11009
  };
10958
- (0, import_react50.useEffect)(() => {
11010
+ (0, import_react51.useEffect)(() => {
10959
11011
  const buttonElem = buttonRef.current;
10960
11012
  if (!buttonElem) {
10961
11013
  return void 0;
@@ -11001,7 +11053,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
11001
11053
 
11002
11054
  // src/components/Select/Select.tsx
11003
11055
  var import_react_select = require("@radix-ui/react-select");
11004
- var import_react51 = require("react");
11056
+ var import_react52 = require("react");
11005
11057
  var import_styled_components69 = __toESM(require("styled-components"));
11006
11058
  var import_jsx_runtime251 = require("react/jsx-runtime");
11007
11059
  var StyledTrigger = (0, import_styled_components69.default)(import_react_select.Trigger)`
@@ -11070,7 +11122,7 @@ var StyledContent3 = (0, import_styled_components69.default)(import_react_select
11070
11122
  max-height: var(--radix-select-content-available-height);
11071
11123
  z-index: var(--wui-zindex-select);
11072
11124
  `;
11073
- var Select = (0, import_react51.forwardRef)(
11125
+ var Select = (0, import_react52.forwardRef)(
11074
11126
  ({
11075
11127
  colorScheme = "inherit",
11076
11128
  children,
@@ -11119,7 +11171,7 @@ Select.displayName = "Select";
11119
11171
 
11120
11172
  // src/components/Select/SelectOption.tsx
11121
11173
  var import_react_select2 = require("@radix-ui/react-select");
11122
- var import_react52 = require("react");
11174
+ var import_react53 = require("react");
11123
11175
  var import_styled_components70 = __toESM(require("styled-components"));
11124
11176
  var import_jsx_runtime252 = require("react/jsx-runtime");
11125
11177
  var StyledItem = (0, import_styled_components70.default)(import_react_select2.Item)`
@@ -11148,7 +11200,7 @@ var StyledItem = (0, import_styled_components70.default)(import_react_select2.It
11148
11200
  var StyledIconContainer = import_styled_components70.default.span`
11149
11201
  width: 12px;
11150
11202
  `;
11151
- var SelectOption = (0, import_react52.forwardRef)(
11203
+ var SelectOption = (0, import_react53.forwardRef)(
11152
11204
  ({ children, ...props }, forwardedRef) => {
11153
11205
  return /* @__PURE__ */ (0, import_jsx_runtime252.jsxs)(
11154
11206
  StyledItem,
@@ -11193,7 +11245,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
11193
11245
  };
11194
11246
 
11195
11247
  // src/components/Switch/Switch.tsx
11196
- var import_react53 = require("react");
11248
+ var import_react54 = require("react");
11197
11249
  var import_styled_components72 = __toESM(require("styled-components"));
11198
11250
  var import_type_guards42 = require("@wistia/type-guards");
11199
11251
  var import_jsx_runtime254 = require("react/jsx-runtime");
@@ -11298,7 +11350,7 @@ var StyledHiddenSwitchInput = import_styled_components72.default.input`
11298
11350
  }
11299
11351
  }
11300
11352
  `;
11301
- var Switch = (0, import_react53.forwardRef)(
11353
+ var Switch = (0, import_react54.forwardRef)(
11302
11354
  ({
11303
11355
  checked,
11304
11356
  disabled = false,
@@ -11313,7 +11365,7 @@ var Switch = (0, import_react53.forwardRef)(
11313
11365
  hideLabel = false,
11314
11366
  ...props
11315
11367
  }, ref) => {
11316
- const generatedId = (0, import_react53.useId)();
11368
+ const generatedId = (0, import_react54.useId)();
11317
11369
  const computedId = (0, import_type_guards42.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
11318
11370
  return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
11319
11371
  /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
@@ -11395,8 +11447,8 @@ var Table = ({
11395
11447
  var import_styled_components74 = __toESM(require("styled-components"));
11396
11448
 
11397
11449
  // src/components/Table/TableSectionContext.ts
11398
- var import_react54 = require("react");
11399
- var TableSectionContext = (0, import_react54.createContext)(null);
11450
+ var import_react55 = require("react");
11451
+ var TableSectionContext = (0, import_react55.createContext)(null);
11400
11452
 
11401
11453
  // src/components/Table/TableBody.tsx
11402
11454
  var import_jsx_runtime256 = require("react/jsx-runtime");
@@ -11406,7 +11458,7 @@ var TableBody = ({ children, ...props }) => {
11406
11458
  };
11407
11459
 
11408
11460
  // src/components/Table/TableCell.tsx
11409
- var import_react55 = require("react");
11461
+ var import_react56 = require("react");
11410
11462
  var import_styled_components75 = __toESM(require("styled-components"));
11411
11463
  var import_jsx_runtime257 = require("react/jsx-runtime");
11412
11464
  var sharedStyles = import_styled_components75.css`
@@ -11427,7 +11479,7 @@ var StyledTd = import_styled_components75.default.td`
11427
11479
  line-height: var(--wui-typography-body-2-line-height);
11428
11480
  `;
11429
11481
  var TableCell = ({ children, ...props }) => {
11430
- const section = (0, import_react55.useContext)(TableSectionContext);
11482
+ const section = (0, import_react56.useContext)(TableSectionContext);
11431
11483
  if (section === "head") {
11432
11484
  return /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(StyledTh, { ...props, children });
11433
11485
  }
@@ -11459,7 +11511,7 @@ var TableRow = ({ children, ...props }) => {
11459
11511
  };
11460
11512
 
11461
11513
  // src/components/Tabs/Tabs.tsx
11462
- var import_react60 = require("react");
11514
+ var import_react61 = require("react");
11463
11515
  var import_react_tabs4 = require("@radix-ui/react-tabs");
11464
11516
  var import_type_guards44 = require("@wistia/type-guards");
11465
11517
  var import_styled_components83 = __toESM(require("styled-components"));
@@ -11514,17 +11566,17 @@ var TabList = ({
11514
11566
  TabList.displayName = "TabList";
11515
11567
 
11516
11568
  // src/components/Tabs/TabItem.tsx
11517
- var import_react57 = require("react");
11569
+ var import_react58 = require("react");
11518
11570
  var import_styled_components81 = __toESM(require("styled-components"));
11519
11571
  var import_react_tabs3 = require("@radix-ui/react-tabs");
11520
11572
  var import_type_guards43 = require("@wistia/type-guards");
11521
11573
 
11522
11574
  // src/components/Tabs/useTabsValue.tsx
11523
- var import_react56 = require("react");
11524
- var TabsValueContext = (0, import_react56.createContext)(null);
11575
+ var import_react57 = require("react");
11576
+ var TabsValueContext = (0, import_react57.createContext)(null);
11525
11577
  var TabsValueProvider = TabsValueContext.Provider;
11526
11578
  var useTabsValue = () => {
11527
- const context = (0, import_react56.useContext)(TabsValueContext);
11579
+ const context = (0, import_react57.useContext)(TabsValueContext);
11528
11580
  if (context === null) {
11529
11581
  throw new Error("useTabsValue must be used within a TabsValueProvider");
11530
11582
  }
@@ -11540,13 +11592,13 @@ var StyledTabItem = (0, import_styled_components81.default)(import_react_tabs3.T
11540
11592
  outline: none;
11541
11593
  }
11542
11594
  `;
11543
- var TabItem = (0, import_react57.forwardRef)(
11595
+ var TabItem = (0, import_react58.forwardRef)(
11544
11596
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11545
11597
  const selectedValue = useTabsValue();
11546
11598
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11547
- const buttonRef = (0, import_react57.useRef)(null);
11599
+ const buttonRef = (0, import_react58.useRef)(null);
11548
11600
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11549
- (0, import_react57.useEffect)(() => {
11601
+ (0, import_react58.useEffect)(() => {
11550
11602
  const buttonElem = buttonRef.current;
11551
11603
  if (!buttonElem) {
11552
11604
  return void 0;
@@ -11590,16 +11642,16 @@ var TabItem = (0, import_react57.forwardRef)(
11590
11642
  TabItem.displayName = "TabItem";
11591
11643
 
11592
11644
  // src/components/Tabs/extractTabItems.ts
11593
- var import_react58 = require("react");
11645
+ var import_react59 = require("react");
11594
11646
  var extractTabItems = (children) => {
11595
11647
  const tabItems = [];
11596
- import_react58.Children.forEach(children, (child) => {
11597
- if (!(0, import_react58.isValidElement)(child)) {
11648
+ import_react59.Children.forEach(children, (child) => {
11649
+ if (!(0, import_react59.isValidElement)(child)) {
11598
11650
  return;
11599
11651
  }
11600
11652
  if (typeof child.type !== "string" && child.type.displayName === "Tab") {
11601
11653
  tabItems.push(child);
11602
- } else if (child.type === import_react58.Fragment) {
11654
+ } else if (child.type === import_react59.Fragment) {
11603
11655
  const fragmentElement = child;
11604
11656
  tabItems.push(...extractTabItems(fragmentElement.props.children));
11605
11657
  } else if ((child.props.children ?? null) != null) {
@@ -11612,7 +11664,7 @@ var extractTabItems = (children) => {
11612
11664
  };
11613
11665
 
11614
11666
  // src/components/Tabs/SelectedItemIndicator.tsx
11615
- var import_react59 = require("react");
11667
+ var import_react60 = require("react");
11616
11668
  var import_styled_components82 = __toESM(require("styled-components"));
11617
11669
  var import_jsx_runtime264 = require("react/jsx-runtime");
11618
11670
  var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(SelectedItemIndicatorDiv)`
@@ -11623,7 +11675,7 @@ var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(Selec
11623
11675
  var SelectedItemIndicator2 = () => {
11624
11676
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
11625
11677
  const selectedValue = useTabsValue();
11626
- const selectedItemIndicatorStyle = (0, import_react59.useMemo)(
11678
+ const selectedItemIndicatorStyle = (0, import_react60.useMemo)(
11627
11679
  () => selectedItemMeasurements != null ? {
11628
11680
  height: `${selectedItemMeasurements.offsetHeight}px`,
11629
11681
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -11664,7 +11716,7 @@ var StyledTabsRoot = (0, import_styled_components83.default)(import_react_tabs4.
11664
11716
  flex-direction: column;
11665
11717
  height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
11666
11718
  `;
11667
- var Tabs = (0, import_react60.forwardRef)(
11719
+ var Tabs = (0, import_react61.forwardRef)(
11668
11720
  ({
11669
11721
  children,
11670
11722
  fullWidth = true,
@@ -11676,7 +11728,7 @@ var Tabs = (0, import_react60.forwardRef)(
11676
11728
  ...otherProps
11677
11729
  }, ref) => {
11678
11730
  const tabItems = extractTabItems(children);
11679
- const [internalSelectedValue, setInternalSelectedValue] = (0, import_react60.useState)(defaultSelectedValue);
11731
+ const [internalSelectedValue, setInternalSelectedValue] = (0, import_react61.useState)(defaultSelectedValue);
11680
11732
  const modeProps = defaultSelectedValue !== void 0 ? {
11681
11733
  defaultValue: defaultSelectedValue,
11682
11734
  onValueChange: setInternalSelectedValue
@@ -11762,15 +11814,15 @@ var Tabs = (0, import_react60.forwardRef)(
11762
11814
  Tabs.displayName = "Tabs";
11763
11815
 
11764
11816
  // src/components/Tabs/Tab.tsx
11765
- var import_react61 = require("react");
11817
+ var import_react62 = require("react");
11766
11818
  var import_jsx_runtime266 = require("react/jsx-runtime");
11767
- var Tab = (0, import_react61.forwardRef)(({ children }, ref) => {
11819
+ var Tab = (0, import_react62.forwardRef)(({ children }, ref) => {
11768
11820
  return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { ref, children });
11769
11821
  });
11770
11822
  Tab.displayName = "Tab";
11771
11823
 
11772
11824
  // src/components/Tag/Tag.tsx
11773
- var import_react62 = require("react");
11825
+ var import_react63 = require("react");
11774
11826
  var import_styled_components84 = __toESM(require("styled-components"));
11775
11827
  var import_type_guards45 = require("@wistia/type-guards");
11776
11828
  var import_jsx_runtime267 = require("react/jsx-runtime");
@@ -11887,7 +11939,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
11887
11939
  )
11888
11940
  ] });
11889
11941
  };
11890
- var Tag = (0, import_react62.forwardRef)(
11942
+ var Tag = (0, import_react63.forwardRef)(
11891
11943
  ({
11892
11944
  onClickRemove,
11893
11945
  colorScheme = "inherit",
@@ -12147,6 +12199,7 @@ WistiaLogo.displayName = "WistiaLogo";
12147
12199
  useImperativeFilePicker,
12148
12200
  useKey,
12149
12201
  useLocalStorage,
12202
+ useLockBodyScroll,
12150
12203
  useMq,
12151
12204
  useToast,
12152
12205
  useWindowSize