@wistia/ui 0.6.25 → 0.6.26-beta.635946c7.0a954ad

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.25
3
+ * @license @wistia/ui v0.6.26-beta.635946c7.0a954ad
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -126,6 +126,7 @@ __export(index_exports, {
126
126
  useFormState: () => useFormState,
127
127
  useImperativeFilePicker: () => import_use_file_picker.useImperativeFilePicker,
128
128
  useKey: () => useKey,
129
+ useLocalStorage: () => useLocalStorage,
129
130
  useMq: () => useMq,
130
131
  useToast: () => useToast,
131
132
  useWindowSize: () => useWindowSize
@@ -2151,11 +2152,39 @@ var useKey = (key, eventHandler, { eventName = "keydown", eventTarget, eventOpti
2151
2152
  useEvent(eventName, memoizedEventHandler, eventTarget, eventOptions);
2152
2153
  };
2153
2154
 
2155
+ // src/hooks/useLocalStorage/useLocalStorage.ts
2156
+ var import_react7 = require("react");
2157
+ var useLocalStorage = (key, initialValue, storage = window.localStorage) => {
2158
+ const [storedValue, setStoredValue] = (0, import_react7.useState)(() => {
2159
+ try {
2160
+ const item = storage.getItem(key);
2161
+ return item !== null && !!item ? JSON.parse(item) : initialValue;
2162
+ } catch (error) {
2163
+ console.log(error);
2164
+ return initialValue;
2165
+ }
2166
+ });
2167
+ const setValue = (value) => {
2168
+ try {
2169
+ const valueToStore = value instanceof Function ? value(storedValue) : value;
2170
+ setStoredValue(valueToStore);
2171
+ storage.setItem(key, JSON.stringify(valueToStore));
2172
+ } catch (error) {
2173
+ console.error(error);
2174
+ }
2175
+ };
2176
+ const removeValue = () => {
2177
+ storage.removeItem(key);
2178
+ setStoredValue(void 0);
2179
+ };
2180
+ return [storedValue, setValue, removeValue];
2181
+ };
2182
+
2154
2183
  // src/hooks/useMq/useMq.ts
2155
2184
  var import_type_guards7 = require("@wistia/type-guards");
2156
2185
 
2157
2186
  // src/hooks/useWindowSize/useWindowSize.ts
2158
- var import_react7 = require("react");
2187
+ var import_react8 = require("react");
2159
2188
  var import_throttle_debounce = require("throttle-debounce");
2160
2189
 
2161
2190
  // src/private/helpers/isClient/isClient.ts
@@ -2163,11 +2192,11 @@ var isClient = () => typeof window !== "undefined" && typeof document !== "undef
2163
2192
 
2164
2193
  // src/hooks/useWindowSize/useWindowSize.ts
2165
2194
  var useWindowSize = (interval = 0) => {
2166
- const [dimensions, setDimensions] = (0, import_react7.useState)({
2195
+ const [dimensions, setDimensions] = (0, import_react8.useState)({
2167
2196
  width: isClient() ? window.innerWidth : 0,
2168
2197
  height: isClient() ? window.innerHeight : 0
2169
2198
  });
2170
- (0, import_react7.useLayoutEffect)(() => {
2199
+ (0, import_react8.useLayoutEffect)(() => {
2171
2200
  const handleResize = (0, import_throttle_debounce.debounce)(
2172
2201
  interval,
2173
2202
  () => setDimensions({
@@ -2219,11 +2248,11 @@ var useActiveMq = () => {
2219
2248
  };
2220
2249
 
2221
2250
  // src/hooks/useToast/useToast.tsx
2222
- var import_react9 = require("react");
2251
+ var import_react10 = require("react");
2223
2252
  var import_sonner2 = require("sonner");
2224
2253
 
2225
2254
  // src/private/components/Toast/Toast.tsx
2226
- var import_react8 = require("react");
2255
+ var import_react9 = require("react");
2227
2256
  var import_styled_components16 = __toESM(require("styled-components"));
2228
2257
  var import_type_guards9 = require("@wistia/type-guards");
2229
2258
 
@@ -2453,8 +2482,8 @@ var StyledToast = import_styled_components16.default.div`
2453
2482
  }
2454
2483
  `;
2455
2484
  var Action = ({ actionButton }) => {
2456
- if ((0, import_type_guards9.isNotNil)(actionButton) && (0, import_react8.isValidElement)(actionButton)) {
2457
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react8.cloneElement)(actionButton, {
2485
+ if ((0, import_type_guards9.isNotNil)(actionButton) && (0, import_react9.isValidElement)(actionButton)) {
2486
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react9.cloneElement)(actionButton, {
2458
2487
  variant: "soft",
2459
2488
  // force Button variant
2460
2489
  size: "sm"
@@ -2490,7 +2519,7 @@ Toast.displayName = "Toast";
2490
2519
  // src/hooks/useToast/useToast.tsx
2491
2520
  var import_jsx_runtime6 = require("react/jsx-runtime");
2492
2521
  var useToast = () => {
2493
- return (0, import_react9.useCallback)(
2522
+ return (0, import_react10.useCallback)(
2494
2523
  ({ message, action, colorScheme, icon, position = "bottom-left", duration = 3e3 }) => {
2495
2524
  import_sonner2.toast.custom(
2496
2525
  () => {
@@ -2512,11 +2541,11 @@ var useToast = () => {
2512
2541
  };
2513
2542
 
2514
2543
  // src/components/ActionButton/ActionButton.tsx
2515
- var import_react13 = require("react");
2544
+ var import_react14 = require("react");
2516
2545
  var import_styled_components22 = __toESM(require("styled-components"));
2517
2546
 
2518
2547
  // src/components/Button/Button.tsx
2519
- var import_react12 = require("react");
2548
+ var import_react13 = require("react");
2520
2549
  var import_styled_components21 = __toESM(require("styled-components"));
2521
2550
  var import_type_guards13 = require("@wistia/type-guards");
2522
2551
 
@@ -6464,13 +6493,13 @@ var iconMap = {
6464
6493
 
6465
6494
  // src/private/hooks/useResponsiveProp/useResponsiveProp.ts
6466
6495
  var import_type_guards10 = require("@wistia/type-guards");
6467
- var import_react10 = require("react");
6496
+ var import_react11 = require("react");
6468
6497
  var isResponsiveObject = (values) => {
6469
6498
  return typeof values === "object" && values !== null && !Array.isArray(values) && "base" in values;
6470
6499
  };
6471
6500
  var useResponsiveProp = (values) => {
6472
6501
  const activeMediaQueries = useActiveMq();
6473
- return (0, import_react10.useMemo)(() => {
6502
+ return (0, import_react11.useMemo)(() => {
6474
6503
  if ((0, import_type_guards10.isRecord)(values) && isResponsiveObject(values)) {
6475
6504
  const mq2 = activeMediaQueries.find((key) => key in values);
6476
6505
  return (0, import_type_guards10.isNotUndefined)(mq2) && (0, import_type_guards10.isNotUndefined)(values[mq2]) ? values[mq2] : values.base;
@@ -6537,7 +6566,7 @@ var Icon = ({
6537
6566
  Icon.displayName = "Icon";
6538
6567
 
6539
6568
  // src/components/Link/Link.tsx
6540
- var import_react11 = require("react");
6569
+ var import_react12 = require("react");
6541
6570
  var import_type_guards12 = require("@wistia/type-guards");
6542
6571
  var import_styled_components20 = __toESM(require("styled-components"));
6543
6572
  var import_react_router_dom = require("react-router-dom");
@@ -6577,7 +6606,7 @@ var StyledLink = import_styled_components20.default.a`
6577
6606
  }
6578
6607
  }
6579
6608
  `;
6580
- var Link = (0, import_react11.forwardRef)(
6609
+ var Link = (0, import_react12.forwardRef)(
6581
6610
  ({
6582
6611
  beforeAction,
6583
6612
  children,
@@ -6722,7 +6751,7 @@ var ButtonContent = ({
6722
6751
  )
6723
6752
  ] });
6724
6753
  };
6725
- var Button = (0, import_react12.forwardRef)(
6754
+ var Button = (0, import_react13.forwardRef)(
6726
6755
  ({
6727
6756
  children,
6728
6757
  forceState,
@@ -6901,7 +6930,7 @@ var StyledLabel = import_styled_components22.default.span`
6901
6930
  grid-row: 2;
6902
6931
  text-align: left;
6903
6932
  `;
6904
- var ActionButton = (0, import_react13.forwardRef)(
6933
+ var ActionButton = (0, import_react14.forwardRef)(
6905
6934
  ({
6906
6935
  icon,
6907
6936
  colorScheme = "default",
@@ -6945,7 +6974,7 @@ var ActionButton = (0, import_react13.forwardRef)(
6945
6974
  ActionButton.displayName = "ActionButton";
6946
6975
 
6947
6976
  // src/components/Avatar/Avatar.tsx
6948
- var import_react14 = require("react");
6977
+ var import_react15 = require("react");
6949
6978
  var import_type_guards15 = require("@wistia/type-guards");
6950
6979
  var import_styled_components24 = __toESM(require("styled-components"));
6951
6980
 
@@ -7077,8 +7106,8 @@ var Avatar = ({
7077
7106
  onImageLoad,
7078
7107
  ...otherProps
7079
7108
  }) => {
7080
- const [imageLoadState, setImageLoadState] = (0, import_react14.useState)("loading");
7081
- (0, import_react14.useEffect)(() => {
7109
+ const [imageLoadState, setImageLoadState] = (0, import_react15.useState)("loading");
7110
+ (0, import_react15.useEffect)(() => {
7082
7111
  setImageLoadState("loading");
7083
7112
  }, [imageUrl]);
7084
7113
  const handleImageLoad = () => {
@@ -7090,7 +7119,7 @@ var Avatar = ({
7090
7119
  onImageLoad?.({ state: "error", type: "initials" });
7091
7120
  };
7092
7121
  const avatarSize = heightAndWidth ?? avatarSizeMap[size];
7093
- const avatarColor = (0, import_react14.useMemo)(() => chooseColorScheme(name), [name]);
7122
+ const avatarColor = (0, import_react15.useMemo)(() => chooseColorScheme(name), [name]);
7094
7123
  const showInitials = (0, import_type_guards15.isNil)(imageUrl) || imageLoadState === "error";
7095
7124
  return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
7096
7125
  AvatarWrapper,
@@ -7120,7 +7149,7 @@ var Avatar = ({
7120
7149
  Avatar.displayName = "Avatar";
7121
7150
 
7122
7151
  // src/components/Badge/Badge.tsx
7123
- var import_react15 = require("react");
7152
+ var import_react16 = require("react");
7124
7153
  var import_styled_components25 = __toESM(require("styled-components"));
7125
7154
  var import_type_guards16 = require("@wistia/type-guards");
7126
7155
  var import_jsx_runtime193 = require("react/jsx-runtime");
@@ -7144,7 +7173,7 @@ var StyledBadge = import_styled_components25.default.div`
7144
7173
  width: 12px;
7145
7174
  }
7146
7175
  `;
7147
- var Badge = (0, import_react15.forwardRef)(
7176
+ var Badge = (0, import_react16.forwardRef)(
7148
7177
  ({ colorScheme = "inherit", label, icon, ...otherProps }, ref) => {
7149
7178
  const hasIcon = (0, import_type_guards16.isNotNil)(icon);
7150
7179
  return /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)(
@@ -7165,7 +7194,7 @@ var Badge = (0, import_react15.forwardRef)(
7165
7194
  Badge.displayName = "Badge";
7166
7195
 
7167
7196
  // src/components/Box/Box.tsx
7168
- var import_react16 = require("react");
7197
+ var import_react17 = require("react");
7169
7198
  var import_styled_components26 = __toESM(require("styled-components"));
7170
7199
  var import_type_guards17 = require("@wistia/type-guards");
7171
7200
 
@@ -7241,13 +7270,13 @@ var StyledBoxComponent = import_styled_components26.default.div`
7241
7270
  var wrapChildren = (children) => {
7242
7271
  if ((0, import_type_guards17.isNotNil)(children)) {
7243
7272
  if (typeof children === "object" && isDev) {
7244
- return import_react16.Children.map(children, (child) => {
7273
+ return import_react17.Children.map(children, (child) => {
7245
7274
  if ((0, import_type_guards17.isNil)(child)) return null;
7246
7275
  const elementParams = {};
7247
7276
  if (child.type?.displayName === "Box" || child.type?.displayName === "Box_UI") {
7248
7277
  elementParams.hasBoxParent = true;
7249
7278
  }
7250
- return (0, import_react16.cloneElement)(child, elementParams);
7279
+ return (0, import_react17.cloneElement)(child, elementParams);
7251
7280
  });
7252
7281
  }
7253
7282
  return children;
@@ -7255,7 +7284,7 @@ var wrapChildren = (children) => {
7255
7284
  return null;
7256
7285
  };
7257
7286
  var DEFAULT_ELEMENT = "div";
7258
- var BoxComponent = (0, import_react16.forwardRef)(
7287
+ var BoxComponent = (0, import_react17.forwardRef)(
7259
7288
  ({
7260
7289
  alignContent = "stretch",
7261
7290
  alignItems = "flex-start",
@@ -7330,7 +7359,7 @@ BoxComponent.displayName = "Box";
7330
7359
  var Box = makePolymorphic(BoxComponent);
7331
7360
 
7332
7361
  // src/components/Breadcrumbs/Breadcrumbs.tsx
7333
- var import_react17 = require("react");
7362
+ var import_react18 = require("react");
7334
7363
  var import_styled_components27 = __toESM(require("styled-components"));
7335
7364
  var import_jsx_runtime195 = require("react/jsx-runtime");
7336
7365
  var StyledBreadcrumbs = import_styled_components27.default.nav`
@@ -7346,7 +7375,7 @@ var StyledBreadcrumbs = import_styled_components27.default.nav`
7346
7375
  var BUFFER_WIDTH = 10;
7347
7376
  var Breadcrumbs = ({ children, ...props }) => {
7348
7377
  const { isXsAndDown } = useMq();
7349
- let crumbs = import_react17.Children.toArray(children);
7378
+ let crumbs = import_react18.Children.toArray(children);
7350
7379
  if (isXsAndDown) {
7351
7380
  crumbs = crumbs.slice(-1);
7352
7381
  }
@@ -7533,7 +7562,7 @@ var Card = ({
7533
7562
  Card.displayName = "Card";
7534
7563
 
7535
7564
  // src/components/Checkbox/Checkbox.tsx
7536
- var import_react18 = require("react");
7565
+ var import_react19 = require("react");
7537
7566
  var import_styled_components34 = __toESM(require("styled-components"));
7538
7567
  var import_type_guards22 = require("@wistia/type-guards");
7539
7568
 
@@ -7753,7 +7782,7 @@ var StyledHiddenCheckboxInput = import_styled_components34.default.input`
7753
7782
  display: block;
7754
7783
  }
7755
7784
  `;
7756
- var Checkbox = (0, import_react18.forwardRef)(
7785
+ var Checkbox = (0, import_react19.forwardRef)(
7757
7786
  ({
7758
7787
  checked,
7759
7788
  disabled = false,
@@ -7768,7 +7797,7 @@ var Checkbox = (0, import_react18.forwardRef)(
7768
7797
  hideLabel = false,
7769
7798
  ...props
7770
7799
  }, ref) => {
7771
- const generatedId = (0, import_react18.useId)();
7800
+ const generatedId = (0, import_react19.useId)();
7772
7801
  const computedId = (0, import_type_guards22.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-${generatedId}`;
7773
7802
  return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)(StyledCheckboxWrapper, { disabled, children: [
7774
7803
  /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(
@@ -7811,9 +7840,9 @@ var Checkbox = (0, import_react18.forwardRef)(
7811
7840
  Checkbox.displayName = "Checkbox";
7812
7841
 
7813
7842
  // src/components/ClickRegion/ClickRegion.tsx
7814
- var import_react19 = require("react");
7843
+ var import_react20 = require("react");
7815
7844
  var ClickRegion = ({ children, targetRef }) => {
7816
- (0, import_react19.useEffect)(() => {
7845
+ (0, import_react20.useEffect)(() => {
7817
7846
  if (targetRef.current && targetRef.current.tagName === "A") {
7818
7847
  targetRef.current.setAttribute("data-click-region-target-link", "");
7819
7848
  } else if (targetRef.current && targetRef.current.tagName === "BUTTON") {
@@ -7821,7 +7850,7 @@ var ClickRegion = ({ children, targetRef }) => {
7821
7850
  } else {
7822
7851
  }
7823
7852
  }, [targetRef]);
7824
- const handleClick = (0, import_react19.useCallback)(
7853
+ const handleClick = (0, import_react20.useCallback)(
7825
7854
  (event) => {
7826
7855
  const node = targetRef.current;
7827
7856
  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")) {
@@ -7838,7 +7867,7 @@ var ClickRegion = ({ children, targetRef }) => {
7838
7867
  },
7839
7868
  [targetRef]
7840
7869
  );
7841
- return (0, import_react19.cloneElement)(import_react19.Children.only(children), {
7870
+ return (0, import_react20.cloneElement)(import_react20.Children.only(children), {
7842
7871
  "data-click-region": true,
7843
7872
  onClick: handleClick
7844
7873
  });
@@ -7871,11 +7900,11 @@ var Collapsible = ({
7871
7900
  Collapsible.displayName = "Collapsible";
7872
7901
 
7873
7902
  // src/components/Collapsible/CollapsibleTrigger.tsx
7874
- var import_react20 = require("react");
7903
+ var import_react21 = require("react");
7875
7904
  var import_react_collapsible2 = require("@radix-ui/react-collapsible");
7876
7905
  var import_jsx_runtime204 = require("react/jsx-runtime");
7877
7906
  var CollapsibleTrigger = ({ children }) => {
7878
- import_react20.Children.only(children);
7907
+ import_react21.Children.only(children);
7879
7908
  return /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(import_react_collapsible2.Trigger, { asChild: true, children });
7880
7909
  };
7881
7910
 
@@ -7902,7 +7931,7 @@ var import_styled_components38 = __toESM(require("styled-components"));
7902
7931
  var import_type_guards25 = require("@wistia/type-guards");
7903
7932
 
7904
7933
  // src/components/Heading/Heading.tsx
7905
- var import_react21 = require("react");
7934
+ var import_react22 = require("react");
7906
7935
  var import_styled_components37 = __toESM(require("styled-components"));
7907
7936
  var import_jsx_runtime206 = require("react/jsx-runtime");
7908
7937
  var heroStyle = import_styled_components37.css`
@@ -7989,7 +8018,7 @@ var variantElementMap = {
7989
8018
  heading5: "h5",
7990
8019
  heading6: "h6"
7991
8020
  };
7992
- var HeadingComponent = (0, import_react21.forwardRef)(
8021
+ var HeadingComponent = (0, import_react22.forwardRef)(
7993
8022
  ({
7994
8023
  align = "left",
7995
8024
  colorScheme = "inherit",
@@ -8153,7 +8182,7 @@ DataCards.displayName = "DataCards";
8153
8182
  var import_styled_components41 = __toESM(require("styled-components"));
8154
8183
 
8155
8184
  // src/components/Text/Text.tsx
8156
- var import_react22 = require("react");
8185
+ var import_react23 = require("react");
8157
8186
  var import_styled_components40 = __toESM(require("styled-components"));
8158
8187
  var import_jsx_runtime209 = require("react/jsx-runtime");
8159
8188
  var bodyBoldStyles = import_styled_components40.css`
@@ -8319,7 +8348,7 @@ var StyledText = import_styled_components40.default.div`
8319
8348
  }
8320
8349
  `}
8321
8350
  `;
8322
- var TextComponent = (0, import_react22.forwardRef)(
8351
+ var TextComponent = (0, import_react23.forwardRef)(
8323
8352
  ({
8324
8353
  align = "left",
8325
8354
  colorScheme = "inherit",
@@ -8435,7 +8464,7 @@ Divider.displayName = "Divider";
8435
8464
 
8436
8465
  // src/components/EditableHeading/EditableHeading.tsx
8437
8466
  var import_styled_components45 = __toESM(require("styled-components"));
8438
- var import_react24 = require("react");
8467
+ var import_react25 = require("react");
8439
8468
 
8440
8469
  // src/components/Tooltip/Tooltip.tsx
8441
8470
  var import_react_tooltip2 = require("@radix-ui/react-tooltip");
@@ -8544,7 +8573,7 @@ var Tooltip = ({
8544
8573
  Tooltip.displayName = "Tooltip";
8545
8574
 
8546
8575
  // src/components/Input/Input.tsx
8547
- var import_react23 = require("react");
8576
+ var import_react24 = require("react");
8548
8577
  var import_styled_components44 = __toESM(require("styled-components"));
8549
8578
  var import_type_guards26 = require("@wistia/type-guards");
8550
8579
  var import_jsx_runtime213 = require("react/jsx-runtime");
@@ -8633,7 +8662,7 @@ var StyledInputContainer = import_styled_components44.default.div`
8633
8662
  padding-right: 32px;
8634
8663
  }
8635
8664
  `;
8636
- var Input = (0, import_react23.forwardRef)(
8665
+ var Input = (0, import_react24.forwardRef)(
8637
8666
  ({
8638
8667
  fullWidth = true,
8639
8668
  monospace = false,
@@ -8643,7 +8672,7 @@ var Input = (0, import_react23.forwardRef)(
8643
8672
  rightIcon,
8644
8673
  ...props
8645
8674
  }, externalRef) => {
8646
- const internalRef = (0, import_react23.useRef)();
8675
+ const internalRef = (0, import_react24.useRef)();
8647
8676
  const ref = (
8648
8677
  // eslint-disable-next-line react-compiler/react-compiler
8649
8678
  (0, import_type_guards26.isNotNil)(externalRef) && (0, import_type_guards26.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
@@ -8653,14 +8682,14 @@ var Input = (0, import_react23.forwardRef)(
8653
8682
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(Icon, { type: "search" });
8654
8683
  }
8655
8684
  if ((0, import_type_guards26.isNotNil)(leftIconToDisplay)) {
8656
- leftIconToDisplay = (0, import_react23.cloneElement)(leftIconToDisplay, {
8685
+ leftIconToDisplay = (0, import_react24.cloneElement)(leftIconToDisplay, {
8657
8686
  size: "md",
8658
8687
  className: "wui-input-left-icon"
8659
8688
  });
8660
8689
  }
8661
8690
  let rightIconToDisplay = rightIcon;
8662
8691
  if ((0, import_type_guards26.isNotNil)(rightIconToDisplay)) {
8663
- rightIconToDisplay = (0, import_react23.cloneElement)(rightIconToDisplay, {
8692
+ rightIconToDisplay = (0, import_react24.cloneElement)(rightIconToDisplay, {
8664
8693
  size: "md",
8665
8694
  className: "wui-input-right-icon"
8666
8695
  });
@@ -8755,11 +8784,11 @@ var EditableHeading = ({
8755
8784
  forceEditing = false,
8756
8785
  editingDisabled = false
8757
8786
  }) => {
8758
- const [isEditing, setIsEditing] = (0, import_react24.useState)(false);
8759
- const [value, setValue] = (0, import_react24.useState)(children);
8760
- const [previousValue, setPreviousValue] = (0, import_react24.useState)(children);
8761
- const [headingHeight, setHeadingHeight] = (0, import_react24.useState)("60");
8762
- const headingRef = (0, import_react24.useRef)(null);
8787
+ const [isEditing, setIsEditing] = (0, import_react25.useState)(false);
8788
+ const [value, setValue] = (0, import_react25.useState)(children);
8789
+ const [previousValue, setPreviousValue] = (0, import_react25.useState)(children);
8790
+ const [headingHeight, setHeadingHeight] = (0, import_react25.useState)("60");
8791
+ const headingRef = (0, import_react25.useRef)(null);
8763
8792
  const handleSetEditing = (editing) => {
8764
8793
  if (editingDisabled) return;
8765
8794
  if (editing && headingRef.current) {
@@ -8845,12 +8874,12 @@ var EditableHeading = ({
8845
8874
  };
8846
8875
 
8847
8876
  // src/components/Form/Form.tsx
8848
- var import_react26 = require("react");
8877
+ var import_react27 = require("react");
8849
8878
  var import_styled_components47 = __toESM(require("styled-components"));
8850
8879
  var import_type_guards27 = require("@wistia/type-guards");
8851
8880
 
8852
8881
  // src/components/Stack/Stack.tsx
8853
- var import_react25 = require("react");
8882
+ var import_react26 = require("react");
8854
8883
  var import_styled_components46 = __toESM(require("styled-components"));
8855
8884
  var import_jsx_runtime215 = require("react/jsx-runtime");
8856
8885
  var DEFAULT_ELEMENT4 = "div";
@@ -8860,7 +8889,7 @@ var StyledStack = import_styled_components46.default.div`
8860
8889
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
8861
8890
  align-items: ${({ $alignItems }) => $alignItems};
8862
8891
  `;
8863
- var StackComponent = (0, import_react25.forwardRef)(
8892
+ var StackComponent = (0, import_react26.forwardRef)(
8864
8893
  ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
8865
8894
  const responsiveGap = useResponsiveProp(gap);
8866
8895
  const responsiveDirection = useResponsiveProp(direction);
@@ -8889,7 +8918,7 @@ var StyledForm = import_styled_components47.default.form`
8889
8918
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
8890
8919
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
8891
8920
  `;
8892
- var FormContext = (0, import_react26.createContext)({
8921
+ var FormContext = (0, import_react27.createContext)({
8893
8922
  values: {},
8894
8923
  errors: {},
8895
8924
  hasSubmitted: false,
@@ -8905,11 +8934,11 @@ var FormComponent = ({
8905
8934
  fullWidth = false,
8906
8935
  ...props
8907
8936
  }, forwardedRef) => {
8908
- const [errors, setErrors] = (0, import_react26.useState)({});
8909
- const [hasSubmitted, setHasSubmitted] = (0, import_react26.useState)(false);
8910
- const innerRef = (0, import_react26.useRef)();
8937
+ const [errors, setErrors] = (0, import_react27.useState)({});
8938
+ const [hasSubmitted, setHasSubmitted] = (0, import_react27.useState)(false);
8939
+ const innerRef = (0, import_react27.useRef)();
8911
8940
  const ref = forwardedRef ?? innerRef;
8912
- const autoId = (0, import_react26.useId)();
8941
+ const autoId = (0, import_react27.useId)();
8913
8942
  const id = props.id ?? autoId;
8914
8943
  const handleValidate = (nextFormData) => {
8915
8944
  const nextData = Object.fromEntries(nextFormData.entries());
@@ -8951,7 +8980,7 @@ var FormComponent = ({
8951
8980
  void action(null);
8952
8981
  }
8953
8982
  };
8954
- const context = (0, import_react26.useMemo)(() => {
8983
+ const context = (0, import_react27.useMemo)(() => {
8955
8984
  return {
8956
8985
  values,
8957
8986
  errors,
@@ -8980,15 +9009,15 @@ var FormComponent = ({
8980
9009
  );
8981
9010
  };
8982
9011
  FormComponent.displayName = "Form";
8983
- var Form = (0, import_react26.forwardRef)(FormComponent);
9012
+ var Form = (0, import_react27.forwardRef)(FormComponent);
8984
9013
 
8985
9014
  // src/components/Form/useFormState.tsx
8986
- var import_react27 = require("react");
9015
+ var import_react28 = require("react");
8987
9016
  var useFormState = (action, initialData = {}) => {
8988
- const [data, setData] = (0, import_react27.useState)(initialData);
8989
- const [isPending, setIsPending] = (0, import_react27.useState)(false);
8990
- const [error, setError] = (0, import_react27.useState)(null);
8991
- const formAction = (0, import_react27.useCallback)(
9017
+ const [data, setData] = (0, import_react28.useState)(initialData);
9018
+ const [isPending, setIsPending] = (0, import_react28.useState)(false);
9019
+ const [error, setError] = (0, import_react28.useState)(null);
9020
+ const formAction = (0, import_react28.useCallback)(
8992
9021
  async (nextFormData) => {
8993
9022
  if (nextFormData === null) {
8994
9023
  setData(initialData);
@@ -9019,15 +9048,15 @@ var useFormState = (action, initialData = {}) => {
9019
9048
  };
9020
9049
 
9021
9050
  // src/components/Form/FormErrorSummary.tsx
9022
- var import_react28 = require("react");
9051
+ var import_react29 = require("react");
9023
9052
  var import_type_guards28 = require("@wistia/type-guards");
9024
9053
  var import_jsx_runtime217 = require("react/jsx-runtime");
9025
9054
  var ErrorItem = ({ name, error, formId }) => {
9026
9055
  return /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9027
9056
  };
9028
9057
  var FormErrorSummary = ({ description }) => {
9029
- const ref = (0, import_react28.useRef)(null);
9030
- const { formId, errors, hasSubmitted } = (0, import_react28.useContext)(FormContext);
9058
+ const ref = (0, import_react29.useRef)(null);
9059
+ const { formId, errors, hasSubmitted } = (0, import_react29.useContext)(FormContext);
9031
9060
  const isValid = Object.keys(errors).length === 0;
9032
9061
  if (isValid || !hasSubmitted) {
9033
9062
  return null;
@@ -9057,7 +9086,7 @@ var FormErrorSummary = ({ description }) => {
9057
9086
  };
9058
9087
 
9059
9088
  // src/components/FormField/FormField.tsx
9060
- var import_react31 = require("react");
9089
+ var import_react32 = require("react");
9061
9090
  var import_styled_components50 = __toESM(require("styled-components"));
9062
9091
  var import_type_guards29 = require("@wistia/type-guards");
9063
9092
 
@@ -9122,11 +9151,11 @@ var Label = ({
9122
9151
  Label.displayName = "Label";
9123
9152
 
9124
9153
  // src/components/FormGroup/CheckboxGroup.tsx
9125
- var import_react30 = require("react");
9154
+ var import_react31 = require("react");
9126
9155
 
9127
9156
  // src/components/FormGroup/FormGroup.tsx
9128
9157
  var import_styled_components49 = __toESM(require("styled-components"));
9129
- var import_react29 = require("react");
9158
+ var import_react30 = require("react");
9130
9159
  var import_jsx_runtime219 = require("react/jsx-runtime");
9131
9160
  var StyledFieldset = import_styled_components49.default.fieldset`
9132
9161
  border: 0;
@@ -9135,7 +9164,7 @@ var StyledLegend = import_styled_components49.default.legend`
9135
9164
  margin-bottom: var(--space-01);
9136
9165
  `;
9137
9166
  var FormGroup = ({ children, label, ...props }) => {
9138
- const ref = (0, import_react29.useRef)();
9167
+ const ref = (0, import_react30.useRef)();
9139
9168
  return /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(
9140
9169
  Stack,
9141
9170
  {
@@ -9160,7 +9189,7 @@ FormGroup.displayName = "FormGroup";
9160
9189
 
9161
9190
  // src/components/FormGroup/CheckboxGroup.tsx
9162
9191
  var import_jsx_runtime220 = require("react/jsx-runtime");
9163
- var CheckboxGroupContext = (0, import_react30.createContext)(null);
9192
+ var CheckboxGroupContext = (0, import_react31.createContext)(null);
9164
9193
  var CheckboxGroup = ({
9165
9194
  children,
9166
9195
  name,
@@ -9168,7 +9197,7 @@ var CheckboxGroup = ({
9168
9197
  value,
9169
9198
  ...props
9170
9199
  }) => {
9171
- const context = (0, import_react30.useMemo)(() => {
9200
+ const context = (0, import_react31.useMemo)(() => {
9172
9201
  return {
9173
9202
  name,
9174
9203
  onChange
@@ -9192,6 +9221,12 @@ var StyledFormField = import_styled_components50.default.div`
9192
9221
  grid-template-columns: auto 1fr;
9193
9222
  grid-template-rows: auto 1fr;
9194
9223
 
9224
+ &[data-label-position='inline-compact'] {
9225
+ gap: var(--form-field-spacing-inline);
9226
+ grid-template-columns: auto 1fr;
9227
+ grid-template-rows: 1fr auto;
9228
+ }
9229
+
9195
9230
  &[data-label-position='inline'] {
9196
9231
  gap: var(--form-field-spacing-inline);
9197
9232
  grid-template-columns: minmax(auto, 1fr) 1fr;
@@ -9246,8 +9281,8 @@ var FormField = ({
9246
9281
  id,
9247
9282
  ...props
9248
9283
  }) => {
9249
- const formState = (0, import_react31.useContext)(FormContext);
9250
- const checkboxGroup = (0, import_react31.useContext)(CheckboxGroupContext);
9284
+ const formState = (0, import_react32.useContext)(FormContext);
9285
+ const checkboxGroup = (0, import_react32.useContext)(CheckboxGroupContext);
9251
9286
  const isIntegratedLabel = children.type === Checkbox;
9252
9287
  const computedId = id ?? `${formState.formId}-${name}`;
9253
9288
  const computedError = error ?? formState.errors[name];
@@ -9282,7 +9317,7 @@ var FormField = ({
9282
9317
  "aria-describedby": (0, import_type_guards29.isNotNil)(error) ? `${computedId}-error` : void 0
9283
9318
  };
9284
9319
  }
9285
- import_react31.Children.only(children);
9320
+ import_react32.Children.only(children);
9286
9321
  return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(
9287
9322
  StyledFormField,
9288
9323
  {
@@ -9290,7 +9325,7 @@ var FormField = ({
9290
9325
  "data-label-position": labelPosition ?? formState.labelPosition,
9291
9326
  children: [
9292
9327
  !isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(Label, { htmlFor: computedId, children: label }),
9293
- (0, import_react31.cloneElement)(children, childProps),
9328
+ (0, import_react32.cloneElement)(children, childProps),
9294
9329
  (0, import_type_guards29.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_jsx_runtime221.Fragment, { children: [
9295
9330
  /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", {}),
9296
9331
  /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(
@@ -9308,9 +9343,9 @@ var FormField = ({
9308
9343
  FormField.displayName = "FormField";
9309
9344
 
9310
9345
  // src/components/FormGroup/RadioGroup.tsx
9311
- var import_react32 = require("react");
9346
+ var import_react33 = require("react");
9312
9347
  var import_jsx_runtime222 = require("react/jsx-runtime");
9313
- var RadioGroupContext = (0, import_react32.createContext)(null);
9348
+ var RadioGroupContext = (0, import_react33.createContext)(null);
9314
9349
  var RadioGroup = ({
9315
9350
  children,
9316
9351
  name,
@@ -9318,7 +9353,7 @@ var RadioGroup = ({
9318
9353
  value,
9319
9354
  ...props
9320
9355
  }) => {
9321
- const context = (0, import_react32.useMemo)(() => {
9356
+ const context = (0, import_react33.useMemo)(() => {
9322
9357
  return {
9323
9358
  name,
9324
9359
  onChange
@@ -9329,7 +9364,7 @@ var RadioGroup = ({
9329
9364
  RadioGroup.displayName = "RadioGroup";
9330
9365
 
9331
9366
  // src/components/IconButton/IconButton.tsx
9332
- var import_react33 = require("react");
9367
+ var import_react34 = require("react");
9333
9368
  var import_styled_components51 = __toESM(require("styled-components"));
9334
9369
  var import_jsx_runtime223 = require("react/jsx-runtime");
9335
9370
  var StyledButton2 = (0, import_styled_components51.default)(Button)`
@@ -9346,7 +9381,7 @@ var StyledButton2 = (0, import_styled_components51.default)(Button)`
9346
9381
  align-items: center;
9347
9382
  line-height: 1;
9348
9383
  `;
9349
- var IconButton = (0, import_react33.forwardRef)(
9384
+ var IconButton = (0, import_react34.forwardRef)(
9350
9385
  ({ children, label, size = "md", ...props }, ref) => {
9351
9386
  const responsiveSize = useResponsiveProp(size);
9352
9387
  return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(
@@ -9357,7 +9392,7 @@ var IconButton = (0, import_react33.forwardRef)(
9357
9392
  "aria-label": label,
9358
9393
  "data-wistia-ui-icon-button": true,
9359
9394
  size: responsiveSize,
9360
- children: (0, import_react33.cloneElement)(import_react33.Children.only(children), {
9395
+ children: (0, import_react34.cloneElement)(import_react34.Children.only(children), {
9361
9396
  size: responsiveSize
9362
9397
  })
9363
9398
  }
@@ -9419,12 +9454,12 @@ Image.displayName = "Image";
9419
9454
  var import_styled_components53 = __toESM(require("styled-components"));
9420
9455
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
9421
9456
  var import_type_guards31 = require("@wistia/type-guards");
9422
- var import_react35 = require("react");
9457
+ var import_react36 = require("react");
9423
9458
 
9424
9459
  // src/components/Menu/MenuContext.tsx
9425
- var import_react34 = require("react");
9426
- var MenuContext = (0, import_react34.createContext)({ compact: false });
9427
- var useMenuContext = () => (0, import_react34.useContext)(MenuContext);
9460
+ var import_react35 = require("react");
9461
+ var MenuContext = (0, import_react35.createContext)({ compact: false });
9462
+ var useMenuContext = () => (0, import_react35.useContext)(MenuContext);
9428
9463
 
9429
9464
  // src/components/Menu/Menu.tsx
9430
9465
  var import_jsx_runtime225 = require("react/jsx-runtime");
@@ -9528,7 +9563,7 @@ var Menu = ({
9528
9563
  onInteractOutside,
9529
9564
  ...props
9530
9565
  }) => {
9531
- const contextValue = (0, import_react35.useMemo)(() => ({ compact }), [compact]);
9566
+ const contextValue = (0, import_react36.useMemo)(() => ({ compact }), [compact]);
9532
9567
  let controlProps = {
9533
9568
  ...(0, import_type_guards31.isNotNil)(onOpenChange) && (0, import_type_guards31.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
9534
9569
  };
@@ -9602,13 +9637,13 @@ var MenuLabel = ({ children, ...props }) => {
9602
9637
  MenuLabel.displayName = "MenuLabel";
9603
9638
 
9604
9639
  // src/components/Menu/SubMenu.tsx
9605
- var import_react37 = require("react");
9640
+ var import_react38 = require("react");
9606
9641
  var import_styled_components57 = __toESM(require("styled-components"));
9607
9642
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
9608
9643
  var import_type_guards33 = require("@wistia/type-guards");
9609
9644
 
9610
9645
  // src/components/Menu/MenuItemButton.tsx
9611
- var import_react36 = require("react");
9646
+ var import_react37 = require("react");
9612
9647
  var import_styled_components55 = __toESM(require("styled-components"));
9613
9648
  var import_type_guards32 = require("@wistia/type-guards");
9614
9649
  var import_jsx_runtime227 = require("react/jsx-runtime");
@@ -9685,7 +9720,7 @@ var StyledBadgeContainer = import_styled_components55.default.div`
9685
9720
  font-size: var(--wui-typography-label-4-size);
9686
9721
  color: var(--wui-color-text-secondary);
9687
9722
  `;
9688
- var MenuItemButton = (0, import_react36.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9723
+ var MenuItemButton = (0, import_react37.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9689
9724
  let { colorScheme, badge } = props;
9690
9725
  if (appearance === "dangerous") {
9691
9726
  if ((0, import_type_guards32.isNotUndefined)(colorScheme)) {
@@ -9781,7 +9816,7 @@ var SubMenu = ({
9781
9816
  ...props
9782
9817
  }) => {
9783
9818
  const { isSmAndUp } = useMq();
9784
- const [isExpanded, setIsExpanded] = (0, import_react37.useState)(false);
9819
+ const [isExpanded, setIsExpanded] = (0, import_react38.useState)(false);
9785
9820
  const { compact } = useMenuContext();
9786
9821
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime229.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
9787
9822
  /* @__PURE__ */ (0, import_jsx_runtime229.jsxs)(SubMenuTrigger, { ...props, children: [
@@ -9810,10 +9845,10 @@ var SubMenu = ({
9810
9845
  SubMenu.displayName = "SubMenu";
9811
9846
 
9812
9847
  // src/components/Menu/MenuItem.tsx
9813
- var import_react38 = require("react");
9848
+ var import_react39 = require("react");
9814
9849
  var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
9815
9850
  var import_jsx_runtime230 = require("react/jsx-runtime");
9816
- var MenuItem = (0, import_react38.forwardRef)(
9851
+ var MenuItem = (0, import_react39.forwardRef)(
9817
9852
  ({ onSelect = () => null, ...props }, ref) => {
9818
9853
  return /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
9819
9854
  import_react_dropdown_menu4.DropdownMenuItem,
@@ -9963,7 +9998,7 @@ var CheckboxMenuItem = ({
9963
9998
  CheckboxMenuItem.displayName = "CheckboxMenuItem";
9964
9999
 
9965
10000
  // src/components/Modal/Modal.tsx
9966
- var import_react42 = require("react");
10001
+ var import_react43 = require("react");
9967
10002
  var import_styled_components62 = __toESM(require("styled-components"));
9968
10003
  var import_react_dialog4 = require("@radix-ui/react-dialog");
9969
10004
  var import_type_guards35 = require("@wistia/type-guards");
@@ -10023,19 +10058,19 @@ var ModalHeader = ({
10023
10058
  };
10024
10059
 
10025
10060
  // src/components/Modal/ModalContent.tsx
10026
- var import_react40 = require("react");
10061
+ var import_react41 = require("react");
10027
10062
  var import_styled_components60 = __toESM(require("styled-components"));
10028
10063
  var import_react_dialog3 = require("@radix-ui/react-dialog");
10029
10064
 
10030
10065
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
10031
- var import_react39 = require("react");
10066
+ var import_react40 = require("react");
10032
10067
  var import_type_guards34 = require("@wistia/type-guards");
10033
10068
  var useFocusRestore = () => {
10034
- const previouslyFocusedRef = (0, import_react39.useRef)(null);
10035
- (0, import_react39.useEffect)(() => {
10069
+ const previouslyFocusedRef = (0, import_react40.useRef)(null);
10070
+ (0, import_react40.useEffect)(() => {
10036
10071
  previouslyFocusedRef.current = document.activeElement;
10037
10072
  }, []);
10038
- (0, import_react39.useEffect)(() => {
10073
+ (0, import_react40.useEffect)(() => {
10039
10074
  return () => {
10040
10075
  if ((0, import_type_guards34.isNotNil)(previouslyFocusedRef.current)) {
10041
10076
  setTimeout(() => {
@@ -10089,7 +10124,7 @@ var StyledModalContent = (0, import_styled_components60.default)(import_react_di
10089
10124
  }
10090
10125
  }
10091
10126
  `;
10092
- var ModalContent = (0, import_react40.forwardRef)(
10127
+ var ModalContent = (0, import_react41.forwardRef)(
10093
10128
  ({ fullHeight, width, children, ...otherProps }, ref) => {
10094
10129
  useFocusRestore();
10095
10130
  return /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(
@@ -10107,7 +10142,7 @@ var ModalContent = (0, import_react40.forwardRef)(
10107
10142
  );
10108
10143
 
10109
10144
  // src/private/components/Backdrop/Backdrop.tsx
10110
- var import_react41 = require("react");
10145
+ var import_react42 = require("react");
10111
10146
  var import_styled_components61 = __toESM(require("styled-components"));
10112
10147
  var import_jsx_runtime237 = require("react/jsx-runtime");
10113
10148
  var backdropAnimationDuration = 150;
@@ -10145,7 +10180,7 @@ var BackdropComponent = import_styled_components61.default.div`
10145
10180
  }
10146
10181
  }
10147
10182
  `;
10148
- var Backdrop = (0, import_react41.forwardRef)(
10183
+ var Backdrop = (0, import_react42.forwardRef)(
10149
10184
  ({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(
10150
10185
  BackdropComponent,
10151
10186
  {
@@ -10167,7 +10202,7 @@ var ModalBody = import_styled_components62.default.div`
10167
10202
  display: flex;
10168
10203
  order: 2;
10169
10204
  `;
10170
- var Modal = (0, import_react42.forwardRef)(
10205
+ var Modal = (0, import_react43.forwardRef)(
10171
10206
  ({
10172
10207
  children,
10173
10208
  fullHeight = false,
@@ -10369,7 +10404,7 @@ var ProgressBar = ({
10369
10404
  ProgressBar.displayName = "ProgressBar";
10370
10405
 
10371
10406
  // src/components/Radio/Radio.tsx
10372
- var import_react43 = require("react");
10407
+ var import_react44 = require("react");
10373
10408
  var import_styled_components65 = __toESM(require("styled-components"));
10374
10409
  var import_type_guards38 = require("@wistia/type-guards");
10375
10410
  var import_jsx_runtime241 = require("react/jsx-runtime");
@@ -10472,7 +10507,7 @@ var StyledHiddenRadioInput = import_styled_components65.default.input`
10472
10507
  display: block;
10473
10508
  }
10474
10509
  `;
10475
- var Radio = (0, import_react43.forwardRef)(
10510
+ var Radio = (0, import_react44.forwardRef)(
10476
10511
  ({
10477
10512
  checked,
10478
10513
  disabled = false,
@@ -10487,7 +10522,7 @@ var Radio = (0, import_react43.forwardRef)(
10487
10522
  hideLabel = false,
10488
10523
  ...props
10489
10524
  }, ref) => {
10490
- const generatedId = (0, import_react43.useId)();
10525
+ const generatedId = (0, import_react44.useId)();
10491
10526
  const computedId = (0, import_type_guards38.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
10492
10527
  return /* @__PURE__ */ (0, import_jsx_runtime241.jsxs)(
10493
10528
  StyledRadioWrapper,
@@ -10537,22 +10572,22 @@ var Radio = (0, import_react43.forwardRef)(
10537
10572
  Radio.displayName = "Radio";
10538
10573
 
10539
10574
  // src/components/SegmentedControl/SegmentedControl.tsx
10540
- var import_react47 = require("react");
10575
+ var import_react48 = require("react");
10541
10576
  var import_styled_components67 = __toESM(require("styled-components"));
10542
10577
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
10543
10578
  var import_type_guards39 = require("@wistia/type-guards");
10544
10579
 
10545
10580
  // src/components/SegmentedControl/useSelectedItemMeasurements.tsx
10546
- var import_react44 = require("react");
10581
+ var import_react45 = require("react");
10547
10582
  var import_jsx_runtime242 = require("react/jsx-runtime");
10548
- var SelectedItemMeasurementsContext = (0, import_react44.createContext)(
10583
+ var SelectedItemMeasurementsContext = (0, import_react45.createContext)(
10549
10584
  null
10550
10585
  );
10551
10586
  var SelectedItemMeasurementsProvider = ({
10552
10587
  children
10553
10588
  }) => {
10554
- const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react44.useState)(null);
10555
- const contextValue = (0, import_react44.useMemo)(
10589
+ const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react45.useState)(null);
10590
+ const contextValue = (0, import_react45.useMemo)(
10556
10591
  () => ({
10557
10592
  setSelectedItemMeasurements,
10558
10593
  selectedItemMeasurements
@@ -10562,7 +10597,7 @@ var SelectedItemMeasurementsProvider = ({
10562
10597
  return /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
10563
10598
  };
10564
10599
  var useSelectedItemMeasurements = () => {
10565
- const context = (0, import_react44.useContext)(SelectedItemMeasurementsContext);
10600
+ const context = (0, import_react45.useContext)(SelectedItemMeasurementsContext);
10566
10601
  if (context === null) {
10567
10602
  throw new Error(
10568
10603
  "useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
@@ -10572,15 +10607,15 @@ var useSelectedItemMeasurements = () => {
10572
10607
  };
10573
10608
 
10574
10609
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
10575
- var import_react46 = require("react");
10610
+ var import_react47 = require("react");
10576
10611
  var import_styled_components66 = __toESM(require("styled-components"));
10577
10612
 
10578
10613
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
10579
- var import_react45 = require("react");
10580
- var SegmentedControlValueContext = (0, import_react45.createContext)(null);
10614
+ var import_react46 = require("react");
10615
+ var SegmentedControlValueContext = (0, import_react46.createContext)(null);
10581
10616
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
10582
10617
  var useSegmentedControlValue = () => {
10583
- const context = (0, import_react45.useContext)(SegmentedControlValueContext);
10618
+ const context = (0, import_react46.useContext)(SegmentedControlValueContext);
10584
10619
  if (context === null) {
10585
10620
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
10586
10621
  }
@@ -10604,7 +10639,7 @@ var SelectedItemIndicatorDiv = import_styled_components66.default.div`
10604
10639
  var SelectedItemIndicator = () => {
10605
10640
  const selectedValue = useSegmentedControlValue();
10606
10641
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
10607
- const selectedItemIndicatorStyle = (0, import_react46.useMemo)(
10642
+ const selectedItemIndicatorStyle = (0, import_react47.useMemo)(
10608
10643
  () => selectedItemMeasurements != null ? {
10609
10644
  height: `${selectedItemMeasurements.offsetHeight}px`,
10610
10645
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -10642,7 +10677,7 @@ var segmentedControlStyles = import_styled_components67.css`
10642
10677
  var StyledSegmentedControl = (0, import_styled_components67.default)(import_react_toggle_group.Root)`
10643
10678
  ${segmentedControlStyles}
10644
10679
  `;
10645
- var SegmentedControl = (0, import_react47.forwardRef)(
10680
+ var SegmentedControl = (0, import_react48.forwardRef)(
10646
10681
  ({
10647
10682
  children,
10648
10683
  disabled = false,
@@ -10677,7 +10712,7 @@ var SegmentedControl = (0, import_react47.forwardRef)(
10677
10712
  SegmentedControl.displayName = "SegmentedControl";
10678
10713
 
10679
10714
  // src/components/SegmentedControl/SegmentedControlItem.tsx
10680
- var import_react48 = require("react");
10715
+ var import_react49 = require("react");
10681
10716
  var import_styled_components68 = __toESM(require("styled-components"));
10682
10717
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
10683
10718
  var import_type_guards41 = require("@wistia/type-guards");
@@ -10760,11 +10795,11 @@ var segmentedControlItemStyles = import_styled_components68.css`
10760
10795
  var StyledSegmentedControlItem = (0, import_styled_components68.default)(import_react_toggle_group2.Item)`
10761
10796
  ${segmentedControlItemStyles}
10762
10797
  `;
10763
- var SegmentedControlItem = (0, import_react48.forwardRef)(
10798
+ var SegmentedControlItem = (0, import_react49.forwardRef)(
10764
10799
  ({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
10765
10800
  const selectedValue = useSegmentedControlValue();
10766
10801
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
10767
- const buttonRef = (0, import_react48.useRef)(null);
10802
+ const buttonRef = (0, import_react49.useRef)(null);
10768
10803
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
10769
10804
  const handleClick = (event) => {
10770
10805
  const target = event.target;
@@ -10773,7 +10808,7 @@ var SegmentedControlItem = (0, import_react48.forwardRef)(
10773
10808
  event.preventDefault();
10774
10809
  }
10775
10810
  };
10776
- (0, import_react48.useEffect)(() => {
10811
+ (0, import_react49.useEffect)(() => {
10777
10812
  const buttonElem = buttonRef.current;
10778
10813
  if (!buttonElem) {
10779
10814
  return void 0;
@@ -10819,7 +10854,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
10819
10854
 
10820
10855
  // src/components/Select/Select.tsx
10821
10856
  var import_react_select = require("@radix-ui/react-select");
10822
- var import_react49 = require("react");
10857
+ var import_react50 = require("react");
10823
10858
  var import_styled_components69 = __toESM(require("styled-components"));
10824
10859
  var import_jsx_runtime246 = require("react/jsx-runtime");
10825
10860
  var StyledTrigger = (0, import_styled_components69.default)(import_react_select.Trigger)`
@@ -10888,7 +10923,7 @@ var StyledContent3 = (0, import_styled_components69.default)(import_react_select
10888
10923
  max-height: var(--radix-select-content-available-height);
10889
10924
  z-index: var(--wui-zindex-select);
10890
10925
  `;
10891
- var Select = (0, import_react49.forwardRef)(
10926
+ var Select = (0, import_react50.forwardRef)(
10892
10927
  ({
10893
10928
  colorScheme = "inherit",
10894
10929
  children,
@@ -10937,7 +10972,7 @@ Select.displayName = "Select";
10937
10972
 
10938
10973
  // src/components/Select/SelectOption.tsx
10939
10974
  var import_react_select2 = require("@radix-ui/react-select");
10940
- var import_react50 = require("react");
10975
+ var import_react51 = require("react");
10941
10976
  var import_styled_components70 = __toESM(require("styled-components"));
10942
10977
  var import_jsx_runtime247 = require("react/jsx-runtime");
10943
10978
  var StyledItem = (0, import_styled_components70.default)(import_react_select2.Item)`
@@ -10966,7 +11001,7 @@ var StyledItem = (0, import_styled_components70.default)(import_react_select2.It
10966
11001
  var StyledIconContainer = import_styled_components70.default.span`
10967
11002
  width: 12px;
10968
11003
  `;
10969
- var SelectOption = (0, import_react50.forwardRef)(
11004
+ var SelectOption = (0, import_react51.forwardRef)(
10970
11005
  ({ children, ...props }, forwardedRef) => {
10971
11006
  return /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(
10972
11007
  StyledItem,
@@ -11011,7 +11046,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
11011
11046
  };
11012
11047
 
11013
11048
  // src/components/Switch/Switch.tsx
11014
- var import_react51 = require("react");
11049
+ var import_react52 = require("react");
11015
11050
  var import_styled_components72 = __toESM(require("styled-components"));
11016
11051
  var import_type_guards42 = require("@wistia/type-guards");
11017
11052
  var import_jsx_runtime249 = require("react/jsx-runtime");
@@ -11116,7 +11151,7 @@ var StyledHiddenSwitchInput = import_styled_components72.default.input`
11116
11151
  }
11117
11152
  }
11118
11153
  `;
11119
- var Switch = (0, import_react51.forwardRef)(
11154
+ var Switch = (0, import_react52.forwardRef)(
11120
11155
  ({
11121
11156
  checked,
11122
11157
  disabled = false,
@@ -11131,7 +11166,7 @@ var Switch = (0, import_react51.forwardRef)(
11131
11166
  hideLabel = false,
11132
11167
  ...props
11133
11168
  }, ref) => {
11134
- const generatedId = (0, import_react51.useId)();
11169
+ const generatedId = (0, import_react52.useId)();
11135
11170
  const computedId = (0, import_type_guards42.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
11136
11171
  return /* @__PURE__ */ (0, import_jsx_runtime249.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
11137
11172
  /* @__PURE__ */ (0, import_jsx_runtime249.jsx)(
@@ -11213,8 +11248,8 @@ var Table = ({
11213
11248
  var import_styled_components74 = __toESM(require("styled-components"));
11214
11249
 
11215
11250
  // src/components/Table/TableSectionContext.ts
11216
- var import_react52 = require("react");
11217
- var TableSectionContext = (0, import_react52.createContext)(null);
11251
+ var import_react53 = require("react");
11252
+ var TableSectionContext = (0, import_react53.createContext)(null);
11218
11253
 
11219
11254
  // src/components/Table/TableBody.tsx
11220
11255
  var import_jsx_runtime251 = require("react/jsx-runtime");
@@ -11224,7 +11259,7 @@ var TableBody = ({ children, ...props }) => {
11224
11259
  };
11225
11260
 
11226
11261
  // src/components/Table/TableCell.tsx
11227
- var import_react53 = require("react");
11262
+ var import_react54 = require("react");
11228
11263
  var import_styled_components75 = __toESM(require("styled-components"));
11229
11264
  var import_jsx_runtime252 = require("react/jsx-runtime");
11230
11265
  var sharedStyles = import_styled_components75.css`
@@ -11245,7 +11280,7 @@ var StyledTd = import_styled_components75.default.td`
11245
11280
  line-height: var(--wui-typography-body-2-line-height);
11246
11281
  `;
11247
11282
  var TableCell = ({ children, ...props }) => {
11248
- const section = (0, import_react53.useContext)(TableSectionContext);
11283
+ const section = (0, import_react54.useContext)(TableSectionContext);
11249
11284
  if (section === "head") {
11250
11285
  return /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(StyledTh, { ...props, children });
11251
11286
  }
@@ -11277,7 +11312,7 @@ var TableRow = ({ children, ...props }) => {
11277
11312
  };
11278
11313
 
11279
11314
  // src/components/Tabs/Tabs.tsx
11280
- var import_react58 = require("react");
11315
+ var import_react59 = require("react");
11281
11316
  var import_react_tabs4 = require("@radix-ui/react-tabs");
11282
11317
  var import_type_guards44 = require("@wistia/type-guards");
11283
11318
  var import_styled_components83 = __toESM(require("styled-components"));
@@ -11332,17 +11367,17 @@ var TabList = ({
11332
11367
  TabList.displayName = "TabList";
11333
11368
 
11334
11369
  // src/components/Tabs/TabItem.tsx
11335
- var import_react55 = require("react");
11370
+ var import_react56 = require("react");
11336
11371
  var import_styled_components81 = __toESM(require("styled-components"));
11337
11372
  var import_react_tabs3 = require("@radix-ui/react-tabs");
11338
11373
  var import_type_guards43 = require("@wistia/type-guards");
11339
11374
 
11340
11375
  // src/components/Tabs/useTabsValue.tsx
11341
- var import_react54 = require("react");
11342
- var TabsValueContext = (0, import_react54.createContext)(null);
11376
+ var import_react55 = require("react");
11377
+ var TabsValueContext = (0, import_react55.createContext)(null);
11343
11378
  var TabsValueProvider = TabsValueContext.Provider;
11344
11379
  var useTabsValue = () => {
11345
- const context = (0, import_react54.useContext)(TabsValueContext);
11380
+ const context = (0, import_react55.useContext)(TabsValueContext);
11346
11381
  if (context === null) {
11347
11382
  throw new Error("useTabsValue must be used within a TabsValueProvider");
11348
11383
  }
@@ -11358,13 +11393,13 @@ var StyledTabItem = (0, import_styled_components81.default)(import_react_tabs3.T
11358
11393
  outline: none;
11359
11394
  }
11360
11395
  `;
11361
- var TabItem = (0, import_react55.forwardRef)(
11396
+ var TabItem = (0, import_react56.forwardRef)(
11362
11397
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11363
11398
  const selectedValue = useTabsValue();
11364
11399
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11365
- const buttonRef = (0, import_react55.useRef)(null);
11400
+ const buttonRef = (0, import_react56.useRef)(null);
11366
11401
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11367
- (0, import_react55.useEffect)(() => {
11402
+ (0, import_react56.useEffect)(() => {
11368
11403
  const buttonElem = buttonRef.current;
11369
11404
  if (!buttonElem) {
11370
11405
  return void 0;
@@ -11408,16 +11443,16 @@ var TabItem = (0, import_react55.forwardRef)(
11408
11443
  TabItem.displayName = "TabItem";
11409
11444
 
11410
11445
  // src/components/Tabs/extractTabItems.ts
11411
- var import_react56 = require("react");
11446
+ var import_react57 = require("react");
11412
11447
  var extractTabItems = (children) => {
11413
11448
  const tabItems = [];
11414
- import_react56.Children.forEach(children, (child) => {
11415
- if (!(0, import_react56.isValidElement)(child)) {
11449
+ import_react57.Children.forEach(children, (child) => {
11450
+ if (!(0, import_react57.isValidElement)(child)) {
11416
11451
  return;
11417
11452
  }
11418
11453
  if (typeof child.type !== "string" && child.type.displayName === "Tab") {
11419
11454
  tabItems.push(child);
11420
- } else if (child.type === import_react56.Fragment) {
11455
+ } else if (child.type === import_react57.Fragment) {
11421
11456
  const fragmentElement = child;
11422
11457
  tabItems.push(...extractTabItems(fragmentElement.props.children));
11423
11458
  } else if ((child.props.children ?? null) != null) {
@@ -11430,7 +11465,7 @@ var extractTabItems = (children) => {
11430
11465
  };
11431
11466
 
11432
11467
  // src/components/Tabs/SelectedItemIndicator.tsx
11433
- var import_react57 = require("react");
11468
+ var import_react58 = require("react");
11434
11469
  var import_styled_components82 = __toESM(require("styled-components"));
11435
11470
  var import_jsx_runtime259 = require("react/jsx-runtime");
11436
11471
  var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(SelectedItemIndicatorDiv)`
@@ -11441,7 +11476,7 @@ var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(Selec
11441
11476
  var SelectedItemIndicator2 = () => {
11442
11477
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
11443
11478
  const selectedValue = useTabsValue();
11444
- const selectedItemIndicatorStyle = (0, import_react57.useMemo)(
11479
+ const selectedItemIndicatorStyle = (0, import_react58.useMemo)(
11445
11480
  () => selectedItemMeasurements != null ? {
11446
11481
  height: `${selectedItemMeasurements.offsetHeight}px`,
11447
11482
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -11482,7 +11517,7 @@ var StyledTabsRoot = (0, import_styled_components83.default)(import_react_tabs4.
11482
11517
  flex-direction: column;
11483
11518
  height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
11484
11519
  `;
11485
- var Tabs = (0, import_react58.forwardRef)(
11520
+ var Tabs = (0, import_react59.forwardRef)(
11486
11521
  ({
11487
11522
  children,
11488
11523
  fullWidth = true,
@@ -11494,7 +11529,7 @@ var Tabs = (0, import_react58.forwardRef)(
11494
11529
  ...otherProps
11495
11530
  }, ref) => {
11496
11531
  const tabItems = extractTabItems(children);
11497
- const [internalSelectedValue, setInternalSelectedValue] = (0, import_react58.useState)(defaultSelectedValue);
11532
+ const [internalSelectedValue, setInternalSelectedValue] = (0, import_react59.useState)(defaultSelectedValue);
11498
11533
  const modeProps = defaultSelectedValue !== void 0 ? {
11499
11534
  defaultValue: defaultSelectedValue,
11500
11535
  onValueChange: setInternalSelectedValue
@@ -11580,15 +11615,15 @@ var Tabs = (0, import_react58.forwardRef)(
11580
11615
  Tabs.displayName = "Tabs";
11581
11616
 
11582
11617
  // src/components/Tabs/Tab.tsx
11583
- var import_react59 = require("react");
11618
+ var import_react60 = require("react");
11584
11619
  var import_jsx_runtime261 = require("react/jsx-runtime");
11585
- var Tab = (0, import_react59.forwardRef)(({ children }, ref) => {
11620
+ var Tab = (0, import_react60.forwardRef)(({ children }, ref) => {
11586
11621
  return /* @__PURE__ */ (0, import_jsx_runtime261.jsx)("div", { ref, children });
11587
11622
  });
11588
11623
  Tab.displayName = "Tab";
11589
11624
 
11590
11625
  // src/components/Tag/Tag.tsx
11591
- var import_react60 = require("react");
11626
+ var import_react61 = require("react");
11592
11627
  var import_styled_components84 = __toESM(require("styled-components"));
11593
11628
  var import_type_guards45 = require("@wistia/type-guards");
11594
11629
  var import_jsx_runtime262 = require("react/jsx-runtime");
@@ -11705,7 +11740,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
11705
11740
  )
11706
11741
  ] });
11707
11742
  };
11708
- var Tag = (0, import_react60.forwardRef)(
11743
+ var Tag = (0, import_react61.forwardRef)(
11709
11744
  ({
11710
11745
  onClickRemove,
11711
11746
  colorScheme = "inherit",
@@ -11963,6 +11998,7 @@ WistiaLogo.displayName = "WistiaLogo";
11963
11998
  useFormState,
11964
11999
  useImperativeFilePicker,
11965
12000
  useKey,
12001
+ useLocalStorage,
11966
12002
  useMq,
11967
12003
  useToast,
11968
12004
  useWindowSize