@wistia/ui 0.6.25 → 0.6.26-beta.77f0f194.be3ea6f

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.77f0f194.be3ea6f
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
@@ -141,22 +142,27 @@ var import_styled_components13 = require("styled-components");
141
142
  // src/css/resetCss.tsx
142
143
  var import_styled_components = require("styled-components");
143
144
  var resetCss = import_styled_components.css`
144
- /* Box sizing rules */
145
- *,
146
- *::before,
147
- *::after {
148
- box-sizing: border-box;
149
- }
145
+ /**
146
+ * 1. Change from 'content-box' so that 'width' calculations are unaffected by 'padding' or 'border'
147
+ See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
148
+ * 2. Ensure the iOS tap highlight is transparent
149
+ * 3. Prevent font size inflation
150
+ */
150
151
 
151
- /* Prevent font size inflation */
152
152
  html {
153
- /* stylelint-disable property-no-vendor-prefix */
154
- -moz-text-size-adjust: none;
153
+ box-sizing: border-box; /* 1 */
154
+ -webkit-tap-highlight-color: rgb(0 0 0 / 0%); /* 2 */
155
+ -moz-text-size-adjust: none; /* 3 */
155
156
  -webkit-text-size-adjust: none;
156
- /* stylelint-enable property-no-vendor-prefix */
157
157
  text-size-adjust: none;
158
158
  }
159
159
 
160
+ *,
161
+ *::before,
162
+ *::after {
163
+ box-sizing: inherit; /* 1 */
164
+ }
165
+
160
166
  /* Remove default margin in favour of better control in authored CSS */
161
167
  body,
162
168
  h1,
@@ -2151,11 +2157,39 @@ var useKey = (key, eventHandler, { eventName = "keydown", eventTarget, eventOpti
2151
2157
  useEvent(eventName, memoizedEventHandler, eventTarget, eventOptions);
2152
2158
  };
2153
2159
 
2160
+ // src/hooks/useLocalStorage/useLocalStorage.ts
2161
+ var import_react7 = require("react");
2162
+ var useLocalStorage = (key, initialValue, storage = window.localStorage) => {
2163
+ const [storedValue, setStoredValue] = (0, import_react7.useState)(() => {
2164
+ try {
2165
+ const item = storage.getItem(key);
2166
+ return item !== null && !!item ? JSON.parse(item) : initialValue;
2167
+ } catch (error) {
2168
+ console.log(error);
2169
+ return initialValue;
2170
+ }
2171
+ });
2172
+ const setValue = (value) => {
2173
+ try {
2174
+ const valueToStore = value instanceof Function ? value(storedValue) : value;
2175
+ setStoredValue(valueToStore);
2176
+ storage.setItem(key, JSON.stringify(valueToStore));
2177
+ } catch (error) {
2178
+ console.error(error);
2179
+ }
2180
+ };
2181
+ const removeValue = () => {
2182
+ storage.removeItem(key);
2183
+ setStoredValue(void 0);
2184
+ };
2185
+ return [storedValue, setValue, removeValue];
2186
+ };
2187
+
2154
2188
  // src/hooks/useMq/useMq.ts
2155
2189
  var import_type_guards7 = require("@wistia/type-guards");
2156
2190
 
2157
2191
  // src/hooks/useWindowSize/useWindowSize.ts
2158
- var import_react7 = require("react");
2192
+ var import_react8 = require("react");
2159
2193
  var import_throttle_debounce = require("throttle-debounce");
2160
2194
 
2161
2195
  // src/private/helpers/isClient/isClient.ts
@@ -2163,11 +2197,11 @@ var isClient = () => typeof window !== "undefined" && typeof document !== "undef
2163
2197
 
2164
2198
  // src/hooks/useWindowSize/useWindowSize.ts
2165
2199
  var useWindowSize = (interval = 0) => {
2166
- const [dimensions, setDimensions] = (0, import_react7.useState)({
2200
+ const [dimensions, setDimensions] = (0, import_react8.useState)({
2167
2201
  width: isClient() ? window.innerWidth : 0,
2168
2202
  height: isClient() ? window.innerHeight : 0
2169
2203
  });
2170
- (0, import_react7.useLayoutEffect)(() => {
2204
+ (0, import_react8.useLayoutEffect)(() => {
2171
2205
  const handleResize = (0, import_throttle_debounce.debounce)(
2172
2206
  interval,
2173
2207
  () => setDimensions({
@@ -2219,11 +2253,11 @@ var useActiveMq = () => {
2219
2253
  };
2220
2254
 
2221
2255
  // src/hooks/useToast/useToast.tsx
2222
- var import_react9 = require("react");
2256
+ var import_react10 = require("react");
2223
2257
  var import_sonner2 = require("sonner");
2224
2258
 
2225
2259
  // src/private/components/Toast/Toast.tsx
2226
- var import_react8 = require("react");
2260
+ var import_react9 = require("react");
2227
2261
  var import_styled_components16 = __toESM(require("styled-components"));
2228
2262
  var import_type_guards9 = require("@wistia/type-guards");
2229
2263
 
@@ -2453,8 +2487,8 @@ var StyledToast = import_styled_components16.default.div`
2453
2487
  }
2454
2488
  `;
2455
2489
  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, {
2490
+ if ((0, import_type_guards9.isNotNil)(actionButton) && (0, import_react9.isValidElement)(actionButton)) {
2491
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react9.cloneElement)(actionButton, {
2458
2492
  variant: "soft",
2459
2493
  // force Button variant
2460
2494
  size: "sm"
@@ -2490,7 +2524,7 @@ Toast.displayName = "Toast";
2490
2524
  // src/hooks/useToast/useToast.tsx
2491
2525
  var import_jsx_runtime6 = require("react/jsx-runtime");
2492
2526
  var useToast = () => {
2493
- return (0, import_react9.useCallback)(
2527
+ return (0, import_react10.useCallback)(
2494
2528
  ({ message, action, colorScheme, icon, position = "bottom-left", duration = 3e3 }) => {
2495
2529
  import_sonner2.toast.custom(
2496
2530
  () => {
@@ -2512,11 +2546,11 @@ var useToast = () => {
2512
2546
  };
2513
2547
 
2514
2548
  // src/components/ActionButton/ActionButton.tsx
2515
- var import_react13 = require("react");
2549
+ var import_react14 = require("react");
2516
2550
  var import_styled_components22 = __toESM(require("styled-components"));
2517
2551
 
2518
2552
  // src/components/Button/Button.tsx
2519
- var import_react12 = require("react");
2553
+ var import_react13 = require("react");
2520
2554
  var import_styled_components21 = __toESM(require("styled-components"));
2521
2555
  var import_type_guards13 = require("@wistia/type-guards");
2522
2556
 
@@ -6464,13 +6498,13 @@ var iconMap = {
6464
6498
 
6465
6499
  // src/private/hooks/useResponsiveProp/useResponsiveProp.ts
6466
6500
  var import_type_guards10 = require("@wistia/type-guards");
6467
- var import_react10 = require("react");
6501
+ var import_react11 = require("react");
6468
6502
  var isResponsiveObject = (values) => {
6469
6503
  return typeof values === "object" && values !== null && !Array.isArray(values) && "base" in values;
6470
6504
  };
6471
6505
  var useResponsiveProp = (values) => {
6472
6506
  const activeMediaQueries = useActiveMq();
6473
- return (0, import_react10.useMemo)(() => {
6507
+ return (0, import_react11.useMemo)(() => {
6474
6508
  if ((0, import_type_guards10.isRecord)(values) && isResponsiveObject(values)) {
6475
6509
  const mq2 = activeMediaQueries.find((key) => key in values);
6476
6510
  return (0, import_type_guards10.isNotUndefined)(mq2) && (0, import_type_guards10.isNotUndefined)(values[mq2]) ? values[mq2] : values.base;
@@ -6537,7 +6571,7 @@ var Icon = ({
6537
6571
  Icon.displayName = "Icon";
6538
6572
 
6539
6573
  // src/components/Link/Link.tsx
6540
- var import_react11 = require("react");
6574
+ var import_react12 = require("react");
6541
6575
  var import_type_guards12 = require("@wistia/type-guards");
6542
6576
  var import_styled_components20 = __toESM(require("styled-components"));
6543
6577
  var import_react_router_dom = require("react-router-dom");
@@ -6577,7 +6611,7 @@ var StyledLink = import_styled_components20.default.a`
6577
6611
  }
6578
6612
  }
6579
6613
  `;
6580
- var Link = (0, import_react11.forwardRef)(
6614
+ var Link = (0, import_react12.forwardRef)(
6581
6615
  ({
6582
6616
  beforeAction,
6583
6617
  children,
@@ -6722,7 +6756,7 @@ var ButtonContent = ({
6722
6756
  )
6723
6757
  ] });
6724
6758
  };
6725
- var Button = (0, import_react12.forwardRef)(
6759
+ var Button = (0, import_react13.forwardRef)(
6726
6760
  ({
6727
6761
  children,
6728
6762
  forceState,
@@ -6901,7 +6935,7 @@ var StyledLabel = import_styled_components22.default.span`
6901
6935
  grid-row: 2;
6902
6936
  text-align: left;
6903
6937
  `;
6904
- var ActionButton = (0, import_react13.forwardRef)(
6938
+ var ActionButton = (0, import_react14.forwardRef)(
6905
6939
  ({
6906
6940
  icon,
6907
6941
  colorScheme = "default",
@@ -6945,7 +6979,7 @@ var ActionButton = (0, import_react13.forwardRef)(
6945
6979
  ActionButton.displayName = "ActionButton";
6946
6980
 
6947
6981
  // src/components/Avatar/Avatar.tsx
6948
- var import_react14 = require("react");
6982
+ var import_react15 = require("react");
6949
6983
  var import_type_guards15 = require("@wistia/type-guards");
6950
6984
  var import_styled_components24 = __toESM(require("styled-components"));
6951
6985
 
@@ -7077,8 +7111,8 @@ var Avatar = ({
7077
7111
  onImageLoad,
7078
7112
  ...otherProps
7079
7113
  }) => {
7080
- const [imageLoadState, setImageLoadState] = (0, import_react14.useState)("loading");
7081
- (0, import_react14.useEffect)(() => {
7114
+ const [imageLoadState, setImageLoadState] = (0, import_react15.useState)("loading");
7115
+ (0, import_react15.useEffect)(() => {
7082
7116
  setImageLoadState("loading");
7083
7117
  }, [imageUrl]);
7084
7118
  const handleImageLoad = () => {
@@ -7090,7 +7124,7 @@ var Avatar = ({
7090
7124
  onImageLoad?.({ state: "error", type: "initials" });
7091
7125
  };
7092
7126
  const avatarSize = heightAndWidth ?? avatarSizeMap[size];
7093
- const avatarColor = (0, import_react14.useMemo)(() => chooseColorScheme(name), [name]);
7127
+ const avatarColor = (0, import_react15.useMemo)(() => chooseColorScheme(name), [name]);
7094
7128
  const showInitials = (0, import_type_guards15.isNil)(imageUrl) || imageLoadState === "error";
7095
7129
  return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
7096
7130
  AvatarWrapper,
@@ -7120,7 +7154,7 @@ var Avatar = ({
7120
7154
  Avatar.displayName = "Avatar";
7121
7155
 
7122
7156
  // src/components/Badge/Badge.tsx
7123
- var import_react15 = require("react");
7157
+ var import_react16 = require("react");
7124
7158
  var import_styled_components25 = __toESM(require("styled-components"));
7125
7159
  var import_type_guards16 = require("@wistia/type-guards");
7126
7160
  var import_jsx_runtime193 = require("react/jsx-runtime");
@@ -7144,7 +7178,7 @@ var StyledBadge = import_styled_components25.default.div`
7144
7178
  width: 12px;
7145
7179
  }
7146
7180
  `;
7147
- var Badge = (0, import_react15.forwardRef)(
7181
+ var Badge = (0, import_react16.forwardRef)(
7148
7182
  ({ colorScheme = "inherit", label, icon, ...otherProps }, ref) => {
7149
7183
  const hasIcon = (0, import_type_guards16.isNotNil)(icon);
7150
7184
  return /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)(
@@ -7165,7 +7199,7 @@ var Badge = (0, import_react15.forwardRef)(
7165
7199
  Badge.displayName = "Badge";
7166
7200
 
7167
7201
  // src/components/Box/Box.tsx
7168
- var import_react16 = require("react");
7202
+ var import_react17 = require("react");
7169
7203
  var import_styled_components26 = __toESM(require("styled-components"));
7170
7204
  var import_type_guards17 = require("@wistia/type-guards");
7171
7205
 
@@ -7241,13 +7275,13 @@ var StyledBoxComponent = import_styled_components26.default.div`
7241
7275
  var wrapChildren = (children) => {
7242
7276
  if ((0, import_type_guards17.isNotNil)(children)) {
7243
7277
  if (typeof children === "object" && isDev) {
7244
- return import_react16.Children.map(children, (child) => {
7278
+ return import_react17.Children.map(children, (child) => {
7245
7279
  if ((0, import_type_guards17.isNil)(child)) return null;
7246
7280
  const elementParams = {};
7247
7281
  if (child.type?.displayName === "Box" || child.type?.displayName === "Box_UI") {
7248
7282
  elementParams.hasBoxParent = true;
7249
7283
  }
7250
- return (0, import_react16.cloneElement)(child, elementParams);
7284
+ return (0, import_react17.cloneElement)(child, elementParams);
7251
7285
  });
7252
7286
  }
7253
7287
  return children;
@@ -7255,7 +7289,7 @@ var wrapChildren = (children) => {
7255
7289
  return null;
7256
7290
  };
7257
7291
  var DEFAULT_ELEMENT = "div";
7258
- var BoxComponent = (0, import_react16.forwardRef)(
7292
+ var BoxComponent = (0, import_react17.forwardRef)(
7259
7293
  ({
7260
7294
  alignContent = "stretch",
7261
7295
  alignItems = "flex-start",
@@ -7330,7 +7364,7 @@ BoxComponent.displayName = "Box";
7330
7364
  var Box = makePolymorphic(BoxComponent);
7331
7365
 
7332
7366
  // src/components/Breadcrumbs/Breadcrumbs.tsx
7333
- var import_react17 = require("react");
7367
+ var import_react18 = require("react");
7334
7368
  var import_styled_components27 = __toESM(require("styled-components"));
7335
7369
  var import_jsx_runtime195 = require("react/jsx-runtime");
7336
7370
  var StyledBreadcrumbs = import_styled_components27.default.nav`
@@ -7346,7 +7380,7 @@ var StyledBreadcrumbs = import_styled_components27.default.nav`
7346
7380
  var BUFFER_WIDTH = 10;
7347
7381
  var Breadcrumbs = ({ children, ...props }) => {
7348
7382
  const { isXsAndDown } = useMq();
7349
- let crumbs = import_react17.Children.toArray(children);
7383
+ let crumbs = import_react18.Children.toArray(children);
7350
7384
  if (isXsAndDown) {
7351
7385
  crumbs = crumbs.slice(-1);
7352
7386
  }
@@ -7533,7 +7567,7 @@ var Card = ({
7533
7567
  Card.displayName = "Card";
7534
7568
 
7535
7569
  // src/components/Checkbox/Checkbox.tsx
7536
- var import_react18 = require("react");
7570
+ var import_react19 = require("react");
7537
7571
  var import_styled_components34 = __toESM(require("styled-components"));
7538
7572
  var import_type_guards22 = require("@wistia/type-guards");
7539
7573
 
@@ -7753,7 +7787,7 @@ var StyledHiddenCheckboxInput = import_styled_components34.default.input`
7753
7787
  display: block;
7754
7788
  }
7755
7789
  `;
7756
- var Checkbox = (0, import_react18.forwardRef)(
7790
+ var Checkbox = (0, import_react19.forwardRef)(
7757
7791
  ({
7758
7792
  checked,
7759
7793
  disabled = false,
@@ -7768,7 +7802,7 @@ var Checkbox = (0, import_react18.forwardRef)(
7768
7802
  hideLabel = false,
7769
7803
  ...props
7770
7804
  }, ref) => {
7771
- const generatedId = (0, import_react18.useId)();
7805
+ const generatedId = (0, import_react19.useId)();
7772
7806
  const computedId = (0, import_type_guards22.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-${generatedId}`;
7773
7807
  return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)(StyledCheckboxWrapper, { disabled, children: [
7774
7808
  /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(
@@ -7811,9 +7845,9 @@ var Checkbox = (0, import_react18.forwardRef)(
7811
7845
  Checkbox.displayName = "Checkbox";
7812
7846
 
7813
7847
  // src/components/ClickRegion/ClickRegion.tsx
7814
- var import_react19 = require("react");
7848
+ var import_react20 = require("react");
7815
7849
  var ClickRegion = ({ children, targetRef }) => {
7816
- (0, import_react19.useEffect)(() => {
7850
+ (0, import_react20.useEffect)(() => {
7817
7851
  if (targetRef.current && targetRef.current.tagName === "A") {
7818
7852
  targetRef.current.setAttribute("data-click-region-target-link", "");
7819
7853
  } else if (targetRef.current && targetRef.current.tagName === "BUTTON") {
@@ -7821,7 +7855,7 @@ var ClickRegion = ({ children, targetRef }) => {
7821
7855
  } else {
7822
7856
  }
7823
7857
  }, [targetRef]);
7824
- const handleClick = (0, import_react19.useCallback)(
7858
+ const handleClick = (0, import_react20.useCallback)(
7825
7859
  (event) => {
7826
7860
  const node = targetRef.current;
7827
7861
  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 +7872,7 @@ var ClickRegion = ({ children, targetRef }) => {
7838
7872
  },
7839
7873
  [targetRef]
7840
7874
  );
7841
- return (0, import_react19.cloneElement)(import_react19.Children.only(children), {
7875
+ return (0, import_react20.cloneElement)(import_react20.Children.only(children), {
7842
7876
  "data-click-region": true,
7843
7877
  onClick: handleClick
7844
7878
  });
@@ -7871,11 +7905,11 @@ var Collapsible = ({
7871
7905
  Collapsible.displayName = "Collapsible";
7872
7906
 
7873
7907
  // src/components/Collapsible/CollapsibleTrigger.tsx
7874
- var import_react20 = require("react");
7908
+ var import_react21 = require("react");
7875
7909
  var import_react_collapsible2 = require("@radix-ui/react-collapsible");
7876
7910
  var import_jsx_runtime204 = require("react/jsx-runtime");
7877
7911
  var CollapsibleTrigger = ({ children }) => {
7878
- import_react20.Children.only(children);
7912
+ import_react21.Children.only(children);
7879
7913
  return /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(import_react_collapsible2.Trigger, { asChild: true, children });
7880
7914
  };
7881
7915
 
@@ -7902,7 +7936,7 @@ var import_styled_components38 = __toESM(require("styled-components"));
7902
7936
  var import_type_guards25 = require("@wistia/type-guards");
7903
7937
 
7904
7938
  // src/components/Heading/Heading.tsx
7905
- var import_react21 = require("react");
7939
+ var import_react22 = require("react");
7906
7940
  var import_styled_components37 = __toESM(require("styled-components"));
7907
7941
  var import_jsx_runtime206 = require("react/jsx-runtime");
7908
7942
  var heroStyle = import_styled_components37.css`
@@ -7989,7 +8023,7 @@ var variantElementMap = {
7989
8023
  heading5: "h5",
7990
8024
  heading6: "h6"
7991
8025
  };
7992
- var HeadingComponent = (0, import_react21.forwardRef)(
8026
+ var HeadingComponent = (0, import_react22.forwardRef)(
7993
8027
  ({
7994
8028
  align = "left",
7995
8029
  colorScheme = "inherit",
@@ -8153,7 +8187,7 @@ DataCards.displayName = "DataCards";
8153
8187
  var import_styled_components41 = __toESM(require("styled-components"));
8154
8188
 
8155
8189
  // src/components/Text/Text.tsx
8156
- var import_react22 = require("react");
8190
+ var import_react23 = require("react");
8157
8191
  var import_styled_components40 = __toESM(require("styled-components"));
8158
8192
  var import_jsx_runtime209 = require("react/jsx-runtime");
8159
8193
  var bodyBoldStyles = import_styled_components40.css`
@@ -8319,7 +8353,7 @@ var StyledText = import_styled_components40.default.div`
8319
8353
  }
8320
8354
  `}
8321
8355
  `;
8322
- var TextComponent = (0, import_react22.forwardRef)(
8356
+ var TextComponent = (0, import_react23.forwardRef)(
8323
8357
  ({
8324
8358
  align = "left",
8325
8359
  colorScheme = "inherit",
@@ -8435,7 +8469,7 @@ Divider.displayName = "Divider";
8435
8469
 
8436
8470
  // src/components/EditableHeading/EditableHeading.tsx
8437
8471
  var import_styled_components45 = __toESM(require("styled-components"));
8438
- var import_react24 = require("react");
8472
+ var import_react25 = require("react");
8439
8473
 
8440
8474
  // src/components/Tooltip/Tooltip.tsx
8441
8475
  var import_react_tooltip2 = require("@radix-ui/react-tooltip");
@@ -8544,7 +8578,7 @@ var Tooltip = ({
8544
8578
  Tooltip.displayName = "Tooltip";
8545
8579
 
8546
8580
  // src/components/Input/Input.tsx
8547
- var import_react23 = require("react");
8581
+ var import_react24 = require("react");
8548
8582
  var import_styled_components44 = __toESM(require("styled-components"));
8549
8583
  var import_type_guards26 = require("@wistia/type-guards");
8550
8584
  var import_jsx_runtime213 = require("react/jsx-runtime");
@@ -8633,7 +8667,7 @@ var StyledInputContainer = import_styled_components44.default.div`
8633
8667
  padding-right: 32px;
8634
8668
  }
8635
8669
  `;
8636
- var Input = (0, import_react23.forwardRef)(
8670
+ var Input = (0, import_react24.forwardRef)(
8637
8671
  ({
8638
8672
  fullWidth = true,
8639
8673
  monospace = false,
@@ -8643,7 +8677,7 @@ var Input = (0, import_react23.forwardRef)(
8643
8677
  rightIcon,
8644
8678
  ...props
8645
8679
  }, externalRef) => {
8646
- const internalRef = (0, import_react23.useRef)();
8680
+ const internalRef = (0, import_react24.useRef)();
8647
8681
  const ref = (
8648
8682
  // eslint-disable-next-line react-compiler/react-compiler
8649
8683
  (0, import_type_guards26.isNotNil)(externalRef) && (0, import_type_guards26.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
@@ -8653,14 +8687,14 @@ var Input = (0, import_react23.forwardRef)(
8653
8687
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(Icon, { type: "search" });
8654
8688
  }
8655
8689
  if ((0, import_type_guards26.isNotNil)(leftIconToDisplay)) {
8656
- leftIconToDisplay = (0, import_react23.cloneElement)(leftIconToDisplay, {
8690
+ leftIconToDisplay = (0, import_react24.cloneElement)(leftIconToDisplay, {
8657
8691
  size: "md",
8658
8692
  className: "wui-input-left-icon"
8659
8693
  });
8660
8694
  }
8661
8695
  let rightIconToDisplay = rightIcon;
8662
8696
  if ((0, import_type_guards26.isNotNil)(rightIconToDisplay)) {
8663
- rightIconToDisplay = (0, import_react23.cloneElement)(rightIconToDisplay, {
8697
+ rightIconToDisplay = (0, import_react24.cloneElement)(rightIconToDisplay, {
8664
8698
  size: "md",
8665
8699
  className: "wui-input-right-icon"
8666
8700
  });
@@ -8755,11 +8789,11 @@ var EditableHeading = ({
8755
8789
  forceEditing = false,
8756
8790
  editingDisabled = false
8757
8791
  }) => {
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);
8792
+ const [isEditing, setIsEditing] = (0, import_react25.useState)(false);
8793
+ const [value, setValue] = (0, import_react25.useState)(children);
8794
+ const [previousValue, setPreviousValue] = (0, import_react25.useState)(children);
8795
+ const [headingHeight, setHeadingHeight] = (0, import_react25.useState)("60");
8796
+ const headingRef = (0, import_react25.useRef)(null);
8763
8797
  const handleSetEditing = (editing) => {
8764
8798
  if (editingDisabled) return;
8765
8799
  if (editing && headingRef.current) {
@@ -8845,12 +8879,12 @@ var EditableHeading = ({
8845
8879
  };
8846
8880
 
8847
8881
  // src/components/Form/Form.tsx
8848
- var import_react26 = require("react");
8882
+ var import_react27 = require("react");
8849
8883
  var import_styled_components47 = __toESM(require("styled-components"));
8850
8884
  var import_type_guards27 = require("@wistia/type-guards");
8851
8885
 
8852
8886
  // src/components/Stack/Stack.tsx
8853
- var import_react25 = require("react");
8887
+ var import_react26 = require("react");
8854
8888
  var import_styled_components46 = __toESM(require("styled-components"));
8855
8889
  var import_jsx_runtime215 = require("react/jsx-runtime");
8856
8890
  var DEFAULT_ELEMENT4 = "div";
@@ -8860,7 +8894,7 @@ var StyledStack = import_styled_components46.default.div`
8860
8894
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
8861
8895
  align-items: ${({ $alignItems }) => $alignItems};
8862
8896
  `;
8863
- var StackComponent = (0, import_react25.forwardRef)(
8897
+ var StackComponent = (0, import_react26.forwardRef)(
8864
8898
  ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
8865
8899
  const responsiveGap = useResponsiveProp(gap);
8866
8900
  const responsiveDirection = useResponsiveProp(direction);
@@ -8889,7 +8923,7 @@ var StyledForm = import_styled_components47.default.form`
8889
8923
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
8890
8924
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
8891
8925
  `;
8892
- var FormContext = (0, import_react26.createContext)({
8926
+ var FormContext = (0, import_react27.createContext)({
8893
8927
  values: {},
8894
8928
  errors: {},
8895
8929
  hasSubmitted: false,
@@ -8905,11 +8939,11 @@ var FormComponent = ({
8905
8939
  fullWidth = false,
8906
8940
  ...props
8907
8941
  }, 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)();
8942
+ const [errors, setErrors] = (0, import_react27.useState)({});
8943
+ const [hasSubmitted, setHasSubmitted] = (0, import_react27.useState)(false);
8944
+ const innerRef = (0, import_react27.useRef)();
8911
8945
  const ref = forwardedRef ?? innerRef;
8912
- const autoId = (0, import_react26.useId)();
8946
+ const autoId = (0, import_react27.useId)();
8913
8947
  const id = props.id ?? autoId;
8914
8948
  const handleValidate = (nextFormData) => {
8915
8949
  const nextData = Object.fromEntries(nextFormData.entries());
@@ -8951,7 +8985,7 @@ var FormComponent = ({
8951
8985
  void action(null);
8952
8986
  }
8953
8987
  };
8954
- const context = (0, import_react26.useMemo)(() => {
8988
+ const context = (0, import_react27.useMemo)(() => {
8955
8989
  return {
8956
8990
  values,
8957
8991
  errors,
@@ -8980,15 +9014,15 @@ var FormComponent = ({
8980
9014
  );
8981
9015
  };
8982
9016
  FormComponent.displayName = "Form";
8983
- var Form = (0, import_react26.forwardRef)(FormComponent);
9017
+ var Form = (0, import_react27.forwardRef)(FormComponent);
8984
9018
 
8985
9019
  // src/components/Form/useFormState.tsx
8986
- var import_react27 = require("react");
9020
+ var import_react28 = require("react");
8987
9021
  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)(
9022
+ const [data, setData] = (0, import_react28.useState)(initialData);
9023
+ const [isPending, setIsPending] = (0, import_react28.useState)(false);
9024
+ const [error, setError] = (0, import_react28.useState)(null);
9025
+ const formAction = (0, import_react28.useCallback)(
8992
9026
  async (nextFormData) => {
8993
9027
  if (nextFormData === null) {
8994
9028
  setData(initialData);
@@ -9019,15 +9053,15 @@ var useFormState = (action, initialData = {}) => {
9019
9053
  };
9020
9054
 
9021
9055
  // src/components/Form/FormErrorSummary.tsx
9022
- var import_react28 = require("react");
9056
+ var import_react29 = require("react");
9023
9057
  var import_type_guards28 = require("@wistia/type-guards");
9024
9058
  var import_jsx_runtime217 = require("react/jsx-runtime");
9025
9059
  var ErrorItem = ({ name, error, formId }) => {
9026
9060
  return /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9027
9061
  };
9028
9062
  var FormErrorSummary = ({ description }) => {
9029
- const ref = (0, import_react28.useRef)(null);
9030
- const { formId, errors, hasSubmitted } = (0, import_react28.useContext)(FormContext);
9063
+ const ref = (0, import_react29.useRef)(null);
9064
+ const { formId, errors, hasSubmitted } = (0, import_react29.useContext)(FormContext);
9031
9065
  const isValid = Object.keys(errors).length === 0;
9032
9066
  if (isValid || !hasSubmitted) {
9033
9067
  return null;
@@ -9057,7 +9091,7 @@ var FormErrorSummary = ({ description }) => {
9057
9091
  };
9058
9092
 
9059
9093
  // src/components/FormField/FormField.tsx
9060
- var import_react31 = require("react");
9094
+ var import_react32 = require("react");
9061
9095
  var import_styled_components50 = __toESM(require("styled-components"));
9062
9096
  var import_type_guards29 = require("@wistia/type-guards");
9063
9097
 
@@ -9122,11 +9156,11 @@ var Label = ({
9122
9156
  Label.displayName = "Label";
9123
9157
 
9124
9158
  // src/components/FormGroup/CheckboxGroup.tsx
9125
- var import_react30 = require("react");
9159
+ var import_react31 = require("react");
9126
9160
 
9127
9161
  // src/components/FormGroup/FormGroup.tsx
9128
9162
  var import_styled_components49 = __toESM(require("styled-components"));
9129
- var import_react29 = require("react");
9163
+ var import_react30 = require("react");
9130
9164
  var import_jsx_runtime219 = require("react/jsx-runtime");
9131
9165
  var StyledFieldset = import_styled_components49.default.fieldset`
9132
9166
  border: 0;
@@ -9135,7 +9169,7 @@ var StyledLegend = import_styled_components49.default.legend`
9135
9169
  margin-bottom: var(--space-01);
9136
9170
  `;
9137
9171
  var FormGroup = ({ children, label, ...props }) => {
9138
- const ref = (0, import_react29.useRef)();
9172
+ const ref = (0, import_react30.useRef)();
9139
9173
  return /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(
9140
9174
  Stack,
9141
9175
  {
@@ -9160,7 +9194,7 @@ FormGroup.displayName = "FormGroup";
9160
9194
 
9161
9195
  // src/components/FormGroup/CheckboxGroup.tsx
9162
9196
  var import_jsx_runtime220 = require("react/jsx-runtime");
9163
- var CheckboxGroupContext = (0, import_react30.createContext)(null);
9197
+ var CheckboxGroupContext = (0, import_react31.createContext)(null);
9164
9198
  var CheckboxGroup = ({
9165
9199
  children,
9166
9200
  name,
@@ -9168,7 +9202,7 @@ var CheckboxGroup = ({
9168
9202
  value,
9169
9203
  ...props
9170
9204
  }) => {
9171
- const context = (0, import_react30.useMemo)(() => {
9205
+ const context = (0, import_react31.useMemo)(() => {
9172
9206
  return {
9173
9207
  name,
9174
9208
  onChange
@@ -9246,8 +9280,8 @@ var FormField = ({
9246
9280
  id,
9247
9281
  ...props
9248
9282
  }) => {
9249
- const formState = (0, import_react31.useContext)(FormContext);
9250
- const checkboxGroup = (0, import_react31.useContext)(CheckboxGroupContext);
9283
+ const formState = (0, import_react32.useContext)(FormContext);
9284
+ const checkboxGroup = (0, import_react32.useContext)(CheckboxGroupContext);
9251
9285
  const isIntegratedLabel = children.type === Checkbox;
9252
9286
  const computedId = id ?? `${formState.formId}-${name}`;
9253
9287
  const computedError = error ?? formState.errors[name];
@@ -9282,7 +9316,7 @@ var FormField = ({
9282
9316
  "aria-describedby": (0, import_type_guards29.isNotNil)(error) ? `${computedId}-error` : void 0
9283
9317
  };
9284
9318
  }
9285
- import_react31.Children.only(children);
9319
+ import_react32.Children.only(children);
9286
9320
  return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(
9287
9321
  StyledFormField,
9288
9322
  {
@@ -9290,7 +9324,7 @@ var FormField = ({
9290
9324
  "data-label-position": labelPosition ?? formState.labelPosition,
9291
9325
  children: [
9292
9326
  !isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(Label, { htmlFor: computedId, children: label }),
9293
- (0, import_react31.cloneElement)(children, childProps),
9327
+ (0, import_react32.cloneElement)(children, childProps),
9294
9328
  (0, import_type_guards29.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_jsx_runtime221.Fragment, { children: [
9295
9329
  /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", {}),
9296
9330
  /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(
@@ -9308,9 +9342,9 @@ var FormField = ({
9308
9342
  FormField.displayName = "FormField";
9309
9343
 
9310
9344
  // src/components/FormGroup/RadioGroup.tsx
9311
- var import_react32 = require("react");
9345
+ var import_react33 = require("react");
9312
9346
  var import_jsx_runtime222 = require("react/jsx-runtime");
9313
- var RadioGroupContext = (0, import_react32.createContext)(null);
9347
+ var RadioGroupContext = (0, import_react33.createContext)(null);
9314
9348
  var RadioGroup = ({
9315
9349
  children,
9316
9350
  name,
@@ -9318,7 +9352,7 @@ var RadioGroup = ({
9318
9352
  value,
9319
9353
  ...props
9320
9354
  }) => {
9321
- const context = (0, import_react32.useMemo)(() => {
9355
+ const context = (0, import_react33.useMemo)(() => {
9322
9356
  return {
9323
9357
  name,
9324
9358
  onChange
@@ -9329,7 +9363,7 @@ var RadioGroup = ({
9329
9363
  RadioGroup.displayName = "RadioGroup";
9330
9364
 
9331
9365
  // src/components/IconButton/IconButton.tsx
9332
- var import_react33 = require("react");
9366
+ var import_react34 = require("react");
9333
9367
  var import_styled_components51 = __toESM(require("styled-components"));
9334
9368
  var import_jsx_runtime223 = require("react/jsx-runtime");
9335
9369
  var StyledButton2 = (0, import_styled_components51.default)(Button)`
@@ -9346,7 +9380,7 @@ var StyledButton2 = (0, import_styled_components51.default)(Button)`
9346
9380
  align-items: center;
9347
9381
  line-height: 1;
9348
9382
  `;
9349
- var IconButton = (0, import_react33.forwardRef)(
9383
+ var IconButton = (0, import_react34.forwardRef)(
9350
9384
  ({ children, label, size = "md", ...props }, ref) => {
9351
9385
  const responsiveSize = useResponsiveProp(size);
9352
9386
  return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(
@@ -9357,7 +9391,7 @@ var IconButton = (0, import_react33.forwardRef)(
9357
9391
  "aria-label": label,
9358
9392
  "data-wistia-ui-icon-button": true,
9359
9393
  size: responsiveSize,
9360
- children: (0, import_react33.cloneElement)(import_react33.Children.only(children), {
9394
+ children: (0, import_react34.cloneElement)(import_react34.Children.only(children), {
9361
9395
  size: responsiveSize
9362
9396
  })
9363
9397
  }
@@ -9419,12 +9453,12 @@ Image.displayName = "Image";
9419
9453
  var import_styled_components53 = __toESM(require("styled-components"));
9420
9454
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
9421
9455
  var import_type_guards31 = require("@wistia/type-guards");
9422
- var import_react35 = require("react");
9456
+ var import_react36 = require("react");
9423
9457
 
9424
9458
  // 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);
9459
+ var import_react35 = require("react");
9460
+ var MenuContext = (0, import_react35.createContext)({ compact: false });
9461
+ var useMenuContext = () => (0, import_react35.useContext)(MenuContext);
9428
9462
 
9429
9463
  // src/components/Menu/Menu.tsx
9430
9464
  var import_jsx_runtime225 = require("react/jsx-runtime");
@@ -9528,7 +9562,7 @@ var Menu = ({
9528
9562
  onInteractOutside,
9529
9563
  ...props
9530
9564
  }) => {
9531
- const contextValue = (0, import_react35.useMemo)(() => ({ compact }), [compact]);
9565
+ const contextValue = (0, import_react36.useMemo)(() => ({ compact }), [compact]);
9532
9566
  let controlProps = {
9533
9567
  ...(0, import_type_guards31.isNotNil)(onOpenChange) && (0, import_type_guards31.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
9534
9568
  };
@@ -9602,13 +9636,13 @@ var MenuLabel = ({ children, ...props }) => {
9602
9636
  MenuLabel.displayName = "MenuLabel";
9603
9637
 
9604
9638
  // src/components/Menu/SubMenu.tsx
9605
- var import_react37 = require("react");
9639
+ var import_react38 = require("react");
9606
9640
  var import_styled_components57 = __toESM(require("styled-components"));
9607
9641
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
9608
9642
  var import_type_guards33 = require("@wistia/type-guards");
9609
9643
 
9610
9644
  // src/components/Menu/MenuItemButton.tsx
9611
- var import_react36 = require("react");
9645
+ var import_react37 = require("react");
9612
9646
  var import_styled_components55 = __toESM(require("styled-components"));
9613
9647
  var import_type_guards32 = require("@wistia/type-guards");
9614
9648
  var import_jsx_runtime227 = require("react/jsx-runtime");
@@ -9685,7 +9719,7 @@ var StyledBadgeContainer = import_styled_components55.default.div`
9685
9719
  font-size: var(--wui-typography-label-4-size);
9686
9720
  color: var(--wui-color-text-secondary);
9687
9721
  `;
9688
- var MenuItemButton = (0, import_react36.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9722
+ var MenuItemButton = (0, import_react37.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
9689
9723
  let { colorScheme, badge } = props;
9690
9724
  if (appearance === "dangerous") {
9691
9725
  if ((0, import_type_guards32.isNotUndefined)(colorScheme)) {
@@ -9781,7 +9815,7 @@ var SubMenu = ({
9781
9815
  ...props
9782
9816
  }) => {
9783
9817
  const { isSmAndUp } = useMq();
9784
- const [isExpanded, setIsExpanded] = (0, import_react37.useState)(false);
9818
+ const [isExpanded, setIsExpanded] = (0, import_react38.useState)(false);
9785
9819
  const { compact } = useMenuContext();
9786
9820
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime229.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
9787
9821
  /* @__PURE__ */ (0, import_jsx_runtime229.jsxs)(SubMenuTrigger, { ...props, children: [
@@ -9810,10 +9844,10 @@ var SubMenu = ({
9810
9844
  SubMenu.displayName = "SubMenu";
9811
9845
 
9812
9846
  // src/components/Menu/MenuItem.tsx
9813
- var import_react38 = require("react");
9847
+ var import_react39 = require("react");
9814
9848
  var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
9815
9849
  var import_jsx_runtime230 = require("react/jsx-runtime");
9816
- var MenuItem = (0, import_react38.forwardRef)(
9850
+ var MenuItem = (0, import_react39.forwardRef)(
9817
9851
  ({ onSelect = () => null, ...props }, ref) => {
9818
9852
  return /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
9819
9853
  import_react_dropdown_menu4.DropdownMenuItem,
@@ -9963,7 +9997,7 @@ var CheckboxMenuItem = ({
9963
9997
  CheckboxMenuItem.displayName = "CheckboxMenuItem";
9964
9998
 
9965
9999
  // src/components/Modal/Modal.tsx
9966
- var import_react42 = require("react");
10000
+ var import_react43 = require("react");
9967
10001
  var import_styled_components62 = __toESM(require("styled-components"));
9968
10002
  var import_react_dialog4 = require("@radix-ui/react-dialog");
9969
10003
  var import_type_guards35 = require("@wistia/type-guards");
@@ -10023,19 +10057,19 @@ var ModalHeader = ({
10023
10057
  };
10024
10058
 
10025
10059
  // src/components/Modal/ModalContent.tsx
10026
- var import_react40 = require("react");
10060
+ var import_react41 = require("react");
10027
10061
  var import_styled_components60 = __toESM(require("styled-components"));
10028
10062
  var import_react_dialog3 = require("@radix-ui/react-dialog");
10029
10063
 
10030
10064
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
10031
- var import_react39 = require("react");
10065
+ var import_react40 = require("react");
10032
10066
  var import_type_guards34 = require("@wistia/type-guards");
10033
10067
  var useFocusRestore = () => {
10034
- const previouslyFocusedRef = (0, import_react39.useRef)(null);
10035
- (0, import_react39.useEffect)(() => {
10068
+ const previouslyFocusedRef = (0, import_react40.useRef)(null);
10069
+ (0, import_react40.useEffect)(() => {
10036
10070
  previouslyFocusedRef.current = document.activeElement;
10037
10071
  }, []);
10038
- (0, import_react39.useEffect)(() => {
10072
+ (0, import_react40.useEffect)(() => {
10039
10073
  return () => {
10040
10074
  if ((0, import_type_guards34.isNotNil)(previouslyFocusedRef.current)) {
10041
10075
  setTimeout(() => {
@@ -10089,7 +10123,7 @@ var StyledModalContent = (0, import_styled_components60.default)(import_react_di
10089
10123
  }
10090
10124
  }
10091
10125
  `;
10092
- var ModalContent = (0, import_react40.forwardRef)(
10126
+ var ModalContent = (0, import_react41.forwardRef)(
10093
10127
  ({ fullHeight, width, children, ...otherProps }, ref) => {
10094
10128
  useFocusRestore();
10095
10129
  return /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(
@@ -10107,7 +10141,7 @@ var ModalContent = (0, import_react40.forwardRef)(
10107
10141
  );
10108
10142
 
10109
10143
  // src/private/components/Backdrop/Backdrop.tsx
10110
- var import_react41 = require("react");
10144
+ var import_react42 = require("react");
10111
10145
  var import_styled_components61 = __toESM(require("styled-components"));
10112
10146
  var import_jsx_runtime237 = require("react/jsx-runtime");
10113
10147
  var backdropAnimationDuration = 150;
@@ -10145,7 +10179,7 @@ var BackdropComponent = import_styled_components61.default.div`
10145
10179
  }
10146
10180
  }
10147
10181
  `;
10148
- var Backdrop = (0, import_react41.forwardRef)(
10182
+ var Backdrop = (0, import_react42.forwardRef)(
10149
10183
  ({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(
10150
10184
  BackdropComponent,
10151
10185
  {
@@ -10167,7 +10201,7 @@ var ModalBody = import_styled_components62.default.div`
10167
10201
  display: flex;
10168
10202
  order: 2;
10169
10203
  `;
10170
- var Modal = (0, import_react42.forwardRef)(
10204
+ var Modal = (0, import_react43.forwardRef)(
10171
10205
  ({
10172
10206
  children,
10173
10207
  fullHeight = false,
@@ -10369,7 +10403,7 @@ var ProgressBar = ({
10369
10403
  ProgressBar.displayName = "ProgressBar";
10370
10404
 
10371
10405
  // src/components/Radio/Radio.tsx
10372
- var import_react43 = require("react");
10406
+ var import_react44 = require("react");
10373
10407
  var import_styled_components65 = __toESM(require("styled-components"));
10374
10408
  var import_type_guards38 = require("@wistia/type-guards");
10375
10409
  var import_jsx_runtime241 = require("react/jsx-runtime");
@@ -10472,7 +10506,7 @@ var StyledHiddenRadioInput = import_styled_components65.default.input`
10472
10506
  display: block;
10473
10507
  }
10474
10508
  `;
10475
- var Radio = (0, import_react43.forwardRef)(
10509
+ var Radio = (0, import_react44.forwardRef)(
10476
10510
  ({
10477
10511
  checked,
10478
10512
  disabled = false,
@@ -10487,7 +10521,7 @@ var Radio = (0, import_react43.forwardRef)(
10487
10521
  hideLabel = false,
10488
10522
  ...props
10489
10523
  }, ref) => {
10490
- const generatedId = (0, import_react43.useId)();
10524
+ const generatedId = (0, import_react44.useId)();
10491
10525
  const computedId = (0, import_type_guards38.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
10492
10526
  return /* @__PURE__ */ (0, import_jsx_runtime241.jsxs)(
10493
10527
  StyledRadioWrapper,
@@ -10537,22 +10571,22 @@ var Radio = (0, import_react43.forwardRef)(
10537
10571
  Radio.displayName = "Radio";
10538
10572
 
10539
10573
  // src/components/SegmentedControl/SegmentedControl.tsx
10540
- var import_react47 = require("react");
10574
+ var import_react48 = require("react");
10541
10575
  var import_styled_components67 = __toESM(require("styled-components"));
10542
10576
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
10543
10577
  var import_type_guards39 = require("@wistia/type-guards");
10544
10578
 
10545
10579
  // src/components/SegmentedControl/useSelectedItemMeasurements.tsx
10546
- var import_react44 = require("react");
10580
+ var import_react45 = require("react");
10547
10581
  var import_jsx_runtime242 = require("react/jsx-runtime");
10548
- var SelectedItemMeasurementsContext = (0, import_react44.createContext)(
10582
+ var SelectedItemMeasurementsContext = (0, import_react45.createContext)(
10549
10583
  null
10550
10584
  );
10551
10585
  var SelectedItemMeasurementsProvider = ({
10552
10586
  children
10553
10587
  }) => {
10554
- const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react44.useState)(null);
10555
- const contextValue = (0, import_react44.useMemo)(
10588
+ const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react45.useState)(null);
10589
+ const contextValue = (0, import_react45.useMemo)(
10556
10590
  () => ({
10557
10591
  setSelectedItemMeasurements,
10558
10592
  selectedItemMeasurements
@@ -10562,7 +10596,7 @@ var SelectedItemMeasurementsProvider = ({
10562
10596
  return /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
10563
10597
  };
10564
10598
  var useSelectedItemMeasurements = () => {
10565
- const context = (0, import_react44.useContext)(SelectedItemMeasurementsContext);
10599
+ const context = (0, import_react45.useContext)(SelectedItemMeasurementsContext);
10566
10600
  if (context === null) {
10567
10601
  throw new Error(
10568
10602
  "useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
@@ -10572,15 +10606,15 @@ var useSelectedItemMeasurements = () => {
10572
10606
  };
10573
10607
 
10574
10608
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
10575
- var import_react46 = require("react");
10609
+ var import_react47 = require("react");
10576
10610
  var import_styled_components66 = __toESM(require("styled-components"));
10577
10611
 
10578
10612
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
10579
- var import_react45 = require("react");
10580
- var SegmentedControlValueContext = (0, import_react45.createContext)(null);
10613
+ var import_react46 = require("react");
10614
+ var SegmentedControlValueContext = (0, import_react46.createContext)(null);
10581
10615
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
10582
10616
  var useSegmentedControlValue = () => {
10583
- const context = (0, import_react45.useContext)(SegmentedControlValueContext);
10617
+ const context = (0, import_react46.useContext)(SegmentedControlValueContext);
10584
10618
  if (context === null) {
10585
10619
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
10586
10620
  }
@@ -10604,7 +10638,7 @@ var SelectedItemIndicatorDiv = import_styled_components66.default.div`
10604
10638
  var SelectedItemIndicator = () => {
10605
10639
  const selectedValue = useSegmentedControlValue();
10606
10640
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
10607
- const selectedItemIndicatorStyle = (0, import_react46.useMemo)(
10641
+ const selectedItemIndicatorStyle = (0, import_react47.useMemo)(
10608
10642
  () => selectedItemMeasurements != null ? {
10609
10643
  height: `${selectedItemMeasurements.offsetHeight}px`,
10610
10644
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -10642,7 +10676,7 @@ var segmentedControlStyles = import_styled_components67.css`
10642
10676
  var StyledSegmentedControl = (0, import_styled_components67.default)(import_react_toggle_group.Root)`
10643
10677
  ${segmentedControlStyles}
10644
10678
  `;
10645
- var SegmentedControl = (0, import_react47.forwardRef)(
10679
+ var SegmentedControl = (0, import_react48.forwardRef)(
10646
10680
  ({
10647
10681
  children,
10648
10682
  disabled = false,
@@ -10677,7 +10711,7 @@ var SegmentedControl = (0, import_react47.forwardRef)(
10677
10711
  SegmentedControl.displayName = "SegmentedControl";
10678
10712
 
10679
10713
  // src/components/SegmentedControl/SegmentedControlItem.tsx
10680
- var import_react48 = require("react");
10714
+ var import_react49 = require("react");
10681
10715
  var import_styled_components68 = __toESM(require("styled-components"));
10682
10716
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
10683
10717
  var import_type_guards41 = require("@wistia/type-guards");
@@ -10760,11 +10794,11 @@ var segmentedControlItemStyles = import_styled_components68.css`
10760
10794
  var StyledSegmentedControlItem = (0, import_styled_components68.default)(import_react_toggle_group2.Item)`
10761
10795
  ${segmentedControlItemStyles}
10762
10796
  `;
10763
- var SegmentedControlItem = (0, import_react48.forwardRef)(
10797
+ var SegmentedControlItem = (0, import_react49.forwardRef)(
10764
10798
  ({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
10765
10799
  const selectedValue = useSegmentedControlValue();
10766
10800
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
10767
- const buttonRef = (0, import_react48.useRef)(null);
10801
+ const buttonRef = (0, import_react49.useRef)(null);
10768
10802
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
10769
10803
  const handleClick = (event) => {
10770
10804
  const target = event.target;
@@ -10773,7 +10807,7 @@ var SegmentedControlItem = (0, import_react48.forwardRef)(
10773
10807
  event.preventDefault();
10774
10808
  }
10775
10809
  };
10776
- (0, import_react48.useEffect)(() => {
10810
+ (0, import_react49.useEffect)(() => {
10777
10811
  const buttonElem = buttonRef.current;
10778
10812
  if (!buttonElem) {
10779
10813
  return void 0;
@@ -10819,7 +10853,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
10819
10853
 
10820
10854
  // src/components/Select/Select.tsx
10821
10855
  var import_react_select = require("@radix-ui/react-select");
10822
- var import_react49 = require("react");
10856
+ var import_react50 = require("react");
10823
10857
  var import_styled_components69 = __toESM(require("styled-components"));
10824
10858
  var import_jsx_runtime246 = require("react/jsx-runtime");
10825
10859
  var StyledTrigger = (0, import_styled_components69.default)(import_react_select.Trigger)`
@@ -10888,7 +10922,7 @@ var StyledContent3 = (0, import_styled_components69.default)(import_react_select
10888
10922
  max-height: var(--radix-select-content-available-height);
10889
10923
  z-index: var(--wui-zindex-select);
10890
10924
  `;
10891
- var Select = (0, import_react49.forwardRef)(
10925
+ var Select = (0, import_react50.forwardRef)(
10892
10926
  ({
10893
10927
  colorScheme = "inherit",
10894
10928
  children,
@@ -10937,7 +10971,7 @@ Select.displayName = "Select";
10937
10971
 
10938
10972
  // src/components/Select/SelectOption.tsx
10939
10973
  var import_react_select2 = require("@radix-ui/react-select");
10940
- var import_react50 = require("react");
10974
+ var import_react51 = require("react");
10941
10975
  var import_styled_components70 = __toESM(require("styled-components"));
10942
10976
  var import_jsx_runtime247 = require("react/jsx-runtime");
10943
10977
  var StyledItem = (0, import_styled_components70.default)(import_react_select2.Item)`
@@ -10966,7 +11000,7 @@ var StyledItem = (0, import_styled_components70.default)(import_react_select2.It
10966
11000
  var StyledIconContainer = import_styled_components70.default.span`
10967
11001
  width: 12px;
10968
11002
  `;
10969
- var SelectOption = (0, import_react50.forwardRef)(
11003
+ var SelectOption = (0, import_react51.forwardRef)(
10970
11004
  ({ children, ...props }, forwardedRef) => {
10971
11005
  return /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(
10972
11006
  StyledItem,
@@ -11011,7 +11045,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
11011
11045
  };
11012
11046
 
11013
11047
  // src/components/Switch/Switch.tsx
11014
- var import_react51 = require("react");
11048
+ var import_react52 = require("react");
11015
11049
  var import_styled_components72 = __toESM(require("styled-components"));
11016
11050
  var import_type_guards42 = require("@wistia/type-guards");
11017
11051
  var import_jsx_runtime249 = require("react/jsx-runtime");
@@ -11116,7 +11150,7 @@ var StyledHiddenSwitchInput = import_styled_components72.default.input`
11116
11150
  }
11117
11151
  }
11118
11152
  `;
11119
- var Switch = (0, import_react51.forwardRef)(
11153
+ var Switch = (0, import_react52.forwardRef)(
11120
11154
  ({
11121
11155
  checked,
11122
11156
  disabled = false,
@@ -11131,7 +11165,7 @@ var Switch = (0, import_react51.forwardRef)(
11131
11165
  hideLabel = false,
11132
11166
  ...props
11133
11167
  }, ref) => {
11134
- const generatedId = (0, import_react51.useId)();
11168
+ const generatedId = (0, import_react52.useId)();
11135
11169
  const computedId = (0, import_type_guards42.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
11136
11170
  return /* @__PURE__ */ (0, import_jsx_runtime249.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
11137
11171
  /* @__PURE__ */ (0, import_jsx_runtime249.jsx)(
@@ -11213,8 +11247,8 @@ var Table = ({
11213
11247
  var import_styled_components74 = __toESM(require("styled-components"));
11214
11248
 
11215
11249
  // src/components/Table/TableSectionContext.ts
11216
- var import_react52 = require("react");
11217
- var TableSectionContext = (0, import_react52.createContext)(null);
11250
+ var import_react53 = require("react");
11251
+ var TableSectionContext = (0, import_react53.createContext)(null);
11218
11252
 
11219
11253
  // src/components/Table/TableBody.tsx
11220
11254
  var import_jsx_runtime251 = require("react/jsx-runtime");
@@ -11224,7 +11258,7 @@ var TableBody = ({ children, ...props }) => {
11224
11258
  };
11225
11259
 
11226
11260
  // src/components/Table/TableCell.tsx
11227
- var import_react53 = require("react");
11261
+ var import_react54 = require("react");
11228
11262
  var import_styled_components75 = __toESM(require("styled-components"));
11229
11263
  var import_jsx_runtime252 = require("react/jsx-runtime");
11230
11264
  var sharedStyles = import_styled_components75.css`
@@ -11245,7 +11279,7 @@ var StyledTd = import_styled_components75.default.td`
11245
11279
  line-height: var(--wui-typography-body-2-line-height);
11246
11280
  `;
11247
11281
  var TableCell = ({ children, ...props }) => {
11248
- const section = (0, import_react53.useContext)(TableSectionContext);
11282
+ const section = (0, import_react54.useContext)(TableSectionContext);
11249
11283
  if (section === "head") {
11250
11284
  return /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(StyledTh, { ...props, children });
11251
11285
  }
@@ -11277,7 +11311,7 @@ var TableRow = ({ children, ...props }) => {
11277
11311
  };
11278
11312
 
11279
11313
  // src/components/Tabs/Tabs.tsx
11280
- var import_react58 = require("react");
11314
+ var import_react59 = require("react");
11281
11315
  var import_react_tabs4 = require("@radix-ui/react-tabs");
11282
11316
  var import_type_guards44 = require("@wistia/type-guards");
11283
11317
  var import_styled_components83 = __toESM(require("styled-components"));
@@ -11332,17 +11366,17 @@ var TabList = ({
11332
11366
  TabList.displayName = "TabList";
11333
11367
 
11334
11368
  // src/components/Tabs/TabItem.tsx
11335
- var import_react55 = require("react");
11369
+ var import_react56 = require("react");
11336
11370
  var import_styled_components81 = __toESM(require("styled-components"));
11337
11371
  var import_react_tabs3 = require("@radix-ui/react-tabs");
11338
11372
  var import_type_guards43 = require("@wistia/type-guards");
11339
11373
 
11340
11374
  // src/components/Tabs/useTabsValue.tsx
11341
- var import_react54 = require("react");
11342
- var TabsValueContext = (0, import_react54.createContext)(null);
11375
+ var import_react55 = require("react");
11376
+ var TabsValueContext = (0, import_react55.createContext)(null);
11343
11377
  var TabsValueProvider = TabsValueContext.Provider;
11344
11378
  var useTabsValue = () => {
11345
- const context = (0, import_react54.useContext)(TabsValueContext);
11379
+ const context = (0, import_react55.useContext)(TabsValueContext);
11346
11380
  if (context === null) {
11347
11381
  throw new Error("useTabsValue must be used within a TabsValueProvider");
11348
11382
  }
@@ -11358,13 +11392,13 @@ var StyledTabItem = (0, import_styled_components81.default)(import_react_tabs3.T
11358
11392
  outline: none;
11359
11393
  }
11360
11394
  `;
11361
- var TabItem = (0, import_react55.forwardRef)(
11395
+ var TabItem = (0, import_react56.forwardRef)(
11362
11396
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11363
11397
  const selectedValue = useTabsValue();
11364
11398
  const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11365
- const buttonRef = (0, import_react55.useRef)(null);
11399
+ const buttonRef = (0, import_react56.useRef)(null);
11366
11400
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11367
- (0, import_react55.useEffect)(() => {
11401
+ (0, import_react56.useEffect)(() => {
11368
11402
  const buttonElem = buttonRef.current;
11369
11403
  if (!buttonElem) {
11370
11404
  return void 0;
@@ -11408,16 +11442,16 @@ var TabItem = (0, import_react55.forwardRef)(
11408
11442
  TabItem.displayName = "TabItem";
11409
11443
 
11410
11444
  // src/components/Tabs/extractTabItems.ts
11411
- var import_react56 = require("react");
11445
+ var import_react57 = require("react");
11412
11446
  var extractTabItems = (children) => {
11413
11447
  const tabItems = [];
11414
- import_react56.Children.forEach(children, (child) => {
11415
- if (!(0, import_react56.isValidElement)(child)) {
11448
+ import_react57.Children.forEach(children, (child) => {
11449
+ if (!(0, import_react57.isValidElement)(child)) {
11416
11450
  return;
11417
11451
  }
11418
11452
  if (typeof child.type !== "string" && child.type.displayName === "Tab") {
11419
11453
  tabItems.push(child);
11420
- } else if (child.type === import_react56.Fragment) {
11454
+ } else if (child.type === import_react57.Fragment) {
11421
11455
  const fragmentElement = child;
11422
11456
  tabItems.push(...extractTabItems(fragmentElement.props.children));
11423
11457
  } else if ((child.props.children ?? null) != null) {
@@ -11430,7 +11464,7 @@ var extractTabItems = (children) => {
11430
11464
  };
11431
11465
 
11432
11466
  // src/components/Tabs/SelectedItemIndicator.tsx
11433
- var import_react57 = require("react");
11467
+ var import_react58 = require("react");
11434
11468
  var import_styled_components82 = __toESM(require("styled-components"));
11435
11469
  var import_jsx_runtime259 = require("react/jsx-runtime");
11436
11470
  var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(SelectedItemIndicatorDiv)`
@@ -11441,7 +11475,7 @@ var TabsSelectedItemIndicatorDiv = (0, import_styled_components82.default)(Selec
11441
11475
  var SelectedItemIndicator2 = () => {
11442
11476
  const { selectedItemMeasurements } = useSelectedItemMeasurements();
11443
11477
  const selectedValue = useTabsValue();
11444
- const selectedItemIndicatorStyle = (0, import_react57.useMemo)(
11478
+ const selectedItemIndicatorStyle = (0, import_react58.useMemo)(
11445
11479
  () => selectedItemMeasurements != null ? {
11446
11480
  height: `${selectedItemMeasurements.offsetHeight}px`,
11447
11481
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
@@ -11482,7 +11516,7 @@ var StyledTabsRoot = (0, import_styled_components83.default)(import_react_tabs4.
11482
11516
  flex-direction: column;
11483
11517
  height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
11484
11518
  `;
11485
- var Tabs = (0, import_react58.forwardRef)(
11519
+ var Tabs = (0, import_react59.forwardRef)(
11486
11520
  ({
11487
11521
  children,
11488
11522
  fullWidth = true,
@@ -11494,7 +11528,7 @@ var Tabs = (0, import_react58.forwardRef)(
11494
11528
  ...otherProps
11495
11529
  }, ref) => {
11496
11530
  const tabItems = extractTabItems(children);
11497
- const [internalSelectedValue, setInternalSelectedValue] = (0, import_react58.useState)(defaultSelectedValue);
11531
+ const [internalSelectedValue, setInternalSelectedValue] = (0, import_react59.useState)(defaultSelectedValue);
11498
11532
  const modeProps = defaultSelectedValue !== void 0 ? {
11499
11533
  defaultValue: defaultSelectedValue,
11500
11534
  onValueChange: setInternalSelectedValue
@@ -11580,15 +11614,15 @@ var Tabs = (0, import_react58.forwardRef)(
11580
11614
  Tabs.displayName = "Tabs";
11581
11615
 
11582
11616
  // src/components/Tabs/Tab.tsx
11583
- var import_react59 = require("react");
11617
+ var import_react60 = require("react");
11584
11618
  var import_jsx_runtime261 = require("react/jsx-runtime");
11585
- var Tab = (0, import_react59.forwardRef)(({ children }, ref) => {
11619
+ var Tab = (0, import_react60.forwardRef)(({ children }, ref) => {
11586
11620
  return /* @__PURE__ */ (0, import_jsx_runtime261.jsx)("div", { ref, children });
11587
11621
  });
11588
11622
  Tab.displayName = "Tab";
11589
11623
 
11590
11624
  // src/components/Tag/Tag.tsx
11591
- var import_react60 = require("react");
11625
+ var import_react61 = require("react");
11592
11626
  var import_styled_components84 = __toESM(require("styled-components"));
11593
11627
  var import_type_guards45 = require("@wistia/type-guards");
11594
11628
  var import_jsx_runtime262 = require("react/jsx-runtime");
@@ -11705,7 +11739,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
11705
11739
  )
11706
11740
  ] });
11707
11741
  };
11708
- var Tag = (0, import_react60.forwardRef)(
11742
+ var Tag = (0, import_react61.forwardRef)(
11709
11743
  ({
11710
11744
  onClickRemove,
11711
11745
  colorScheme = "inherit",
@@ -11963,6 +11997,7 @@ WistiaLogo.displayName = "WistiaLogo";
11963
11997
  useFormState,
11964
11998
  useImperativeFilePicker,
11965
11999
  useKey,
12000
+ useLocalStorage,
11966
12001
  useMq,
11967
12002
  useToast,
11968
12003
  useWindowSize