@wistia/ui 0.12.1 → 0.13.0-beta.23444d6e.019a906

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.12.1
3
+ * @license @wistia/ui v0.13.0-beta.23444d6e.019a906
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -61,6 +61,7 @@ __export(index_exports, {
61
61
  ColorSchemeWrapper: () => ColorSchemeWrapper,
62
62
  Combobox: () => Combobox2,
63
63
  ComboboxOption: () => ComboboxOption,
64
+ ContextMenu: () => ContextMenu,
64
65
  DataCard: () => DataCard,
65
66
  DataCardTrend: () => DataCardTrend,
66
67
  DataCards: () => DataCards,
@@ -100,6 +101,8 @@ __export(index_exports, {
100
101
  Popover: () => Popover2,
101
102
  ProgressBar: () => ProgressBar,
102
103
  Radio: () => Radio,
104
+ RadioCard: () => RadioCard,
105
+ RadioCardImage: () => RadioCardImage,
103
106
  RadioGroup: () => RadioGroup,
104
107
  RadioMenuItem: () => RadioMenuItem,
105
108
  ScreenReaderOnly: () => ScreenReaderOnly,
@@ -8934,7 +8937,7 @@ Center.displayName = "Center";
8934
8937
  // src/components/Checkbox/Checkbox.tsx
8935
8938
  var import_react38 = require("react");
8936
8939
  var import_styled_components43 = __toESM(require("styled-components"));
8937
- var import_type_guards30 = require("@wistia/type-guards");
8940
+ var import_type_guards31 = require("@wistia/type-guards");
8938
8941
 
8939
8942
  // src/private/components/FormControlLabel/FormControlLabel.tsx
8940
8943
  var import_styled_components39 = __toESM(require("styled-components"));
@@ -9058,11 +9061,12 @@ FormControlLabel.displayName = "FormControlLabel";
9058
9061
 
9059
9062
  // src/components/FormGroup/CheckboxGroup.tsx
9060
9063
  var import_react37 = require("react");
9061
- var import_type_guards29 = require("@wistia/type-guards");
9064
+ var import_type_guards30 = require("@wistia/type-guards");
9062
9065
 
9063
9066
  // src/components/FormGroup/FormGroup.tsx
9064
9067
  var import_styled_components41 = __toESM(require("styled-components"));
9065
9068
  var import_react35 = require("react");
9069
+ var import_type_guards28 = require("@wistia/type-guards");
9066
9070
 
9067
9071
  // src/components/Stack/Stack.tsx
9068
9072
  var import_react34 = require("react");
@@ -9100,12 +9104,31 @@ var Stack = makePolymorphic(StackComponent);
9100
9104
  var import_jsx_runtime217 = require("react/jsx-runtime");
9101
9105
  var StyledFieldset = import_styled_components41.default.fieldset`
9102
9106
  border: 0;
9107
+
9108
+ /* * {
9109
+ outline: 1px solid red;
9110
+ } */
9103
9111
  `;
9104
9112
  var StyledLegend = import_styled_components41.default.legend`
9105
- margin-bottom: var(--space-01);
9113
+ padding-inline: 0;
9114
+ display: flex;
9115
+ flex-direction: column;
9116
+ gap: var(--wui-space-01);
9117
+ margin-bottom: var(--wui-space-02);
9118
+
9119
+ &:has([data-wui-form-group-description]) {
9120
+ margin-bottom: var(--wui-space-01);
9121
+ }
9106
9122
  `;
9107
- var FormGroup = ({ children, label, ...props }) => {
9123
+ var FormGroup = ({
9124
+ children,
9125
+ label,
9126
+ description,
9127
+ ...props
9128
+ }) => {
9108
9129
  const ref = (0, import_react35.useRef)(null);
9130
+ const hasLabel = (0, import_type_guards28.isNotNil)(label) && (0, import_type_guards28.isNonEmptyString)(label);
9131
+ const hasDescription = (0, import_type_guards28.isNotNil)(description) && (0, import_type_guards28.isNonEmptyString)(description);
9109
9132
  return /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)(
9110
9133
  Stack,
9111
9134
  {
@@ -9113,14 +9136,26 @@ var FormGroup = ({ children, label, ...props }) => {
9113
9136
  ref,
9114
9137
  renderAs: StyledFieldset,
9115
9138
  children: [
9116
- /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
9139
+ hasLabel || hasDescription ? /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)(
9117
9140
  Heading,
9118
9141
  {
9119
9142
  renderAs: StyledLegend,
9120
9143
  variant: "heading5",
9121
- children: label
9144
+ children: [
9145
+ hasLabel ? label : null,
9146
+ hasDescription ? /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
9147
+ Text,
9148
+ {
9149
+ "data-wui-form-group-description": true,
9150
+ prominence: "secondary",
9151
+ renderAs: "span",
9152
+ variant: "body4",
9153
+ children: description
9154
+ }
9155
+ ) : null
9156
+ ]
9122
9157
  }
9123
- ),
9158
+ ) : null,
9124
9159
  children
9125
9160
  ]
9126
9161
  }
@@ -9131,7 +9166,7 @@ FormGroup.displayName = "FormGroup";
9131
9166
  // src/components/Form/Form.tsx
9132
9167
  var import_react36 = require("react");
9133
9168
  var import_styled_components42 = __toESM(require("styled-components"));
9134
- var import_type_guards28 = require("@wistia/type-guards");
9169
+ var import_type_guards29 = require("@wistia/type-guards");
9135
9170
 
9136
9171
  // src/components/Form/serializeFormData.tsx
9137
9172
  var ARRAY_SUFFIX = "[]";
@@ -9180,7 +9215,7 @@ var Form = (0, import_react36.forwardRef)(
9180
9215
  const id = props.id ?? autoId;
9181
9216
  const handleValidate = (nextFormData) => {
9182
9217
  const nextData = serializeFormData(nextFormData);
9183
- if ((0, import_type_guards28.isUndefined)(validate)) {
9218
+ if ((0, import_type_guards29.isUndefined)(validate)) {
9184
9219
  return {};
9185
9220
  }
9186
9221
  return validate(nextData);
@@ -9190,7 +9225,7 @@ var Form = (0, import_react36.forwardRef)(
9190
9225
  props.onBlur(event);
9191
9226
  }
9192
9227
  const formData = new FormData(event.currentTarget);
9193
- if ((0, import_type_guards28.isNotUndefined)(validate)) {
9228
+ if ((0, import_type_guards29.isNotUndefined)(validate)) {
9194
9229
  handleValidate(formData);
9195
9230
  }
9196
9231
  };
@@ -9263,7 +9298,7 @@ var CheckboxGroup = ({
9263
9298
  ...props
9264
9299
  }) => {
9265
9300
  const formState = (0, import_react37.useContext)(FormContext);
9266
- const derivedValue = (0, import_type_guards29.isArray)(formState.values[name]) ? formState.values[name] : value;
9301
+ const derivedValue = (0, import_type_guards30.isArray)(formState.values[name]) ? formState.values[name] : value;
9267
9302
  const context = (0, import_react37.useMemo)(() => {
9268
9303
  return {
9269
9304
  name: `${name}[]`,
@@ -9391,21 +9426,21 @@ var Checkbox = (0, import_react38.forwardRef)(
9391
9426
  ...props
9392
9427
  }, ref) => {
9393
9428
  const generatedId = (0, import_react38.useId)();
9394
- const computedId = (0, import_type_guards30.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-${generatedId}`;
9429
+ const computedId = (0, import_type_guards31.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-${generatedId}`;
9395
9430
  const checkboxGroupContext = useCheckboxGroup();
9396
9431
  const contextName = checkboxGroupContext?.name;
9397
9432
  const contextOnChange = checkboxGroupContext?.onChange;
9398
9433
  const contextValue = checkboxGroupContext?.value;
9399
9434
  const checkboxName = name ?? contextName;
9400
9435
  const handleOnChange = onChange ?? contextOnChange;
9401
- const defaultChecked = (0, import_type_guards30.isNotUndefined)(value) && contextValue ? contextValue.includes(value) : void 0;
9436
+ const defaultChecked = (0, import_type_guards31.isNotUndefined)(value) && contextValue ? contextValue.includes(value) : void 0;
9402
9437
  return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(StyledCheckboxWrapper, { disabled, children: [
9403
9438
  /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
9404
9439
  StyledHiddenCheckboxInput,
9405
9440
  {
9406
9441
  ...props,
9407
9442
  ref,
9408
- ...(0, import_type_guards30.isNotUndefined)(defaultChecked) ? { defaultChecked } : { checked },
9443
+ ...(0, import_type_guards31.isNotUndefined)(defaultChecked) ? { defaultChecked } : { checked },
9409
9444
  disabled,
9410
9445
  id: computedId,
9411
9446
  name: checkboxName,
@@ -9484,7 +9519,7 @@ ClickRegion.displayName = "ClickRegion";
9484
9519
 
9485
9520
  // src/components/Collapsible/Collapsible.tsx
9486
9521
  var import_react_collapsible = require("@radix-ui/react-collapsible");
9487
- var import_type_guards31 = require("@wistia/type-guards");
9522
+ var import_type_guards32 = require("@wistia/type-guards");
9488
9523
  var import_styled_components44 = __toESM(require("styled-components"));
9489
9524
  var import_jsx_runtime221 = require("react/jsx-runtime");
9490
9525
  var StyledRoot = (0, import_styled_components44.default)(import_react_collapsible.Root)`
@@ -9501,7 +9536,7 @@ var Collapsible = ({
9501
9536
  onOpenChange
9502
9537
  }) => {
9503
9538
  const controlProps = {
9504
- ...(0, import_type_guards31.isNotNil)(onOpenChange) && (0, import_type_guards31.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
9539
+ ...(0, import_type_guards32.isNotNil)(onOpenChange) && (0, import_type_guards32.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
9505
9540
  };
9506
9541
  return /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(StyledRoot, { ...controlProps, children });
9507
9542
  };
@@ -9563,13 +9598,13 @@ CollapsibleTriggerIcon.displayName = "CollapsibleTriggerIcon";
9563
9598
  // src/components/Collapsible/CollapsibleContent.tsx
9564
9599
  var import_styled_components46 = __toESM(require("styled-components"));
9565
9600
  var import_react_collapsible3 = require("@radix-ui/react-collapsible");
9566
- var import_type_guards32 = require("@wistia/type-guards");
9601
+ var import_type_guards33 = require("@wistia/type-guards");
9567
9602
  var import_jsx_runtime224 = require("react/jsx-runtime");
9568
9603
  var ClampedContent = import_styled_components46.default.div`
9569
9604
  --wui-collapsible-content-clamp-lines: ${({ $clamp }) => $clamp};
9570
9605
  `;
9571
9606
  var CollapsibleContent = ({ clamp, children }) => {
9572
- if ((0, import_type_guards32.isNotUndefined)(clamp)) {
9607
+ if ((0, import_type_guards33.isNotUndefined)(clamp)) {
9573
9608
  return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(
9574
9609
  ClampedContent,
9575
9610
  {
@@ -9594,7 +9629,7 @@ var import_styled_components49 = __toESM(require("styled-components"));
9594
9629
  // src/components/Tag/Tag.tsx
9595
9630
  var import_react41 = require("react");
9596
9631
  var import_styled_components47 = __toESM(require("styled-components"));
9597
- var import_type_guards33 = require("@wistia/type-guards");
9632
+ var import_type_guards34 = require("@wistia/type-guards");
9598
9633
  var import_jsx_runtime225 = require("react/jsx-runtime");
9599
9634
  var TagLabel = import_styled_components47.default.a`
9600
9635
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
@@ -9679,10 +9714,10 @@ var StyledTag = import_styled_components47.default.div`
9679
9714
  }
9680
9715
  `;
9681
9716
  var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
9682
- if ((0, import_type_guards33.isNil)(onClickRemove)) {
9717
+ if ((0, import_type_guards34.isNil)(onClickRemove)) {
9683
9718
  return null;
9684
9719
  }
9685
- if ((0, import_type_guards33.isNil)(onClickRemoveLabel)) {
9720
+ if ((0, import_type_guards34.isNil)(onClickRemoveLabel)) {
9686
9721
  throw new Error(
9687
9722
  "for accessibility, onClickRemoveLabel must be provided if onClickRemove is provided"
9688
9723
  );
@@ -9711,8 +9746,8 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
9711
9746
  };
9712
9747
  var Tag = (0, import_react41.forwardRef)(
9713
9748
  ({ onClickRemove, colorScheme = "inherit", href, icon, label, onClickRemoveLabel, ...props }, ref) => {
9714
- const hasIcon = (0, import_type_guards33.isNotNil)(icon);
9715
- const labelProps = (0, import_type_guards33.isNotNil)(href) && (0, import_type_guards33.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
9749
+ const hasIcon = (0, import_type_guards34.isNotNil)(icon);
9750
+ const labelProps = (0, import_type_guards34.isNotNil)(href) && (0, import_type_guards34.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
9716
9751
  return /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(
9717
9752
  StyledTag,
9718
9753
  {
@@ -10022,7 +10057,7 @@ var Combobox2 = ({
10022
10057
  // src/components/DataCards/DataCard.tsx
10023
10058
  var import_react43 = require("react");
10024
10059
  var import_styled_components50 = __toESM(require("styled-components"));
10025
- var import_type_guards34 = require("@wistia/type-guards");
10060
+ var import_type_guards35 = require("@wistia/type-guards");
10026
10061
  var import_jsx_runtime227 = require("react/jsx-runtime");
10027
10062
  var StyledDataCard = import_styled_components50.default.div`
10028
10063
  display: grid;
@@ -10153,8 +10188,8 @@ var DataCardInner = ({
10153
10188
  children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(StyledLoadingValue, {}) : value
10154
10189
  }
10155
10190
  ),
10156
- (0, import_type_guards34.isNotNull)(upperRightSlot) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(StyledSlot, { children: upperRightSlot }),
10157
- (0, import_type_guards34.isNotNull)(trend) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(StyledDataCardTrendContainer, { children: trend })
10191
+ (0, import_type_guards35.isNotNull)(upperRightSlot) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(StyledSlot, { children: upperRightSlot }),
10192
+ (0, import_type_guards35.isNotNull)(trend) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(StyledDataCardTrendContainer, { children: trend })
10158
10193
  ]
10159
10194
  }
10160
10195
  );
@@ -10167,7 +10202,7 @@ var DataCardArrowIcon = /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
10167
10202
  );
10168
10203
  var DataCard = (props) => {
10169
10204
  const ref = (0, import_react43.useRef)(null);
10170
- if ((0, import_type_guards34.isNotNil)(props.href) || (0, import_type_guards34.isNotNil)(props.onClick)) {
10205
+ if ((0, import_type_guards35.isNotNil)(props.href) || (0, import_type_guards35.isNotNil)(props.onClick)) {
10171
10206
  return /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(ClickRegion, { targetRef: ref, children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
10172
10207
  DataCardInner,
10173
10208
  {
@@ -10177,7 +10212,7 @@ var DataCard = (props) => {
10177
10212
  Button,
10178
10213
  {
10179
10214
  ref,
10180
- ...(0, import_type_guards34.isNotNil)(props.beforeAction) ? { beforeAction: props.beforeAction } : {},
10215
+ ...(0, import_type_guards35.isNotNil)(props.beforeAction) ? { beforeAction: props.beforeAction } : {},
10181
10216
  disabled: props.disabled ?? false,
10182
10217
  href: props.href,
10183
10218
  onClick: props.onClick,
@@ -10460,7 +10495,7 @@ Tooltip.displayName = "Tooltip";
10460
10495
  // src/components/Input/Input.tsx
10461
10496
  var import_react44 = require("react");
10462
10497
  var import_styled_components55 = __toESM(require("styled-components"));
10463
- var import_type_guards35 = require("@wistia/type-guards");
10498
+ var import_type_guards36 = require("@wistia/type-guards");
10464
10499
  var import_jsx_runtime232 = require("react/jsx-runtime");
10465
10500
  var inputStyles = import_styled_components55.css`
10466
10501
  ${inputCss}
@@ -10577,27 +10612,27 @@ var Input = (0, import_react44.forwardRef)(
10577
10612
  const internalRef = (0, import_react44.useRef)();
10578
10613
  const ref = (
10579
10614
  // eslint-disable-next-line react-compiler/react-compiler
10580
- (0, import_type_guards35.isNotNil)(externalRef) && (0, import_type_guards35.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
10615
+ (0, import_type_guards36.isNotNil)(externalRef) && (0, import_type_guards36.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
10581
10616
  );
10582
10617
  let leftIconToDisplay = leftIcon;
10583
- if ((0, import_type_guards35.isNil)(leftIcon) && type === "search") {
10618
+ if ((0, import_type_guards36.isNil)(leftIcon) && type === "search") {
10584
10619
  leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Icon, { type: "search" });
10585
10620
  }
10586
- if ((0, import_type_guards35.isNotNil)(leftIconToDisplay)) {
10621
+ if ((0, import_type_guards36.isNotNil)(leftIconToDisplay)) {
10587
10622
  leftIconToDisplay = (0, import_react44.cloneElement)(leftIconToDisplay, {
10588
10623
  size: "md",
10589
10624
  className: "wui-input-left-icon"
10590
10625
  });
10591
10626
  }
10592
10627
  let rightIconToDisplay = rightIcon;
10593
- if ((0, import_type_guards35.isNotNil)(rightIconToDisplay)) {
10628
+ if ((0, import_type_guards36.isNotNil)(rightIconToDisplay)) {
10594
10629
  rightIconToDisplay = (0, import_react44.cloneElement)(rightIconToDisplay, {
10595
10630
  size: "md",
10596
10631
  className: "wui-input-right-icon"
10597
10632
  });
10598
10633
  }
10599
10634
  const handleFocus2 = (event) => {
10600
- if ((0, import_type_guards35.isNotNil)(props.onFocus)) {
10635
+ if ((0, import_type_guards36.isNotNil)(props.onFocus)) {
10601
10636
  props.onFocus(event);
10602
10637
  }
10603
10638
  if (autoSelect && isValidRef(ref) && "current" in ref) {
@@ -10645,11 +10680,13 @@ var StyledInput = (0, import_styled_components56.default)(Input)`
10645
10680
  }
10646
10681
 
10647
10682
  && {
10648
- --wui-input-font-size: var(--wui-typography-heading-1-size);
10649
- --wui-input-font-weight: var(--wui-typography-heading-1-weight);
10650
- --wui-input-line-height: var(--wui-typography-heading-1-line-height);
10683
+ ${({ $variant }) => variantStyleMap[$variant]}
10684
+ /* The input font styles (edit mode) needs the same font styles as Heading */
10685
+ --wui-input-font-size: var(--font-size);
10686
+ --wui-input-font-weight: var(--font-weight);
10687
+ --wui-input-line-height: var(--line-height);
10651
10688
 
10652
- font-family: var(--wui-typography-heading-1-family);
10689
+ font-family: var(--font-family);
10653
10690
  width: 100%;
10654
10691
  padding: var(--wui-space-02);
10655
10692
  border: none;
@@ -10681,6 +10718,7 @@ var EditableHeading = ({
10681
10718
  onEditingChange,
10682
10719
  tooltipText = "Click to edit title",
10683
10720
  ariaLabel = "Edit title",
10721
+ variant = "heading1",
10684
10722
  __forceEditing = false,
10685
10723
  editingDisabled = false
10686
10724
  }) => {
@@ -10727,7 +10765,7 @@ var EditableHeading = ({
10727
10765
  ref: headingRef,
10728
10766
  $editingDisabled: editingDisabled,
10729
10767
  onClick: () => handleSetEditing(true),
10730
- variant: "heading1",
10768
+ variant,
10731
10769
  children: value
10732
10770
  }
10733
10771
  );
@@ -10739,6 +10777,7 @@ var EditableHeading = ({
10739
10777
  StyledInput,
10740
10778
  {
10741
10779
  $height: headingHeight,
10780
+ $variant: variant,
10742
10781
  autoFocus: true,
10743
10782
  fullWidth: true,
10744
10783
  onBlur: handleFinishEditing,
@@ -10804,7 +10843,7 @@ var useFormState = (action, initialData = {}) => {
10804
10843
 
10805
10844
  // src/components/Form/FormErrorSummary.tsx
10806
10845
  var import_react47 = require("react");
10807
- var import_type_guards36 = require("@wistia/type-guards");
10846
+ var import_type_guards37 = require("@wistia/type-guards");
10808
10847
  var import_jsx_runtime234 = require("react/jsx-runtime");
10809
10848
  var ErrorItem = ({ name, error, formId }) => {
10810
10849
  return /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
@@ -10818,8 +10857,8 @@ var FormErrorSummary = ({ description }) => {
10818
10857
  }
10819
10858
  return /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { ref, children: [
10820
10859
  /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("p", { children: description }),
10821
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("ul", { children: Object.entries(errors).filter(([, error]) => (0, import_type_guards36.isNotUndefined)(error)).map(
10822
- ([name, error]) => (0, import_type_guards36.isArray)(error) ? error.map((err) => /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
10860
+ /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("ul", { children: Object.entries(errors).filter(([, error]) => (0, import_type_guards37.isNotUndefined)(error)).map(
10861
+ ([name, error]) => (0, import_type_guards37.isArray)(error) ? error.map((err) => /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
10823
10862
  ErrorItem,
10824
10863
  {
10825
10864
  error: err,
@@ -10843,7 +10882,7 @@ var FormErrorSummary = ({ description }) => {
10843
10882
  // src/components/FormField/FormField.tsx
10844
10883
  var import_react48 = require("react");
10845
10884
  var import_styled_components58 = __toESM(require("styled-components"));
10846
- var import_type_guards37 = require("@wistia/type-guards");
10885
+ var import_type_guards38 = require("@wistia/type-guards");
10847
10886
 
10848
10887
  // src/components/Label/Label.tsx
10849
10888
  var import_styled_components57 = __toESM(require("styled-components"));
@@ -10946,7 +10985,7 @@ var StyledErrorList = import_styled_components58.default.ul`
10946
10985
  gap: var(--wui-space-01);
10947
10986
  `;
10948
10987
  var ErrorMessages = ({ errors, id }) => {
10949
- const isErrorArray = (0, import_type_guards37.isArray)(errors);
10988
+ const isErrorArray = (0, import_type_guards38.isArray)(errors);
10950
10989
  const isMultipleErrors = isErrorArray && errors.length > 1;
10951
10990
  if (!isErrorArray) {
10952
10991
  return /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(
@@ -11014,19 +11053,19 @@ var FormField = ({
11014
11053
  "aria-describedby": ariaDescribedby,
11015
11054
  ...props
11016
11055
  };
11017
- if ((0, import_type_guards37.isUndefined)(value) && (0, import_type_guards37.isNotUndefined)(defaultValue)) {
11056
+ if ((0, import_type_guards38.isUndefined)(value) && (0, import_type_guards38.isNotUndefined)(defaultValue)) {
11018
11057
  childProps = {
11019
11058
  ...childProps,
11020
11059
  defaultValue
11021
11060
  };
11022
11061
  }
11023
- if ((0, import_type_guards37.isNotNil)(checkboxGroup)) {
11024
- const computedName = (0, import_type_guards37.isNotNil)(checkboxGroup.name) ? `${checkboxGroup.name}[${name}]` : name;
11062
+ if ((0, import_type_guards38.isNotNil)(checkboxGroup)) {
11063
+ const computedName = (0, import_type_guards38.isNotNil)(checkboxGroup.name) ? `${checkboxGroup.name}[${name}]` : name;
11025
11064
  const handleChange = (event) => {
11026
- if ((0, import_type_guards37.isNotUndefined)(props.onChange)) {
11065
+ if ((0, import_type_guards38.isNotUndefined)(props.onChange)) {
11027
11066
  props.onChange(event);
11028
11067
  }
11029
- if ((0, import_type_guards37.isNotUndefined)(checkboxGroup.onChange)) {
11068
+ if ((0, import_type_guards38.isNotUndefined)(checkboxGroup.onChange)) {
11030
11069
  checkboxGroup.onChange(event);
11031
11070
  }
11032
11071
  };
@@ -11034,7 +11073,7 @@ var FormField = ({
11034
11073
  ...childProps,
11035
11074
  name: computedName,
11036
11075
  onChange: handleChange,
11037
- "aria-invalid": (0, import_type_guards37.isNotNil)(error)
11076
+ "aria-invalid": (0, import_type_guards38.isNotNil)(error)
11038
11077
  };
11039
11078
  }
11040
11079
  import_react48.Children.only(children);
@@ -11045,9 +11084,9 @@ var FormField = ({
11045
11084
  "data-label-position": labelPosition ?? formState.labelPosition,
11046
11085
  children: [
11047
11086
  !isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(Label, { htmlFor: computedId, children: label }),
11048
- (0, import_type_guards37.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
11087
+ (0, import_type_guards38.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
11049
11088
  (0, import_react48.cloneElement)(children, childProps),
11050
- (0, import_type_guards37.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)(import_jsx_runtime236.Fragment, { children: [
11089
+ (0, import_type_guards38.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)(import_jsx_runtime236.Fragment, { children: [
11051
11090
  /* @__PURE__ */ (0, import_jsx_runtime236.jsx)("div", {}),
11052
11091
  /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(
11053
11092
  ErrorMessages,
@@ -11093,7 +11132,7 @@ RadioGroup.displayName = "RadioGroup";
11093
11132
  // src/components/Grid/Grid.tsx
11094
11133
  var import_react50 = require("react");
11095
11134
  var import_styled_components59 = __toESM(require("styled-components"));
11096
- var import_type_guards38 = require("@wistia/type-guards");
11135
+ var import_type_guards39 = require("@wistia/type-guards");
11097
11136
  var import_jsx_runtime238 = require("react/jsx-runtime");
11098
11137
  var DEFAULT_ELEMENT5 = "div";
11099
11138
  var StyledGrid = import_styled_components59.default.div`
@@ -11138,9 +11177,9 @@ var StyledGrid = import_styled_components59.default.div`
11138
11177
  }}
11139
11178
  `;
11140
11179
  var GridComponent = (0, import_react50.forwardRef)(
11141
- ({ children, columns = "auto", minChildWidth = "auto", gap = "space-04", renderAs, ...props }, ref) => {
11180
+ ({ children, columns = "auto", minChildWidth = "auto", gap = "space-02", renderAs, ...props }, ref) => {
11142
11181
  const responsiveGap = useResponsiveProp(gap);
11143
- const { column, row } = (0, import_type_guards38.isRecord)(responsiveGap) ? responsiveGap : { column: responsiveGap, row: responsiveGap };
11182
+ const { column, row } = (0, import_type_guards39.isRecord)(responsiveGap) ? responsiveGap : { column: responsiveGap, row: responsiveGap };
11144
11183
  const responsiveColumns = useResponsiveProp(columns);
11145
11184
  const responsiveMinChildWidth = useResponsiveProp(minChildWidth);
11146
11185
  return /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
@@ -11164,7 +11203,7 @@ var Grid = makePolymorphic(GridComponent);
11164
11203
  // src/components/InputClickToCopy/InputClickToCopy.tsx
11165
11204
  var import_styled_components60 = __toESM(require("styled-components"));
11166
11205
  var import_react51 = require("react");
11167
- var import_type_guards39 = require("@wistia/type-guards");
11206
+ var import_type_guards40 = require("@wistia/type-guards");
11168
11207
  var import_jsx_runtime239 = require("react/jsx-runtime");
11169
11208
  var StyledInput2 = (0, import_styled_components60.default)(Input)`
11170
11209
  &:not([aria-disabled='true']) {
@@ -11192,12 +11231,12 @@ var InputClickToCopy = (0, import_react51.forwardRef)(
11192
11231
  }, [isCopied]);
11193
11232
  const handleClick = (event) => {
11194
11233
  event.preventDefault();
11195
- if ((0, import_type_guards39.isFunction)(props.onClick)) {
11234
+ if ((0, import_type_guards40.isFunction)(props.onClick)) {
11196
11235
  props.onClick(event);
11197
11236
  }
11198
11237
  void copyToClipboard(value).then(() => {
11199
11238
  setIsCopied(true);
11200
- if ((0, import_type_guards39.isFunction)(onCopy)) {
11239
+ if ((0, import_type_guards40.isFunction)(onCopy)) {
11201
11240
  onCopy(value);
11202
11241
  }
11203
11242
  return value;
@@ -11227,7 +11266,7 @@ InputClickToCopy.displayName = "InputClickToCopy";
11227
11266
 
11228
11267
  // src/components/KeyboardShortcut/KeyboardShortcut.tsx
11229
11268
  var import_styled_components61 = __toESM(require("styled-components"));
11230
- var import_type_guards40 = require("@wistia/type-guards");
11269
+ var import_type_guards41 = require("@wistia/type-guards");
11231
11270
  var import_jsx_runtime240 = require("react/jsx-runtime");
11232
11271
  var StyledKeyboardShortcut = import_styled_components61.default.div`
11233
11272
  align-items: center;
@@ -11321,7 +11360,7 @@ var KeyboardShortcut = ({
11321
11360
  $fullWidth: fullWidth,
11322
11361
  ...otherProps,
11323
11362
  children: [
11324
- (0, import_type_guards40.isNotNil)(label) && /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(Label2, { children: label }),
11363
+ (0, import_type_guards41.isNotNil)(label) && /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(Label2, { children: label }),
11325
11364
  /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(KeysContainer, { children: (Array.isArray(keyboardKeys) ? keyboardKeys : [keyboardKeys]).map((keyboardKey, index) => /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
11326
11365
  StyledKey,
11327
11366
  {
@@ -11335,18 +11374,18 @@ var KeyboardShortcut = ({
11335
11374
  KeyboardShortcut.displayName = "KeyboardShortcut";
11336
11375
 
11337
11376
  // src/components/List/List.tsx
11338
- var import_type_guards42 = require("@wistia/type-guards");
11377
+ var import_type_guards43 = require("@wistia/type-guards");
11339
11378
  var import_styled_components63 = __toESM(require("styled-components"));
11340
11379
 
11341
11380
  // src/components/List/ListItem.tsx
11342
11381
  var import_styled_components62 = __toESM(require("styled-components"));
11343
- var import_type_guards41 = require("@wistia/type-guards");
11382
+ var import_type_guards42 = require("@wistia/type-guards");
11344
11383
  var import_jsx_runtime241 = require("react/jsx-runtime");
11345
11384
  var ListItemComponent = import_styled_components62.default.li`
11346
11385
  margin-bottom: var(--wui-space-02);
11347
11386
  `;
11348
11387
  var ListItem = ({ children }) => {
11349
- if ((0, import_type_guards41.isNil)(children)) {
11388
+ if ((0, import_type_guards42.isNil)(children)) {
11350
11389
  return null;
11351
11390
  }
11352
11391
  return /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(ListItemComponent, { children });
@@ -11476,13 +11515,13 @@ var List = ({
11476
11515
  ...otherProps
11477
11516
  }) => {
11478
11517
  const listVariant = variant ?? "bullets";
11479
- if ((0, import_type_guards42.isNotNil)(children)) {
11518
+ if ((0, import_type_guards43.isNotNil)(children)) {
11480
11519
  if (Array.isArray(children) && !children.length) {
11481
11520
  return null;
11482
11521
  }
11483
11522
  return renderListComponent(children, listVariant, otherProps);
11484
11523
  }
11485
- if ((0, import_type_guards42.isNotNil)(items)) {
11524
+ if ((0, import_type_guards43.isNotNil)(items)) {
11486
11525
  if (!items.length) {
11487
11526
  return null;
11488
11527
  }
@@ -11496,7 +11535,7 @@ List.displayName = "List";
11496
11535
  var import_react53 = require("react");
11497
11536
  var import_styled_components64 = __toESM(require("styled-components"));
11498
11537
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
11499
- var import_type_guards43 = require("@wistia/type-guards");
11538
+ var import_type_guards44 = require("@wistia/type-guards");
11500
11539
 
11501
11540
  // src/components/Menu/MenuContext.tsx
11502
11541
  var import_react52 = require("react");
@@ -11609,7 +11648,7 @@ var Menu = (0, import_react53.forwardRef)(
11609
11648
  }, ref) => {
11610
11649
  const contextValue = (0, import_react53.useMemo)(() => ({ compact }), [compact]);
11611
11650
  let controlProps = {
11612
- ...(0, import_type_guards43.isNotNil)(onOpenChange) && (0, import_type_guards43.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
11651
+ ...(0, import_type_guards44.isNotNil)(onOpenChange) && (0, import_type_guards44.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
11613
11652
  };
11614
11653
  if (disabled) {
11615
11654
  controlProps = {
@@ -11623,7 +11662,7 @@ var Menu = (0, import_react53.forwardRef)(
11623
11662
  modal: false,
11624
11663
  ...controlProps,
11625
11664
  children: [
11626
- /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(import_react_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: (0, import_type_guards43.isNotUndefined)(trigger) ? trigger : /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(
11665
+ /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(import_react_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: (0, import_type_guards44.isNotUndefined)(trigger) ? trigger : /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(
11627
11666
  Button,
11628
11667
  {
11629
11668
  ref,
@@ -11642,10 +11681,11 @@ var Menu = (0, import_react53.forwardRef)(
11642
11681
  $compact: compact,
11643
11682
  align,
11644
11683
  collisionPadding: 8,
11645
- sideOffset: 6,
11646
11684
  onFocusOutside: (event) => {
11647
11685
  event.preventDefault();
11648
11686
  },
11687
+ side: "bottom",
11688
+ sideOffset: 6,
11649
11689
  children
11650
11690
  }
11651
11691
  ) })
@@ -11688,12 +11728,12 @@ MenuLabel.displayName = "MenuLabel";
11688
11728
  var import_react55 = require("react");
11689
11729
  var import_styled_components68 = __toESM(require("styled-components"));
11690
11730
  var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
11691
- var import_type_guards45 = require("@wistia/type-guards");
11731
+ var import_type_guards46 = require("@wistia/type-guards");
11692
11732
 
11693
11733
  // src/components/Menu/MenuItemButton.tsx
11694
11734
  var import_react54 = require("react");
11695
11735
  var import_styled_components66 = __toESM(require("styled-components"));
11696
- var import_type_guards44 = require("@wistia/type-guards");
11736
+ var import_type_guards45 = require("@wistia/type-guards");
11697
11737
  var import_jsx_runtime245 = require("react/jsx-runtime");
11698
11738
  var StyledButton3 = (0, import_styled_components66.default)(Button)`
11699
11739
  ${({ colorScheme }) => getColorScheme(colorScheme)};
@@ -11771,7 +11811,7 @@ var StyledBadgeContainer = import_styled_components66.default.div`
11771
11811
  var MenuItemButton = (0, import_react54.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
11772
11812
  let { colorScheme, badge } = props;
11773
11813
  if (appearance === "dangerous") {
11774
- if ((0, import_type_guards44.isNotUndefined)(colorScheme)) {
11814
+ if ((0, import_type_guards45.isNotUndefined)(colorScheme)) {
11775
11815
  console.warn("colorScheme prop is ignored when appearance is dangerous");
11776
11816
  }
11777
11817
  colorScheme = "error";
@@ -11801,7 +11841,7 @@ var MenuItemButton = (0, import_react54.forwardRef)(({ children, appearance, com
11801
11841
  children: [
11802
11842
  props.leftIcon ? /* @__PURE__ */ (0, import_jsx_runtime245.jsx)(StyledLeftIconContainer, { children: props.leftIcon }) : null,
11803
11843
  /* @__PURE__ */ (0, import_jsx_runtime245.jsx)(StyledLabelAndDescriptionContainer, { children }),
11804
- (0, import_type_guards44.isNotNil)(badge) || (0, import_type_guards44.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime245.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null,
11844
+ (0, import_type_guards45.isNotNil)(badge) || (0, import_type_guards45.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime245.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null,
11805
11845
  props.rightIcon ? /* @__PURE__ */ (0, import_jsx_runtime245.jsx)(StyledRightIconContainer, { children: props.rightIcon }) : null
11806
11846
  ]
11807
11847
  }
@@ -11873,7 +11913,7 @@ var SubMenu = ({
11873
11913
  return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
11874
11914
  /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(SubMenuTrigger, { ...props, children: [
11875
11915
  /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(MenuItemLabel, { children: label }),
11876
- (0, import_type_guards45.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(MenuItemDescription, { children: description }) : null
11916
+ (0, import_type_guards46.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(MenuItemDescription, { children: description }) : null
11877
11917
  ] }),
11878
11918
  /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(import_react_dropdown_menu3.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(SubMenuContent, { $compact: compact, children }) })
11879
11919
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(import_react_dropdown_menu3.DropdownMenuGroup, { children: [
@@ -11965,7 +12005,7 @@ RadioMenuItem.displayName = "RadioMenuItem";
11965
12005
 
11966
12006
  // src/components/Menu/CheckboxMenuItem.tsx
11967
12007
  var import_react_dropdown_menu7 = require("@radix-ui/react-dropdown-menu");
11968
- var import_type_guards46 = require("@wistia/type-guards");
12008
+ var import_type_guards47 = require("@wistia/type-guards");
11969
12009
  var import_jsx_runtime251 = require("react/jsx-runtime");
11970
12010
  var CheckboxIndicator = ({ checked, ...props }) => {
11971
12011
  return checked ? /* @__PURE__ */ (0, import_jsx_runtime251.jsxs)(
@@ -12039,8 +12079,8 @@ var CheckboxMenuItem = ({
12039
12079
  MenuItemButton,
12040
12080
  {
12041
12081
  ...props,
12042
- leftIcon: (0, import_type_guards46.isNotNil)(props.icon) ? props.icon : /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(CheckboxIndicator, { checked }),
12043
- rightIcon: (0, import_type_guards46.isNotNil)(props.icon) ? /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(import_react_dropdown_menu7.DropdownMenuItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(Icon, { type: "checkmark" }) }) : void 0
12082
+ leftIcon: (0, import_type_guards47.isNotNil)(props.icon) ? props.icon : /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(CheckboxIndicator, { checked }),
12083
+ rightIcon: (0, import_type_guards47.isNotNil)(props.icon) ? /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(import_react_dropdown_menu7.DropdownMenuItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(Icon, { type: "checkmark" }) }) : void 0
12044
12084
  }
12045
12085
  )
12046
12086
  }
@@ -12154,7 +12194,7 @@ FilterMenu.displayName = "FilterMenu";
12154
12194
  var import_react60 = require("react");
12155
12195
  var import_styled_components73 = __toESM(require("styled-components"));
12156
12196
  var import_react_dialog5 = require("@radix-ui/react-dialog");
12157
- var import_type_guards48 = require("@wistia/type-guards");
12197
+ var import_type_guards49 = require("@wistia/type-guards");
12158
12198
 
12159
12199
  // src/components/Modal/ModalHeader.tsx
12160
12200
  var import_styled_components70 = __toESM(require("styled-components"));
@@ -12217,7 +12257,7 @@ var import_react_dialog3 = require("@radix-ui/react-dialog");
12217
12257
 
12218
12258
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
12219
12259
  var import_react58 = require("react");
12220
- var import_type_guards47 = require("@wistia/type-guards");
12260
+ var import_type_guards48 = require("@wistia/type-guards");
12221
12261
  var useFocusRestore = () => {
12222
12262
  const previouslyFocusedRef = (0, import_react58.useRef)(null);
12223
12263
  (0, import_react58.useEffect)(() => {
@@ -12225,7 +12265,7 @@ var useFocusRestore = () => {
12225
12265
  }, []);
12226
12266
  (0, import_react58.useEffect)(() => {
12227
12267
  return () => {
12228
- if ((0, import_type_guards47.isNotNil)(previouslyFocusedRef.current)) {
12268
+ if ((0, import_type_guards48.isNotNil)(previouslyFocusedRef.current)) {
12229
12269
  setTimeout(() => {
12230
12270
  previouslyFocusedRef.current?.focus();
12231
12271
  }, 0);
@@ -12437,7 +12477,7 @@ var Modal = (0, import_react60.forwardRef)(
12437
12477
  import_react_dialog5.Root,
12438
12478
  {
12439
12479
  onOpenChange: (open2) => {
12440
- if (!open2 && (0, import_type_guards48.isNotNil)(onRequestClose)) {
12480
+ if (!open2 && (0, import_type_guards49.isNotNil)(onRequestClose)) {
12441
12481
  onRequestClose();
12442
12482
  }
12443
12483
  },
@@ -12449,7 +12489,7 @@ var Modal = (0, import_react60.forwardRef)(
12449
12489
  {
12450
12490
  ref,
12451
12491
  onOpenAutoFocus: (event) => {
12452
- if ((0, import_type_guards48.isNotNil)(initialFocusRef) && initialFocusRef.current) {
12492
+ if ((0, import_type_guards49.isNotNil)(initialFocusRef) && initialFocusRef.current) {
12453
12493
  event.preventDefault();
12454
12494
  requestAnimationFrame(() => {
12455
12495
  initialFocusRef.current?.focus();
@@ -12484,9 +12524,9 @@ var import_react_popover2 = require("@radix-ui/react-popover");
12484
12524
  var import_styled_components75 = __toESM(require("styled-components"));
12485
12525
 
12486
12526
  // src/private/helpers/getControls/getControlProps.tsx
12487
- var import_type_guards49 = require("@wistia/type-guards");
12527
+ var import_type_guards50 = require("@wistia/type-guards");
12488
12528
  var getControlProps = (isOpen, onOpenChange) => {
12489
- return (0, import_type_guards49.isNotNil)(onOpenChange) && (0, import_type_guards49.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {};
12529
+ return (0, import_type_guards50.isNotNil)(onOpenChange) && (0, import_type_guards50.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {};
12490
12530
  };
12491
12531
 
12492
12532
  // src/components/Popover/PopoverArrow.tsx
@@ -12641,7 +12681,7 @@ Popover2.displayName = "Popover";
12641
12681
  // src/components/ProgressBar/ProgressBar.tsx
12642
12682
  var import_styled_components76 = __toESM(require("styled-components"));
12643
12683
  var import_react_progress = require("@radix-ui/react-progress");
12644
- var import_type_guards50 = require("@wistia/type-guards");
12684
+ var import_type_guards51 = require("@wistia/type-guards");
12645
12685
  var import_jsx_runtime259 = require("react/jsx-runtime");
12646
12686
  var ProgressBarWrapper = import_styled_components76.default.div`
12647
12687
  --progress-bar-height: 8px;
@@ -12696,7 +12736,7 @@ var ProgressBar = ({
12696
12736
  ...props
12697
12737
  }) => {
12698
12738
  return /* @__PURE__ */ (0, import_jsx_runtime259.jsxs)(ProgressBarWrapper, { children: [
12699
- (0, import_type_guards50.isNotNil)(labelLeft) ? /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(ProgressBarLabel, { children: labelLeft }) : null,
12739
+ (0, import_type_guards51.isNotNil)(labelLeft) ? /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(ProgressBarLabel, { children: labelLeft }) : null,
12700
12740
  /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(
12701
12741
  StyledProgressBar,
12702
12742
  {
@@ -12712,7 +12752,7 @@ var ProgressBar = ({
12712
12752
  )
12713
12753
  }
12714
12754
  ),
12715
- (0, import_type_guards50.isNotNil)(labelRight) ? /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(ProgressBarLabel, { children: labelRight }) : null
12755
+ (0, import_type_guards51.isNotNil)(labelRight) ? /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(ProgressBarLabel, { children: labelRight }) : null
12716
12756
  ] });
12717
12757
  };
12718
12758
  ProgressBar.displayName = "ProgressBar";
@@ -12720,7 +12760,7 @@ ProgressBar.displayName = "ProgressBar";
12720
12760
  // src/components/Radio/Radio.tsx
12721
12761
  var import_react61 = require("react");
12722
12762
  var import_styled_components77 = __toESM(require("styled-components"));
12723
- var import_type_guards51 = require("@wistia/type-guards");
12763
+ var import_type_guards52 = require("@wistia/type-guards");
12724
12764
  var import_jsx_runtime260 = require("react/jsx-runtime");
12725
12765
  var RadioIcon = () => /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
12726
12766
  "svg",
@@ -12837,14 +12877,14 @@ var Radio = (0, import_react61.forwardRef)(
12837
12877
  ...props
12838
12878
  }, ref) => {
12839
12879
  const generatedId = (0, import_react61.useId)();
12840
- const computedId = (0, import_type_guards51.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
12880
+ const computedId = (0, import_type_guards52.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
12841
12881
  const radioGroupContext = useRadioGroup();
12842
12882
  const contextName = radioGroupContext?.name;
12843
12883
  const contextOnChange = radioGroupContext?.onChange;
12844
12884
  const contextValue = radioGroupContext?.value;
12845
12885
  const radioName = name ?? contextName;
12846
12886
  const handleOnChange = onChange ?? contextOnChange;
12847
- const defaultChecked = (0, import_type_guards51.isNotUndefined)(value) && (0, import_type_guards51.isNotUndefined)(contextValue) ? contextValue.includes(value) : void 0;
12887
+ const defaultChecked = (0, import_type_guards52.isNotUndefined)(value) && (0, import_type_guards52.isNotUndefined)(contextValue) ? contextValue.includes(value) : void 0;
12848
12888
  return /* @__PURE__ */ (0, import_jsx_runtime260.jsxs)(
12849
12889
  StyledRadioWrapper,
12850
12890
  {
@@ -12863,7 +12903,7 @@ var Radio = (0, import_react61.forwardRef)(
12863
12903
  required,
12864
12904
  type: "radio",
12865
12905
  value,
12866
- ...(0, import_type_guards51.isNotUndefined)(defaultChecked) ? { defaultChecked } : { checked }
12906
+ ...(0, import_type_guards52.isNotUndefined)(defaultChecked) ? { defaultChecked } : { checked }
12867
12907
  }
12868
12908
  ),
12869
12909
  /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
@@ -12892,21 +12932,339 @@ var Radio = (0, import_react61.forwardRef)(
12892
12932
  );
12893
12933
  Radio.displayName = "Radio";
12894
12934
 
12895
- // src/components/SegmentedControl/SegmentedControl.tsx
12896
- var import_react64 = require("react");
12935
+ // src/components/RadioCard/RadioCard.tsx
12936
+ var import_react63 = require("react");
12937
+
12938
+ // src/components/RadioCard/RadioCardRoot.tsx
12939
+ var import_react62 = require("react");
12940
+ var import_styled_components78 = __toESM(require("styled-components"));
12941
+ var import_type_guards53 = require("@wistia/type-guards");
12942
+ var import_jsx_runtime261 = require("react/jsx-runtime");
12943
+ var checkedStyles = import_styled_components78.css`
12944
+ --wui-radio-card-border-color: var(--wui-color-focus-ring);
12945
+ --wui-color-icon: var(--wui-color-icon-selected);
12946
+ --wui-radio-card-background-color: var(--wui-color-bg-surface-info);
12947
+ --wui-color-text: var(--wui-color-text-info);
12948
+ --wui-color-text-secondary: var(--wui-color-text-info);
12949
+ `;
12950
+ var disabledStyles = import_styled_components78.css`
12951
+ --wui-radio-card-border-color: var(--wui-color-border-disabled);
12952
+ --wui-radio-card-background-color: var(--wui-color-bg-surface-disabled);
12953
+ --wui-radio-card-cursor: not-allowed;
12954
+ --wui-color-icon: var(--wui-color-icon-disabled);
12955
+ --wui-color-text: var(--wui-color-text-disabled);
12956
+ --wui-color-text-secondary: var(--wui-color-text-disabled);
12957
+ `;
12958
+ var focusStyles = import_styled_components78.css`
12959
+ outline: 2px solid var(--wui-color-focus-ring);
12960
+ `;
12961
+ var imageCoverStyles = import_styled_components78.css`
12962
+ --wui-radio-card-image-inset: 0px;
12963
+ --wui-radio-card-border-width: 0px;
12964
+ --wui-inset-shadow-width: 1px;
12965
+ --wui-radio-card-border-color: rgb(0 0 0 / 25%);
12966
+
12967
+ overflow: hidden;
12968
+
12969
+ &:has(input:checked) {
12970
+ --wui-radio-card-border-color: var(--wui-color-focus-ring);
12971
+ --wui-radio-card-image-inset: 2px;
12972
+ --wui-inset-shadow-width: 2px;
12973
+ }
12974
+
12975
+ &:hover:not(:has(input:disabled, input:checked)) {
12976
+ --wui-radio-card-border-color: rgb(0 0 0 / 50%);
12977
+ }
12978
+
12979
+ &::after {
12980
+ content: '';
12981
+ position: absolute;
12982
+ top: 0;
12983
+ width: 100%;
12984
+ height: 100%;
12985
+ border-radius: var(--wui-radio-card-border-radius);
12986
+ box-shadow:
12987
+ inset 0 0 0 var(--wui-inset-shadow-width) var(--wui-radio-card-border-color),
12988
+ inset 0 0 0 calc(var(--wui-radio-card-image-inset) * 2) var(--wui-radio-card-background-color);
12989
+ transition: all var(--wui-motion-duration-02) var(--wui-motion-ease);
12990
+ }
12991
+ `;
12992
+ var StyledCard2 = import_styled_components78.default.label`
12993
+ --wui-radio-card-border-color: var(--wui-color-border-secondary);
12994
+ --wui-radio-card-background-color: var(--wui-color-bg-surface);
12995
+ --wui-radio-card-cursor: pointer;
12996
+ --wui-radio-card-border-width: 1px;
12997
+ --wui-radio-card-border-radius: var(--wui-border-radius-02);
12998
+
12999
+ position: relative;
13000
+ display: flex;
13001
+ padding: ${({ $padding }) => `var(--wui-${$padding})`};
13002
+ aspect-ratio: ${({ $aspectRatio }) => $aspectRatio};
13003
+ border: var(--wui-radio-card-border-width) solid var(--wui-radio-card-border-color);
13004
+ border-radius: var(--wui-radio-card-border-radius);
13005
+ background-color: var(--wui-radio-card-background-color);
13006
+ cursor: var(--wui-radio-card-cursor);
13007
+ transition: all var(--wui-motion-duration-03) var(--wui-motion-ease);
13008
+
13009
+ svg {
13010
+ transition: all var(--wui-motion-duration-03) var(--wui-motion-ease);
13011
+ }
13012
+
13013
+ &:hover {
13014
+ --wui-radio-card-border-color: var(--wui-color-border-secondary-hover);
13015
+ }
13016
+
13017
+ &:active {
13018
+ --wui-radio-card-border-color: var(--wui-color-border-secondary-active);
13019
+ }
13020
+
13021
+ &:has(input:checked) {
13022
+ ${checkedStyles}
13023
+ }
13024
+
13025
+ &:has(input:disabled) {
13026
+ ${disabledStyles}
13027
+ }
13028
+
13029
+ &:has(input:focus-visible) {
13030
+ ${focusStyles}
13031
+ }
13032
+
13033
+ &:has([data-wui-radio-card-image]) {
13034
+ &:has(input:disabled) {
13035
+ [data-wui-radio-card-image] {
13036
+ filter: grayscale(100%);
13037
+ }
13038
+ }
13039
+
13040
+ &:has([data-wui-radio-card-image='cover']) {
13041
+ ${imageCoverStyles}
13042
+ }
13043
+ }
13044
+ `;
13045
+ var StyledHiddenInput = import_styled_components78.default.input`
13046
+ ${visuallyHiddenStyle}
13047
+ `;
13048
+ var RadioCardRoot = (0, import_react62.forwardRef)(
13049
+ ({
13050
+ children,
13051
+ disabled = false,
13052
+ id,
13053
+ name,
13054
+ onChange,
13055
+ value,
13056
+ aspectRatio = "initial",
13057
+ padding = "space-04",
13058
+ checked,
13059
+ ...props
13060
+ }, ref) => {
13061
+ const generatedId = (0, import_react62.useId)();
13062
+ const computedId = (0, import_type_guards53.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
13063
+ const radioGroupContext = useRadioGroup();
13064
+ const contextName = radioGroupContext?.name;
13065
+ const contextOnChange = radioGroupContext?.onChange;
13066
+ const contextValue = radioGroupContext?.value;
13067
+ const radioName = name ?? contextName;
13068
+ const handleOnChange = onChange ?? contextOnChange;
13069
+ const defaultChecked = (0, import_type_guards53.isNotUndefined)(value) && (0, import_type_guards53.isNotUndefined)(contextValue) ? contextValue.includes(value) : void 0;
13070
+ return /* @__PURE__ */ (0, import_jsx_runtime261.jsxs)(
13071
+ StyledCard2,
13072
+ {
13073
+ $aspectRatio: aspectRatio,
13074
+ $padding: padding,
13075
+ htmlFor: computedId,
13076
+ children: [
13077
+ /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(
13078
+ StyledHiddenInput,
13079
+ {
13080
+ ...props,
13081
+ ref,
13082
+ disabled,
13083
+ id: computedId,
13084
+ name: radioName,
13085
+ onChange: handleOnChange,
13086
+ type: "radio",
13087
+ value,
13088
+ ...(0, import_type_guards53.isNotUndefined)(defaultChecked) ? { defaultChecked } : { checked }
13089
+ }
13090
+ ),
13091
+ children
13092
+ ]
13093
+ }
13094
+ );
13095
+ }
13096
+ );
13097
+ RadioCardRoot.displayName = "RadioCardRoot";
13098
+
13099
+ // src/components/RadioCard/RadioCardDefaultLayout.tsx
13100
+ var import_styled_components80 = __toESM(require("styled-components"));
13101
+ var import_type_guards54 = require("@wistia/type-guards");
13102
+
13103
+ // src/components/RadioCard/RadioCardIndicator.tsx
12897
13104
  var import_styled_components79 = __toESM(require("styled-components"));
13105
+ var RadioCardIndicator = import_styled_components79.default.div`
13106
+ --wui-radio-card-indicator-size: 14px;
13107
+ --wui-radio-card-indicator-background-color: var(--wui-color-bg-surface);
13108
+ --wui-radio-card-indicator-fill-color: var(--wui-color-bg-fill);
13109
+
13110
+ /* TODO: figure out radio / checkbox / switch colors */
13111
+ --wui-radio-card-indicator-border-color: var(--wui-color-border-secondary-active);
13112
+
13113
+ width: var(--wui-radio-card-indicator-size);
13114
+ height: var(--wui-radio-card-indicator-size);
13115
+ min-width: var(--wui-radio-card-indicator-size);
13116
+ min-height: var(--wui-radio-card-indicator-size);
13117
+ background-color: var(--wui-radio-card-indicator-background-color);
13118
+ box-shadow: inset 0 0 0 1px var(--wui-radio-card-indicator-border-color);
13119
+ border-radius: 100%;
13120
+ position: relative;
13121
+ cursor: pointer;
13122
+ transition: border-color var(--wui-motion-duration-03) var(--wui-motion-ease);
13123
+
13124
+ &::after {
13125
+ content: '';
13126
+ position: absolute;
13127
+ top: 50%;
13128
+ left: 50%;
13129
+ width: 0;
13130
+ height: 0;
13131
+ background-color: var(--wui-radio-card-indicator-fill-color);
13132
+ border-radius: 100%;
13133
+ transform: translate(-50%, -50%);
13134
+ }
13135
+
13136
+ ${StyledCard2}:has(input:checked) & {
13137
+ --wui-radio-card-indicator-border-color: var(--wui-color-focus-ring);
13138
+ --wui-radio-card-indicator-fill-color: var(--wui-color-focus-ring);
13139
+
13140
+ &::after {
13141
+ width: calc(var(--wui-radio-card-indicator-size) / 2);
13142
+ height: calc(var(--wui-radio-card-indicator-size) / 2);
13143
+ }
13144
+ }
13145
+
13146
+ ${StyledCard2}:has(input:disabled) & {
13147
+ --wui-radio-card-indicator-border-color: var(--wui-color-border-secondary);
13148
+ --wui-radio-card-indicator-background-color: var(--wui-color-bg-surface-disabled);
13149
+ }
13150
+ `;
13151
+ RadioCardIndicator.displayName = "RadioCardIndicator";
13152
+
13153
+ // src/components/RadioCard/RadioCardDefaultLayout.tsx
13154
+ var import_jsx_runtime262 = require("react/jsx-runtime");
13155
+ var StyledCardContent = import_styled_components80.default.div`
13156
+ display: grid;
13157
+ grid-auto-flow: column;
13158
+ gap: var(--wui-space-02);
13159
+ `;
13160
+ var StyledCardIcon = import_styled_components80.default.div`
13161
+ display: contents;
13162
+ `;
13163
+ var StyledIndicatorContainer = import_styled_components80.default.div`
13164
+ height: ${({ $hasIcon }) => $hasIcon ? "24px" : "16px"};
13165
+ display: flex;
13166
+ align-items: center;
13167
+ `;
13168
+ var RadioCardDefaultLayout = ({
13169
+ icon,
13170
+ label,
13171
+ description,
13172
+ showIndicator = true
13173
+ }) => {
13174
+ return /* @__PURE__ */ (0, import_jsx_runtime262.jsxs)(StyledCardContent, { children: [
13175
+ showIndicator ? /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(StyledIndicatorContainer, { $hasIcon: (0, import_type_guards54.isNotNil)(icon), children: /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(RadioCardIndicator, { "data-testid": "wui-radio-card-indicator" }) }) : null,
13176
+ /* @__PURE__ */ (0, import_jsx_runtime262.jsxs)(Stack, { gap: "space-02", children: [
13177
+ (0, import_type_guards54.isNotNil)(icon) && /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(StyledCardIcon, { "data-wui-radio-card-icon": true, children: icon }),
13178
+ /* @__PURE__ */ (0, import_jsx_runtime262.jsxs)(
13179
+ Stack,
13180
+ {
13181
+ gap: "space-01",
13182
+ style: (0, import_type_guards54.isNotNil)(icon) ? { paddingLeft: 2 } : void 0,
13183
+ children: [
13184
+ /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(Text, { variant: "label3", children: /* @__PURE__ */ (0, import_jsx_runtime262.jsx)("strong", { children: label }) }),
13185
+ (0, import_type_guards54.isNotNil)(description) && /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(
13186
+ Text,
13187
+ {
13188
+ prominence: "secondary",
13189
+ variant: "body3",
13190
+ children: description
13191
+ }
13192
+ )
13193
+ ]
13194
+ }
13195
+ )
13196
+ ] })
13197
+ ] });
13198
+ };
13199
+ RadioCardDefaultLayout.displayName = "RadioCardDefaultLayout";
13200
+
13201
+ // src/components/RadioCard/RadioCard.tsx
13202
+ var import_jsx_runtime263 = require("react/jsx-runtime");
13203
+ var RadioCard = (0, import_react63.forwardRef)(
13204
+ ({ icon, label, description, showIndicator, ...rootProps }, ref) => {
13205
+ return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
13206
+ RadioCardRoot,
13207
+ {
13208
+ ref,
13209
+ ...rootProps,
13210
+ children: /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
13211
+ RadioCardDefaultLayout,
13212
+ {
13213
+ description,
13214
+ icon,
13215
+ label,
13216
+ showIndicator
13217
+ }
13218
+ )
13219
+ }
13220
+ );
13221
+ }
13222
+ );
13223
+ RadioCard.displayName = "RadioCard";
13224
+
13225
+ // src/components/RadioCard/RadioCardImage.tsx
13226
+ var import_react64 = require("react");
13227
+ var import_jsx_runtime264 = require("react/jsx-runtime");
13228
+ var RadioCardImage = (0, import_react64.forwardRef)(
13229
+ ({ label, imageSrc, aspectRatio, padding = "space-04", ...rootProps }, ref) => {
13230
+ return /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(
13231
+ RadioCardRoot,
13232
+ {
13233
+ ref,
13234
+ ...rootProps,
13235
+ aspectRatio,
13236
+ padding,
13237
+ children: /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(
13238
+ Image,
13239
+ {
13240
+ alt: label,
13241
+ "data-wui-radio-card-image": padding === "space-00" ? "cover" : "contain",
13242
+ fill: true,
13243
+ fit: padding === "space-00" ? "cover" : "contain",
13244
+ src: imageSrc
13245
+ }
13246
+ )
13247
+ }
13248
+ );
13249
+ }
13250
+ );
13251
+ RadioCardImage.displayName = "RadioCardImage";
13252
+
13253
+ // src/components/SegmentedControl/SegmentedControl.tsx
13254
+ var import_react67 = require("react");
13255
+ var import_styled_components82 = __toESM(require("styled-components"));
12898
13256
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
12899
- var import_type_guards53 = require("@wistia/type-guards");
13257
+ var import_type_guards56 = require("@wistia/type-guards");
12900
13258
 
12901
13259
  // src/components/SegmentedControl/useSelectedItemStyle.tsx
12902
- var import_react62 = require("react");
12903
- var import_jsx_runtime261 = require("react/jsx-runtime");
12904
- var SelectedItemStyleContext = (0, import_react62.createContext)(null);
13260
+ var import_react65 = require("react");
13261
+ var import_jsx_runtime265 = require("react/jsx-runtime");
13262
+ var SelectedItemStyleContext = (0, import_react65.createContext)(null);
12905
13263
  var SelectedItemStyleProvider = ({
12906
13264
  children
12907
13265
  }) => {
12908
- const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react62.useState)(null);
12909
- const selectedItemIndicatorStyle = (0, import_react62.useMemo)(
13266
+ const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react65.useState)(null);
13267
+ const selectedItemIndicatorStyle = (0, import_react65.useMemo)(
12910
13268
  () => selectedItemMeasurements != null ? {
12911
13269
  height: `${selectedItemMeasurements.offsetHeight}px`,
12912
13270
  transform: `translateX(${selectedItemMeasurements.offsetLeft}px) translateY(-50%)`,
@@ -12914,17 +13272,17 @@ var SelectedItemStyleProvider = ({
12914
13272
  } : void 0,
12915
13273
  [selectedItemMeasurements]
12916
13274
  );
12917
- const contextValue = (0, import_react62.useMemo)(
13275
+ const contextValue = (0, import_react65.useMemo)(
12918
13276
  () => ({
12919
13277
  setSelectedItemMeasurements,
12920
13278
  selectedItemIndicatorStyle
12921
13279
  }),
12922
13280
  [selectedItemIndicatorStyle]
12923
13281
  );
12924
- return /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(SelectedItemStyleContext.Provider, { value: contextValue, children });
13282
+ return /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(SelectedItemStyleContext.Provider, { value: contextValue, children });
12925
13283
  };
12926
13284
  var useSelectedItemStyle = () => {
12927
- const context = (0, import_react62.useContext)(SelectedItemStyleContext);
13285
+ const context = (0, import_react65.useContext)(SelectedItemStyleContext);
12928
13286
  if (context === null) {
12929
13287
  throw new Error("useSelectedItemStyle must be used within a SelectedItemStyleProvider");
12930
13288
  }
@@ -12932,15 +13290,15 @@ var useSelectedItemStyle = () => {
12932
13290
  };
12933
13291
 
12934
13292
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
12935
- var import_styled_components78 = __toESM(require("styled-components"));
12936
- var import_type_guards52 = require("@wistia/type-guards");
13293
+ var import_styled_components81 = __toESM(require("styled-components"));
13294
+ var import_type_guards55 = require("@wistia/type-guards");
12937
13295
 
12938
13296
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
12939
- var import_react63 = require("react");
12940
- var SegmentedControlValueContext = (0, import_react63.createContext)(null);
13297
+ var import_react66 = require("react");
13298
+ var SegmentedControlValueContext = (0, import_react66.createContext)(null);
12941
13299
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
12942
13300
  var useSegmentedControlValue = () => {
12943
- const context = (0, import_react63.useContext)(SegmentedControlValueContext);
13301
+ const context = (0, import_react66.useContext)(SegmentedControlValueContext);
12944
13302
  if (context === null) {
12945
13303
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
12946
13304
  }
@@ -12948,13 +13306,13 @@ var useSegmentedControlValue = () => {
12948
13306
  };
12949
13307
 
12950
13308
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
12951
- var import_jsx_runtime262 = require("react/jsx-runtime");
12952
- var selectedItemIndicatorStyles = import_styled_components78.css`
13309
+ var import_jsx_runtime266 = require("react/jsx-runtime");
13310
+ var selectedItemIndicatorStyles = import_styled_components81.css`
12953
13311
  background-color: var(--wui-color-bg-fill-white);
12954
13312
  border-radius: var(--wui-border-radius-rounded);
12955
13313
  box-shadow: var(--wui-elevation-01);
12956
13314
  `;
12957
- var SelectedItemIndicatorDiv = import_styled_components78.default.div`
13315
+ var SelectedItemIndicatorDiv = import_styled_components81.default.div`
12958
13316
  ${selectedItemIndicatorStyles}
12959
13317
  left: 0;
12960
13318
  position: absolute;
@@ -12967,10 +13325,10 @@ var SelectedItemIndicatorDiv = import_styled_components78.default.div`
12967
13325
  var SelectedItemIndicator = () => {
12968
13326
  const selectedValue = useSegmentedControlValue();
12969
13327
  const { selectedItemIndicatorStyle } = useSelectedItemStyle();
12970
- if (!selectedValue || (0, import_type_guards52.isUndefined)(selectedItemIndicatorStyle)) {
13328
+ if (!selectedValue || (0, import_type_guards55.isUndefined)(selectedItemIndicatorStyle)) {
12971
13329
  return null;
12972
13330
  }
12973
- return /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(
13331
+ return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
12974
13332
  SelectedItemIndicatorDiv,
12975
13333
  {
12976
13334
  "data-wui-selected-item-indicator": true,
@@ -12980,8 +13338,8 @@ var SelectedItemIndicator = () => {
12980
13338
  };
12981
13339
 
12982
13340
  // src/components/SegmentedControl/SegmentedControl.tsx
12983
- var import_jsx_runtime263 = require("react/jsx-runtime");
12984
- var segmentedControlStyles = import_styled_components79.css`
13341
+ var import_jsx_runtime267 = require("react/jsx-runtime");
13342
+ var segmentedControlStyles = import_styled_components82.css`
12985
13343
  display: inline-flex;
12986
13344
  background-color: var(--wui-color-bg-surface-secondary);
12987
13345
  border-radius: var(--wui-border-radius-rounded);
@@ -12992,10 +13350,10 @@ var segmentedControlStyles = import_styled_components79.css`
12992
13350
  position: relative;
12993
13351
  width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
12994
13352
  `;
12995
- var StyledSegmentedControl = (0, import_styled_components79.default)(import_react_toggle_group.Root)`
13353
+ var StyledSegmentedControl = (0, import_styled_components82.default)(import_react_toggle_group.Root)`
12996
13354
  ${segmentedControlStyles}
12997
13355
  `;
12998
- var SegmentedControl = (0, import_react64.forwardRef)(
13356
+ var SegmentedControl = (0, import_react67.forwardRef)(
12999
13357
  ({
13000
13358
  children,
13001
13359
  disabled = false,
@@ -13004,10 +13362,10 @@ var SegmentedControl = (0, import_react64.forwardRef)(
13004
13362
  onSelectedValueChange,
13005
13363
  ...props
13006
13364
  }, ref) => {
13007
- if ((0, import_type_guards53.isNil)(children)) {
13365
+ if ((0, import_type_guards56.isNil)(children)) {
13008
13366
  return null;
13009
13367
  }
13010
- return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
13368
+ return /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(
13011
13369
  StyledSegmentedControl,
13012
13370
  {
13013
13371
  ref,
@@ -13019,9 +13377,9 @@ var SegmentedControl = (0, import_react64.forwardRef)(
13019
13377
  type: "single",
13020
13378
  value: selectedValue,
13021
13379
  ...props,
13022
- children: /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ (0, import_jsx_runtime263.jsxs)(SelectedItemStyleProvider, { children: [
13380
+ children: /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ (0, import_jsx_runtime267.jsxs)(SelectedItemStyleProvider, { children: [
13023
13381
  children,
13024
- /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(SelectedItemIndicator, {})
13382
+ /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(SelectedItemIndicator, {})
13025
13383
  ] }) })
13026
13384
  }
13027
13385
  );
@@ -13030,12 +13388,12 @@ var SegmentedControl = (0, import_react64.forwardRef)(
13030
13388
  SegmentedControl.displayName = "SegmentedControl";
13031
13389
 
13032
13390
  // src/components/SegmentedControl/SegmentedControlItem.tsx
13033
- var import_react65 = require("react");
13034
- var import_styled_components80 = __toESM(require("styled-components"));
13391
+ var import_react68 = require("react");
13392
+ var import_styled_components83 = __toESM(require("styled-components"));
13035
13393
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
13036
- var import_type_guards54 = require("@wistia/type-guards");
13037
- var import_jsx_runtime264 = require("react/jsx-runtime");
13038
- var segmentedControlItemStyles = import_styled_components80.css`
13394
+ var import_type_guards57 = require("@wistia/type-guards");
13395
+ var import_jsx_runtime268 = require("react/jsx-runtime");
13396
+ var segmentedControlItemStyles = import_styled_components83.css`
13039
13397
  all: unset; /* ToggleGroupItem is a button element */
13040
13398
  align-items: center;
13041
13399
  border-radius: var(--wui-border-radius-rounded);
@@ -13102,14 +13460,14 @@ var segmentedControlItemStyles = import_styled_components80.css`
13102
13460
  }
13103
13461
  }
13104
13462
  `;
13105
- var StyledSegmentedControlItem = (0, import_styled_components80.default)(import_react_toggle_group2.Item)`
13463
+ var StyledSegmentedControlItem = (0, import_styled_components83.default)(import_react_toggle_group2.Item)`
13106
13464
  ${segmentedControlItemStyles}
13107
13465
  `;
13108
- var SegmentedControlItem = (0, import_react65.forwardRef)(
13466
+ var SegmentedControlItem = (0, import_react68.forwardRef)(
13109
13467
  ({ disabled, icon, label, "aria-label": ariaLabel, value, ...otherProps }, forwardedRef) => {
13110
13468
  const selectedValue = useSegmentedControlValue();
13111
13469
  const { setSelectedItemMeasurements } = useSelectedItemStyle();
13112
- const buttonRef = (0, import_react65.useRef)(null);
13470
+ const buttonRef = (0, import_react68.useRef)(null);
13113
13471
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
13114
13472
  const handleClick = (event) => {
13115
13473
  const target = event.target;
@@ -13118,7 +13476,7 @@ var SegmentedControlItem = (0, import_react65.forwardRef)(
13118
13476
  event.preventDefault();
13119
13477
  }
13120
13478
  };
13121
- (0, import_react65.useEffect)(() => {
13479
+ (0, import_react68.useEffect)(() => {
13122
13480
  const buttonElem = buttonRef.current;
13123
13481
  if (!buttonElem) {
13124
13482
  return void 0;
@@ -13143,13 +13501,13 @@ var SegmentedControlItem = (0, import_react65.forwardRef)(
13143
13501
  resizeObserver.disconnect();
13144
13502
  };
13145
13503
  }, [selectedValue, setSelectedItemMeasurements, value]);
13146
- return /* @__PURE__ */ (0, import_jsx_runtime264.jsxs)(
13504
+ return /* @__PURE__ */ (0, import_jsx_runtime268.jsxs)(
13147
13505
  StyledSegmentedControlItem,
13148
13506
  {
13149
13507
  ref: combinedRef,
13150
13508
  ...otherProps,
13151
- $hasLabel: (0, import_type_guards54.isNotNil)(label),
13152
- "aria-label": (0, import_type_guards54.isNotNil)(label) ? void 0 : ariaLabel,
13509
+ $hasLabel: (0, import_type_guards57.isNotNil)(label),
13510
+ "aria-label": (0, import_type_guards57.isNotNil)(label) ? void 0 : ariaLabel,
13153
13511
  disabled,
13154
13512
  onClick: handleClick,
13155
13513
  value,
@@ -13165,10 +13523,10 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
13165
13523
 
13166
13524
  // src/components/Select/Select.tsx
13167
13525
  var import_react_select = require("@radix-ui/react-select");
13168
- var import_react66 = require("react");
13169
- var import_styled_components81 = __toESM(require("styled-components"));
13170
- var import_jsx_runtime265 = require("react/jsx-runtime");
13171
- var StyledTrigger2 = (0, import_styled_components81.default)(import_react_select.Trigger)`
13526
+ var import_react69 = require("react");
13527
+ var import_styled_components84 = __toESM(require("styled-components"));
13528
+ var import_jsx_runtime269 = require("react/jsx-runtime");
13529
+ var StyledTrigger2 = (0, import_styled_components84.default)(import_react_select.Trigger)`
13172
13530
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
13173
13531
  ${inputCss};
13174
13532
  padding: var(--wui-input-vertical-padding) var(--wui-input-horizontal-padding);
@@ -13212,7 +13570,7 @@ var StyledTrigger2 = (0, import_styled_components81.default)(import_react_select
13212
13570
  color: var(--wui-input-placeholder);
13213
13571
  }
13214
13572
  `;
13215
- var StyledContent3 = (0, import_styled_components81.default)(import_react_select.Content)`
13573
+ var StyledContent3 = (0, import_styled_components84.default)(import_react_select.Content)`
13216
13574
  --wui-select-content-border: var(--wui-color-border);
13217
13575
  --wui-select-content-bg: var(--wui-color-bg-surface);
13218
13576
  --wui-select-content-border-radius: var(--wui-border-radius-02);
@@ -13230,7 +13588,7 @@ var StyledContent3 = (0, import_styled_components81.default)(import_react_select
13230
13588
  max-height: var(--radix-select-content-available-height);
13231
13589
  z-index: var(--wui-zindex-select);
13232
13590
  `;
13233
- var Select = (0, import_react66.forwardRef)(
13591
+ var Select = (0, import_react69.forwardRef)(
13234
13592
  ({
13235
13593
  colorScheme = "inherit",
13236
13594
  children,
@@ -13240,13 +13598,13 @@ var Select = (0, import_react66.forwardRef)(
13240
13598
  ...props
13241
13599
  }, forwardedRef) => {
13242
13600
  const responsiveFullWidth = useResponsiveProp(fullWidth);
13243
- return /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)(
13601
+ return /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(
13244
13602
  import_react_select.Root,
13245
13603
  {
13246
13604
  ...props,
13247
13605
  onValueChange: onChange,
13248
13606
  children: [
13249
- /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)(
13607
+ /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(
13250
13608
  StyledTrigger2,
13251
13609
  {
13252
13610
  ref: forwardedRef,
@@ -13254,8 +13612,8 @@ var Select = (0, import_react66.forwardRef)(
13254
13612
  $fullWidth: responsiveFullWidth,
13255
13613
  ...props,
13256
13614
  children: [
13257
- /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(import_react_select.Value, { placeholder }),
13258
- /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(
13615
+ /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.Value, { placeholder }),
13616
+ /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
13259
13617
  Icon,
13260
13618
  {
13261
13619
  size: "md",
@@ -13265,10 +13623,10 @@ var Select = (0, import_react66.forwardRef)(
13265
13623
  ]
13266
13624
  }
13267
13625
  ),
13268
- /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)(StyledContent3, { position: "popper", children: [
13269
- /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(Icon, { type: "caret-up" }) }),
13270
- /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(import_react_select.Viewport, { children }),
13271
- /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(Icon, { type: "caret-down" }) })
13626
+ /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(StyledContent3, { position: "popper", children: [
13627
+ /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Icon, { type: "caret-up" }) }),
13628
+ /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.Viewport, { children }),
13629
+ /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Icon, { type: "caret-down" }) })
13272
13630
  ] }) })
13273
13631
  ]
13274
13632
  }
@@ -13279,11 +13637,11 @@ Select.displayName = "Select";
13279
13637
 
13280
13638
  // src/components/Select/SelectOption.tsx
13281
13639
  var import_react_select2 = require("@radix-ui/react-select");
13282
- var import_react67 = require("react");
13283
- var import_styled_components82 = __toESM(require("styled-components"));
13284
- var import_type_guards55 = require("@wistia/type-guards");
13285
- var import_jsx_runtime266 = require("react/jsx-runtime");
13286
- var StyledItem = (0, import_styled_components82.default)(import_react_select2.Item)`
13640
+ var import_react70 = require("react");
13641
+ var import_styled_components85 = __toESM(require("styled-components"));
13642
+ var import_type_guards58 = require("@wistia/type-guards");
13643
+ var import_jsx_runtime270 = require("react/jsx-runtime");
13644
+ var StyledItem = (0, import_styled_components85.default)(import_react_select2.Item)`
13287
13645
  ${variantStyleMap2.body3};
13288
13646
  display: flex;
13289
13647
  padding: var(--wui-select-option-padding);
@@ -13307,28 +13665,28 @@ var StyledItem = (0, import_styled_components82.default)(import_react_select2.It
13307
13665
  background-color: transparent;
13308
13666
  }
13309
13667
  `;
13310
- var StyledIconContainer = import_styled_components82.default.span`
13668
+ var StyledIconContainer = import_styled_components85.default.span`
13311
13669
  width: 12px;
13312
13670
  `;
13313
- var SelectOption = (0, import_react67.forwardRef)(
13671
+ var SelectOption = (0, import_react70.forwardRef)(
13314
13672
  ({ children, selectedDisplayValue, ...props }, forwardedRef) => {
13315
- return /* @__PURE__ */ (0, import_jsx_runtime266.jsxs)(
13673
+ return /* @__PURE__ */ (0, import_jsx_runtime270.jsxs)(
13316
13674
  StyledItem,
13317
13675
  {
13318
13676
  ...props,
13319
13677
  ref: forwardedRef,
13320
13678
  children: [
13321
- /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(StyledIconContainer, { "data-indicator": true, children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(import_react_select2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
13679
+ /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(StyledIconContainer, { "data-indicator": true, children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_react_select2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
13322
13680
  Icon,
13323
13681
  {
13324
13682
  size: "sm",
13325
13683
  type: "checkmark"
13326
13684
  }
13327
13685
  ) }) }),
13328
- (0, import_type_guards55.isNotNil)(selectedDisplayValue) ? /* @__PURE__ */ (0, import_jsx_runtime266.jsxs)("div", { children: [
13686
+ (0, import_type_guards58.isNotNil)(selectedDisplayValue) ? /* @__PURE__ */ (0, import_jsx_runtime270.jsxs)("div", { children: [
13329
13687
  children,
13330
- /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { style: { display: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(import_react_select2.ItemText, { children: selectedDisplayValue }) })
13331
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(import_react_select2.ItemText, { children })
13688
+ /* @__PURE__ */ (0, import_jsx_runtime270.jsx)("div", { style: { display: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_react_select2.ItemText, { children: selectedDisplayValue }) })
13689
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_react_select2.ItemText, { children })
13332
13690
  ]
13333
13691
  }
13334
13692
  );
@@ -13338,14 +13696,14 @@ SelectOption.displayName = "SelectOption";
13338
13696
 
13339
13697
  // src/components/Select/SelectOptionGroup.tsx
13340
13698
  var import_react_select3 = require("@radix-ui/react-select");
13341
- var import_styled_components83 = __toESM(require("styled-components"));
13342
- var import_jsx_runtime267 = require("react/jsx-runtime");
13343
- var StyledLabel4 = (0, import_styled_components83.default)(import_react_select3.Label)`
13699
+ var import_styled_components86 = __toESM(require("styled-components"));
13700
+ var import_jsx_runtime271 = require("react/jsx-runtime");
13701
+ var StyledLabel4 = (0, import_styled_components86.default)(import_react_select3.Label)`
13344
13702
  padding: var(--wui-select-option-padding);
13345
13703
  `;
13346
13704
  var SelectOptionGroup = ({ children, label, ...props }) => {
13347
- return /* @__PURE__ */ (0, import_jsx_runtime267.jsxs)(import_react_select3.Group, { ...props, children: [
13348
- /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(StyledLabel4, { children: /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(
13705
+ return /* @__PURE__ */ (0, import_jsx_runtime271.jsxs)(import_react_select3.Group, { ...props, children: [
13706
+ /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(StyledLabel4, { children: /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(
13349
13707
  Text,
13350
13708
  {
13351
13709
  prominence: "secondary",
@@ -13359,10 +13717,10 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
13359
13717
 
13360
13718
  // src/components/Slider/Slider.tsx
13361
13719
  var import_react_slider = require("@radix-ui/react-slider");
13362
- var import_styled_components84 = __toESM(require("styled-components"));
13363
- var import_type_guards56 = require("@wistia/type-guards");
13364
- var import_jsx_runtime268 = require("react/jsx-runtime");
13365
- var SliderContainer = import_styled_components84.default.div`
13720
+ var import_styled_components87 = __toESM(require("styled-components"));
13721
+ var import_type_guards59 = require("@wistia/type-guards");
13722
+ var import_jsx_runtime272 = require("react/jsx-runtime");
13723
+ var SliderContainer = import_styled_components87.default.div`
13366
13724
  --wui-slider-track-color: var(--wui-gray-6);
13367
13725
  --wui-slider-track-border-radius: var(--wui-border-radius-rounded);
13368
13726
  --wui-slider-range-color: var(--wui-color-bg-fill);
@@ -13378,7 +13736,7 @@ var SliderContainer = import_styled_components84.default.div`
13378
13736
  pointer-events: none;
13379
13737
  }
13380
13738
  `;
13381
- var StyledSliderRoot = (0, import_styled_components84.default)(import_react_slider.Root)`
13739
+ var StyledSliderRoot = (0, import_styled_components87.default)(import_react_slider.Root)`
13382
13740
  position: relative;
13383
13741
  display: flex;
13384
13742
  align-items: center;
@@ -13386,20 +13744,20 @@ var StyledSliderRoot = (0, import_styled_components84.default)(import_react_slid
13386
13744
  touch-action: none;
13387
13745
  width: 100%;
13388
13746
  `;
13389
- var StyledSliderTrack = (0, import_styled_components84.default)(import_react_slider.Track)`
13747
+ var StyledSliderTrack = (0, import_styled_components87.default)(import_react_slider.Track)`
13390
13748
  background-color: var(--wui-slider-track-color);
13391
13749
  border-radius: var(--wui-slider-track-border-radius);
13392
13750
  flex-grow: 1;
13393
13751
  height: 6px;
13394
13752
  position: relative;
13395
13753
  `;
13396
- var StyledSliderRange = (0, import_styled_components84.default)(import_react_slider.Range)`
13754
+ var StyledSliderRange = (0, import_styled_components87.default)(import_react_slider.Range)`
13397
13755
  background-color: var(--wui-slider-range-color);
13398
13756
  border-radius: var(--wui-slider-track-border-radius);
13399
13757
  height: 100%;
13400
13758
  position: absolute;
13401
13759
  `;
13402
- var StyledSliderThumb = (0, import_styled_components84.default)(import_react_slider.Thumb)`
13760
+ var StyledSliderThumb = (0, import_styled_components87.default)(import_react_slider.Thumb)`
13403
13761
  background-color: var(--wui-slider-thumb-color);
13404
13762
  border-radius: var(--wui-border-radius-rounded);
13405
13763
  cursor: grab;
@@ -13439,7 +13797,7 @@ var Slider = ({
13439
13797
  "data-testid": dataTestId = "ui-slider",
13440
13798
  ...otherProps
13441
13799
  }) => {
13442
- if (!((0, import_type_guards56.isNonEmptyString)(ariaLabel) || (0, import_type_guards56.isNonEmptyString)(ariaLabelledby))) {
13800
+ if (!((0, import_type_guards59.isNonEmptyString)(ariaLabel) || (0, import_type_guards59.isNonEmptyString)(ariaLabelledby))) {
13443
13801
  throw new Error(
13444
13802
  "UI Slider: Sliders should have an accessible name. Add a label using the aria-label or aria-labelledby prop."
13445
13803
  );
@@ -13450,12 +13808,12 @@ var Slider = ({
13450
13808
  onChange(newValue);
13451
13809
  }
13452
13810
  };
13453
- return /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(
13811
+ return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
13454
13812
  SliderContainer,
13455
13813
  {
13456
13814
  ...otherProps,
13457
13815
  "data-testid": dataTestId,
13458
- children: /* @__PURE__ */ (0, import_jsx_runtime268.jsxs)(
13816
+ children: /* @__PURE__ */ (0, import_jsx_runtime272.jsxs)(
13459
13817
  StyledSliderRoot,
13460
13818
  {
13461
13819
  "aria-label": ariaLabel,
@@ -13468,8 +13826,8 @@ var Slider = ({
13468
13826
  step,
13469
13827
  ...value ? { value } : {},
13470
13828
  children: [
13471
- /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(StyledSliderTrack, { "data-testid": `${dataTestId}-track`, children: /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(StyledSliderRange, { "data-testid": `${dataTestId}-range` }) }),
13472
- values.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(
13829
+ /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(StyledSliderTrack, { "data-testid": `${dataTestId}-track`, children: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(StyledSliderRange, { "data-testid": `${dataTestId}-range` }) }),
13830
+ values.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
13473
13831
  StyledSliderThumb,
13474
13832
  {
13475
13833
  "data-testid": `${dataTestId}-thumb-${index}`
@@ -13485,11 +13843,11 @@ var Slider = ({
13485
13843
  Slider.displayName = "Slider";
13486
13844
 
13487
13845
  // src/components/Switch/Switch.tsx
13488
- var import_react68 = require("react");
13489
- var import_styled_components85 = __toESM(require("styled-components"));
13490
- var import_type_guards57 = require("@wistia/type-guards");
13491
- var import_jsx_runtime269 = require("react/jsx-runtime");
13492
- var sizeSmall3 = import_styled_components85.css`
13846
+ var import_react71 = require("react");
13847
+ var import_styled_components88 = __toESM(require("styled-components"));
13848
+ var import_type_guards60 = require("@wistia/type-guards");
13849
+ var import_jsx_runtime273 = require("react/jsx-runtime");
13850
+ var sizeSmall3 = import_styled_components88.css`
13493
13851
  --wui-size-small-width: 24px;
13494
13852
  --wui-size-small-height: 14px;
13495
13853
 
@@ -13504,7 +13862,7 @@ var sizeSmall3 = import_styled_components85.css`
13504
13862
  height: calc(var(--wui-size-small-width) / 2);
13505
13863
  }
13506
13864
  `;
13507
- var sizeMedium3 = import_styled_components85.css`
13865
+ var sizeMedium3 = import_styled_components88.css`
13508
13866
  --wui-size-medium-width: 32px;
13509
13867
  --wui-size-medium-height: 18px;
13510
13868
 
@@ -13519,7 +13877,7 @@ var sizeMedium3 = import_styled_components85.css`
13519
13877
  height: calc(var(--wui-size-medium-width) / 2);
13520
13878
  }
13521
13879
  `;
13522
- var sizeLarge3 = import_styled_components85.css`
13880
+ var sizeLarge3 = import_styled_components88.css`
13523
13881
  --wui-size-large-width: 40px;
13524
13882
  --wui-size-large-height: 22px;
13525
13883
 
@@ -13539,14 +13897,14 @@ var getSizeCss3 = (size) => {
13539
13897
  if (size === "lg") return sizeLarge3;
13540
13898
  return sizeMedium3;
13541
13899
  };
13542
- var StyledSwitchWrapper = import_styled_components85.default.div`
13900
+ var StyledSwitchWrapper = import_styled_components88.default.div`
13543
13901
  display: flex;
13544
13902
  margin: 0;
13545
13903
 
13546
13904
  /* TODO this solves a problem but potentially causes and a11y issue */
13547
13905
  user-select: none;
13548
13906
  `;
13549
- var StyledSwitchInput = import_styled_components85.default.div`
13907
+ var StyledSwitchInput = import_styled_components88.default.div`
13550
13908
  ${({ $size }) => getSizeCss3($size)}
13551
13909
  line-height: 0;
13552
13910
  margin: 0;
@@ -13574,7 +13932,7 @@ var StyledSwitchInput = import_styled_components85.default.div`
13574
13932
  transition: all 0.2s ease-in-out;
13575
13933
  }
13576
13934
  `;
13577
- var StyledHiddenSwitchInput = import_styled_components85.default.input`
13935
+ var StyledHiddenSwitchInput = import_styled_components88.default.input`
13578
13936
  ${visuallyHiddenStyle}
13579
13937
 
13580
13938
  /* toggles display of faux-input background-color and toggle position */
@@ -13590,7 +13948,7 @@ var StyledHiddenSwitchInput = import_styled_components85.default.input`
13590
13948
  }
13591
13949
  }
13592
13950
  `;
13593
- var Switch = (0, import_react68.forwardRef)(
13951
+ var Switch = (0, import_react71.forwardRef)(
13594
13952
  ({
13595
13953
  align = "left",
13596
13954
  checked,
@@ -13606,10 +13964,10 @@ var Switch = (0, import_react68.forwardRef)(
13606
13964
  hideLabel = false,
13607
13965
  ...props
13608
13966
  }, ref) => {
13609
- const generatedId = (0, import_react68.useId)();
13610
- const computedId = (0, import_type_guards57.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
13611
- return /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
13612
- /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
13967
+ const generatedId = (0, import_react71.useId)();
13968
+ const computedId = (0, import_type_guards60.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
13969
+ return /* @__PURE__ */ (0, import_jsx_runtime273.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
13970
+ /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
13613
13971
  StyledHiddenSwitchInput,
13614
13972
  {
13615
13973
  ...props,
@@ -13624,11 +13982,11 @@ var Switch = (0, import_react68.forwardRef)(
13624
13982
  value
13625
13983
  }
13626
13984
  ),
13627
- /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
13985
+ /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
13628
13986
  FormControlLabel,
13629
13987
  {
13630
13988
  align,
13631
- controlSlot: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
13989
+ controlSlot: /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
13632
13990
  StyledSwitchInput,
13633
13991
  {
13634
13992
  $disabled: disabled,
@@ -13650,25 +14008,25 @@ var Switch = (0, import_react68.forwardRef)(
13650
14008
  Switch.displayName = "Switch";
13651
14009
 
13652
14010
  // src/components/Table/Table.tsx
13653
- var import_styled_components86 = __toESM(require("styled-components"));
13654
- var import_jsx_runtime270 = require("react/jsx-runtime");
13655
- var StyledTable = import_styled_components86.default.table`
14011
+ var import_styled_components89 = __toESM(require("styled-components"));
14012
+ var import_jsx_runtime274 = require("react/jsx-runtime");
14013
+ var StyledTable = import_styled_components89.default.table`
13656
14014
  width: 100%;
13657
14015
  border-collapse: collapse;
13658
14016
 
13659
- ${({ $divided }) => $divided && import_styled_components86.css`
14017
+ ${({ $divided }) => $divided && import_styled_components89.css`
13660
14018
  tr {
13661
14019
  border-bottom: 1px solid var(--wui-color-border);
13662
14020
  }
13663
14021
  `}
13664
14022
 
13665
- ${({ $striped }) => $striped && import_styled_components86.css`
14023
+ ${({ $striped }) => $striped && import_styled_components89.css`
13666
14024
  tbody tr:nth-child(even) {
13667
14025
  background-color: var(--wui-color-bg-surface-secondary);
13668
14026
  }
13669
14027
  `}
13670
14028
 
13671
- ${({ $visuallyHiddenHeader }) => $visuallyHiddenHeader && import_styled_components86.css`
14029
+ ${({ $visuallyHiddenHeader }) => $visuallyHiddenHeader && import_styled_components89.css`
13672
14030
  thead {
13673
14031
  ${visuallyHiddenStyle}
13674
14032
  }
@@ -13681,7 +14039,7 @@ var Table = ({
13681
14039
  visuallyHiddenHeader = false,
13682
14040
  ...props
13683
14041
  }) => {
13684
- return /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
14042
+ return /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
13685
14043
  StyledTable,
13686
14044
  {
13687
14045
  $divided: divided,
@@ -13694,83 +14052,83 @@ var Table = ({
13694
14052
  };
13695
14053
 
13696
14054
  // src/components/Table/TableBody.tsx
13697
- var import_styled_components87 = __toESM(require("styled-components"));
14055
+ var import_styled_components90 = __toESM(require("styled-components"));
13698
14056
 
13699
14057
  // src/components/Table/TableSectionContext.ts
13700
- var import_react69 = require("react");
13701
- var TableSectionContext = (0, import_react69.createContext)(null);
14058
+ var import_react72 = require("react");
14059
+ var TableSectionContext = (0, import_react72.createContext)(null);
13702
14060
 
13703
14061
  // src/components/Table/TableBody.tsx
13704
- var import_jsx_runtime271 = require("react/jsx-runtime");
13705
- var StyledTableBody = import_styled_components87.default.tbody``;
14062
+ var import_jsx_runtime275 = require("react/jsx-runtime");
14063
+ var StyledTableBody = import_styled_components90.default.tbody``;
13706
14064
  var TableBody = ({ children, ...props }) => {
13707
- return /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(StyledTableBody, { ...props, children }) });
14065
+ return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(StyledTableBody, { ...props, children }) });
13708
14066
  };
13709
14067
 
13710
14068
  // src/components/Table/TableCell.tsx
13711
- var import_react70 = require("react");
13712
- var import_styled_components88 = __toESM(require("styled-components"));
13713
- var import_jsx_runtime272 = require("react/jsx-runtime");
13714
- var sharedStyles = import_styled_components88.css`
14069
+ var import_react73 = require("react");
14070
+ var import_styled_components91 = __toESM(require("styled-components"));
14071
+ var import_jsx_runtime276 = require("react/jsx-runtime");
14072
+ var sharedStyles = import_styled_components91.css`
13715
14073
  color: var(--wui-color-text);
13716
14074
  padding: var(--wui-space-02);
13717
14075
  text-align: left;
13718
14076
  `;
13719
- var StyledTh = import_styled_components88.default.th`
14077
+ var StyledTh = import_styled_components91.default.th`
13720
14078
  ${sharedStyles}
13721
14079
  font-size: var(--wui-typography-body-4-size);
13722
14080
  font-weight: var(--wui-typography-weight-label-bold);
13723
14081
  line-height: var(--wui-typography-body-4-line-height);
13724
14082
  `;
13725
- var StyledTd = import_styled_components88.default.td`
14083
+ var StyledTd = import_styled_components91.default.td`
13726
14084
  ${sharedStyles}
13727
14085
  font-size: var(--wui-typography-body-2-size);
13728
14086
  font-weight: var(--wui-typography-body-2-weight);
13729
14087
  line-height: var(--wui-typography-body-2-line-height);
13730
14088
  `;
13731
14089
  var TableCell = ({ children, ...props }) => {
13732
- const section = (0, import_react70.useContext)(TableSectionContext);
14090
+ const section = (0, import_react73.useContext)(TableSectionContext);
13733
14091
  if (section === "head") {
13734
- return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(StyledTh, { ...props, children });
14092
+ return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(StyledTh, { ...props, children });
13735
14093
  }
13736
- return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(StyledTd, { ...props, children });
14094
+ return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(StyledTd, { ...props, children });
13737
14095
  };
13738
14096
 
13739
14097
  // src/components/Table/TableFoot.tsx
13740
- var import_styled_components89 = __toESM(require("styled-components"));
13741
- var import_jsx_runtime273 = require("react/jsx-runtime");
13742
- var StyledTableFoot = import_styled_components89.default.tfoot``;
14098
+ var import_styled_components92 = __toESM(require("styled-components"));
14099
+ var import_jsx_runtime277 = require("react/jsx-runtime");
14100
+ var StyledTableFoot = import_styled_components92.default.tfoot``;
13743
14101
  var TableFoot = ({ children, ...props }) => {
13744
- return /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(StyledTableFoot, { ...props, children }) });
14102
+ return /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(StyledTableFoot, { ...props, children }) });
13745
14103
  };
13746
14104
 
13747
14105
  // src/components/Table/TableHead.tsx
13748
- var import_styled_components90 = __toESM(require("styled-components"));
13749
- var import_jsx_runtime274 = require("react/jsx-runtime");
13750
- var StyledThead = import_styled_components90.default.thead``;
14106
+ var import_styled_components93 = __toESM(require("styled-components"));
14107
+ var import_jsx_runtime278 = require("react/jsx-runtime");
14108
+ var StyledThead = import_styled_components93.default.thead``;
13751
14109
  var TableHead = ({ children, ...props }) => {
13752
- return /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(TableSectionContext.Provider, { value: "head", children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(StyledThead, { ...props, children }) });
14110
+ return /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(TableSectionContext.Provider, { value: "head", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(StyledThead, { ...props, children }) });
13753
14111
  };
13754
14112
 
13755
14113
  // src/components/Table/TableRow.tsx
13756
- var import_styled_components91 = __toESM(require("styled-components"));
13757
- var import_jsx_runtime275 = require("react/jsx-runtime");
13758
- var StyledTableRow = import_styled_components91.default.tr``;
14114
+ var import_styled_components94 = __toESM(require("styled-components"));
14115
+ var import_jsx_runtime279 = require("react/jsx-runtime");
14116
+ var StyledTableRow = import_styled_components94.default.tr``;
13759
14117
  var TableRow = ({ children, ...props }) => {
13760
- return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(StyledTableRow, { ...props, children });
14118
+ return /* @__PURE__ */ (0, import_jsx_runtime279.jsx)(StyledTableRow, { ...props, children });
13761
14119
  };
13762
14120
 
13763
14121
  // src/components/Tabs/Tabs.tsx
13764
14122
  var import_react_tabs = require("@radix-ui/react-tabs");
13765
- var import_react72 = require("react");
13766
- var import_type_guards58 = require("@wistia/type-guards");
14123
+ var import_react75 = require("react");
14124
+ var import_type_guards61 = require("@wistia/type-guards");
13767
14125
 
13768
14126
  // src/components/Tabs/useTabsValue.tsx
13769
- var import_react71 = require("react");
13770
- var TabsValueContext = (0, import_react71.createContext)(null);
14127
+ var import_react74 = require("react");
14128
+ var TabsValueContext = (0, import_react74.createContext)(null);
13771
14129
  var TabsValueProvider = TabsValueContext.Provider;
13772
14130
  var useTabsValue = () => {
13773
- const context = (0, import_react71.useContext)(TabsValueContext);
14131
+ const context = (0, import_react74.useContext)(TabsValueContext);
13774
14132
  if (context === null) {
13775
14133
  throw new Error("useTabsValue must be used within a TabsValueProvider");
13776
14134
  }
@@ -13778,7 +14136,7 @@ var useTabsValue = () => {
13778
14136
  };
13779
14137
 
13780
14138
  // src/components/Tabs/Tabs.tsx
13781
- var import_jsx_runtime276 = require("react/jsx-runtime");
14139
+ var import_jsx_runtime280 = require("react/jsx-runtime");
13782
14140
  var Tabs = ({
13783
14141
  children,
13784
14142
  value: valueProp,
@@ -13786,8 +14144,8 @@ var Tabs = ({
13786
14144
  defaultValue,
13787
14145
  ...props
13788
14146
  }) => {
13789
- const [value, setValue] = (0, import_react72.useState)(valueProp ?? defaultValue);
13790
- const onValueChange = (0, import_react72.useCallback)(
14147
+ const [value, setValue] = (0, import_react75.useState)(valueProp ?? defaultValue);
14148
+ const onValueChange = (0, import_react75.useCallback)(
13791
14149
  (newValue) => {
13792
14150
  setValue(newValue);
13793
14151
  if (onValueChangeProp) {
@@ -13800,48 +14158,48 @@ var Tabs = ({
13800
14158
  ...props,
13801
14159
  onValueChange
13802
14160
  };
13803
- if ((0, import_type_guards58.isNotNil)(value)) {
14161
+ if ((0, import_type_guards61.isNotNil)(value)) {
13804
14162
  rootProps.value = value;
13805
14163
  }
13806
- if ((0, import_type_guards58.isNotNil)(defaultValue)) {
14164
+ if ((0, import_type_guards61.isNotNil)(defaultValue)) {
13807
14165
  rootProps.defaultValue = defaultValue;
13808
14166
  }
13809
- return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(import_react_tabs.Root, { ...rootProps, children: /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(TabsValueProvider, { value: value ?? defaultValue, children: /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(SelectedItemStyleProvider, { children }) }) });
14167
+ return /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(import_react_tabs.Root, { ...rootProps, children: /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(TabsValueProvider, { value: value ?? defaultValue, children: /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(SelectedItemStyleProvider, { children }) }) });
13810
14168
  };
13811
14169
  Tabs.displayName = "Tabs";
13812
14170
 
13813
14171
  // src/components/Tabs/TabsContent.tsx
13814
14172
  var import_react_tabs2 = require("@radix-ui/react-tabs");
13815
- var import_jsx_runtime277 = require("react/jsx-runtime");
14173
+ var import_jsx_runtime281 = require("react/jsx-runtime");
13816
14174
  var TabsContent = ({ children, value }) => {
13817
- return /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_react_tabs2.Content, { value, children });
14175
+ return /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(import_react_tabs2.Content, { value, children });
13818
14176
  };
13819
14177
  TabsContent.displayName = "TabsContent";
13820
14178
 
13821
14179
  // src/components/Tabs/TabsList.tsx
13822
14180
  var import_react_tabs3 = require("@radix-ui/react-tabs");
13823
- var import_styled_components93 = __toESM(require("styled-components"));
14181
+ var import_styled_components96 = __toESM(require("styled-components"));
13824
14182
 
13825
14183
  // src/components/Tabs/SelectedTabIndicator.tsx
13826
- var import_type_guards59 = require("@wistia/type-guards");
14184
+ var import_type_guards62 = require("@wistia/type-guards");
13827
14185
 
13828
14186
  // src/components/Tabs/TabsSelectedItemIndicatorDiv.tsx
13829
- var import_styled_components92 = __toESM(require("styled-components"));
13830
- var TabsSelectedItemIndicatorDiv = (0, import_styled_components92.default)(SelectedItemIndicatorDiv)`
14187
+ var import_styled_components95 = __toESM(require("styled-components"));
14188
+ var TabsSelectedItemIndicatorDiv = (0, import_styled_components95.default)(SelectedItemIndicatorDiv)`
13831
14189
  &:has(~ button[role='tab']:focus-visible) {
13832
14190
  outline: 2px solid var(--wui-color-focus-ring);
13833
14191
  }
13834
14192
  `;
13835
14193
 
13836
14194
  // src/components/Tabs/SelectedTabIndicator.tsx
13837
- var import_jsx_runtime278 = require("react/jsx-runtime");
14195
+ var import_jsx_runtime282 = require("react/jsx-runtime");
13838
14196
  var SelectedTabIndicator = () => {
13839
14197
  const { selectedItemIndicatorStyle } = useSelectedItemStyle();
13840
14198
  const selectedValue = useTabsValue();
13841
- if (selectedValue == null || (0, import_type_guards59.isUndefined)(selectedItemIndicatorStyle)) {
14199
+ if (selectedValue == null || (0, import_type_guards62.isUndefined)(selectedItemIndicatorStyle)) {
13842
14200
  return null;
13843
14201
  }
13844
- return /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
14202
+ return /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
13845
14203
  TabsSelectedItemIndicatorDiv,
13846
14204
  {
13847
14205
  "data-wui-selected-item-indicator": true,
@@ -13851,19 +14209,19 @@ var SelectedTabIndicator = () => {
13851
14209
  };
13852
14210
 
13853
14211
  // src/components/Tabs/TabsList.tsx
13854
- var import_jsx_runtime279 = require("react/jsx-runtime");
13855
- var StyledRadixTabsList = (0, import_styled_components93.default)(import_react_tabs3.List)`
14212
+ var import_jsx_runtime283 = require("react/jsx-runtime");
14213
+ var StyledRadixTabsList = (0, import_styled_components96.default)(import_react_tabs3.List)`
13856
14214
  ${segmentedControlStyles}
13857
14215
  `;
13858
14216
  var TabsList = ({ children, fullWidth = true, ...props }) => {
13859
- return /* @__PURE__ */ (0, import_jsx_runtime279.jsxs)(
14217
+ return /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(
13860
14218
  StyledRadixTabsList,
13861
14219
  {
13862
14220
  $fullWidth: fullWidth,
13863
14221
  "aria-label": props["aria-label"],
13864
14222
  children: [
13865
14223
  children,
13866
- /* @__PURE__ */ (0, import_jsx_runtime279.jsx)(SelectedTabIndicator, {})
14224
+ /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(SelectedTabIndicator, {})
13867
14225
  ]
13868
14226
  }
13869
14227
  );
@@ -13871,13 +14229,13 @@ var TabsList = ({ children, fullWidth = true, ...props }) => {
13871
14229
  TabsList.displayName = "TabsList";
13872
14230
 
13873
14231
  // src/components/Tabs/TabsTrigger.tsx
13874
- var import_react73 = require("react");
13875
- var import_type_guards60 = require("@wistia/type-guards");
14232
+ var import_react76 = require("react");
14233
+ var import_type_guards63 = require("@wistia/type-guards");
13876
14234
 
13877
14235
  // src/components/Tabs/StyledRadixTabsTrigger.tsx
13878
- var import_styled_components94 = __toESM(require("styled-components"));
14236
+ var import_styled_components97 = __toESM(require("styled-components"));
13879
14237
  var import_react_tabs4 = require("@radix-ui/react-tabs");
13880
- var StyledRadixTabsTrigger = (0, import_styled_components94.default)(import_react_tabs4.Trigger)`
14238
+ var StyledRadixTabsTrigger = (0, import_styled_components97.default)(import_react_tabs4.Trigger)`
13881
14239
  ${segmentedControlItemStyles}
13882
14240
 
13883
14241
  &:focus-visible {
@@ -13886,14 +14244,14 @@ var StyledRadixTabsTrigger = (0, import_styled_components94.default)(import_reac
13886
14244
  `;
13887
14245
 
13888
14246
  // src/components/Tabs/TabsTrigger.tsx
13889
- var import_jsx_runtime280 = require("react/jsx-runtime");
13890
- var TabsTrigger = (0, import_react73.forwardRef)(
14247
+ var import_jsx_runtime284 = require("react/jsx-runtime");
14248
+ var TabsTrigger = (0, import_react76.forwardRef)(
13891
14249
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value, ...otherProps }, forwardedRef) => {
13892
14250
  const selectedValue = useTabsValue();
13893
14251
  const { setSelectedItemMeasurements } = useSelectedItemStyle();
13894
- const buttonRef = (0, import_react73.useRef)(null);
14252
+ const buttonRef = (0, import_react76.useRef)(null);
13895
14253
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
13896
- (0, import_react73.useEffect)(() => {
14254
+ (0, import_react76.useEffect)(() => {
13897
14255
  const buttonElem = buttonRef.current;
13898
14256
  if (!buttonElem) {
13899
14257
  return void 0;
@@ -13918,13 +14276,13 @@ var TabsTrigger = (0, import_react73.forwardRef)(
13918
14276
  resizeObserver.disconnect();
13919
14277
  };
13920
14278
  }, [selectedValue, setSelectedItemMeasurements, value]);
13921
- return /* @__PURE__ */ (0, import_jsx_runtime280.jsxs)(
14279
+ return /* @__PURE__ */ (0, import_jsx_runtime284.jsxs)(
13922
14280
  StyledRadixTabsTrigger,
13923
14281
  {
13924
14282
  ...otherProps,
13925
14283
  ref: combinedRef,
13926
- $hasLabel: (0, import_type_guards60.isNotNil)(label),
13927
- "aria-label": (0, import_type_guards60.isNotNil)(label) ? void 0 : ariaLabel,
14284
+ $hasLabel: (0, import_type_guards63.isNotNil)(label),
14285
+ "aria-label": (0, import_type_guards63.isNotNil)(label) ? void 0 : ariaLabel,
13928
14286
  disabled,
13929
14287
  value,
13930
14288
  children: [
@@ -13938,10 +14296,10 @@ var TabsTrigger = (0, import_react73.forwardRef)(
13938
14296
  TabsTrigger.displayName = "TabsTrigger";
13939
14297
 
13940
14298
  // src/components/Thumbnail/ThumbnailBadge.tsx
13941
- var import_styled_components95 = __toESM(require("styled-components"));
13942
- var import_type_guards61 = require("@wistia/type-guards");
13943
- var import_jsx_runtime281 = require("react/jsx-runtime");
13944
- var StyledThumbnailBadge = import_styled_components95.default.div`
14299
+ var import_styled_components98 = __toESM(require("styled-components"));
14300
+ var import_type_guards64 = require("@wistia/type-guards");
14301
+ var import_jsx_runtime285 = require("react/jsx-runtime");
14302
+ var StyledThumbnailBadge = import_styled_components98.default.div`
13945
14303
  align-items: center;
13946
14304
  background-color: rgb(0 0 0 / 50%);
13947
14305
  border-radius: var(--wui-border-radius-01);
@@ -13966,23 +14324,23 @@ var StyledThumbnailBadge = import_styled_components95.default.div`
13966
14324
  }
13967
14325
  `;
13968
14326
  var ThumbnailBadge = ({ icon, label, ...props }) => {
13969
- return /* @__PURE__ */ (0, import_jsx_runtime281.jsxs)(StyledThumbnailBadge, { ...props, children: [
13970
- (0, import_type_guards61.isNotNil)(icon) && icon,
13971
- /* @__PURE__ */ (0, import_jsx_runtime281.jsx)("span", { children: label })
14327
+ return /* @__PURE__ */ (0, import_jsx_runtime285.jsxs)(StyledThumbnailBadge, { ...props, children: [
14328
+ (0, import_type_guards64.isNotNil)(icon) && icon,
14329
+ /* @__PURE__ */ (0, import_jsx_runtime285.jsx)("span", { children: label })
13972
14330
  ] });
13973
14331
  };
13974
14332
  ThumbnailBadge.displayName = "ThumbnailBadge";
13975
14333
 
13976
14334
  // src/components/Thumbnail/Thumbnail.tsx
13977
- var import_react74 = require("react");
13978
- var import_styled_components98 = __toESM(require("styled-components"));
13979
- var import_type_guards64 = require("@wistia/type-guards");
14335
+ var import_react77 = require("react");
14336
+ var import_styled_components101 = __toESM(require("styled-components"));
14337
+ var import_type_guards67 = require("@wistia/type-guards");
13980
14338
 
13981
14339
  // src/private/helpers/getBackgroundGradient/getBackgroundGradient.ts
13982
- var import_type_guards62 = require("@wistia/type-guards");
13983
- var import_styled_components96 = require("styled-components");
14340
+ var import_type_guards65 = require("@wistia/type-guards");
14341
+ var import_styled_components99 = require("styled-components");
13984
14342
  var gradients = {
13985
- defaultDarkOne: import_styled_components96.css`
14343
+ defaultDarkOne: import_styled_components99.css`
13986
14344
  background-color: #222d66;
13987
14345
  background-image:
13988
14346
  radial-gradient(farthest-corner at top right, #222d66, transparent 70%),
@@ -13990,7 +14348,7 @@ var gradients = {
13990
14348
  radial-gradient(farthest-corner at bottom left, #6b84ff, transparent 57%),
13991
14349
  radial-gradient(farthest-corner at top left, #2949e5, transparent 68%);
13992
14350
  `,
13993
- defaultDarkTwo: import_styled_components96.css`
14351
+ defaultDarkTwo: import_styled_components99.css`
13994
14352
  background-color: #222d66;
13995
14353
  background-image:
13996
14354
  radial-gradient(farthest-corner at top left, #6b84ff, transparent 100%),
@@ -13998,7 +14356,7 @@ var gradients = {
13998
14356
  radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
13999
14357
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
14000
14358
  `,
14001
- defaultLightOne: import_styled_components96.css`
14359
+ defaultLightOne: import_styled_components99.css`
14002
14360
  background-color: #ccd5ff;
14003
14361
  background-image:
14004
14362
  radial-gradient(farthest-corner at bottom right, #ccd5ff, transparent 55%),
@@ -14006,13 +14364,13 @@ var gradients = {
14006
14364
  radial-gradient(farthest-corner at top right, #6b84ff, transparent 50%),
14007
14365
  radial-gradient(farthest-corner at bottom left, #f7f8ff, transparent 50%);
14008
14366
  `,
14009
- defaultLightTwo: import_styled_components96.css`
14367
+ defaultLightTwo: import_styled_components99.css`
14010
14368
  background-color: #ccd5ff;
14011
14369
  background-image:
14012
14370
  radial-gradient(ellipse at top, #ccd5ff, transparent),
14013
14371
  radial-gradient(ellipse at bottom, #6b84ff, transparent);
14014
14372
  `,
14015
- defaultMidOne: import_styled_components96.css`
14373
+ defaultMidOne: import_styled_components99.css`
14016
14374
  background-color: #6b84ff;
14017
14375
  background-image:
14018
14376
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%),
@@ -14020,13 +14378,13 @@ var gradients = {
14020
14378
  radial-gradient(farthest-corner at top left, #6b84ff, transparent 80%),
14021
14379
  radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%);
14022
14380
  `,
14023
- defaultMidTwo: import_styled_components96.css`
14381
+ defaultMidTwo: import_styled_components99.css`
14024
14382
  background-color: #6b84ff;
14025
14383
  background-image:
14026
14384
  radial-gradient(ellipse at top, #2949e5, transparent),
14027
14385
  radial-gradient(ellipse at bottom, #ccd5ff, transparent);
14028
14386
  `,
14029
- green: import_styled_components96.css`
14387
+ green: import_styled_components99.css`
14030
14388
  background-color: #fafffa;
14031
14389
  background-image:
14032
14390
  radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
@@ -14034,7 +14392,7 @@ var gradients = {
14034
14392
  radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
14035
14393
  radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
14036
14394
  `,
14037
- greenWithPop: import_styled_components96.css`
14395
+ greenWithPop: import_styled_components99.css`
14038
14396
  background-color: #fafffa;
14039
14397
  background-image:
14040
14398
  radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
@@ -14042,7 +14400,7 @@ var gradients = {
14042
14400
  radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
14043
14401
  radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
14044
14402
  `,
14045
- pink: import_styled_components96.css`
14403
+ pink: import_styled_components99.css`
14046
14404
  background-color: #fffff0;
14047
14405
  background-image:
14048
14406
  radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 50%),
@@ -14050,7 +14408,7 @@ var gradients = {
14050
14408
  radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
14051
14409
  radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%);
14052
14410
  `,
14053
- pinkWithPop: import_styled_components96.css`
14411
+ pinkWithPop: import_styled_components99.css`
14054
14412
  background-color: #fffff0;
14055
14413
  background-image:
14056
14414
  radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
@@ -14058,7 +14416,7 @@ var gradients = {
14058
14416
  radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%),
14059
14417
  radial-gradient(farthest-corner at bottom left, #2949e5, transparent 50%);
14060
14418
  `,
14061
- playfulGradientOne: import_styled_components96.css`
14419
+ playfulGradientOne: import_styled_components99.css`
14062
14420
  background-color: #f7f8ff;
14063
14421
  background-image:
14064
14422
  radial-gradient(farthest-corner at top left, #d65cff, transparent 68%),
@@ -14066,7 +14424,7 @@ var gradients = {
14066
14424
  radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 57%),
14067
14425
  radial-gradient(farthest-corner at top right, #ffcaba, transparent 70%);
14068
14426
  `,
14069
- playfulGradientTwo: import_styled_components96.css`
14427
+ playfulGradientTwo: import_styled_components99.css`
14070
14428
  background-color: #f7f8ff;
14071
14429
  background-image:
14072
14430
  radial-gradient(farthest-corner at top left, #44b62d, transparent 68%),
@@ -14074,13 +14432,13 @@ var gradients = {
14074
14432
  radial-gradient(farthest-corner at bottom left, #ccd5ff, transparent 57%),
14075
14433
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
14076
14434
  `,
14077
- purple: import_styled_components96.css`
14435
+ purple: import_styled_components99.css`
14078
14436
  background-color: #f2caff;
14079
14437
  background-image:
14080
14438
  radial-gradient(ellipse at 0% 100%, #f9e5ff, transparent 50%),
14081
14439
  radial-gradient(ellipse at 100% 0%, #e093fa, transparent 70%);
14082
14440
  `,
14083
- purpleWithPop: import_styled_components96.css`
14441
+ purpleWithPop: import_styled_components99.css`
14084
14442
  background-color: #f2caff;
14085
14443
  background-image:
14086
14444
  radial-gradient(farthest-corner at bottom left, #f2caff, transparent 50%),
@@ -14088,7 +14446,7 @@ var gradients = {
14088
14446
  radial-gradient(farthest-corner at bottom right, #d65cff, transparent 55%),
14089
14447
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
14090
14448
  `,
14091
- yellow: import_styled_components96.css`
14449
+ yellow: import_styled_components99.css`
14092
14450
  background-color: #fffff0;
14093
14451
  background-image:
14094
14452
  radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
@@ -14096,7 +14454,7 @@ var gradients = {
14096
14454
  radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
14097
14455
  radial-gradient(farthest-corner at bottom right, #e8ec1e, transparent 55%);
14098
14456
  `,
14099
- yellowWithPop: import_styled_components96.css`
14457
+ yellowWithPop: import_styled_components99.css`
14100
14458
  background-color: #fffff0;
14101
14459
  background-image:
14102
14460
  radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
@@ -14107,14 +14465,14 @@ var gradients = {
14107
14465
  };
14108
14466
  var gradientMap = Object.keys(gradients);
14109
14467
  var getBackgroundGradient = (gradientName = void 0) => {
14110
- return (0, import_type_guards62.isNotNil)(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
14468
+ return (0, import_type_guards65.isNotNil)(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
14111
14469
  };
14112
14470
 
14113
14471
  // src/components/Thumbnail/ThumbnailStoryboardViewer.tsx
14114
- var import_styled_components97 = __toESM(require("styled-components"));
14115
- var import_type_guards63 = require("@wistia/type-guards");
14116
- var import_jsx_runtime282 = require("react/jsx-runtime");
14117
- var ScrubLine = import_styled_components97.default.div`
14472
+ var import_styled_components100 = __toESM(require("styled-components"));
14473
+ var import_type_guards66 = require("@wistia/type-guards");
14474
+ var import_jsx_runtime286 = require("react/jsx-runtime");
14475
+ var ScrubLine = import_styled_components100.default.div`
14118
14476
  position: absolute;
14119
14477
  top: 0;
14120
14478
  height: 100%;
@@ -14198,8 +14556,8 @@ var ThumbnailStoryboardViewer = ({
14198
14556
  );
14199
14557
  const backgroundSize = `${scaledStoryboardWidth}px ${scaledStoryboardHeight}px`;
14200
14558
  const backgroundImage = `url(${storyboardUrl})`;
14201
- const showScrubLine = (0, import_type_guards63.isNotNil)(cursorPosition);
14202
- const scrubLinePosition = (0, import_type_guards63.isNotNil)(cursorPosition) ? `${cursorPosition - 1}px` : "0";
14559
+ const showScrubLine = (0, import_type_guards66.isNotNil)(cursorPosition);
14560
+ const scrubLinePosition = (0, import_type_guards66.isNotNil)(cursorPosition) ? `${cursorPosition - 1}px` : "0";
14203
14561
  const viewerStyles = {
14204
14562
  position: "relative",
14205
14563
  overflow: "hidden",
@@ -14217,14 +14575,14 @@ var ThumbnailStoryboardViewer = ({
14217
14575
  backgroundPosition,
14218
14576
  backgroundSize
14219
14577
  };
14220
- return /* @__PURE__ */ (0, import_jsx_runtime282.jsxs)(
14578
+ return /* @__PURE__ */ (0, import_jsx_runtime286.jsxs)(
14221
14579
  "div",
14222
14580
  {
14223
14581
  ...props,
14224
14582
  style: viewerStyles,
14225
14583
  children: [
14226
- /* @__PURE__ */ (0, import_jsx_runtime282.jsx)("div", { style: storyboardStyles }),
14227
- showScrubLine ? /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
14584
+ /* @__PURE__ */ (0, import_jsx_runtime286.jsx)("div", { style: storyboardStyles }),
14585
+ showScrubLine ? /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(
14228
14586
  ScrubLine,
14229
14587
  {
14230
14588
  style: {
@@ -14238,20 +14596,20 @@ var ThumbnailStoryboardViewer = ({
14238
14596
  };
14239
14597
 
14240
14598
  // src/components/Thumbnail/Thumbnail.tsx
14241
- var import_jsx_runtime283 = require("react/jsx-runtime");
14242
- var WideThumbnailImage = import_styled_components98.default.img`
14599
+ var import_jsx_runtime287 = require("react/jsx-runtime");
14600
+ var WideThumbnailImage = import_styled_components101.default.img`
14243
14601
  height: 100%;
14244
14602
  object-fit: cover;
14245
14603
  width: 100%;
14246
14604
  `;
14247
- var SquareThumbnailImage = import_styled_components98.default.img`
14605
+ var SquareThumbnailImage = import_styled_components101.default.img`
14248
14606
  backdrop-filter: blur(8px);
14249
14607
  object-fit: contain;
14250
14608
  width: 100%;
14251
14609
  `;
14252
14610
  var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
14253
14611
  if (thumbnailImageType === "wide") {
14254
- return /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
14612
+ return /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
14255
14613
  WideThumbnailImage,
14256
14614
  {
14257
14615
  alt: "",
@@ -14260,7 +14618,7 @@ var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
14260
14618
  }
14261
14619
  );
14262
14620
  }
14263
- return /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
14621
+ return /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
14264
14622
  SquareThumbnailImage,
14265
14623
  {
14266
14624
  alt: "",
@@ -14269,11 +14627,11 @@ var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
14269
14627
  }
14270
14628
  );
14271
14629
  };
14272
- var StyledThumbnail = import_styled_components98.default.div`
14273
- background-image: ${({ $backgroundUrl }) => (0, import_type_guards64.isNotNil)($backgroundUrl) ? `url('${$backgroundUrl}')` : void 0};
14630
+ var StyledThumbnail = import_styled_components101.default.div`
14631
+ background-image: ${({ $backgroundUrl }) => (0, import_type_guards67.isNotNil)($backgroundUrl) ? `url('${$backgroundUrl}')` : void 0};
14274
14632
  ${({ $backgroundUrl, $gradientBackground }) => (
14275
14633
  // if we don't have $backgroundUrl show a gradient
14276
- (0, import_type_guards64.isNil)($backgroundUrl) ? getBackgroundGradient($gradientBackground) : void 0
14634
+ (0, import_type_guards67.isNil)($backgroundUrl) ? getBackgroundGradient($gradientBackground) : void 0
14277
14635
  )};
14278
14636
  background-position: center center;
14279
14637
  background-size: cover;
@@ -14298,7 +14656,7 @@ var getRelativeMousePosition = (elem, mouseEvent) => {
14298
14656
  left: relativeLeft
14299
14657
  };
14300
14658
  };
14301
- var Thumbnail = (0, import_react74.forwardRef)(
14659
+ var Thumbnail = (0, import_react77.forwardRef)(
14302
14660
  ({
14303
14661
  gradientBackground = "defaultMidOne",
14304
14662
  thumbnailImageType = "wide",
@@ -14309,17 +14667,17 @@ var Thumbnail = (0, import_react74.forwardRef)(
14309
14667
  height,
14310
14668
  ...props
14311
14669
  }, ref) => {
14312
- const [percent, setPercent] = (0, import_react74.useState)(0);
14313
- const [isMouseOver, setIsMouseOver] = (0, import_react74.useState)(false);
14314
- const [isStoryboardReady, setIsStoryboardReady] = (0, import_react74.useState)(false);
14315
- const storyboardElementRef = (0, import_react74.useRef)(null);
14316
- const [cursorPosition, setCursorPosition] = (0, import_react74.useState)(null);
14317
- const backgroundUrl = (0, import_react74.useMemo)(
14318
- () => thumbnailImageType === "square" && (0, import_type_guards64.isNotNil)(thumbnailUrl) ? thumbnailUrl : void 0,
14670
+ const [percent, setPercent] = (0, import_react77.useState)(0);
14671
+ const [isMouseOver, setIsMouseOver] = (0, import_react77.useState)(false);
14672
+ const [isStoryboardReady, setIsStoryboardReady] = (0, import_react77.useState)(false);
14673
+ const storyboardElementRef = (0, import_react77.useRef)(null);
14674
+ const [cursorPosition, setCursorPosition] = (0, import_react77.useState)(null);
14675
+ const backgroundUrl = (0, import_react77.useMemo)(
14676
+ () => thumbnailImageType === "square" && (0, import_type_guards67.isNotNil)(thumbnailUrl) ? thumbnailUrl : void 0,
14319
14677
  [thumbnailImageType, thumbnailUrl]
14320
14678
  );
14321
- const isScrubbable = (0, import_type_guards64.isNotNil)(storyboard);
14322
- const trackStoryboardLoadStatus = (0, import_react74.useCallback)(() => {
14679
+ const isScrubbable = (0, import_type_guards67.isNotNil)(storyboard);
14680
+ const trackStoryboardLoadStatus = (0, import_react77.useCallback)(() => {
14323
14681
  if (storyboardElementRef.current || !storyboard) {
14324
14682
  return storyboardElementRef.current;
14325
14683
  }
@@ -14329,7 +14687,7 @@ var Thumbnail = (0, import_react74.forwardRef)(
14329
14687
  storyboardElementRef.current = asset;
14330
14688
  return storyboardElementRef.current;
14331
14689
  }, [storyboard]);
14332
- const handleMouseMove = (0, import_react74.useCallback)(
14690
+ const handleMouseMove = (0, import_react77.useCallback)(
14333
14691
  (mouseEvent) => {
14334
14692
  if (!isScrubbable) return;
14335
14693
  const elem = mouseEvent.currentTarget;
@@ -14342,16 +14700,16 @@ var Thumbnail = (0, import_react74.forwardRef)(
14342
14700
  },
14343
14701
  [isScrubbable, trackStoryboardLoadStatus]
14344
14702
  );
14345
- const handleMouseOut = (0, import_react74.useCallback)(() => {
14703
+ const handleMouseOut = (0, import_react77.useCallback)(() => {
14346
14704
  if (!isScrubbable) return;
14347
14705
  setIsMouseOver(false);
14348
14706
  setCursorPosition(null);
14349
14707
  }, [isScrubbable]);
14350
- const shouldRenderStoryboard = (0, import_react74.useMemo)(() => {
14708
+ const shouldRenderStoryboard = (0, import_react77.useMemo)(() => {
14351
14709
  return Boolean(isScrubbable && isMouseOver && isStoryboardReady);
14352
14710
  }, [isScrubbable, isMouseOver, isStoryboardReady]);
14353
- const renderStoryboard = (0, import_react74.useCallback)(() => {
14354
- if (!storyboard || (0, import_type_guards64.isUndefined)(height) || (0, import_type_guards64.isEmptyString)(height)) return null;
14711
+ const renderStoryboard = (0, import_react77.useCallback)(() => {
14712
+ if (!storyboard || (0, import_type_guards67.isUndefined)(height) || (0, import_type_guards67.isEmptyString)(height)) return null;
14355
14713
  const {
14356
14714
  url,
14357
14715
  width: sbWidth,
@@ -14361,9 +14719,9 @@ var Thumbnail = (0, import_react74.forwardRef)(
14361
14719
  frameCount,
14362
14720
  aspectRatio
14363
14721
  } = storyboard;
14364
- const targetWidth = (0, import_type_guards64.isString)(width) ? parseInt(width, 10) : Number(width);
14722
+ const targetWidth = (0, import_type_guards67.isString)(width) ? parseInt(width, 10) : Number(width);
14365
14723
  const effectiveCursorPosition = isStoryboardReady ? cursorPosition : null;
14366
- return /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
14724
+ return /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
14367
14725
  ThumbnailStoryboardViewer,
14368
14726
  {
14369
14727
  cursorPosition: effectiveCursorPosition,
@@ -14382,8 +14740,8 @@ var Thumbnail = (0, import_react74.forwardRef)(
14382
14740
  let thumbnailContent = null;
14383
14741
  if (shouldRenderStoryboard) {
14384
14742
  thumbnailContent = renderStoryboard();
14385
- } else if ((0, import_type_guards64.isNotNil)(thumbnailUrl)) {
14386
- thumbnailContent = /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
14743
+ } else if ((0, import_type_guards67.isNotNil)(thumbnailUrl)) {
14744
+ thumbnailContent = /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
14387
14745
  ThumbnailImage,
14388
14746
  {
14389
14747
  thumbnailImageType,
@@ -14393,7 +14751,7 @@ var Thumbnail = (0, import_react74.forwardRef)(
14393
14751
  } else {
14394
14752
  thumbnailContent = null;
14395
14753
  }
14396
- return /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(
14754
+ return /* @__PURE__ */ (0, import_jsx_runtime287.jsxs)(
14397
14755
  StyledThumbnail,
14398
14756
  {
14399
14757
  ref,
@@ -14407,7 +14765,7 @@ var Thumbnail = (0, import_react74.forwardRef)(
14407
14765
  onMouseOut: handleMouseOut,
14408
14766
  role: "presentation",
14409
14767
  children: [
14410
- (0, import_type_guards64.isNotNil)(children) ? children : null,
14768
+ (0, import_type_guards67.isNotNil)(children) ? children : null,
14411
14769
  thumbnailContent
14412
14770
  ]
14413
14771
  }
@@ -14417,14 +14775,14 @@ var Thumbnail = (0, import_react74.forwardRef)(
14417
14775
  Thumbnail.displayName = "Thumbnail";
14418
14776
 
14419
14777
  // src/components/ThumbnailCollage/ThumbnailCollage.tsx
14420
- var import_react75 = __toESM(require("react"));
14421
- var import_styled_components99 = __toESM(require("styled-components"));
14422
- var import_type_guards65 = require("@wistia/type-guards");
14423
- var import_jsx_runtime284 = (
14778
+ var import_react78 = __toESM(require("react"));
14779
+ var import_styled_components102 = __toESM(require("styled-components"));
14780
+ var import_type_guards68 = require("@wistia/type-guards");
14781
+ var import_jsx_runtime288 = (
14424
14782
  // ThumbnailCollage will fallback to a Thumbnail with a gradient background if no children are provided
14425
14783
  require("react/jsx-runtime")
14426
14784
  );
14427
- var StyledThumbnailCollage = import_styled_components99.default.div`
14785
+ var StyledThumbnailCollage = import_styled_components102.default.div`
14428
14786
  display: grid;
14429
14787
  gap: var(--wui-space-01);
14430
14788
  width: 100%;
@@ -14497,15 +14855,15 @@ var ThumbnailCollage = ({
14497
14855
  gradientBackground = "defaultMidOne",
14498
14856
  ...props
14499
14857
  }) => {
14500
- const thumbnailArray = import_react75.default.Children.toArray(children);
14858
+ const thumbnailArray = import_react78.default.Children.toArray(children);
14501
14859
  const truncatedThumbnails = thumbnailArray.slice(0, 3);
14502
- const thumbnails = (0, import_type_guards65.isNonEmptyArray)(thumbnailArray) ? truncatedThumbnails.map((child) => {
14503
- return import_react75.default.cloneElement(child, {
14860
+ const thumbnails = (0, import_type_guards68.isNonEmptyArray)(thumbnailArray) ? truncatedThumbnails.map((child) => {
14861
+ return import_react78.default.cloneElement(child, {
14504
14862
  ...child.props,
14505
14863
  children: void 0
14506
14864
  });
14507
14865
  }) : [
14508
- /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(
14866
+ /* @__PURE__ */ (0, import_jsx_runtime288.jsx)(
14509
14867
  Thumbnail,
14510
14868
  {
14511
14869
  gradientBackground,
@@ -14514,7 +14872,7 @@ var ThumbnailCollage = ({
14514
14872
  "fallback"
14515
14873
  )
14516
14874
  ];
14517
- return /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(
14875
+ return /* @__PURE__ */ (0, import_jsx_runtime288.jsx)(
14518
14876
  StyledThumbnailCollage,
14519
14877
  {
14520
14878
  $gradientBackground: gradientBackground,
@@ -14526,26 +14884,26 @@ var ThumbnailCollage = ({
14526
14884
  };
14527
14885
 
14528
14886
  // src/components/WistiaLogo/WistiaLogo.tsx
14529
- var import_styled_components100 = __toESM(require("styled-components"));
14530
- var import_type_guards66 = require("@wistia/type-guards");
14531
- var import_jsx_runtime285 = require("react/jsx-runtime");
14887
+ var import_styled_components103 = __toESM(require("styled-components"));
14888
+ var import_type_guards69 = require("@wistia/type-guards");
14889
+ var import_jsx_runtime289 = require("react/jsx-runtime");
14532
14890
  var renderBrandmark = (brandmarkColor, iconOnly) => {
14533
14891
  if (iconOnly) {
14534
- return /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
14892
+ return /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
14535
14893
  "g",
14536
14894
  {
14537
14895
  "data-testid": "ui-wistia-logo-brandmark",
14538
14896
  fill: brandmarkColor,
14539
- children: /* @__PURE__ */ (0, import_jsx_runtime285.jsx)("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
14897
+ children: /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
14540
14898
  }
14541
14899
  );
14542
14900
  }
14543
- return /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
14901
+ return /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
14544
14902
  "g",
14545
14903
  {
14546
14904
  "data-testid": "ui-wistia-logo-brandmark",
14547
14905
  fill: brandmarkColor,
14548
- children: /* @__PURE__ */ (0, import_jsx_runtime285.jsx)("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
14906
+ children: /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
14549
14907
  }
14550
14908
  );
14551
14909
  };
@@ -14553,12 +14911,12 @@ var renderLogotype = (logotypeColor, iconOnly) => {
14553
14911
  if (iconOnly) {
14554
14912
  return null;
14555
14913
  }
14556
- return /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
14914
+ return /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
14557
14915
  "g",
14558
14916
  {
14559
14917
  "data-testid": "ui-wistia-logo-logotype",
14560
14918
  fill: logotypeColor,
14561
- children: /* @__PURE__ */ (0, import_jsx_runtime285.jsx)("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" })
14919
+ children: /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" })
14562
14920
  }
14563
14921
  );
14564
14922
  };
@@ -14568,7 +14926,7 @@ var computedViewBox = (iconOnly) => {
14568
14926
  }
14569
14927
  return "0 0 144 31.47";
14570
14928
  };
14571
- var WistiaLogoComponent = import_styled_components100.default.svg`
14929
+ var WistiaLogoComponent = import_styled_components103.default.svg`
14572
14930
  height: ${({ height }) => `${height}px`};
14573
14931
 
14574
14932
  /* ensure it will always fit on mobile */
@@ -14584,12 +14942,12 @@ var WistiaLogoComponent = import_styled_components100.default.svg`
14584
14942
  ${({ $opticallyCentered, $iconOnly }) => {
14585
14943
  if ($opticallyCentered) {
14586
14944
  if ($iconOnly) {
14587
- return import_styled_components100.css`
14945
+ return import_styled_components103.css`
14588
14946
  aspect-ratio: 1;
14589
14947
  padding: 11.85% 3.12% 13.91%;
14590
14948
  `;
14591
14949
  }
14592
- return import_styled_components100.css`
14950
+ return import_styled_components103.css`
14593
14951
  aspect-ratio: 127 / 32;
14594
14952
  `;
14595
14953
  }
@@ -14626,7 +14984,7 @@ var WistiaLogo = ({
14626
14984
  };
14627
14985
  const brandmarkColor = VARIANT_COLORS[variant].brandmark;
14628
14986
  const logotypeColor = VARIANT_COLORS[variant].logotype;
14629
- const Logo = /* @__PURE__ */ (0, import_jsx_runtime285.jsxs)(
14987
+ const Logo = /* @__PURE__ */ (0, import_jsx_runtime289.jsxs)(
14630
14988
  WistiaLogoComponent,
14631
14989
  {
14632
14990
  $hoverColor: hoverColor,
@@ -14639,23 +14997,23 @@ var WistiaLogo = ({
14639
14997
  xmlns: "http://www.w3.org/2000/svg",
14640
14998
  ...props,
14641
14999
  children: [
14642
- /* @__PURE__ */ (0, import_jsx_runtime285.jsx)("title", { children: title }),
14643
- (0, import_type_guards66.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime285.jsx)("desc", { children: description }) : null,
15000
+ /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("title", { children: title }),
15001
+ (0, import_type_guards69.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("desc", { children: description }) : null,
14644
15002
  renderBrandmark(brandmarkColor, iconOnly),
14645
15003
  renderLogotype(logotypeColor, iconOnly)
14646
15004
  ]
14647
15005
  }
14648
15006
  );
14649
- return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime285.jsx)("a", { href, children: Logo }) : Logo;
15007
+ return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("a", { href, children: Logo }) : Logo;
14650
15008
  };
14651
15009
  WistiaLogo.displayName = "WistiaLogo";
14652
15010
 
14653
15011
  // src/components/InputPassword/InputPassword.tsx
14654
- var import_styled_components101 = __toESM(require("styled-components"));
14655
- var import_react76 = require("react");
14656
- var import_type_guards67 = require("@wistia/type-guards");
14657
- var import_jsx_runtime286 = require("react/jsx-runtime");
14658
- var StyledIconButton = (0, import_styled_components101.default)(IconButton)`
15012
+ var import_styled_components104 = __toESM(require("styled-components"));
15013
+ var import_react79 = require("react");
15014
+ var import_type_guards70 = require("@wistia/type-guards");
15015
+ var import_jsx_runtime290 = require("react/jsx-runtime");
15016
+ var StyledIconButton = (0, import_styled_components104.default)(IconButton)`
14659
15017
  /* override size for icon button since prop gets changed by Input */
14660
15018
  height: var(--icon-button-size-sm);
14661
15019
  width: var(--icon-button-size-sm);
@@ -14663,23 +15021,23 @@ var StyledIconButton = (0, import_styled_components101.default)(IconButton)`
14663
15021
  /* override input padding variable since it is used for Input Icon positioning */
14664
15022
  --wui-input-horizontal-padding: 4px;
14665
15023
  `;
14666
- var InputPassword = (0, import_react76.forwardRef)(
15024
+ var InputPassword = (0, import_react79.forwardRef)(
14667
15025
  ({ onVisibilityToggle, disabled = false, ...props }, ref) => {
14668
- const [isVisible, setIsVisible] = (0, import_react76.useState)(false);
15026
+ const [isVisible, setIsVisible] = (0, import_react79.useState)(false);
14669
15027
  const handleClick = () => {
14670
15028
  const newVisibility = !isVisible;
14671
15029
  setIsVisible(newVisibility);
14672
- if ((0, import_type_guards67.isFunction)(onVisibilityToggle)) {
15030
+ if ((0, import_type_guards70.isFunction)(onVisibilityToggle)) {
14673
15031
  onVisibilityToggle(newVisibility);
14674
15032
  }
14675
15033
  };
14676
- return /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(
15034
+ return /* @__PURE__ */ (0, import_jsx_runtime290.jsx)(
14677
15035
  Input,
14678
15036
  {
14679
15037
  ...props,
14680
15038
  ref,
14681
15039
  disabled,
14682
- rightIcon: /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(
15040
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime290.jsx)(
14683
15041
  StyledIconButton,
14684
15042
  {
14685
15043
  disabled,
@@ -14687,7 +15045,7 @@ var InputPassword = (0, import_react76.forwardRef)(
14687
15045
  onClick: handleClick,
14688
15046
  tabIndex: disabled ? -1 : 0,
14689
15047
  variant: "ghost",
14690
- children: /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(Icon, { type: isVisible ? "preview" : "hide" })
15048
+ children: /* @__PURE__ */ (0, import_jsx_runtime290.jsx)(Icon, { type: isVisible ? "preview" : "hide" })
14691
15049
  }
14692
15050
  ),
14693
15051
  type: isVisible ? "text" : "password"
@@ -14696,6 +15054,65 @@ var InputPassword = (0, import_react76.forwardRef)(
14696
15054
  }
14697
15055
  );
14698
15056
  InputPassword.displayName = "InputPassword";
15057
+
15058
+ // src/components/ContextMenu/ContextMenu.tsx
15059
+ var import_react80 = require("react");
15060
+ var import_type_guards71 = require("@wistia/type-guards");
15061
+ var import_jsx_runtime291 = require("react/jsx-runtime");
15062
+ var ContextMenu = ({
15063
+ position,
15064
+ triggerRef,
15065
+ children,
15066
+ onRequestClose = () => null
15067
+ }) => {
15068
+ const [isRightClicked, setIsRightClicked] = (0, import_react80.useState)(false);
15069
+ const [menuPosition, setMenuPosition] = (0, import_react80.useState)(position ?? { x: 0, y: 0 });
15070
+ (0, import_react80.useEffect)(() => {
15071
+ if ((0, import_type_guards71.isNil)(position)) {
15072
+ const onContextMenu = (event) => {
15073
+ event.preventDefault();
15074
+ setMenuPosition({ x: event.clientX, y: event.clientY });
15075
+ setIsRightClicked(true);
15076
+ };
15077
+ const triggerEl = triggerRef?.current;
15078
+ triggerEl?.addEventListener("contextmenu", onContextMenu);
15079
+ return () => {
15080
+ triggerEl?.removeEventListener("contextmenu", onContextMenu);
15081
+ };
15082
+ }
15083
+ return () => null;
15084
+ }, [position, triggerRef]);
15085
+ const isOpen = (0, import_type_guards71.isNotNil)(position) || isRightClicked;
15086
+ return isOpen ? /* @__PURE__ */ (0, import_jsx_runtime291.jsx)(
15087
+ Menu,
15088
+ {
15089
+ avoidCollisions: false,
15090
+ isOpen,
15091
+ onOpenChange: (next) => {
15092
+ setIsRightClicked(next);
15093
+ if (!next) {
15094
+ onRequestClose();
15095
+ }
15096
+ },
15097
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime291.jsx)(
15098
+ "button",
15099
+ {
15100
+ "aria-label": "context menu",
15101
+ style: {
15102
+ width: "1px",
15103
+ height: "1px",
15104
+ all: "unset",
15105
+ position: "fixed",
15106
+ top: menuPosition.y,
15107
+ left: menuPosition.x
15108
+ },
15109
+ type: "button"
15110
+ }
15111
+ ),
15112
+ children
15113
+ }
15114
+ ) : null;
15115
+ };
14699
15116
  // Annotate the CommonJS export names for ESM import in node:
14700
15117
  0 && (module.exports = {
14701
15118
  ActionButton,
@@ -14720,6 +15137,7 @@ InputPassword.displayName = "InputPassword";
14720
15137
  ColorSchemeWrapper,
14721
15138
  Combobox,
14722
15139
  ComboboxOption,
15140
+ ContextMenu,
14723
15141
  DataCard,
14724
15142
  DataCardTrend,
14725
15143
  DataCards,
@@ -14759,6 +15177,8 @@ InputPassword.displayName = "InputPassword";
14759
15177
  Popover,
14760
15178
  ProgressBar,
14761
15179
  Radio,
15180
+ RadioCard,
15181
+ RadioCardImage,
14762
15182
  RadioGroup,
14763
15183
  RadioMenuItem,
14764
15184
  ScreenReaderOnly,