@wistia/ui 0.4.2-beta.95ff7209.e6cccb0 → 0.4.2-beta.9d135bdd.3003cc8

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.4.2-beta.95ff7209.e6cccb0
3
+ * @license @wistia/ui v0.4.2-beta.9d135bdd.3003cc8
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -90,6 +90,7 @@ __export(index_exports, {
90
90
  mq: () => mq,
91
91
  useActiveMq: () => useActiveMq,
92
92
  useAriaLive: () => useAriaLive,
93
+ useBoolean: () => useBoolean,
93
94
  useFormState: () => useFormState,
94
95
  useMq: () => useMq,
95
96
  useToast: () => useToast,
@@ -1556,11 +1557,21 @@ var mq = {
1556
1557
  xlAndDown
1557
1558
  };
1558
1559
 
1560
+ // src/hooks/useBoolean/useBoolean.ts
1561
+ var import_react3 = require("react");
1562
+ var useBoolean = (initialValue = false) => {
1563
+ const [value, setValue] = (0, import_react3.useState)(initialValue);
1564
+ const toggle = (0, import_react3.useCallback)(() => setValue((val) => !val), []);
1565
+ const setTrue = (0, import_react3.useCallback)(() => setValue(true), []);
1566
+ const setFalse = (0, import_react3.useCallback)(() => setValue(false), []);
1567
+ return [value, toggle, setTrue, setFalse, setValue];
1568
+ };
1569
+
1559
1570
  // src/hooks/useMq/useMq.ts
1560
1571
  var import_type_guards3 = require("@wistia/type-guards");
1561
1572
 
1562
1573
  // src/hooks/useWindowSize/useWindowSize.ts
1563
- var import_react3 = require("react");
1574
+ var import_react4 = require("react");
1564
1575
  var import_throttle_debounce = require("throttle-debounce");
1565
1576
 
1566
1577
  // src/private/helpers/isClient/isClient.ts
@@ -1568,11 +1579,11 @@ var isClient = () => typeof window !== "undefined" && typeof document !== "undef
1568
1579
 
1569
1580
  // src/hooks/useWindowSize/useWindowSize.ts
1570
1581
  var useWindowSize = (interval = 0) => {
1571
- const [dimensions, setDimensions] = (0, import_react3.useState)({
1582
+ const [dimensions, setDimensions] = (0, import_react4.useState)({
1572
1583
  width: isClient() ? window.innerWidth : 0,
1573
1584
  height: isClient() ? window.innerHeight : 0
1574
1585
  });
1575
- (0, import_react3.useLayoutEffect)(() => {
1586
+ (0, import_react4.useLayoutEffect)(() => {
1576
1587
  const handleResize = (0, import_throttle_debounce.debounce)(
1577
1588
  interval,
1578
1589
  () => setDimensions({
@@ -1624,11 +1635,11 @@ var useActiveMq = () => {
1624
1635
  };
1625
1636
 
1626
1637
  // src/hooks/useToast/useToast.tsx
1627
- var import_react5 = require("react");
1638
+ var import_react6 = require("react");
1628
1639
  var import_sonner2 = require("sonner");
1629
1640
 
1630
1641
  // src/private/components/Toast/Toast.tsx
1631
- var import_react4 = require("react");
1642
+ var import_react5 = require("react");
1632
1643
  var import_styled_components13 = __toESM(require("styled-components"));
1633
1644
  var import_type_guards5 = require("@wistia/type-guards");
1634
1645
 
@@ -1849,8 +1860,8 @@ var StyledToast = import_styled_components13.default.div`
1849
1860
  }
1850
1861
  `;
1851
1862
  var Action = ({ actionButton }) => {
1852
- if ((0, import_type_guards5.isNotNil)(actionButton) && (0, import_react4.isValidElement)(actionButton)) {
1853
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react4.cloneElement)(actionButton, {
1863
+ if ((0, import_type_guards5.isNotNil)(actionButton) && (0, import_react5.isValidElement)(actionButton)) {
1864
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react5.cloneElement)(actionButton, {
1854
1865
  variant: "soft",
1855
1866
  // force Button variant
1856
1867
  size: "sm"
@@ -1886,7 +1897,7 @@ Toast.displayName = "Toast";
1886
1897
  // src/hooks/useToast/useToast.tsx
1887
1898
  var import_jsx_runtime6 = require("react/jsx-runtime");
1888
1899
  var useToast = () => {
1889
- return (0, import_react5.useCallback)(
1900
+ return (0, import_react6.useCallback)(
1890
1901
  ({ message, action, colorScheme, icon, position = "bottom-left", duration = 3e3 }) => {
1891
1902
  import_sonner2.toast.custom(
1892
1903
  () => {
@@ -1908,10 +1919,10 @@ var useToast = () => {
1908
1919
  };
1909
1920
 
1910
1921
  // src/hooks/useAriaLive/useAriaLive.tsx
1911
- var import_react6 = require("react");
1922
+ var import_react7 = require("react");
1912
1923
  var import_type_guards6 = require("@wistia/type-guards");
1913
1924
  var useAriaLive = () => {
1914
- const context = (0, import_react6.useContext)(AriaLiveContext);
1925
+ const context = (0, import_react7.useContext)(AriaLiveContext);
1915
1926
  if ((0, import_type_guards6.isNil)(context)) {
1916
1927
  throw new Error("useAriaLive must be used within an AriaLiveProvider");
1917
1928
  }
@@ -1919,11 +1930,11 @@ var useAriaLive = () => {
1919
1930
  };
1920
1931
 
1921
1932
  // src/components/ActionButton/ActionButton.tsx
1922
- var import_react10 = require("react");
1933
+ var import_react11 = require("react");
1923
1934
  var import_styled_components19 = __toESM(require("styled-components"));
1924
1935
 
1925
1936
  // src/components/Button/Button.tsx
1926
- var import_react9 = require("react");
1937
+ var import_react10 = require("react");
1927
1938
  var import_styled_components18 = __toESM(require("styled-components"));
1928
1939
  var import_type_guards10 = require("@wistia/type-guards");
1929
1940
 
@@ -5290,13 +5301,13 @@ var iconMap = {
5290
5301
 
5291
5302
  // src/private/hooks/useResponsiveProp/useResponsiveProp.ts
5292
5303
  var import_type_guards7 = require("@wistia/type-guards");
5293
- var import_react7 = require("react");
5304
+ var import_react8 = require("react");
5294
5305
  var isResponsiveObject = (values) => {
5295
5306
  return typeof values === "object" && values !== null && !Array.isArray(values) && "base" in values;
5296
5307
  };
5297
5308
  var useResponsiveProp = (values) => {
5298
5309
  const activeMediaQueries = useActiveMq();
5299
- return (0, import_react7.useMemo)(() => {
5310
+ return (0, import_react8.useMemo)(() => {
5300
5311
  if ((0, import_type_guards7.isRecord)(values) && isResponsiveObject(values)) {
5301
5312
  const mq2 = activeMediaQueries.find((key) => key in values);
5302
5313
  return (0, import_type_guards7.isNotUndefined)(mq2) && (0, import_type_guards7.isNotUndefined)(values[mq2]) ? values[mq2] : values.base;
@@ -5363,7 +5374,7 @@ var Icon = ({
5363
5374
  Icon.displayName = "Icon";
5364
5375
 
5365
5376
  // src/components/Link/Link.tsx
5366
- var import_react8 = require("react");
5377
+ var import_react9 = require("react");
5367
5378
  var import_type_guards9 = require("@wistia/type-guards");
5368
5379
  var import_styled_components17 = __toESM(require("styled-components"));
5369
5380
  var import_react_router_dom = require("react-router-dom");
@@ -5391,7 +5402,7 @@ var StyledLink = import_styled_components17.default.a`
5391
5402
  color: var(--wui-color-text-link);
5392
5403
  text-decoration: ${({ $underline }) => $underline ? "underline" : "none"};
5393
5404
  `;
5394
- var Link = (0, import_react8.forwardRef)(
5405
+ var Link = (0, import_react9.forwardRef)(
5395
5406
  ({
5396
5407
  beforeAction,
5397
5408
  children,
@@ -5527,7 +5538,7 @@ var ButtonContent = ({
5527
5538
  )
5528
5539
  ] });
5529
5540
  };
5530
- var Button = (0, import_react9.forwardRef)(
5541
+ var Button = (0, import_react10.forwardRef)(
5531
5542
  ({
5532
5543
  children,
5533
5544
  forceState,
@@ -5700,7 +5711,7 @@ var StyledLabel = import_styled_components19.default.span`
5700
5711
  grid-row: 2;
5701
5712
  text-align: left;
5702
5713
  `;
5703
- var ActionButton = (0, import_react10.forwardRef)(
5714
+ var ActionButton = (0, import_react11.forwardRef)(
5704
5715
  ({
5705
5716
  icon,
5706
5717
  colorScheme = "default",
@@ -5744,7 +5755,7 @@ var ActionButton = (0, import_react10.forwardRef)(
5744
5755
  ActionButton.displayName = "ActionButton";
5745
5756
 
5746
5757
  // src/components/Avatar/Avatar.tsx
5747
- var import_react11 = require("react");
5758
+ var import_react12 = require("react");
5748
5759
  var import_type_guards12 = require("@wistia/type-guards");
5749
5760
  var import_styled_components21 = __toESM(require("styled-components"));
5750
5761
 
@@ -5875,7 +5886,7 @@ var Avatar = ({
5875
5886
  onImageLoad,
5876
5887
  ...otherProps
5877
5888
  }) => {
5878
- const [imageLoadState, setImageLoadState] = (0, import_react11.useState)(null);
5889
+ const [imageLoadState, setImageLoadState] = (0, import_react12.useState)(null);
5879
5890
  const handleImageLoad = () => {
5880
5891
  setImageLoadState("loaded");
5881
5892
  onImageLoad?.("image");
@@ -5885,7 +5896,7 @@ var Avatar = ({
5885
5896
  onImageLoad?.("initials");
5886
5897
  };
5887
5898
  const avatarSize = heightAndWidth ?? avatarSizeMap[size];
5888
- const avatarColor = (0, import_react11.useMemo)(() => chooseColorScheme(name), [name]);
5899
+ const avatarColor = (0, import_react12.useMemo)(() => chooseColorScheme(name), [name]);
5889
5900
  const showInitials = (0, import_type_guards12.isNil)(imageUrl) || imageLoadState === "error";
5890
5901
  return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(
5891
5902
  AvatarWrapper,
@@ -5915,7 +5926,7 @@ var Avatar = ({
5915
5926
  Avatar.displayName = "Avatar";
5916
5927
 
5917
5928
  // src/components/Badge/Badge.tsx
5918
- var import_react12 = require("react");
5929
+ var import_react13 = require("react");
5919
5930
  var import_styled_components22 = __toESM(require("styled-components"));
5920
5931
  var import_type_guards13 = require("@wistia/type-guards");
5921
5932
  var import_jsx_runtime166 = require("react/jsx-runtime");
@@ -5939,7 +5950,7 @@ var StyledBadge = import_styled_components22.default.div`
5939
5950
  width: 12px;
5940
5951
  }
5941
5952
  `;
5942
- var Badge = (0, import_react12.forwardRef)(
5953
+ var Badge = (0, import_react13.forwardRef)(
5943
5954
  ({ colorScheme = "inherit", label, icon, ...otherProps }, ref) => {
5944
5955
  const hasIcon = (0, import_type_guards13.isNotNil)(icon);
5945
5956
  return /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(
@@ -5960,7 +5971,7 @@ var Badge = (0, import_react12.forwardRef)(
5960
5971
  Badge.displayName = "Badge";
5961
5972
 
5962
5973
  // src/components/Box/Box.tsx
5963
- var import_react13 = require("react");
5974
+ var import_react14 = require("react");
5964
5975
  var import_styled_components23 = __toESM(require("styled-components"));
5965
5976
  var import_type_guards14 = require("@wistia/type-guards");
5966
5977
  var import_jsx_runtime167 = require("react/jsx-runtime");
@@ -6027,13 +6038,13 @@ var BoxComponent = import_styled_components23.default.div`
6027
6038
  var wrapChildren = (children) => {
6028
6039
  if ((0, import_type_guards14.isNotNil)(children)) {
6029
6040
  if (typeof children === "object" && isDev) {
6030
- return import_react13.Children.map(children, (child) => {
6041
+ return import_react14.Children.map(children, (child) => {
6031
6042
  if ((0, import_type_guards14.isNil)(child)) return null;
6032
6043
  const elementParams = {};
6033
6044
  if (child.type?.displayName === "Box" || child.type?.displayName === "Box_UI") {
6034
6045
  elementParams.hasBoxParent = true;
6035
6046
  }
6036
- return (0, import_react13.cloneElement)(child, elementParams);
6047
+ return (0, import_react14.cloneElement)(child, elementParams);
6037
6048
  });
6038
6049
  }
6039
6050
  return children;
@@ -6194,7 +6205,7 @@ var Card = ({
6194
6205
  Card.displayName = "Card";
6195
6206
 
6196
6207
  // src/components/Checkbox/Checkbox.tsx
6197
- var import_react15 = require("react");
6208
+ var import_react16 = require("react");
6198
6209
  var import_react_checkbox = require("@radix-ui/react-checkbox");
6199
6210
  var import_styled_components29 = __toESM(require("styled-components"));
6200
6211
  var import_type_guards17 = require("@wistia/type-guards");
@@ -6203,7 +6214,7 @@ var import_type_guards17 = require("@wistia/type-guards");
6203
6214
  var import_styled_components27 = __toESM(require("styled-components"));
6204
6215
 
6205
6216
  // src/components/Heading/Heading.tsx
6206
- var import_react14 = require("react");
6217
+ var import_react15 = require("react");
6207
6218
  var import_styled_components26 = __toESM(require("styled-components"));
6208
6219
 
6209
6220
  // src/private/helpers/makePolymorphic/makePolymorphic.tsx
@@ -6297,7 +6308,7 @@ var variantElementMap = {
6297
6308
  heading5: "h5",
6298
6309
  heading6: "h6"
6299
6310
  };
6300
- var HeadingComponent = (0, import_react14.forwardRef)(
6311
+ var HeadingComponent = (0, import_react15.forwardRef)(
6301
6312
  ({
6302
6313
  align = "left",
6303
6314
  colorScheme = "inherit",
@@ -6478,7 +6489,7 @@ var StyledLabelWrapper = import_styled_components29.default.div`
6478
6489
  flex-direction: column;
6479
6490
  margin-left: var(--wui-space-02);
6480
6491
  `;
6481
- var Checkbox = (0, import_react15.forwardRef)(
6492
+ var Checkbox = (0, import_react16.forwardRef)(
6482
6493
  ({
6483
6494
  checked,
6484
6495
  disabled = false,
@@ -6492,7 +6503,7 @@ var Checkbox = (0, import_react15.forwardRef)(
6492
6503
  value = "false",
6493
6504
  ...otherProps
6494
6505
  }, ref) => {
6495
- const generatedId = (0, import_react15.useId)();
6506
+ const generatedId = (0, import_react16.useId)();
6496
6507
  const computedId = (0, import_type_guards17.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-group-${generatedId}`;
6497
6508
  return /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)(StyledCheckboxWrapper, { children: [
6498
6509
  /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(
@@ -6584,12 +6595,12 @@ var Divider = ({
6584
6595
  Divider.displayName = "Divider";
6585
6596
 
6586
6597
  // src/components/Form/Form.tsx
6587
- var import_react17 = require("react");
6598
+ var import_react18 = require("react");
6588
6599
  var import_styled_components32 = __toESM(require("styled-components"));
6589
6600
  var import_type_guards18 = require("@wistia/type-guards");
6590
6601
 
6591
6602
  // src/components/Stack/Stack.tsx
6592
- var import_react16 = require("react");
6603
+ var import_react17 = require("react");
6593
6604
  var import_styled_components31 = __toESM(require("styled-components"));
6594
6605
  var import_jsx_runtime175 = require("react/jsx-runtime");
6595
6606
  var DEFAULT_ELEMENT2 = "div";
@@ -6598,7 +6609,7 @@ var StyledStack = import_styled_components31.default.div`
6598
6609
  flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
6599
6610
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
6600
6611
  `;
6601
- var StackComponent = (0, import_react16.forwardRef)(
6612
+ var StackComponent = (0, import_react17.forwardRef)(
6602
6613
  ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
6603
6614
  const responsiveGap = useResponsiveProp(gap);
6604
6615
  const responsiveDirection = useResponsiveProp(direction);
@@ -6625,18 +6636,18 @@ var StyledForm = import_styled_components32.default.form`
6625
6636
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
6626
6637
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
6627
6638
  `;
6628
- var FormContext = (0, import_react17.createContext)({
6639
+ var FormContext = (0, import_react18.createContext)({
6629
6640
  values: {},
6630
6641
  errors: {},
6631
6642
  hasSubmitted: false,
6632
6643
  formId: ""
6633
6644
  });
6634
6645
  var FormComponent = ({ children, action, values = {}, validate, fullWidth = false, ...props }, forwardedRef) => {
6635
- const [errors, setErrors] = (0, import_react17.useState)({});
6636
- const [hasSubmitted, setHasSubmitted] = (0, import_react17.useState)(false);
6637
- const innerRef = (0, import_react17.useRef)();
6646
+ const [errors, setErrors] = (0, import_react18.useState)({});
6647
+ const [hasSubmitted, setHasSubmitted] = (0, import_react18.useState)(false);
6648
+ const innerRef = (0, import_react18.useRef)();
6638
6649
  const ref = forwardedRef ?? innerRef;
6639
- const autoId = (0, import_react17.useId)();
6650
+ const autoId = (0, import_react18.useId)();
6640
6651
  const id = props.id ?? autoId;
6641
6652
  const handleValidate = (nextFormData) => {
6642
6653
  const nextData = Object.fromEntries(nextFormData.entries());
@@ -6678,7 +6689,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
6678
6689
  void action(null);
6679
6690
  }
6680
6691
  };
6681
- const context = (0, import_react17.useMemo)(() => {
6692
+ const context = (0, import_react18.useMemo)(() => {
6682
6693
  return {
6683
6694
  values,
6684
6695
  errors,
@@ -6706,15 +6717,15 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
6706
6717
  );
6707
6718
  };
6708
6719
  FormComponent.displayName = "Form";
6709
- var Form = (0, import_react17.forwardRef)(FormComponent);
6720
+ var Form = (0, import_react18.forwardRef)(FormComponent);
6710
6721
 
6711
6722
  // src/components/Form/useFormState.tsx
6712
- var import_react18 = require("react");
6723
+ var import_react19 = require("react");
6713
6724
  var useFormState = (action, initialData = {}) => {
6714
- const [data, setData] = (0, import_react18.useState)(initialData);
6715
- const [isPending, setIsPending] = (0, import_react18.useState)(false);
6716
- const [error, setError] = (0, import_react18.useState)(null);
6717
- const formAction = (0, import_react18.useCallback)(
6725
+ const [data, setData] = (0, import_react19.useState)(initialData);
6726
+ const [isPending, setIsPending] = (0, import_react19.useState)(false);
6727
+ const [error, setError] = (0, import_react19.useState)(null);
6728
+ const formAction = (0, import_react19.useCallback)(
6718
6729
  async (nextFormData) => {
6719
6730
  if (nextFormData === null) {
6720
6731
  setData(initialData);
@@ -6745,15 +6756,15 @@ var useFormState = (action, initialData = {}) => {
6745
6756
  };
6746
6757
 
6747
6758
  // src/components/Form/FormErrorSummary.tsx
6748
- var import_react19 = require("react");
6759
+ var import_react20 = require("react");
6749
6760
  var import_type_guards19 = require("@wistia/type-guards");
6750
6761
  var import_jsx_runtime177 = require("react/jsx-runtime");
6751
6762
  var ErrorItem = ({ name, error, formId }) => {
6752
6763
  return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Link, { href: `${formId}-${name}`, children: error }) }, name);
6753
6764
  };
6754
6765
  var FormErrorSummary = ({ description }) => {
6755
- const ref = (0, import_react19.useRef)(null);
6756
- const { formId, errors, hasSubmitted } = (0, import_react19.useContext)(FormContext);
6766
+ const ref = (0, import_react20.useRef)(null);
6767
+ const { formId, errors, hasSubmitted } = (0, import_react20.useContext)(FormContext);
6757
6768
  const isValid = Object.keys(errors).length === 0;
6758
6769
  if (isValid || !hasSubmitted) {
6759
6770
  return null;
@@ -6783,12 +6794,12 @@ var FormErrorSummary = ({ description }) => {
6783
6794
  };
6784
6795
 
6785
6796
  // src/components/FormField/FormField.tsx
6786
- var import_react23 = require("react");
6797
+ var import_react24 = require("react");
6787
6798
  var import_styled_components35 = __toESM(require("styled-components"));
6788
6799
  var import_type_guards20 = require("@wistia/type-guards");
6789
6800
 
6790
6801
  // src/components/Text/Text.tsx
6791
- var import_react20 = require("react");
6802
+ var import_react21 = require("react");
6792
6803
  var import_styled_components33 = __toESM(require("styled-components"));
6793
6804
  var import_jsx_runtime178 = require("react/jsx-runtime");
6794
6805
  var bodyBoldStyles = import_styled_components33.css`
@@ -6930,7 +6941,7 @@ var StyledText = import_styled_components33.default.div`
6930
6941
  `}
6931
6942
  `;
6932
6943
  var DEFAULT_ELEMENT3 = "div";
6933
- var TextComponent = (0, import_react20.forwardRef)(
6944
+ var TextComponent = (0, import_react21.forwardRef)(
6934
6945
  ({
6935
6946
  align = "left",
6936
6947
  colorScheme = "inherit",
@@ -6965,11 +6976,11 @@ TextComponent.displayName = "Text";
6965
6976
  var Text = makePolymorphic(TextComponent);
6966
6977
 
6967
6978
  // src/components/FormGroup/CheckboxGroup.tsx
6968
- var import_react22 = require("react");
6979
+ var import_react23 = require("react");
6969
6980
 
6970
6981
  // src/components/FormGroup/FormGroup.tsx
6971
6982
  var import_styled_components34 = __toESM(require("styled-components"));
6972
- var import_react21 = require("react");
6983
+ var import_react22 = require("react");
6973
6984
  var import_jsx_runtime179 = require("react/jsx-runtime");
6974
6985
  var StyledFieldset = import_styled_components34.default.fieldset`
6975
6986
  border: 0;
@@ -6978,7 +6989,7 @@ var StyledLegend = import_styled_components34.default.legend`
6978
6989
  margin-bottom: var(--space-01);
6979
6990
  `;
6980
6991
  var FormGroup = ({ children, label, ...props }) => {
6981
- const ref = (0, import_react21.useRef)();
6992
+ const ref = (0, import_react22.useRef)();
6982
6993
  return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)(
6983
6994
  Stack,
6984
6995
  {
@@ -7003,7 +7014,7 @@ FormGroup.displayName = "FormGroup";
7003
7014
 
7004
7015
  // src/components/FormGroup/CheckboxGroup.tsx
7005
7016
  var import_jsx_runtime180 = require("react/jsx-runtime");
7006
- var CheckboxGroupContext = (0, import_react22.createContext)(null);
7017
+ var CheckboxGroupContext = (0, import_react23.createContext)(null);
7007
7018
  var CheckboxGroup = ({
7008
7019
  children,
7009
7020
  name,
@@ -7011,7 +7022,7 @@ var CheckboxGroup = ({
7011
7022
  value,
7012
7023
  ...props
7013
7024
  }) => {
7014
- const context = (0, import_react22.useMemo)(() => {
7025
+ const context = (0, import_react23.useMemo)(() => {
7015
7026
  return {
7016
7027
  name,
7017
7028
  onChange
@@ -7071,8 +7082,8 @@ var FormField = ({
7071
7082
  value,
7072
7083
  ...props
7073
7084
  }) => {
7074
- const formState = (0, import_react23.useContext)(FormContext);
7075
- const checkboxGroup = (0, import_react23.useContext)(CheckboxGroupContext);
7085
+ const formState = (0, import_react24.useContext)(FormContext);
7086
+ const checkboxGroup = (0, import_react24.useContext)(CheckboxGroupContext);
7076
7087
  const id = props.id ?? `${formState.formId}-${name}`;
7077
7088
  const isInlineLabel = children.type === Checkbox;
7078
7089
  const computedError = error ?? formState.errors[name];
@@ -7107,10 +7118,10 @@ var FormField = ({
7107
7118
  "aria-describedby": (0, import_type_guards20.isNotNil)(error) ? `${id}-error` : void 0
7108
7119
  };
7109
7120
  }
7110
- import_react23.Children.only(children);
7121
+ import_react24.Children.only(children);
7111
7122
  return /* @__PURE__ */ (0, import_jsx_runtime181.jsxs)(StyledFormField, { ...props, children: [
7112
7123
  !isInlineLabel && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(Label, { htmlFor: id, children: label }),
7113
- (0, import_react23.cloneElement)(children, childProps),
7124
+ (0, import_react24.cloneElement)(children, childProps),
7114
7125
  (0, import_type_guards20.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
7115
7126
  ErrorMessages,
7116
7127
  {
@@ -7123,9 +7134,9 @@ var FormField = ({
7123
7134
  FormField.displayName = "FormField";
7124
7135
 
7125
7136
  // src/components/FormGroup/RadioGroup.tsx
7126
- var import_react24 = require("react");
7137
+ var import_react25 = require("react");
7127
7138
  var import_jsx_runtime182 = require("react/jsx-runtime");
7128
- var RadioGroupContext = (0, import_react24.createContext)(null);
7139
+ var RadioGroupContext = (0, import_react25.createContext)(null);
7129
7140
  var RadioGroup = ({
7130
7141
  children,
7131
7142
  name,
@@ -7133,7 +7144,7 @@ var RadioGroup = ({
7133
7144
  value,
7134
7145
  ...props
7135
7146
  }) => {
7136
- const context = (0, import_react24.useMemo)(() => {
7147
+ const context = (0, import_react25.useMemo)(() => {
7137
7148
  return {
7138
7149
  name,
7139
7150
  onChange
@@ -7144,7 +7155,7 @@ var RadioGroup = ({
7144
7155
  RadioGroup.displayName = "RadioGroup";
7145
7156
 
7146
7157
  // src/components/IconButton/IconButton.tsx
7147
- var import_react25 = require("react");
7158
+ var import_react26 = require("react");
7148
7159
  var import_styled_components36 = __toESM(require("styled-components"));
7149
7160
  var import_jsx_runtime183 = require("react/jsx-runtime");
7150
7161
  var StyledButton2 = (0, import_styled_components36.default)(Button)`
@@ -7161,7 +7172,7 @@ var StyledButton2 = (0, import_styled_components36.default)(Button)`
7161
7172
  align-items: center;
7162
7173
  line-height: 1;
7163
7174
  `;
7164
- var IconButton = (0, import_react25.forwardRef)(
7175
+ var IconButton = (0, import_react26.forwardRef)(
7165
7176
  ({ children, label, size = "md", ...props }, ref) => {
7166
7177
  const responsiveSize = useResponsiveProp(size);
7167
7178
  return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
@@ -7172,7 +7183,7 @@ var IconButton = (0, import_react25.forwardRef)(
7172
7183
  "aria-label": label,
7173
7184
  "data-wistia-ui-icon-button": true,
7174
7185
  size: responsiveSize,
7175
- children: (0, import_react25.cloneElement)(import_react25.Children.only(children), {
7186
+ children: (0, import_react26.cloneElement)(import_react26.Children.only(children), {
7176
7187
  size: responsiveSize
7177
7188
  })
7178
7189
  }
@@ -7182,7 +7193,7 @@ var IconButton = (0, import_react25.forwardRef)(
7182
7193
  IconButton.displayName = "IconButton";
7183
7194
 
7184
7195
  // src/components/Input/Input.tsx
7185
- var import_react26 = require("react");
7196
+ var import_react27 = require("react");
7186
7197
  var import_styled_components37 = __toESM(require("styled-components"));
7187
7198
  var import_type_guards21 = require("@wistia/type-guards");
7188
7199
  var import_jsx_runtime184 = require("react/jsx-runtime");
@@ -7274,7 +7285,7 @@ var StyledInputContainer = import_styled_components37.default.div`
7274
7285
  var isValidRef = (ref) => {
7275
7286
  return typeof ref === "object" && ref !== null && "current" in ref && (0, import_type_guards21.isNotNil)(ref.current);
7276
7287
  };
7277
- var Input = (0, import_react26.forwardRef)(
7288
+ var Input = (0, import_react27.forwardRef)(
7278
7289
  ({
7279
7290
  fullWidth = false,
7280
7291
  monospace = false,
@@ -7284,21 +7295,21 @@ var Input = (0, import_react26.forwardRef)(
7284
7295
  rightIcon,
7285
7296
  ...props
7286
7297
  }, externalRef) => {
7287
- const internalRef = (0, import_react26.useRef)();
7298
+ const internalRef = (0, import_react27.useRef)();
7288
7299
  const ref = isValidRef(externalRef) ? externalRef : internalRef;
7289
7300
  let leftIconToDisplay = leftIcon;
7290
7301
  if ((0, import_type_guards21.isNil)(leftIcon) && type === "search") {
7291
7302
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(Icon, { type: "search" });
7292
7303
  }
7293
7304
  if ((0, import_type_guards21.isNotNil)(leftIconToDisplay)) {
7294
- leftIconToDisplay = (0, import_react26.cloneElement)(leftIconToDisplay, {
7305
+ leftIconToDisplay = (0, import_react27.cloneElement)(leftIconToDisplay, {
7295
7306
  size: "md",
7296
7307
  className: "wui-input-left-icon"
7297
7308
  });
7298
7309
  }
7299
7310
  let rightIconToDisplay = rightIcon;
7300
7311
  if ((0, import_type_guards21.isNotNil)(rightIconToDisplay)) {
7301
- rightIconToDisplay = (0, import_react26.cloneElement)(rightIconToDisplay, {
7312
+ rightIconToDisplay = (0, import_react27.cloneElement)(rightIconToDisplay, {
7302
7313
  size: "md",
7303
7314
  className: "wui-input-right-icon"
7304
7315
  });
@@ -7518,13 +7529,13 @@ var MenuLabel = ({ children, ...props }) => {
7518
7529
  MenuLabel.displayName = "MenuLabel";
7519
7530
 
7520
7531
  // src/components/Menu/SubMenu.tsx
7521
- var import_react28 = require("react");
7532
+ var import_react29 = require("react");
7522
7533
  var import_styled_components42 = __toESM(require("styled-components"));
7523
7534
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
7524
7535
  var import_type_guards24 = require("@wistia/type-guards");
7525
7536
 
7526
7537
  // src/components/Menu/MenuItemButton.tsx
7527
- var import_react27 = require("react");
7538
+ var import_react28 = require("react");
7528
7539
  var import_styled_components40 = __toESM(require("styled-components"));
7529
7540
  var import_type_guards23 = require("@wistia/type-guards");
7530
7541
  var import_jsx_runtime187 = require("react/jsx-runtime");
@@ -7596,7 +7607,7 @@ var StyledBadgeContainer = import_styled_components40.default.div`
7596
7607
  font-size: var(--wui-typography-label-4-size);
7597
7608
  color: var(--wui-color-text-secondary);
7598
7609
  `;
7599
- var MenuItemButton = (0, import_react27.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
7610
+ var MenuItemButton = (0, import_react28.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
7600
7611
  let { colorScheme, badge } = props;
7601
7612
  if (appearance === "dangerous") {
7602
7613
  if ((0, import_type_guards23.isNotUndefined)(colorScheme)) {
@@ -7692,7 +7703,7 @@ var SubMenu = ({
7692
7703
  ...props
7693
7704
  }) => {
7694
7705
  const { isSmAndUp } = useMq();
7695
- const [isExpanded, setIsExpanded] = (0, import_react28.useState)(false);
7706
+ const [isExpanded, setIsExpanded] = (0, import_react29.useState)(false);
7696
7707
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime189.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
7697
7708
  /* @__PURE__ */ (0, import_jsx_runtime189.jsxs)(SubMenuTrigger, { ...props, children: [
7698
7709
  /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(MenuItemLabel, { children: label }),
@@ -7720,10 +7731,10 @@ var SubMenu = ({
7720
7731
  SubMenu.displayName = "SubMenu";
7721
7732
 
7722
7733
  // src/components/Menu/MenuItem.tsx
7723
- var import_react29 = require("react");
7734
+ var import_react30 = require("react");
7724
7735
  var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
7725
7736
  var import_jsx_runtime190 = require("react/jsx-runtime");
7726
- var MenuItem = (0, import_react29.forwardRef)(
7737
+ var MenuItem = (0, import_react30.forwardRef)(
7727
7738
  ({ onSelect = () => null, ...props }, ref) => {
7728
7739
  return /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
7729
7740
  import_react_dropdown_menu4.DropdownMenuItem,
@@ -7873,7 +7884,7 @@ var CheckboxMenuItem = ({
7873
7884
  CheckboxMenuItem.displayName = "CheckboxMenuItem";
7874
7885
 
7875
7886
  // src/components/Modal/Modal.tsx
7876
- var import_react33 = require("react");
7887
+ var import_react34 = require("react");
7877
7888
  var import_styled_components48 = __toESM(require("styled-components"));
7878
7889
  var import_react_dialog4 = require("@radix-ui/react-dialog");
7879
7890
  var import_type_guards27 = require("@wistia/type-guards");
@@ -7956,19 +7967,19 @@ var ModalHeader = ({
7956
7967
  };
7957
7968
 
7958
7969
  // src/components/Modal/ModalContent.tsx
7959
- var import_react31 = require("react");
7970
+ var import_react32 = require("react");
7960
7971
  var import_styled_components46 = __toESM(require("styled-components"));
7961
7972
  var import_react_dialog3 = require("@radix-ui/react-dialog");
7962
7973
 
7963
7974
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
7964
- var import_react30 = require("react");
7975
+ var import_react31 = require("react");
7965
7976
  var import_type_guards26 = require("@wistia/type-guards");
7966
7977
  var useFocusRestore = () => {
7967
- const previouslyFocusedRef = (0, import_react30.useRef)(null);
7968
- (0, import_react30.useEffect)(() => {
7978
+ const previouslyFocusedRef = (0, import_react31.useRef)(null);
7979
+ (0, import_react31.useEffect)(() => {
7969
7980
  previouslyFocusedRef.current = document.activeElement;
7970
7981
  }, []);
7971
- (0, import_react30.useEffect)(() => {
7982
+ (0, import_react31.useEffect)(() => {
7972
7983
  return () => {
7973
7984
  if ((0, import_type_guards26.isNotNil)(previouslyFocusedRef.current)) {
7974
7985
  setTimeout(() => {
@@ -8021,7 +8032,7 @@ var StyledModalContent = (0, import_styled_components46.default)(import_react_di
8021
8032
  }
8022
8033
  }
8023
8034
  `;
8024
- var ModalContent = (0, import_react31.forwardRef)(
8035
+ var ModalContent = (0, import_react32.forwardRef)(
8025
8036
  ({ fullHeight, width, children, ...otherProps }, ref) => {
8026
8037
  useFocusRestore();
8027
8038
  return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
@@ -8038,7 +8049,7 @@ var ModalContent = (0, import_react31.forwardRef)(
8038
8049
  );
8039
8050
 
8040
8051
  // src/private/components/Backdrop/Backdrop.tsx
8041
- var import_react32 = require("react");
8052
+ var import_react33 = require("react");
8042
8053
  var import_styled_components47 = __toESM(require("styled-components"));
8043
8054
  var import_jsx_runtime198 = require("react/jsx-runtime");
8044
8055
  var backdropAnimationDuration = 150;
@@ -8076,7 +8087,7 @@ var BackdropComponent = import_styled_components47.default.div`
8076
8087
  }
8077
8088
  }
8078
8089
  `;
8079
- var Backdrop = (0, import_react32.forwardRef)(
8090
+ var Backdrop = (0, import_react33.forwardRef)(
8080
8091
  ({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
8081
8092
  BackdropComponent,
8082
8093
  {
@@ -8097,7 +8108,7 @@ var ModalBody = import_styled_components48.default.div`
8097
8108
  display: flex;
8098
8109
  order: 2;
8099
8110
  `;
8100
- var Modal = (0, import_react33.forwardRef)(
8111
+ var Modal = (0, import_react34.forwardRef)(
8101
8112
  ({
8102
8113
  children,
8103
8114
  fullHeight = false,
@@ -8158,7 +8169,7 @@ var Modal = (0, import_react33.forwardRef)(
8158
8169
  Modal.displayName = "Modal";
8159
8170
 
8160
8171
  // src/components/Radio/Radio.tsx
8161
- var import_react34 = require("react");
8172
+ var import_react35 = require("react");
8162
8173
  var import_styled_components49 = __toESM(require("styled-components"));
8163
8174
  var import_type_guards28 = require("@wistia/type-guards");
8164
8175
  var import_jsx_runtime200 = require("react/jsx-runtime");
@@ -8232,7 +8243,7 @@ var StyledRadioWrapper = import_styled_components49.default.div`
8232
8243
 
8233
8244
  ${({ disabled }) => disabled && disabledStyle2};
8234
8245
  `;
8235
- var Radio = (0, import_react34.forwardRef)(
8246
+ var Radio = (0, import_react35.forwardRef)(
8236
8247
  ({
8237
8248
  checked,
8238
8249
  disabled = false,
@@ -8245,7 +8256,7 @@ var Radio = (0, import_react34.forwardRef)(
8245
8256
  value = "false",
8246
8257
  ...otherProps
8247
8258
  }, ref) => {
8248
- const generatedId = (0, import_react34.useId)();
8259
+ const generatedId = (0, import_react35.useId)();
8249
8260
  const computedId = (0, import_type_guards28.isNonEmptyString)(id) ? id : `ui-radio-${generatedId}`;
8250
8261
  return /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(
8251
8262
  StyledRadioWrapper,
@@ -8288,7 +8299,7 @@ var Radio = (0, import_react34.forwardRef)(
8288
8299
  Radio.displayName = "Radio";
8289
8300
 
8290
8301
  // src/components/Tag/Tag.tsx
8291
- var import_react35 = require("react");
8302
+ var import_react36 = require("react");
8292
8303
  var import_styled_components50 = __toESM(require("styled-components"));
8293
8304
  var import_type_guards29 = require("@wistia/type-guards");
8294
8305
  var import_jsx_runtime201 = require("react/jsx-runtime");
@@ -8394,7 +8405,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
8394
8405
  )
8395
8406
  ] });
8396
8407
  };
8397
- var Tag = (0, import_react35.forwardRef)(
8408
+ var Tag = (0, import_react36.forwardRef)(
8398
8409
  ({ onClickRemove, colorScheme = "inherit", href, label, onClickRemoveLabel, ...otherProps }, ref) => {
8399
8410
  const labelProps = (0, import_type_guards29.isNotNil)(href) && (0, import_type_guards29.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
8400
8411
  return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)(
@@ -8737,6 +8748,7 @@ var Breadcrumb = ({ icon, href, children }) => {
8737
8748
  mq,
8738
8749
  useActiveMq,
8739
8750
  useAriaLive,
8751
+ useBoolean,
8740
8752
  useFormState,
8741
8753
  useMq,
8742
8754
  useToast,