@wistia/ui 0.6.37 → 0.6.38

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.37
3
+ * @license @wistia/ui v0.6.38
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -131,6 +131,7 @@ __export(index_exports, {
131
131
  useLocalStorage: () => useLocalStorage,
132
132
  useLockBodyScroll: () => useLockBodyScroll,
133
133
  useMq: () => useMq,
134
+ useOnClickOutside: () => useOnClickOutside,
134
135
  useToast: () => useToast,
135
136
  useWindowSize: () => useWindowSize
136
137
  });
@@ -2208,11 +2209,40 @@ var useLockBodyScroll = (locked) => {
2208
2209
  }, [locked]);
2209
2210
  };
2210
2211
 
2212
+ // src/hooks/useOnClickOutside/useOnClickOutside.ts
2213
+ var import_react9 = require("react");
2214
+ var useOnClickOutside = (ref, handler, eventTypes = ["mousedown", "touchend"]) => {
2215
+ (0, import_react9.useEffect)(() => {
2216
+ const listener = (event) => {
2217
+ if (!ref.current || ref.current.contains(event.target)) {
2218
+ return;
2219
+ }
2220
+ handler(event);
2221
+ };
2222
+ if (Array.isArray(eventTypes)) {
2223
+ eventTypes.forEach((eventType) => {
2224
+ document.addEventListener(eventType, listener);
2225
+ });
2226
+ } else {
2227
+ document.addEventListener(eventTypes, listener);
2228
+ }
2229
+ return () => {
2230
+ if (Array.isArray(eventTypes)) {
2231
+ eventTypes.forEach((eventType) => {
2232
+ document.removeEventListener(eventType, listener);
2233
+ });
2234
+ } else {
2235
+ document.removeEventListener(eventTypes, listener);
2236
+ }
2237
+ };
2238
+ }, [ref, handler, eventTypes]);
2239
+ };
2240
+
2211
2241
  // src/hooks/useMq/useMq.ts
2212
2242
  var import_type_guards8 = require("@wistia/type-guards");
2213
2243
 
2214
2244
  // src/hooks/useWindowSize/useWindowSize.ts
2215
- var import_react9 = require("react");
2245
+ var import_react10 = require("react");
2216
2246
  var import_throttle_debounce = require("throttle-debounce");
2217
2247
 
2218
2248
  // src/private/helpers/isClient/isClient.ts
@@ -2220,11 +2250,11 @@ var isClient = () => typeof window !== "undefined" && typeof document !== "undef
2220
2250
 
2221
2251
  // src/hooks/useWindowSize/useWindowSize.ts
2222
2252
  var useWindowSize = (interval = 0) => {
2223
- const [dimensions, setDimensions] = (0, import_react9.useState)({
2253
+ const [dimensions, setDimensions] = (0, import_react10.useState)({
2224
2254
  width: isClient() ? window.innerWidth : 0,
2225
2255
  height: isClient() ? window.innerHeight : 0
2226
2256
  });
2227
- (0, import_react9.useLayoutEffect)(() => {
2257
+ (0, import_react10.useLayoutEffect)(() => {
2228
2258
  const handleResize = (0, import_throttle_debounce.debounce)(
2229
2259
  interval,
2230
2260
  () => setDimensions({
@@ -2276,11 +2306,11 @@ var useActiveMq = () => {
2276
2306
  };
2277
2307
 
2278
2308
  // src/hooks/useToast/useToast.tsx
2279
- var import_react11 = require("react");
2309
+ var import_react12 = require("react");
2280
2310
  var import_sonner2 = require("sonner");
2281
2311
 
2282
2312
  // src/private/components/Toast/Toast.tsx
2283
- var import_react10 = require("react");
2313
+ var import_react11 = require("react");
2284
2314
  var import_styled_components15 = __toESM(require("styled-components"));
2285
2315
  var import_type_guards10 = require("@wistia/type-guards");
2286
2316
 
@@ -2510,8 +2540,8 @@ var StyledToast = import_styled_components15.default.div`
2510
2540
  }
2511
2541
  `;
2512
2542
  var Action = ({ actionButton }) => {
2513
- if ((0, import_type_guards10.isNotNil)(actionButton) && (0, import_react10.isValidElement)(actionButton)) {
2514
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react10.cloneElement)(actionButton, {
2543
+ if ((0, import_type_guards10.isNotNil)(actionButton) && (0, import_react11.isValidElement)(actionButton)) {
2544
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react11.cloneElement)(actionButton, {
2515
2545
  variant: "soft",
2516
2546
  // force Button variant
2517
2547
  size: "sm"
@@ -2547,7 +2577,7 @@ Toast.displayName = "Toast";
2547
2577
  // src/hooks/useToast/useToast.tsx
2548
2578
  var import_jsx_runtime6 = require("react/jsx-runtime");
2549
2579
  var useToast = () => {
2550
- return (0, import_react11.useCallback)(
2580
+ return (0, import_react12.useCallback)(
2551
2581
  ({ message, action, colorScheme, icon, position = "bottom-left", duration = 3e3 }) => {
2552
2582
  import_sonner2.toast.custom(
2553
2583
  () => {
@@ -2569,11 +2599,11 @@ var useToast = () => {
2569
2599
  };
2570
2600
 
2571
2601
  // src/components/ActionButton/ActionButton.tsx
2572
- var import_react15 = require("react");
2602
+ var import_react16 = require("react");
2573
2603
  var import_styled_components21 = __toESM(require("styled-components"));
2574
2604
 
2575
2605
  // src/components/Button/Button.tsx
2576
- var import_react14 = require("react");
2606
+ var import_react15 = require("react");
2577
2607
  var import_styled_components20 = __toESM(require("styled-components"));
2578
2608
  var import_type_guards14 = require("@wistia/type-guards");
2579
2609
 
@@ -6635,13 +6665,13 @@ var iconMap = {
6635
6665
 
6636
6666
  // src/private/hooks/useResponsiveProp/useResponsiveProp.ts
6637
6667
  var import_type_guards11 = require("@wistia/type-guards");
6638
- var import_react12 = require("react");
6668
+ var import_react13 = require("react");
6639
6669
  var isResponsiveObject = (values) => {
6640
6670
  return typeof values === "object" && values !== null && !Array.isArray(values) && "base" in values;
6641
6671
  };
6642
6672
  var useResponsiveProp = (values) => {
6643
6673
  const activeMediaQueries = useActiveMq();
6644
- return (0, import_react12.useMemo)(() => {
6674
+ return (0, import_react13.useMemo)(() => {
6645
6675
  if ((0, import_type_guards11.isRecord)(values) && isResponsiveObject(values)) {
6646
6676
  const mq2 = activeMediaQueries.find((key) => key in values);
6647
6677
  return (0, import_type_guards11.isNotUndefined)(mq2) && (0, import_type_guards11.isNotUndefined)(values[mq2]) ? values[mq2] : values.base;
@@ -6708,7 +6738,7 @@ var Icon = ({
6708
6738
  Icon.displayName = "Icon";
6709
6739
 
6710
6740
  // src/components/Link/Link.tsx
6711
- var import_react13 = require("react");
6741
+ var import_react14 = require("react");
6712
6742
  var import_type_guards13 = require("@wistia/type-guards");
6713
6743
  var import_styled_components19 = __toESM(require("styled-components"));
6714
6744
  var import_react_router_dom = require("react-router-dom");
@@ -6748,7 +6778,7 @@ var StyledLink = import_styled_components19.default.a`
6748
6778
  }
6749
6779
  }
6750
6780
  `;
6751
- var Link = (0, import_react13.forwardRef)(
6781
+ var Link = (0, import_react14.forwardRef)(
6752
6782
  ({
6753
6783
  beforeAction,
6754
6784
  children,
@@ -6894,7 +6924,7 @@ var ButtonContent = ({
6894
6924
  )
6895
6925
  ] });
6896
6926
  };
6897
- var Button = (0, import_react14.forwardRef)(
6927
+ var Button = (0, import_react15.forwardRef)(
6898
6928
  ({
6899
6929
  children,
6900
6930
  forceState,
@@ -7073,7 +7103,7 @@ var StyledLabel = import_styled_components21.default.span`
7073
7103
  grid-row: 2;
7074
7104
  text-align: left;
7075
7105
  `;
7076
- var ActionButton = (0, import_react15.forwardRef)(
7106
+ var ActionButton = (0, import_react16.forwardRef)(
7077
7107
  ({
7078
7108
  icon,
7079
7109
  colorScheme = "default",
@@ -7117,7 +7147,7 @@ var ActionButton = (0, import_react15.forwardRef)(
7117
7147
  ActionButton.displayName = "ActionButton";
7118
7148
 
7119
7149
  // src/components/Avatar/Avatar.tsx
7120
- var import_react16 = require("react");
7150
+ var import_react17 = require("react");
7121
7151
  var import_type_guards16 = require("@wistia/type-guards");
7122
7152
  var import_styled_components23 = __toESM(require("styled-components"));
7123
7153
 
@@ -7249,8 +7279,8 @@ var Avatar = ({
7249
7279
  onImageLoad,
7250
7280
  ...otherProps
7251
7281
  }) => {
7252
- const [imageLoadState, setImageLoadState] = (0, import_react16.useState)("loading");
7253
- (0, import_react16.useEffect)(() => {
7282
+ const [imageLoadState, setImageLoadState] = (0, import_react17.useState)("loading");
7283
+ (0, import_react17.useEffect)(() => {
7254
7284
  setImageLoadState("loading");
7255
7285
  }, [imageUrl]);
7256
7286
  const handleImageLoad = () => {
@@ -7262,7 +7292,7 @@ var Avatar = ({
7262
7292
  onImageLoad?.({ state: "error", type: "initials" });
7263
7293
  };
7264
7294
  const avatarSize = heightAndWidth ?? avatarSizeMap[size];
7265
- const avatarColor = (0, import_react16.useMemo)(() => chooseColorScheme(name), [name]);
7295
+ const avatarColor = (0, import_react17.useMemo)(() => chooseColorScheme(name), [name]);
7266
7296
  const showInitials = (0, import_type_guards16.isNil)(imageUrl) || imageLoadState === "error";
7267
7297
  return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
7268
7298
  AvatarWrapper,
@@ -7292,7 +7322,7 @@ var Avatar = ({
7292
7322
  Avatar.displayName = "Avatar";
7293
7323
 
7294
7324
  // src/components/Badge/Badge.tsx
7295
- var import_react17 = require("react");
7325
+ var import_react18 = require("react");
7296
7326
  var import_styled_components24 = __toESM(require("styled-components"));
7297
7327
  var import_type_guards17 = require("@wistia/type-guards");
7298
7328
  var import_jsx_runtime197 = require("react/jsx-runtime");
@@ -7316,7 +7346,7 @@ var StyledBadge = import_styled_components24.default.div`
7316
7346
  width: 12px;
7317
7347
  }
7318
7348
  `;
7319
- var Badge = (0, import_react17.forwardRef)(
7349
+ var Badge = (0, import_react18.forwardRef)(
7320
7350
  ({ colorScheme = "inherit", label, icon, ...otherProps }, ref) => {
7321
7351
  const hasIcon = (0, import_type_guards17.isNotNil)(icon);
7322
7352
  return /* @__PURE__ */ (0, import_jsx_runtime197.jsxs)(
@@ -7337,7 +7367,7 @@ var Badge = (0, import_react17.forwardRef)(
7337
7367
  Badge.displayName = "Badge";
7338
7368
 
7339
7369
  // src/components/Box/Box.tsx
7340
- var import_react18 = require("react");
7370
+ var import_react19 = require("react");
7341
7371
  var import_styled_components25 = __toESM(require("styled-components"));
7342
7372
  var import_type_guards18 = require("@wistia/type-guards");
7343
7373
 
@@ -7446,13 +7476,13 @@ var StyledBoxComponent = import_styled_components25.default.div`
7446
7476
  var wrapChildren = (children) => {
7447
7477
  if ((0, import_type_guards18.isNotNil)(children)) {
7448
7478
  if (typeof children === "object" && isDev) {
7449
- return import_react18.Children.map(children, (child) => {
7479
+ return import_react19.Children.map(children, (child) => {
7450
7480
  if ((0, import_type_guards18.isNil)(child)) return null;
7451
7481
  const elementParams = {};
7452
7482
  if (child.type?.displayName === "Box" || child.type?.displayName === "Box_UI") {
7453
7483
  elementParams.hasBoxParent = true;
7454
7484
  }
7455
- return (0, import_react18.cloneElement)(child, elementParams);
7485
+ return (0, import_react19.cloneElement)(child, elementParams);
7456
7486
  });
7457
7487
  }
7458
7488
  return children;
@@ -7460,7 +7490,7 @@ var wrapChildren = (children) => {
7460
7490
  return null;
7461
7491
  };
7462
7492
  var DEFAULT_ELEMENT = "div";
7463
- var BoxComponent = (0, import_react18.forwardRef)(
7493
+ var BoxComponent = (0, import_react19.forwardRef)(
7464
7494
  ({
7465
7495
  alignContent = "stretch",
7466
7496
  alignItems = "flex-start",
@@ -7537,7 +7567,7 @@ BoxComponent.displayName = "Box";
7537
7567
  var Box = makePolymorphic(BoxComponent);
7538
7568
 
7539
7569
  // src/components/Breadcrumbs/Breadcrumbs.tsx
7540
- var import_react19 = require("react");
7570
+ var import_react20 = require("react");
7541
7571
  var import_styled_components26 = __toESM(require("styled-components"));
7542
7572
  var import_jsx_runtime199 = require("react/jsx-runtime");
7543
7573
  var StyledBreadcrumbs = import_styled_components26.default.nav`
@@ -7553,7 +7583,7 @@ var StyledBreadcrumbs = import_styled_components26.default.nav`
7553
7583
  var BUFFER_WIDTH = 10;
7554
7584
  var Breadcrumbs = ({ children, ...props }) => {
7555
7585
  const { isXsAndDown } = useMq();
7556
- let crumbs = import_react19.Children.toArray(children);
7586
+ let crumbs = import_react20.Children.toArray(children);
7557
7587
  if (isXsAndDown) {
7558
7588
  crumbs = crumbs.slice(-1);
7559
7589
  }
@@ -7740,7 +7770,7 @@ var Card = ({
7740
7770
  Card.displayName = "Card";
7741
7771
 
7742
7772
  // src/components/Center/Center.tsx
7743
- var import_react20 = require("react");
7773
+ var import_react21 = require("react");
7744
7774
  var import_styled_components30 = __toESM(require("styled-components"));
7745
7775
  var import_jsx_runtime203 = require("react/jsx-runtime");
7746
7776
  var StyledCenter = import_styled_components30.default.div`
@@ -7755,7 +7785,7 @@ var StyledCenter = import_styled_components30.default.div`
7755
7785
  align-items: center;
7756
7786
  `}
7757
7787
  `;
7758
- var Center = (0, import_react20.forwardRef)(
7788
+ var Center = (0, import_react21.forwardRef)(
7759
7789
  ({ maxWidth = "100%", gutterWidth = "space-00", intrinsic = false, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
7760
7790
  StyledCenter,
7761
7791
  {
@@ -7771,7 +7801,7 @@ var Center = (0, import_react20.forwardRef)(
7771
7801
  Center.displayName = "Center";
7772
7802
 
7773
7803
  // src/components/Checkbox/Checkbox.tsx
7774
- var import_react21 = require("react");
7804
+ var import_react22 = require("react");
7775
7805
  var import_styled_components34 = __toESM(require("styled-components"));
7776
7806
  var import_type_guards23 = require("@wistia/type-guards");
7777
7807
 
@@ -7991,7 +8021,7 @@ var StyledHiddenCheckboxInput = import_styled_components34.default.input`
7991
8021
  display: block;
7992
8022
  }
7993
8023
  `;
7994
- var Checkbox = (0, import_react21.forwardRef)(
8024
+ var Checkbox = (0, import_react22.forwardRef)(
7995
8025
  ({
7996
8026
  checked,
7997
8027
  disabled = false,
@@ -8006,7 +8036,7 @@ var Checkbox = (0, import_react21.forwardRef)(
8006
8036
  hideLabel = false,
8007
8037
  ...props
8008
8038
  }, ref) => {
8009
- const generatedId = (0, import_react21.useId)();
8039
+ const generatedId = (0, import_react22.useId)();
8010
8040
  const computedId = (0, import_type_guards23.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-${generatedId}`;
8011
8041
  return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(StyledCheckboxWrapper, { disabled, children: [
8012
8042
  /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
@@ -8049,9 +8079,9 @@ var Checkbox = (0, import_react21.forwardRef)(
8049
8079
  Checkbox.displayName = "Checkbox";
8050
8080
 
8051
8081
  // src/components/ClickRegion/ClickRegion.tsx
8052
- var import_react22 = require("react");
8082
+ var import_react23 = require("react");
8053
8083
  var ClickRegion = ({ children, targetRef }) => {
8054
- (0, import_react22.useEffect)(() => {
8084
+ (0, import_react23.useEffect)(() => {
8055
8085
  if (targetRef.current && targetRef.current.tagName === "A") {
8056
8086
  targetRef.current.setAttribute("data-click-region-target-link", "");
8057
8087
  } else if (targetRef.current && targetRef.current.tagName === "BUTTON") {
@@ -8059,7 +8089,7 @@ var ClickRegion = ({ children, targetRef }) => {
8059
8089
  } else {
8060
8090
  }
8061
8091
  }, [targetRef]);
8062
- const handleClick = (0, import_react22.useCallback)(
8092
+ const handleClick = (0, import_react23.useCallback)(
8063
8093
  (event) => {
8064
8094
  const node = targetRef.current;
8065
8095
  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")) {
@@ -8076,7 +8106,7 @@ var ClickRegion = ({ children, targetRef }) => {
8076
8106
  },
8077
8107
  [targetRef]
8078
8108
  );
8079
- return (0, import_react22.cloneElement)(import_react22.Children.only(children), {
8109
+ return (0, import_react23.cloneElement)(import_react23.Children.only(children), {
8080
8110
  "data-click-region": true,
8081
8111
  onClick: handleClick
8082
8112
  });
@@ -8109,11 +8139,11 @@ var Collapsible = ({
8109
8139
  Collapsible.displayName = "Collapsible";
8110
8140
 
8111
8141
  // src/components/Collapsible/CollapsibleTrigger.tsx
8112
- var import_react23 = require("react");
8142
+ var import_react24 = require("react");
8113
8143
  var import_react_collapsible2 = require("@radix-ui/react-collapsible");
8114
8144
  var import_jsx_runtime209 = require("react/jsx-runtime");
8115
8145
  var CollapsibleTrigger = ({ children }) => {
8116
- import_react23.Children.only(children);
8146
+ import_react24.Children.only(children);
8117
8147
  return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(import_react_collapsible2.Trigger, { asChild: true, children });
8118
8148
  };
8119
8149
 
@@ -8140,7 +8170,7 @@ var import_styled_components38 = __toESM(require("styled-components"));
8140
8170
  var import_type_guards26 = require("@wistia/type-guards");
8141
8171
 
8142
8172
  // src/components/Heading/Heading.tsx
8143
- var import_react24 = require("react");
8173
+ var import_react25 = require("react");
8144
8174
  var import_styled_components37 = __toESM(require("styled-components"));
8145
8175
  var import_jsx_runtime211 = require("react/jsx-runtime");
8146
8176
  var heroStyle = import_styled_components37.css`
@@ -8227,7 +8257,7 @@ var variantElementMap = {
8227
8257
  heading5: "h5",
8228
8258
  heading6: "h6"
8229
8259
  };
8230
- var HeadingComponent = (0, import_react24.forwardRef)(
8260
+ var HeadingComponent = (0, import_react25.forwardRef)(
8231
8261
  ({
8232
8262
  align = "left",
8233
8263
  colorScheme = "inherit",
@@ -8391,7 +8421,7 @@ DataCards.displayName = "DataCards";
8391
8421
  var import_styled_components41 = __toESM(require("styled-components"));
8392
8422
 
8393
8423
  // src/components/Text/Text.tsx
8394
- var import_react25 = require("react");
8424
+ var import_react26 = require("react");
8395
8425
  var import_styled_components40 = __toESM(require("styled-components"));
8396
8426
  var import_jsx_runtime214 = require("react/jsx-runtime");
8397
8427
  var bodyBoldStyles = import_styled_components40.css`
@@ -8557,7 +8587,7 @@ var StyledText = import_styled_components40.default.div`
8557
8587
  }
8558
8588
  `}
8559
8589
  `;
8560
- var TextComponent = (0, import_react25.forwardRef)(
8590
+ var TextComponent = (0, import_react26.forwardRef)(
8561
8591
  ({
8562
8592
  align = "left",
8563
8593
  colorScheme = "inherit",
@@ -8673,7 +8703,7 @@ Divider.displayName = "Divider";
8673
8703
 
8674
8704
  // src/components/EditableHeading/EditableHeading.tsx
8675
8705
  var import_styled_components45 = __toESM(require("styled-components"));
8676
- var import_react27 = require("react");
8706
+ var import_react28 = require("react");
8677
8707
 
8678
8708
  // src/components/Tooltip/Tooltip.tsx
8679
8709
  var import_react_tooltip2 = require("@radix-ui/react-tooltip");
@@ -8782,7 +8812,7 @@ var Tooltip = ({
8782
8812
  Tooltip.displayName = "Tooltip";
8783
8813
 
8784
8814
  // src/components/Input/Input.tsx
8785
- var import_react26 = require("react");
8815
+ var import_react27 = require("react");
8786
8816
  var import_styled_components44 = __toESM(require("styled-components"));
8787
8817
  var import_type_guards27 = require("@wistia/type-guards");
8788
8818
  var import_jsx_runtime218 = require("react/jsx-runtime");
@@ -8871,7 +8901,7 @@ var StyledInputContainer = import_styled_components44.default.div`
8871
8901
  padding-right: 32px;
8872
8902
  }
8873
8903
  `;
8874
- var Input = (0, import_react26.forwardRef)(
8904
+ var Input = (0, import_react27.forwardRef)(
8875
8905
  ({
8876
8906
  fullWidth = true,
8877
8907
  monospace = false,
@@ -8881,7 +8911,7 @@ var Input = (0, import_react26.forwardRef)(
8881
8911
  rightIcon,
8882
8912
  ...props
8883
8913
  }, externalRef) => {
8884
- const internalRef = (0, import_react26.useRef)();
8914
+ const internalRef = (0, import_react27.useRef)();
8885
8915
  const ref = (
8886
8916
  // eslint-disable-next-line react-compiler/react-compiler
8887
8917
  (0, import_type_guards27.isNotNil)(externalRef) && (0, import_type_guards27.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
@@ -8891,14 +8921,14 @@ var Input = (0, import_react26.forwardRef)(
8891
8921
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(Icon, { type: "search" });
8892
8922
  }
8893
8923
  if ((0, import_type_guards27.isNotNil)(leftIconToDisplay)) {
8894
- leftIconToDisplay = (0, import_react26.cloneElement)(leftIconToDisplay, {
8924
+ leftIconToDisplay = (0, import_react27.cloneElement)(leftIconToDisplay, {
8895
8925
  size: "md",
8896
8926
  className: "wui-input-left-icon"
8897
8927
  });
8898
8928
  }
8899
8929
  let rightIconToDisplay = rightIcon;
8900
8930
  if ((0, import_type_guards27.isNotNil)(rightIconToDisplay)) {
8901
- rightIconToDisplay = (0, import_react26.cloneElement)(rightIconToDisplay, {
8931
+ rightIconToDisplay = (0, import_react27.cloneElement)(rightIconToDisplay, {
8902
8932
  size: "md",
8903
8933
  className: "wui-input-right-icon"
8904
8934
  });
@@ -8993,11 +9023,11 @@ var EditableHeading = ({
8993
9023
  forceEditing = false,
8994
9024
  editingDisabled = false
8995
9025
  }) => {
8996
- const [isEditing, setIsEditing] = (0, import_react27.useState)(false);
8997
- const [value, setValue] = (0, import_react27.useState)(children);
8998
- const [previousValue, setPreviousValue] = (0, import_react27.useState)(children);
8999
- const [headingHeight, setHeadingHeight] = (0, import_react27.useState)("60");
9000
- const headingRef = (0, import_react27.useRef)(null);
9026
+ const [isEditing, setIsEditing] = (0, import_react28.useState)(false);
9027
+ const [value, setValue] = (0, import_react28.useState)(children);
9028
+ const [previousValue, setPreviousValue] = (0, import_react28.useState)(children);
9029
+ const [headingHeight, setHeadingHeight] = (0, import_react28.useState)("60");
9030
+ const headingRef = (0, import_react28.useRef)(null);
9001
9031
  const handleSetEditing = (editing) => {
9002
9032
  if (editingDisabled) return;
9003
9033
  if (editing && headingRef.current) {
@@ -9083,12 +9113,12 @@ var EditableHeading = ({
9083
9113
  };
9084
9114
 
9085
9115
  // src/components/Form/Form.tsx
9086
- var import_react29 = require("react");
9116
+ var import_react30 = require("react");
9087
9117
  var import_styled_components47 = __toESM(require("styled-components"));
9088
9118
  var import_type_guards28 = require("@wistia/type-guards");
9089
9119
 
9090
9120
  // src/components/Stack/Stack.tsx
9091
- var import_react28 = require("react");
9121
+ var import_react29 = require("react");
9092
9122
  var import_styled_components46 = __toESM(require("styled-components"));
9093
9123
  var import_jsx_runtime220 = require("react/jsx-runtime");
9094
9124
  var DEFAULT_ELEMENT4 = "div";
@@ -9098,7 +9128,7 @@ var StyledStack = import_styled_components46.default.div`
9098
9128
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
9099
9129
  align-items: ${({ $alignItems }) => $alignItems};
9100
9130
  `;
9101
- var StackComponent = (0, import_react28.forwardRef)(
9131
+ var StackComponent = (0, import_react29.forwardRef)(
9102
9132
  ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
9103
9133
  const responsiveGap = useResponsiveProp(gap);
9104
9134
  const responsiveDirection = useResponsiveProp(direction);
@@ -9127,7 +9157,7 @@ var StyledForm = import_styled_components47.default.form`
9127
9157
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
9128
9158
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
9129
9159
  `;
9130
- var FormContext = (0, import_react29.createContext)({
9160
+ var FormContext = (0, import_react30.createContext)({
9131
9161
  values: {},
9132
9162
  errors: {},
9133
9163
  hasSubmitted: false,
@@ -9143,11 +9173,11 @@ var FormComponent = ({
9143
9173
  fullWidth = false,
9144
9174
  ...props
9145
9175
  }, forwardedRef) => {
9146
- const [errors, setErrors] = (0, import_react29.useState)({});
9147
- const [hasSubmitted, setHasSubmitted] = (0, import_react29.useState)(false);
9148
- const innerRef = (0, import_react29.useRef)();
9176
+ const [errors, setErrors] = (0, import_react30.useState)({});
9177
+ const [hasSubmitted, setHasSubmitted] = (0, import_react30.useState)(false);
9178
+ const innerRef = (0, import_react30.useRef)();
9149
9179
  const ref = forwardedRef ?? innerRef;
9150
- const autoId = (0, import_react29.useId)();
9180
+ const autoId = (0, import_react30.useId)();
9151
9181
  const id = props.id ?? autoId;
9152
9182
  const handleValidate = (nextFormData) => {
9153
9183
  const nextData = Object.fromEntries(nextFormData.entries());
@@ -9189,7 +9219,7 @@ var FormComponent = ({
9189
9219
  void action(null);
9190
9220
  }
9191
9221
  };
9192
- const context = (0, import_react29.useMemo)(() => {
9222
+ const context = (0, import_react30.useMemo)(() => {
9193
9223
  return {
9194
9224
  values,
9195
9225
  errors,
@@ -9218,15 +9248,15 @@ var FormComponent = ({
9218
9248
  );
9219
9249
  };
9220
9250
  FormComponent.displayName = "Form";
9221
- var Form = (0, import_react29.forwardRef)(FormComponent);
9251
+ var Form = (0, import_react30.forwardRef)(FormComponent);
9222
9252
 
9223
9253
  // src/components/Form/useFormState.tsx
9224
- var import_react30 = require("react");
9254
+ var import_react31 = require("react");
9225
9255
  var useFormState = (action, initialData = {}) => {
9226
- const [data, setData] = (0, import_react30.useState)(initialData);
9227
- const [isPending, setIsPending] = (0, import_react30.useState)(false);
9228
- const [error, setError] = (0, import_react30.useState)(null);
9229
- const formAction = (0, import_react30.useCallback)(
9256
+ const [data, setData] = (0, import_react31.useState)(initialData);
9257
+ const [isPending, setIsPending] = (0, import_react31.useState)(false);
9258
+ const [error, setError] = (0, import_react31.useState)(null);
9259
+ const formAction = (0, import_react31.useCallback)(
9230
9260
  async (nextFormData) => {
9231
9261
  if (nextFormData === null) {
9232
9262
  setData(initialData);
@@ -9257,15 +9287,15 @@ var useFormState = (action, initialData = {}) => {
9257
9287
  };
9258
9288
 
9259
9289
  // src/components/Form/FormErrorSummary.tsx
9260
- var import_react31 = require("react");
9290
+ var import_react32 = require("react");
9261
9291
  var import_type_guards29 = require("@wistia/type-guards");
9262
9292
  var import_jsx_runtime222 = require("react/jsx-runtime");
9263
9293
  var ErrorItem = ({ name, error, formId }) => {
9264
9294
  return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9265
9295
  };
9266
9296
  var FormErrorSummary = ({ description }) => {
9267
- const ref = (0, import_react31.useRef)(null);
9268
- const { formId, errors, hasSubmitted } = (0, import_react31.useContext)(FormContext);
9297
+ const ref = (0, import_react32.useRef)(null);
9298
+ const { formId, errors, hasSubmitted } = (0, import_react32.useContext)(FormContext);
9269
9299
  const isValid = Object.keys(errors).length === 0;
9270
9300
  if (isValid || !hasSubmitted) {
9271
9301
  return null;
@@ -9295,7 +9325,7 @@ var FormErrorSummary = ({ description }) => {
9295
9325
  };
9296
9326
 
9297
9327
  // src/components/FormField/FormField.tsx
9298
- var import_react34 = require("react");
9328
+ var import_react35 = require("react");
9299
9329
  var import_styled_components50 = __toESM(require("styled-components"));
9300
9330
  var import_type_guards30 = require("@wistia/type-guards");
9301
9331
 
@@ -9360,11 +9390,11 @@ var Label = ({
9360
9390
  Label.displayName = "Label";
9361
9391
 
9362
9392
  // src/components/FormGroup/CheckboxGroup.tsx
9363
- var import_react33 = require("react");
9393
+ var import_react34 = require("react");
9364
9394
 
9365
9395
  // src/components/FormGroup/FormGroup.tsx
9366
9396
  var import_styled_components49 = __toESM(require("styled-components"));
9367
- var import_react32 = require("react");
9397
+ var import_react33 = require("react");
9368
9398
  var import_jsx_runtime224 = require("react/jsx-runtime");
9369
9399
  var StyledFieldset = import_styled_components49.default.fieldset`
9370
9400
  border: 0;
@@ -9373,7 +9403,7 @@ var StyledLegend = import_styled_components49.default.legend`
9373
9403
  margin-bottom: var(--space-01);
9374
9404
  `;
9375
9405
  var FormGroup = ({ children, label, ...props }) => {
9376
- const ref = (0, import_react32.useRef)();
9406
+ const ref = (0, import_react33.useRef)();
9377
9407
  return /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)(
9378
9408
  Stack,
9379
9409
  {
@@ -9398,7 +9428,7 @@ FormGroup.displayName = "FormGroup";
9398
9428
 
9399
9429
  // src/components/FormGroup/CheckboxGroup.tsx
9400
9430
  var import_jsx_runtime225 = require("react/jsx-runtime");
9401
- var CheckboxGroupContext = (0, import_react33.createContext)(null);
9431
+ var CheckboxGroupContext = (0, import_react34.createContext)(null);
9402
9432
  var CheckboxGroup = ({
9403
9433
  children,
9404
9434
  name,
@@ -9406,7 +9436,7 @@ var CheckboxGroup = ({
9406
9436
  value,
9407
9437
  ...props
9408
9438
  }) => {
9409
- const context = (0, import_react33.useMemo)(() => {
9439
+ const context = (0, import_react34.useMemo)(() => {
9410
9440
  return {
9411
9441
  name,
9412
9442
  onChange
@@ -9491,8 +9521,8 @@ var FormField = ({
9491
9521
  value,
9492
9522
  ...props
9493
9523
  }) => {
9494
- const formState = (0, import_react34.useContext)(FormContext);
9495
- const checkboxGroup = (0, import_react34.useContext)(CheckboxGroupContext);
9524
+ const formState = (0, import_react35.useContext)(FormContext);
9525
+ const checkboxGroup = (0, import_react35.useContext)(CheckboxGroupContext);
9496
9526
  const defaultValue = formState.values[name];
9497
9527
  const isIntegratedLabel = children.type === Checkbox;
9498
9528
  const computedId = id ?? `${formState.formId}-${name}`;
@@ -9530,7 +9560,7 @@ var FormField = ({
9530
9560
  "aria-invalid": (0, import_type_guards30.isNotNil)(error)
9531
9561
  };
9532
9562
  }
9533
- import_react34.Children.only(children);
9563
+ import_react35.Children.only(children);
9534
9564
  return /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(
9535
9565
  StyledFormField,
9536
9566
  {
@@ -9539,7 +9569,7 @@ var FormField = ({
9539
9569
  children: [
9540
9570
  !isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(Label, { htmlFor: computedId, children: label }),
9541
9571
  (0, import_type_guards30.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
9542
- (0, import_react34.cloneElement)(children, childProps),
9572
+ (0, import_react35.cloneElement)(children, childProps),
9543
9573
  (0, import_type_guards30.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(import_jsx_runtime226.Fragment, { children: [
9544
9574
  /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", {}),
9545
9575
  /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
@@ -9557,9 +9587,9 @@ var FormField = ({
9557
9587
  FormField.displayName = "FormField";
9558
9588
 
9559
9589
  // src/components/FormGroup/RadioGroup.tsx
9560
- var import_react35 = require("react");
9590
+ var import_react36 = require("react");
9561
9591
  var import_jsx_runtime227 = require("react/jsx-runtime");
9562
- var RadioGroupContext = (0, import_react35.createContext)(null);
9592
+ var RadioGroupContext = (0, import_react36.createContext)(null);
9563
9593
  var RadioGroup = ({
9564
9594
  children,
9565
9595
  name,
@@ -9567,7 +9597,7 @@ var RadioGroup = ({
9567
9597
  value,
9568
9598
  ...props
9569
9599
  }) => {
9570
- const context = (0, import_react35.useMemo)(() => {
9600
+ const context = (0, import_react36.useMemo)(() => {
9571
9601
  return {
9572
9602
  name,
9573
9603
  onChange
@@ -9578,7 +9608,7 @@ var RadioGroup = ({
9578
9608
  RadioGroup.displayName = "RadioGroup";
9579
9609
 
9580
9610
  // src/components/IconButton/IconButton.tsx
9581
- var import_react36 = require("react");
9611
+ var import_react37 = require("react");
9582
9612
  var import_styled_components51 = __toESM(require("styled-components"));
9583
9613
  var import_jsx_runtime228 = require("react/jsx-runtime");
9584
9614
  var StyledButton2 = (0, import_styled_components51.default)(Button)`
@@ -9595,7 +9625,7 @@ var StyledButton2 = (0, import_styled_components51.default)(Button)`
9595
9625
  align-items: center;
9596
9626
  line-height: 1;
9597
9627
  `;
9598
- var IconButton = (0, import_react36.forwardRef)(
9628
+ var IconButton = (0, import_react37.forwardRef)(
9599
9629
  ({ children, label, size = "md", ...props }, ref) => {
9600
9630
  const responsiveSize = useResponsiveProp(size);
9601
9631
  return /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(
@@ -9606,7 +9636,7 @@ var IconButton = (0, import_react36.forwardRef)(
9606
9636
  "aria-label": label,
9607
9637
  "data-wistia-ui-icon-button": true,
9608
9638
  size: responsiveSize,
9609
- children: (0, import_react36.cloneElement)(import_react36.Children.only(children), {
9639
+ children: (0, import_react37.cloneElement)(import_react37.Children.only(children), {
9610
9640
  size: responsiveSize
9611
9641
  })
9612
9642
  }
@@ -9668,12 +9698,12 @@ Image.displayName = "Image";
9668
9698
  var import_styled_components53 = __toESM(require("styled-components"));
9669
9699
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
9670
9700
  var import_type_guards32 = require("@wistia/type-guards");
9671
- var import_react38 = require("react");
9701
+ var import_react39 = require("react");
9672
9702
 
9673
9703
  // src/components/Menu/MenuContext.tsx
9674
- var import_react37 = require("react");
9675
- var MenuContext = (0, import_react37.createContext)({ compact: false });
9676
- var useMenuContext = () => (0, import_react37.useContext)(MenuContext);
9704
+ var import_react38 = require("react");
9705
+ var MenuContext = (0, import_react38.createContext)({ compact: false });
9706
+ var useMenuContext = () => (0, import_react38.useContext)(MenuContext);
9677
9707
 
9678
9708
  // src/components/Menu/Menu.tsx
9679
9709
  var import_jsx_runtime230 = require("react/jsx-runtime");
@@ -9777,7 +9807,7 @@ var Menu = ({
9777
9807
  onInteractOutside,
9778
9808
  ...props
9779
9809
  }) => {
9780
- const contextValue = (0, import_react38.useMemo)(() => ({ compact }), [compact]);
9810
+ const contextValue = (0, import_react39.useMemo)(() => ({ compact }), [compact]);
9781
9811
  let controlProps = {
9782
9812
  ...(0, import_type_guards32.isNotNil)(onOpenChange) && (0, import_type_guards32.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
9783
9813
  };
@@ -9851,13 +9881,13 @@ var MenuLabel = ({ children, ...props }) => {
9851
9881
  MenuLabel.displayName = "MenuLabel";
9852
9882
 
9853
9883
  // src/components/Menu/SubMenu.tsx
9854
- var import_react40 = require("react");
9884
+ var import_react41 = require("react");
9855
9885
  var import_styled_components57 = __toESM(require("styled-components"));
9856
9886
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
9857
9887
  var import_type_guards34 = require("@wistia/type-guards");
9858
9888
 
9859
9889
  // src/components/Menu/MenuItemButton.tsx
9860
- var import_react39 = require("react");
9890
+ var import_react40 = require("react");
9861
9891
  var import_styled_components55 = __toESM(require("styled-components"));
9862
9892
  var import_type_guards33 = require("@wistia/type-guards");
9863
9893
  var import_jsx_runtime232 = require("react/jsx-runtime");
@@ -9934,7 +9964,7 @@ var StyledBadgeContainer = import_styled_components55.default.div`
9934
9964
  font-size: var(--wui-typography-label-4-size);
9935
9965
  color: var(--wui-color-text-secondary);
9936
9966
  `;
9937
- var MenuItemButton = (0, import_react39.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9967
+ var MenuItemButton = (0, import_react40.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9938
9968
  let { colorScheme, badge } = props;
9939
9969
  if (appearance === "dangerous") {
9940
9970
  if ((0, import_type_guards33.isNotUndefined)(colorScheme)) {
@@ -10030,7 +10060,7 @@ var SubMenu = ({
10030
10060
  ...props
10031
10061
  }) => {
10032
10062
  const { isSmAndUp } = useMq();
10033
- const [isExpanded, setIsExpanded] = (0, import_react40.useState)(false);
10063
+ const [isExpanded, setIsExpanded] = (0, import_react41.useState)(false);
10034
10064
  const { compact } = useMenuContext();
10035
10065
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
10036
10066
  /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(SubMenuTrigger, { ...props, children: [
@@ -10059,10 +10089,10 @@ var SubMenu = ({
10059
10089
  SubMenu.displayName = "SubMenu";
10060
10090
 
10061
10091
  // src/components/Menu/MenuItem.tsx
10062
- var import_react41 = require("react");
10092
+ var import_react42 = require("react");
10063
10093
  var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
10064
10094
  var import_jsx_runtime235 = require("react/jsx-runtime");
10065
- var MenuItem = (0, import_react41.forwardRef)(
10095
+ var MenuItem = (0, import_react42.forwardRef)(
10066
10096
  ({ onSelect = () => null, ...props }, ref) => {
10067
10097
  return /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(
10068
10098
  import_react_dropdown_menu4.DropdownMenuItem,
@@ -10212,7 +10242,7 @@ var CheckboxMenuItem = ({
10212
10242
  CheckboxMenuItem.displayName = "CheckboxMenuItem";
10213
10243
 
10214
10244
  // src/components/Modal/Modal.tsx
10215
- var import_react45 = require("react");
10245
+ var import_react46 = require("react");
10216
10246
  var import_styled_components62 = __toESM(require("styled-components"));
10217
10247
  var import_react_dialog4 = require("@radix-ui/react-dialog");
10218
10248
  var import_type_guards36 = require("@wistia/type-guards");
@@ -10272,19 +10302,19 @@ var ModalHeader = ({
10272
10302
  };
10273
10303
 
10274
10304
  // src/components/Modal/ModalContent.tsx
10275
- var import_react43 = require("react");
10305
+ var import_react44 = require("react");
10276
10306
  var import_styled_components60 = __toESM(require("styled-components"));
10277
10307
  var import_react_dialog3 = require("@radix-ui/react-dialog");
10278
10308
 
10279
10309
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
10280
- var import_react42 = require("react");
10310
+ var import_react43 = require("react");
10281
10311
  var import_type_guards35 = require("@wistia/type-guards");
10282
10312
  var useFocusRestore = () => {
10283
- const previouslyFocusedRef = (0, import_react42.useRef)(null);
10284
- (0, import_react42.useEffect)(() => {
10313
+ const previouslyFocusedRef = (0, import_react43.useRef)(null);
10314
+ (0, import_react43.useEffect)(() => {
10285
10315
  previouslyFocusedRef.current = document.activeElement;
10286
10316
  }, []);
10287
- (0, import_react42.useEffect)(() => {
10317
+ (0, import_react43.useEffect)(() => {
10288
10318
  return () => {
10289
10319
  if ((0, import_type_guards35.isNotNil)(previouslyFocusedRef.current)) {
10290
10320
  setTimeout(() => {
@@ -10338,7 +10368,7 @@ var StyledModalContent = (0, import_styled_components60.default)(import_react_di
10338
10368
  }
10339
10369
  }
10340
10370
  `;
10341
- var ModalContent = (0, import_react43.forwardRef)(
10371
+ var ModalContent = (0, import_react44.forwardRef)(
10342
10372
  ({ fullHeight, width, children, ...otherProps }, ref) => {
10343
10373
  useFocusRestore();
10344
10374
  return /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(
@@ -10356,7 +10386,7 @@ var ModalContent = (0, import_react43.forwardRef)(
10356
10386
  );
10357
10387
 
10358
10388
  // src/private/components/Backdrop/Backdrop.tsx
10359
- var import_react44 = require("react");
10389
+ var import_react45 = require("react");
10360
10390
  var import_styled_components61 = __toESM(require("styled-components"));
10361
10391
  var import_jsx_runtime242 = require("react/jsx-runtime");
10362
10392
  var backdropAnimationDuration = 150;
@@ -10394,7 +10424,7 @@ var BackdropComponent = import_styled_components61.default.div`
10394
10424
  }
10395
10425
  }
10396
10426
  `;
10397
- var Backdrop = (0, import_react44.forwardRef)(
10427
+ var Backdrop = (0, import_react45.forwardRef)(
10398
10428
  ({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
10399
10429
  BackdropComponent,
10400
10430
  {
@@ -10416,7 +10446,7 @@ var ModalBody = import_styled_components62.default.div`
10416
10446
  display: flex;
10417
10447
  order: 2;
10418
10448
  `;
10419
- var Modal = (0, import_react45.forwardRef)(
10449
+ var Modal = (0, import_react46.forwardRef)(
10420
10450
  ({
10421
10451
  children,
10422
10452
  fullHeight = false,
@@ -10618,7 +10648,7 @@ var ProgressBar = ({
10618
10648
  ProgressBar.displayName = "ProgressBar";
10619
10649
 
10620
10650
  // src/components/Radio/Radio.tsx
10621
- var import_react46 = require("react");
10651
+ var import_react47 = require("react");
10622
10652
  var import_styled_components65 = __toESM(require("styled-components"));
10623
10653
  var import_type_guards39 = require("@wistia/type-guards");
10624
10654
  var import_jsx_runtime246 = require("react/jsx-runtime");
@@ -10721,7 +10751,7 @@ var StyledHiddenRadioInput = import_styled_components65.default.input`
10721
10751
  display: block;
10722
10752
  }
10723
10753
  `;
10724
- var Radio = (0, import_react46.forwardRef)(
10754
+ var Radio = (0, import_react47.forwardRef)(
10725
10755
  ({
10726
10756
  checked,
10727
10757
  disabled = false,
@@ -10736,7 +10766,7 @@ var Radio = (0, import_react46.forwardRef)(
10736
10766
  hideLabel = false,
10737
10767
  ...props
10738
10768
  }, ref) => {
10739
- const generatedId = (0, import_react46.useId)();
10769
+ const generatedId = (0, import_react47.useId)();
10740
10770
  const computedId = (0, import_type_guards39.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
10741
10771
  return /* @__PURE__ */ (0, import_jsx_runtime246.jsxs)(
10742
10772
  StyledRadioWrapper,
@@ -10786,22 +10816,22 @@ var Radio = (0, import_react46.forwardRef)(
10786
10816
  Radio.displayName = "Radio";
10787
10817
 
10788
10818
  // src/components/SegmentedControl/SegmentedControl.tsx
10789
- var import_react50 = require("react");
10819
+ var import_react51 = require("react");
10790
10820
  var import_styled_components67 = __toESM(require("styled-components"));
10791
10821
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
10792
10822
  var import_type_guards40 = require("@wistia/type-guards");
10793
10823
 
10794
10824
  // src/components/SegmentedControl/useSelectedItemMeasurements.tsx
10795
- var import_react47 = require("react");
10825
+ var import_react48 = require("react");
10796
10826
  var import_jsx_runtime247 = require("react/jsx-runtime");
10797
- var SelectedItemMeasurementsContext = (0, import_react47.createContext)(
10827
+ var SelectedItemMeasurementsContext = (0, import_react48.createContext)(
10798
10828
  null
10799
10829
  );
10800
10830
  var SelectedItemMeasurementsProvider = ({
10801
10831
  children
10802
10832
  }) => {
10803
- const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react47.useState)(null);
10804
- const contextValue = (0, import_react47.useMemo)(
10833
+ const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react48.useState)(null);
10834
+ const contextValue = (0, import_react48.useMemo)(
10805
10835
  () => ({
10806
10836
  setSelectedItemMeasurements,
10807
10837
  selectedItemMeasurements
@@ -10811,7 +10841,7 @@ var SelectedItemMeasurementsProvider = ({
10811
10841
  return /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
10812
10842
  };
10813
10843
  var useSelectedItemMeasurements = () => {
10814
- const context = (0, import_react47.useContext)(SelectedItemMeasurementsContext);
10844
+ const context = (0, import_react48.useContext)(SelectedItemMeasurementsContext);
10815
10845
  if (context === null) {
10816
10846
  throw new Error(
10817
10847
  "useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
@@ -10821,15 +10851,15 @@ var useSelectedItemMeasurements = () => {
10821
10851
  };
10822
10852
 
10823
10853
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
10824
- var import_react49 = require("react");
10854
+ var import_react50 = require("react");
10825
10855
  var import_styled_components66 = __toESM(require("styled-components"));
10826
10856
 
10827
10857
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
10828
- var import_react48 = require("react");
10829
- var SegmentedControlValueContext = (0, import_react48.createContext)(null);
10858
+ var import_react49 = require("react");
10859
+ var SegmentedControlValueContext = (0, import_react49.createContext)(null);
10830
10860
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
10831
10861
  var useSegmentedControlValue = () => {
10832
- const context = (0, import_react48.useContext)(SegmentedControlValueContext);
10862
+ const context = (0, import_react49.useContext)(SegmentedControlValueContext);
10833
10863
  if (context === null) {
10834
10864
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
10835
10865
  }
@@ -10853,7 +10883,7 @@ var SelectedItemIndicatorDiv = import_styled_components66.default.div`
10853
10883
  var SelectedItemIndicator = () => {
10854
10884
  const selectedValue = useSegmentedControlValue();
10855
10885
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
10856
- const selectedItemIndicatorStyle = (0, import_react49.useMemo)(
10886
+ const selectedItemIndicatorStyle = (0, import_react50.useMemo)(
10857
10887
  () => selectedItemMeasurements != null ? {
10858
10888
  height: `${selectedItemMeasurements.offsetHeight}px`,
10859
10889
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -10891,7 +10921,7 @@ var segmentedControlStyles = import_styled_components67.css`
10891
10921
  var StyledSegmentedControl = (0, import_styled_components67.default)(import_react_toggle_group.Root)`
10892
10922
  ${segmentedControlStyles}
10893
10923
  `;
10894
- var SegmentedControl = (0, import_react50.forwardRef)(
10924
+ var SegmentedControl = (0, import_react51.forwardRef)(
10895
10925
  ({
10896
10926
  children,
10897
10927
  disabled = false,
@@ -10926,7 +10956,7 @@ var SegmentedControl = (0, import_react50.forwardRef)(
10926
10956
  SegmentedControl.displayName = "SegmentedControl";
10927
10957
 
10928
10958
  // src/components/SegmentedControl/SegmentedControlItem.tsx
10929
- var import_react51 = require("react");
10959
+ var import_react52 = require("react");
10930
10960
  var import_styled_components68 = __toESM(require("styled-components"));
10931
10961
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
10932
10962
  var import_type_guards41 = require("@wistia/type-guards");
@@ -10993,11 +11023,11 @@ var segmentedControlItemStyles = import_styled_components68.css`
10993
11023
  var StyledSegmentedControlItem = (0, import_styled_components68.default)(import_react_toggle_group2.Item)`
10994
11024
  ${segmentedControlItemStyles}
10995
11025
  `;
10996
- var SegmentedControlItem = (0, import_react51.forwardRef)(
11026
+ var SegmentedControlItem = (0, import_react52.forwardRef)(
10997
11027
  ({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
10998
11028
  const selectedValue = useSegmentedControlValue();
10999
11029
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11000
- const buttonRef = (0, import_react51.useRef)(null);
11030
+ const buttonRef = (0, import_react52.useRef)(null);
11001
11031
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11002
11032
  const handleClick = (event) => {
11003
11033
  const target = event.target;
@@ -11006,7 +11036,7 @@ var SegmentedControlItem = (0, import_react51.forwardRef)(
11006
11036
  event.preventDefault();
11007
11037
  }
11008
11038
  };
11009
- (0, import_react51.useEffect)(() => {
11039
+ (0, import_react52.useEffect)(() => {
11010
11040
  const buttonElem = buttonRef.current;
11011
11041
  if (!buttonElem) {
11012
11042
  return void 0;
@@ -11052,7 +11082,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
11052
11082
 
11053
11083
  // src/components/Select/Select.tsx
11054
11084
  var import_react_select = require("@radix-ui/react-select");
11055
- var import_react52 = require("react");
11085
+ var import_react53 = require("react");
11056
11086
  var import_styled_components69 = __toESM(require("styled-components"));
11057
11087
  var import_jsx_runtime251 = require("react/jsx-runtime");
11058
11088
  var StyledTrigger = (0, import_styled_components69.default)(import_react_select.Trigger)`
@@ -11121,7 +11151,7 @@ var StyledContent3 = (0, import_styled_components69.default)(import_react_select
11121
11151
  max-height: var(--radix-select-content-available-height);
11122
11152
  z-index: var(--wui-zindex-select);
11123
11153
  `;
11124
- var Select = (0, import_react52.forwardRef)(
11154
+ var Select = (0, import_react53.forwardRef)(
11125
11155
  ({
11126
11156
  colorScheme = "inherit",
11127
11157
  children,
@@ -11170,7 +11200,7 @@ Select.displayName = "Select";
11170
11200
 
11171
11201
  // src/components/Select/SelectOption.tsx
11172
11202
  var import_react_select2 = require("@radix-ui/react-select");
11173
- var import_react53 = require("react");
11203
+ var import_react54 = require("react");
11174
11204
  var import_styled_components70 = __toESM(require("styled-components"));
11175
11205
  var import_jsx_runtime252 = require("react/jsx-runtime");
11176
11206
  var StyledItem = (0, import_styled_components70.default)(import_react_select2.Item)`
@@ -11199,7 +11229,7 @@ var StyledItem = (0, import_styled_components70.default)(import_react_select2.It
11199
11229
  var StyledIconContainer = import_styled_components70.default.span`
11200
11230
  width: 12px;
11201
11231
  `;
11202
- var SelectOption = (0, import_react53.forwardRef)(
11232
+ var SelectOption = (0, import_react54.forwardRef)(
11203
11233
  ({ children, ...props }, forwardedRef) => {
11204
11234
  return /* @__PURE__ */ (0, import_jsx_runtime252.jsxs)(
11205
11235
  StyledItem,
@@ -11244,7 +11274,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
11244
11274
  };
11245
11275
 
11246
11276
  // src/components/Switch/Switch.tsx
11247
- var import_react54 = require("react");
11277
+ var import_react55 = require("react");
11248
11278
  var import_styled_components72 = __toESM(require("styled-components"));
11249
11279
  var import_type_guards42 = require("@wistia/type-guards");
11250
11280
  var import_jsx_runtime254 = require("react/jsx-runtime");
@@ -11349,7 +11379,7 @@ var StyledHiddenSwitchInput = import_styled_components72.default.input`
11349
11379
  }
11350
11380
  }
11351
11381
  `;
11352
- var Switch = (0, import_react54.forwardRef)(
11382
+ var Switch = (0, import_react55.forwardRef)(
11353
11383
  ({
11354
11384
  checked,
11355
11385
  disabled = false,
@@ -11364,7 +11394,7 @@ var Switch = (0, import_react54.forwardRef)(
11364
11394
  hideLabel = false,
11365
11395
  ...props
11366
11396
  }, ref) => {
11367
- const generatedId = (0, import_react54.useId)();
11397
+ const generatedId = (0, import_react55.useId)();
11368
11398
  const computedId = (0, import_type_guards42.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
11369
11399
  return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
11370
11400
  /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
@@ -11446,8 +11476,8 @@ var Table = ({
11446
11476
  var import_styled_components74 = __toESM(require("styled-components"));
11447
11477
 
11448
11478
  // src/components/Table/TableSectionContext.ts
11449
- var import_react55 = require("react");
11450
- var TableSectionContext = (0, import_react55.createContext)(null);
11479
+ var import_react56 = require("react");
11480
+ var TableSectionContext = (0, import_react56.createContext)(null);
11451
11481
 
11452
11482
  // src/components/Table/TableBody.tsx
11453
11483
  var import_jsx_runtime256 = require("react/jsx-runtime");
@@ -11457,7 +11487,7 @@ var TableBody = ({ children, ...props }) => {
11457
11487
  };
11458
11488
 
11459
11489
  // src/components/Table/TableCell.tsx
11460
- var import_react56 = require("react");
11490
+ var import_react57 = require("react");
11461
11491
  var import_styled_components75 = __toESM(require("styled-components"));
11462
11492
  var import_jsx_runtime257 = require("react/jsx-runtime");
11463
11493
  var sharedStyles = import_styled_components75.css`
@@ -11478,7 +11508,7 @@ var StyledTd = import_styled_components75.default.td`
11478
11508
  line-height: var(--wui-typography-body-2-line-height);
11479
11509
  `;
11480
11510
  var TableCell = ({ children, ...props }) => {
11481
- const section = (0, import_react56.useContext)(TableSectionContext);
11511
+ const section = (0, import_react57.useContext)(TableSectionContext);
11482
11512
  if (section === "head") {
11483
11513
  return /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(StyledTh, { ...props, children });
11484
11514
  }
@@ -11510,7 +11540,7 @@ var TableRow = ({ children, ...props }) => {
11510
11540
  };
11511
11541
 
11512
11542
  // src/components/Tabs/Tabs.tsx
11513
- var import_react61 = require("react");
11543
+ var import_react62 = require("react");
11514
11544
  var import_react_tabs4 = require("@radix-ui/react-tabs");
11515
11545
  var import_type_guards44 = require("@wistia/type-guards");
11516
11546
  var import_styled_components83 = __toESM(require("styled-components"));
@@ -11565,17 +11595,17 @@ var TabList = ({
11565
11595
  TabList.displayName = "TabList";
11566
11596
 
11567
11597
  // src/components/Tabs/TabItem.tsx
11568
- var import_react58 = require("react");
11598
+ var import_react59 = require("react");
11569
11599
  var import_styled_components81 = __toESM(require("styled-components"));
11570
11600
  var import_react_tabs3 = require("@radix-ui/react-tabs");
11571
11601
  var import_type_guards43 = require("@wistia/type-guards");
11572
11602
 
11573
11603
  // src/components/Tabs/useTabsValue.tsx
11574
- var import_react57 = require("react");
11575
- var TabsValueContext = (0, import_react57.createContext)(null);
11604
+ var import_react58 = require("react");
11605
+ var TabsValueContext = (0, import_react58.createContext)(null);
11576
11606
  var TabsValueProvider = TabsValueContext.Provider;
11577
11607
  var useTabsValue = () => {
11578
- const context = (0, import_react57.useContext)(TabsValueContext);
11608
+ const context = (0, import_react58.useContext)(TabsValueContext);
11579
11609
  if (context === null) {
11580
11610
  throw new Error("useTabsValue must be used within a TabsValueProvider");
11581
11611
  }
@@ -11591,13 +11621,13 @@ var StyledTabItem = (0, import_styled_components81.default)(import_react_tabs3.T
11591
11621
  outline: none;
11592
11622
  }
11593
11623
  `;
11594
- var TabItem = (0, import_react58.forwardRef)(
11624
+ var TabItem = (0, import_react59.forwardRef)(
11595
11625
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11596
11626
  const selectedValue = useTabsValue();
11597
11627
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11598
- const buttonRef = (0, import_react58.useRef)(null);
11628
+ const buttonRef = (0, import_react59.useRef)(null);
11599
11629
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11600
- (0, import_react58.useEffect)(() => {
11630
+ (0, import_react59.useEffect)(() => {
11601
11631
  const buttonElem = buttonRef.current;
11602
11632
  if (!buttonElem) {
11603
11633
  return void 0;
@@ -11641,16 +11671,16 @@ var TabItem = (0, import_react58.forwardRef)(
11641
11671
  TabItem.displayName = "TabItem";
11642
11672
 
11643
11673
  // src/components/Tabs/extractTabItems.ts
11644
- var import_react59 = require("react");
11674
+ var import_react60 = require("react");
11645
11675
  var extractTabItems = (children) => {
11646
11676
  const tabItems = [];
11647
- import_react59.Children.forEach(children, (child) => {
11648
- if (!(0, import_react59.isValidElement)(child)) {
11677
+ import_react60.Children.forEach(children, (child) => {
11678
+ if (!(0, import_react60.isValidElement)(child)) {
11649
11679
  return;
11650
11680
  }
11651
11681
  if (typeof child.type !== "string" && child.type.displayName === "Tab") {
11652
11682
  tabItems.push(child);
11653
- } else if (child.type === import_react59.Fragment) {
11683
+ } else if (child.type === import_react60.Fragment) {
11654
11684
  const fragmentElement = child;
11655
11685
  tabItems.push(...extractTabItems(fragmentElement.props.children));
11656
11686
  } else if ((child.props.children ?? null) != null) {
@@ -11663,7 +11693,7 @@ var extractTabItems = (children) => {
11663
11693
  };
11664
11694
 
11665
11695
  // src/components/Tabs/SelectedItemIndicator.tsx
11666
- var import_react60 = require("react");
11696
+ var import_react61 = require("react");
11667
11697
  var import_styled_components82 = __toESM(require("styled-components"));
11668
11698
  var import_jsx_runtime264 = require("react/jsx-runtime");
11669
11699
  var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(SelectedItemIndicatorDiv)`
@@ -11674,7 +11704,7 @@ var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(Selec
11674
11704
  var SelectedItemIndicator2 = () => {
11675
11705
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
11676
11706
  const selectedValue = useTabsValue();
11677
- const selectedItemIndicatorStyle = (0, import_react60.useMemo)(
11707
+ const selectedItemIndicatorStyle = (0, import_react61.useMemo)(
11678
11708
  () => selectedItemMeasurements != null ? {
11679
11709
  height: `${selectedItemMeasurements.offsetHeight}px`,
11680
11710
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -11715,7 +11745,7 @@ var StyledTabsRoot = (0, import_styled_components83.default)(import_react_tabs4.
11715
11745
  flex-direction: column;
11716
11746
  height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
11717
11747
  `;
11718
- var Tabs = (0, import_react61.forwardRef)(
11748
+ var Tabs = (0, import_react62.forwardRef)(
11719
11749
  ({
11720
11750
  children,
11721
11751
  fullWidth = true,
@@ -11727,7 +11757,7 @@ var Tabs = (0, import_react61.forwardRef)(
11727
11757
  ...otherProps
11728
11758
  }, ref) => {
11729
11759
  const tabItems = extractTabItems(children);
11730
- const [internalSelectedValue, setInternalSelectedValue] = (0, import_react61.useState)(defaultSelectedValue);
11760
+ const [internalSelectedValue, setInternalSelectedValue] = (0, import_react62.useState)(defaultSelectedValue);
11731
11761
  const modeProps = defaultSelectedValue !== void 0 ? {
11732
11762
  defaultValue: defaultSelectedValue,
11733
11763
  onValueChange: setInternalSelectedValue
@@ -11813,15 +11843,15 @@ var Tabs = (0, import_react61.forwardRef)(
11813
11843
  Tabs.displayName = "Tabs";
11814
11844
 
11815
11845
  // src/components/Tabs/Tab.tsx
11816
- var import_react62 = require("react");
11846
+ var import_react63 = require("react");
11817
11847
  var import_jsx_runtime266 = require("react/jsx-runtime");
11818
- var Tab = (0, import_react62.forwardRef)(({ children }, ref) => {
11848
+ var Tab = (0, import_react63.forwardRef)(({ children }, ref) => {
11819
11849
  return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { ref, children });
11820
11850
  });
11821
11851
  Tab.displayName = "Tab";
11822
11852
 
11823
11853
  // src/components/Tag/Tag.tsx
11824
- var import_react63 = require("react");
11854
+ var import_react64 = require("react");
11825
11855
  var import_styled_components84 = __toESM(require("styled-components"));
11826
11856
  var import_type_guards45 = require("@wistia/type-guards");
11827
11857
  var import_jsx_runtime267 = require("react/jsx-runtime");
@@ -11938,7 +11968,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
11938
11968
  )
11939
11969
  ] });
11940
11970
  };
11941
- var Tag = (0, import_react63.forwardRef)(
11971
+ var Tag = (0, import_react64.forwardRef)(
11942
11972
  ({
11943
11973
  onClickRemove,
11944
11974
  colorScheme = "inherit",
@@ -12201,6 +12231,7 @@ WistiaLogo.displayName = "WistiaLogo";
12201
12231
  useLocalStorage,
12202
12232
  useLockBodyScroll,
12203
12233
  useMq,
12234
+ useOnClickOutside,
12204
12235
  useToast,
12205
12236
  useWindowSize
12206
12237
  });