@wistia/ui 0.8.2 → 0.8.3-beta.e5caab02.ee46837

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.8.2
3
+ * @license @wistia/ui v0.8.3-beta.e5caab02.ee46837
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -9141,6 +9141,7 @@ var import_type_guards31 = require("@wistia/type-guards");
9141
9141
  // src/css/sharedStyles/inputCssVariables.ts
9142
9142
  var import_styled_components45 = require("styled-components");
9143
9143
  var inputCssVariables = import_styled_components45.css`
9144
+ /* Colors */
9144
9145
  --wui-input-color-bg: var(--wui-color-bg-surface);
9145
9146
  --wui-input-color-bg-disabled: var(--wui-color-bg-surface-disabled);
9146
9147
  --wui-input-color-border: var(--wui-color-border-secondary);
@@ -9148,13 +9149,20 @@ var inputCssVariables = import_styled_components45.css`
9148
9149
  --wui-input-color-border-error: var(--wui-color-invalid-indicator);
9149
9150
  --wui-input-color-border-disabled: var(--wui-color-border-disabled);
9150
9151
  --wui-input-color-text: var(--wui-color-text);
9152
+
9153
+ /* Border */
9151
9154
  --wui-input-border-radius: var(--wui-border-radius-03);
9152
9155
  --wui-input-multiline-border-radius: var(--wui-border-radius-02);
9156
+
9157
+ /* Padding */
9153
9158
  --wui-input-vertical-padding: var(--wui-space-02);
9154
9159
  --wui-input-horizontal-padding: var(--wui-space-03);
9160
+
9161
+ /* Typography */
9155
9162
  --wui-input-placeholder: var(--wui-gray-10);
9156
9163
  --wui-input-font-size: var(--wui-typography-body-3-size);
9157
9164
  --wui-input-line-height: 16px;
9165
+ --wui-input-font-weight: var(--wui-typography-weight-body);
9158
9166
  `;
9159
9167
 
9160
9168
  // src/components/Input/Input.tsx
@@ -9171,7 +9179,7 @@ var inputStyles = import_styled_components46.css`
9171
9179
  border-radius: var(--wui-input-border-radius);
9172
9180
  font-size: var(--wui-input-font-size);
9173
9181
  line-height: var(--wui-input-line-height);
9174
- font-weight: var(--wui-typography-weight-body);
9182
+ font-weight: var(--wui-input-font-weight);
9175
9183
  color: var(--wui-input-color-text);
9176
9184
 
9177
9185
  &::placeholder {
@@ -9341,15 +9349,12 @@ var StyledInput = (0, import_styled_components47.default)(Input)`
9341
9349
  min-height: unset;
9342
9350
  }
9343
9351
 
9344
- resize: vertical;
9345
- font-size: var(--wui-typography-heading-1-size);
9346
- font-weight: var(--wui-typography-heading-1-weight);
9347
- line-height: var(--wui-typography-heading-1-line-height);
9348
- font-family: var(--wui-typography-heading-1-family);
9349
- outline: 2px solid var(--wui-color-focus-ring);
9350
- outline-offset: -2px;
9351
-
9352
9352
  && {
9353
+ --wui-input-font-size: var(--wui-typography-heading-1-size);
9354
+ --wui-input-font-weight: var(--wui-typography-heading-1-weight);
9355
+ --wui-input-line-height: var(--wui-typography-heading-1-line-height);
9356
+
9357
+ font-family: var(--wui-typography-heading-1-family);
9353
9358
  width: 100%;
9354
9359
  padding: var(--wui-space-02);
9355
9360
  border: none;
@@ -9380,7 +9385,7 @@ var EditableHeading = ({
9380
9385
  onEditingChange,
9381
9386
  tooltipText = "Click to edit title",
9382
9387
  ariaLabel = "Edit title",
9383
- forceEditing = false,
9388
+ __forceEditing = false,
9384
9389
  editingDisabled = false
9385
9390
  }) => {
9386
9391
  const [isEditing, setIsEditing] = (0, import_react29.useState)(false);
@@ -9433,7 +9438,7 @@ var EditableHeading = ({
9433
9438
  if (editingDisabled) {
9434
9439
  return HeadingComponent2;
9435
9440
  }
9436
- if (isEditing || forceEditing) {
9441
+ if (isEditing || __forceEditing) {
9437
9442
  return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
9438
9443
  StyledInput,
9439
9444
  {
@@ -10822,6 +10827,7 @@ var getControlProps = (isOpen, onOpenChange) => {
10822
10827
  // src/components/Popover/Popover.tsx
10823
10828
  var import_jsx_runtime244 = require("react/jsx-runtime");
10824
10829
  var StyledContent2 = (0, import_styled_components64.default)(import_react_popover.Content)`
10830
+ ${({ $colorScheme }) => getColorScheme($colorScheme)};
10825
10831
  ${({ $unstyled }) => !$unstyled && import_styled_components64.css`
10826
10832
  border-radius: var(--wui-border-radius-02);
10827
10833
  padding: var(--wui-space-04);
@@ -10848,6 +10854,7 @@ var Popover = ({
10848
10854
  maxHeight = "auto",
10849
10855
  onOpenChange,
10850
10856
  unstyled = false,
10857
+ colorScheme = "inherit",
10851
10858
  ...props
10852
10859
  }) => {
10853
10860
  const style = {
@@ -10859,6 +10866,7 @@ var Popover = ({
10859
10866
  /* @__PURE__ */ (0, import_jsx_runtime244.jsx)(import_react_popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime244.jsxs)(
10860
10867
  StyledContent2,
10861
10868
  {
10869
+ $colorScheme: colorScheme,
10862
10870
  sideOffset: 8,
10863
10871
  ...props,
10864
10872
  $unstyled: unstyled,
@@ -11129,42 +11137,47 @@ var Radio = (0, import_react48.forwardRef)(
11129
11137
  Radio.displayName = "Radio";
11130
11138
 
11131
11139
  // src/components/SegmentedControl/SegmentedControl.tsx
11132
- var import_react52 = require("react");
11140
+ var import_react51 = require("react");
11133
11141
  var import_styled_components68 = __toESM(require("styled-components"));
11134
11142
  var import_react_toggle_group = require("@radix-ui/react-toggle-group");
11135
11143
  var import_type_guards43 = require("@wistia/type-guards");
11136
11144
 
11137
- // src/components/SegmentedControl/useSelectedItemMeasurements.tsx
11145
+ // src/components/SegmentedControl/useSelectedItemStyle.tsx
11138
11146
  var import_react49 = require("react");
11139
11147
  var import_jsx_runtime247 = require("react/jsx-runtime");
11140
- var SelectedItemMeasurementsContext = (0, import_react49.createContext)(
11141
- null
11142
- );
11143
- var SelectedItemMeasurementsProvider = ({
11148
+ var SelectedItemStyleContext = (0, import_react49.createContext)(null);
11149
+ var SelectedItemStyleProvider = ({
11144
11150
  children
11145
11151
  }) => {
11146
11152
  const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react49.useState)(null);
11153
+ const selectedItemIndicatorStyle = (0, import_react49.useMemo)(
11154
+ () => selectedItemMeasurements != null ? {
11155
+ height: `${selectedItemMeasurements.offsetHeight}px`,
11156
+ transform: `translateX(${selectedItemMeasurements.offsetLeft}px) translateY(-50%)`,
11157
+ width: `${selectedItemMeasurements.offsetWidth}px`
11158
+ } : {
11159
+ transform: "translateY(-50%)"
11160
+ },
11161
+ [selectedItemMeasurements]
11162
+ );
11147
11163
  const contextValue = (0, import_react49.useMemo)(
11148
11164
  () => ({
11149
11165
  setSelectedItemMeasurements,
11150
- selectedItemMeasurements
11166
+ selectedItemIndicatorStyle
11151
11167
  }),
11152
- [selectedItemMeasurements]
11168
+ [selectedItemIndicatorStyle]
11153
11169
  );
11154
- return /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
11170
+ return /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(SelectedItemStyleContext.Provider, { value: contextValue, children });
11155
11171
  };
11156
- var useSelectedItemMeasurements = () => {
11157
- const context = (0, import_react49.useContext)(SelectedItemMeasurementsContext);
11172
+ var useSelectedItemStyle = () => {
11173
+ const context = (0, import_react49.useContext)(SelectedItemStyleContext);
11158
11174
  if (context === null) {
11159
- throw new Error(
11160
- "useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
11161
- );
11175
+ throw new Error("useSelectedItemStyle must be used within a SelectedItemStyleProvider");
11162
11176
  }
11163
11177
  return context;
11164
11178
  };
11165
11179
 
11166
11180
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
11167
- var import_react51 = require("react");
11168
11181
  var import_styled_components67 = __toESM(require("styled-components"));
11169
11182
 
11170
11183
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
@@ -11186,7 +11199,7 @@ var SelectedItemIndicatorDiv = import_styled_components67.default.div`
11186
11199
  border-radius: var(--wui-border-radius-rounded);
11187
11200
  left: 0;
11188
11201
  position: absolute;
11189
- top: 0;
11202
+ top: 50%;
11190
11203
  box-shadow: var(--wui-elevation-01);
11191
11204
  transition:
11192
11205
  transform var(--wui-motion-duration-02) var(--wui-motion-ease-out),
@@ -11195,28 +11208,11 @@ var SelectedItemIndicatorDiv = import_styled_components67.default.div`
11195
11208
  `;
11196
11209
  var SelectedItemIndicator = () => {
11197
11210
  const selectedValue = useSegmentedControlValue();
11198
- const { selectedItemMeasurements } = useSelectedItemMeasurements();
11199
- const selectedItemIndicatorStyle = (0, import_react51.useMemo)(
11200
- () => selectedItemMeasurements != null ? {
11201
- height: `${selectedItemMeasurements.offsetHeight}px`,
11202
- transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
11203
- width: `${selectedItemMeasurements.offsetWidth}px`
11204
- } : {},
11205
- [selectedItemMeasurements]
11206
- );
11211
+ const { selectedItemIndicatorStyle } = useSelectedItemStyle();
11207
11212
  if (!selectedValue) {
11208
11213
  return null;
11209
11214
  }
11210
- return /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(
11211
- SelectedItemIndicatorDiv,
11212
- {
11213
- style: {
11214
- width: selectedItemIndicatorStyle.width,
11215
- transform: selectedItemIndicatorStyle.transform,
11216
- height: selectedItemIndicatorStyle.height
11217
- }
11218
- }
11219
- );
11215
+ return /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(SelectedItemIndicatorDiv, { style: selectedItemIndicatorStyle });
11220
11216
  };
11221
11217
 
11222
11218
  // src/components/SegmentedControl/SegmentedControl.tsx
@@ -11225,16 +11221,17 @@ var segmentedControlStyles = import_styled_components68.css`
11225
11221
  display: inline-flex;
11226
11222
  background-color: var(--wui-color-bg-surface-secondary);
11227
11223
  border-radius: var(--wui-border-radius-rounded);
11228
- border: 2px solid var(--wui-color-bg-surface-secondary);
11229
11224
  gap: var(--wui-space-01);
11230
11225
  isolation: isolate;
11226
+ overflow: hidden;
11227
+ padding: 2px;
11231
11228
  position: relative;
11232
11229
  width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
11233
11230
  `;
11234
11231
  var StyledSegmentedControl = (0, import_styled_components68.default)(import_react_toggle_group.Root)`
11235
11232
  ${segmentedControlStyles}
11236
11233
  `;
11237
- var SegmentedControl = (0, import_react52.forwardRef)(
11234
+ var SegmentedControl = (0, import_react51.forwardRef)(
11238
11235
  ({
11239
11236
  children,
11240
11237
  disabled = false,
@@ -11258,7 +11255,7 @@ var SegmentedControl = (0, import_react52.forwardRef)(
11258
11255
  type: "single",
11259
11256
  value: selectedValue,
11260
11257
  ...props,
11261
- children: /* @__PURE__ */ (0, import_jsx_runtime249.jsx)(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ (0, import_jsx_runtime249.jsxs)(SelectedItemMeasurementsProvider, { children: [
11258
+ children: /* @__PURE__ */ (0, import_jsx_runtime249.jsx)(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ (0, import_jsx_runtime249.jsxs)(SelectedItemStyleProvider, { children: [
11262
11259
  /* @__PURE__ */ (0, import_jsx_runtime249.jsx)(SelectedItemIndicator, {}),
11263
11260
  children
11264
11261
  ] }) })
@@ -11269,7 +11266,7 @@ var SegmentedControl = (0, import_react52.forwardRef)(
11269
11266
  SegmentedControl.displayName = "SegmentedControl";
11270
11267
 
11271
11268
  // src/components/SegmentedControl/SegmentedControlItem.tsx
11272
- var import_react53 = require("react");
11269
+ var import_react52 = require("react");
11273
11270
  var import_styled_components69 = __toESM(require("styled-components"));
11274
11271
  var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
11275
11272
  var import_type_guards44 = require("@wistia/type-guards");
@@ -11337,11 +11334,11 @@ var segmentedControlItemStyles = import_styled_components69.css`
11337
11334
  var StyledSegmentedControlItem = (0, import_styled_components69.default)(import_react_toggle_group2.Item)`
11338
11335
  ${segmentedControlItemStyles}
11339
11336
  `;
11340
- var SegmentedControlItem = (0, import_react53.forwardRef)(
11337
+ var SegmentedControlItem = (0, import_react52.forwardRef)(
11341
11338
  ({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11342
11339
  const selectedValue = useSegmentedControlValue();
11343
- const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11344
- const buttonRef = (0, import_react53.useRef)(null);
11340
+ const { setSelectedItemMeasurements } = useSelectedItemStyle();
11341
+ const buttonRef = (0, import_react52.useRef)(null);
11345
11342
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11346
11343
  const handleClick = (event) => {
11347
11344
  const target = event.target;
@@ -11350,7 +11347,7 @@ var SegmentedControlItem = (0, import_react53.forwardRef)(
11350
11347
  event.preventDefault();
11351
11348
  }
11352
11349
  };
11353
- (0, import_react53.useEffect)(() => {
11350
+ (0, import_react52.useEffect)(() => {
11354
11351
  const buttonElem = buttonRef.current;
11355
11352
  if (!buttonElem) {
11356
11353
  return void 0;
@@ -11396,7 +11393,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
11396
11393
 
11397
11394
  // src/components/Select/Select.tsx
11398
11395
  var import_react_select = require("@radix-ui/react-select");
11399
- var import_react54 = require("react");
11396
+ var import_react53 = require("react");
11400
11397
  var import_styled_components70 = __toESM(require("styled-components"));
11401
11398
  var import_jsx_runtime251 = require("react/jsx-runtime");
11402
11399
  var StyledTrigger = (0, import_styled_components70.default)(import_react_select.Trigger)`
@@ -11461,7 +11458,7 @@ var StyledContent3 = (0, import_styled_components70.default)(import_react_select
11461
11458
  max-height: var(--radix-select-content-available-height);
11462
11459
  z-index: var(--wui-zindex-select);
11463
11460
  `;
11464
- var Select = (0, import_react54.forwardRef)(
11461
+ var Select = (0, import_react53.forwardRef)(
11465
11462
  ({
11466
11463
  colorScheme = "inherit",
11467
11464
  children,
@@ -11510,7 +11507,7 @@ Select.displayName = "Select";
11510
11507
 
11511
11508
  // src/components/Select/SelectOption.tsx
11512
11509
  var import_react_select2 = require("@radix-ui/react-select");
11513
- var import_react55 = require("react");
11510
+ var import_react54 = require("react");
11514
11511
  var import_styled_components71 = __toESM(require("styled-components"));
11515
11512
  var import_type_guards45 = require("@wistia/type-guards");
11516
11513
  var import_jsx_runtime252 = require("react/jsx-runtime");
@@ -11541,7 +11538,7 @@ var StyledItem = (0, import_styled_components71.default)(import_react_select2.It
11541
11538
  var StyledIconContainer = import_styled_components71.default.span`
11542
11539
  width: 12px;
11543
11540
  `;
11544
- var SelectOption = (0, import_react55.forwardRef)(
11541
+ var SelectOption = (0, import_react54.forwardRef)(
11545
11542
  ({ children, selectedDisplayValue, ...props }, forwardedRef) => {
11546
11543
  return /* @__PURE__ */ (0, import_jsx_runtime252.jsxs)(
11547
11544
  StyledItem,
@@ -11589,7 +11586,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
11589
11586
  };
11590
11587
 
11591
11588
  // src/components/Switch/Switch.tsx
11592
- var import_react56 = require("react");
11589
+ var import_react55 = require("react");
11593
11590
  var import_styled_components73 = __toESM(require("styled-components"));
11594
11591
  var import_type_guards46 = require("@wistia/type-guards");
11595
11592
  var import_jsx_runtime254 = require("react/jsx-runtime");
@@ -11694,7 +11691,7 @@ var StyledHiddenSwitchInput = import_styled_components73.default.input`
11694
11691
  }
11695
11692
  }
11696
11693
  `;
11697
- var Switch = (0, import_react56.forwardRef)(
11694
+ var Switch = (0, import_react55.forwardRef)(
11698
11695
  ({
11699
11696
  checked,
11700
11697
  disabled = false,
@@ -11709,7 +11706,7 @@ var Switch = (0, import_react56.forwardRef)(
11709
11706
  hideLabel = false,
11710
11707
  ...props
11711
11708
  }, ref) => {
11712
- const generatedId = (0, import_react56.useId)();
11709
+ const generatedId = (0, import_react55.useId)();
11713
11710
  const computedId = (0, import_type_guards46.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
11714
11711
  return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
11715
11712
  /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
@@ -11791,8 +11788,8 @@ var Table = ({
11791
11788
  var import_styled_components75 = __toESM(require("styled-components"));
11792
11789
 
11793
11790
  // src/components/Table/TableSectionContext.ts
11794
- var import_react57 = require("react");
11795
- var TableSectionContext = (0, import_react57.createContext)(null);
11791
+ var import_react56 = require("react");
11792
+ var TableSectionContext = (0, import_react56.createContext)(null);
11796
11793
 
11797
11794
  // src/components/Table/TableBody.tsx
11798
11795
  var import_jsx_runtime256 = require("react/jsx-runtime");
@@ -11802,7 +11799,7 @@ var TableBody = ({ children, ...props }) => {
11802
11799
  };
11803
11800
 
11804
11801
  // src/components/Table/TableCell.tsx
11805
- var import_react58 = require("react");
11802
+ var import_react57 = require("react");
11806
11803
  var import_styled_components76 = __toESM(require("styled-components"));
11807
11804
  var import_jsx_runtime257 = require("react/jsx-runtime");
11808
11805
  var sharedStyles = import_styled_components76.css`
@@ -11823,7 +11820,7 @@ var StyledTd = import_styled_components76.default.td`
11823
11820
  line-height: var(--wui-typography-body-2-line-height);
11824
11821
  `;
11825
11822
  var TableCell = ({ children, ...props }) => {
11826
- const section = (0, import_react58.useContext)(TableSectionContext);
11823
+ const section = (0, import_react57.useContext)(TableSectionContext);
11827
11824
  if (section === "head") {
11828
11825
  return /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(StyledTh, { ...props, children });
11829
11826
  }
@@ -11855,7 +11852,7 @@ var TableRow = ({ children, ...props }) => {
11855
11852
  };
11856
11853
 
11857
11854
  // src/components/Tabs/Tabs.tsx
11858
- var import_react63 = require("react");
11855
+ var import_react61 = require("react");
11859
11856
  var import_react_tabs4 = require("@radix-ui/react-tabs");
11860
11857
  var import_type_guards48 = require("@wistia/type-guards");
11861
11858
  var import_styled_components84 = __toESM(require("styled-components"));
@@ -11910,17 +11907,17 @@ var TabList = ({
11910
11907
  TabList.displayName = "TabList";
11911
11908
 
11912
11909
  // src/components/Tabs/TabItem.tsx
11913
- var import_react60 = require("react");
11910
+ var import_react59 = require("react");
11914
11911
  var import_styled_components82 = __toESM(require("styled-components"));
11915
11912
  var import_react_tabs3 = require("@radix-ui/react-tabs");
11916
11913
  var import_type_guards47 = require("@wistia/type-guards");
11917
11914
 
11918
11915
  // src/components/Tabs/useTabsValue.tsx
11919
- var import_react59 = require("react");
11920
- var TabsValueContext = (0, import_react59.createContext)(null);
11916
+ var import_react58 = require("react");
11917
+ var TabsValueContext = (0, import_react58.createContext)(null);
11921
11918
  var TabsValueProvider = TabsValueContext.Provider;
11922
11919
  var useTabsValue = () => {
11923
- const context = (0, import_react59.useContext)(TabsValueContext);
11920
+ const context = (0, import_react58.useContext)(TabsValueContext);
11924
11921
  if (context === null) {
11925
11922
  throw new Error("useTabsValue must be used within a TabsValueProvider");
11926
11923
  }
@@ -11936,13 +11933,13 @@ var StyledTabItem = (0, import_styled_components82.default)(import_react_tabs3.T
11936
11933
  outline: none;
11937
11934
  }
11938
11935
  `;
11939
- var TabItem = (0, import_react60.forwardRef)(
11936
+ var TabItem = (0, import_react59.forwardRef)(
11940
11937
  ({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
11941
11938
  const selectedValue = useTabsValue();
11942
- const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
11943
- const buttonRef = (0, import_react60.useRef)(null);
11939
+ const { setSelectedItemMeasurements } = useSelectedItemStyle();
11940
+ const buttonRef = (0, import_react59.useRef)(null);
11944
11941
  const combinedRef = mergeRefs([buttonRef, forwardedRef]);
11945
- (0, import_react60.useEffect)(() => {
11942
+ (0, import_react59.useEffect)(() => {
11946
11943
  const buttonElem = buttonRef.current;
11947
11944
  if (!buttonElem) {
11948
11945
  return void 0;
@@ -11986,16 +11983,16 @@ var TabItem = (0, import_react60.forwardRef)(
11986
11983
  TabItem.displayName = "TabItem";
11987
11984
 
11988
11985
  // src/components/Tabs/extractTabItems.ts
11989
- var import_react61 = require("react");
11986
+ var import_react60 = require("react");
11990
11987
  var extractTabItems = (children) => {
11991
11988
  const tabItems = [];
11992
- import_react61.Children.forEach(children, (child) => {
11993
- if (!(0, import_react61.isValidElement)(child)) {
11989
+ import_react60.Children.forEach(children, (child) => {
11990
+ if (!(0, import_react60.isValidElement)(child)) {
11994
11991
  return;
11995
11992
  }
11996
11993
  if (typeof child.type !== "string" && child.type.displayName === "Tab") {
11997
11994
  tabItems.push(child);
11998
- } else if (child.type === import_react61.Fragment) {
11995
+ } else if (child.type === import_react60.Fragment) {
11999
11996
  const fragmentElement = child;
12000
11997
  tabItems.push(...extractTabItems(fragmentElement.props.children));
12001
11998
  } else if ((child.props.children ?? null) != null) {
@@ -12008,7 +12005,6 @@ var extractTabItems = (children) => {
12008
12005
  };
12009
12006
 
12010
12007
  // src/components/Tabs/SelectedItemIndicator.tsx
12011
- var import_react62 = require("react");
12012
12008
  var import_styled_components83 = __toESM(require("styled-components"));
12013
12009
  var import_jsx_runtime264 = require("react/jsx-runtime");
12014
12010
  var TabsSelectedItemIndicatorDiv = (0, import_styled_components83.default)(SelectedItemIndicatorDiv)`
@@ -12017,29 +12013,12 @@ var TabsSelectedItemIndicatorDiv = (0, import_styled_components83.default)(Selec
12017
12013
  }
12018
12014
  `;
12019
12015
  var SelectedItemIndicator2 = () => {
12020
- const { selectedItemMeasurements } = useSelectedItemMeasurements();
12016
+ const { selectedItemIndicatorStyle } = useSelectedItemStyle();
12021
12017
  const selectedValue = useTabsValue();
12022
- const selectedItemIndicatorStyle = (0, import_react62.useMemo)(
12023
- () => selectedItemMeasurements != null ? {
12024
- height: `${selectedItemMeasurements.offsetHeight}px`,
12025
- transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
12026
- width: `${selectedItemMeasurements.offsetWidth}px`
12027
- } : {},
12028
- [selectedItemMeasurements]
12029
- );
12030
12018
  if (selectedValue == null) {
12031
12019
  return null;
12032
12020
  }
12033
- return /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(
12034
- TabsSelectedItemIndicatorDiv,
12035
- {
12036
- style: {
12037
- width: selectedItemIndicatorStyle.width,
12038
- transform: selectedItemIndicatorStyle.transform,
12039
- height: selectedItemIndicatorStyle.height
12040
- }
12041
- }
12042
- );
12021
+ return /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(TabsSelectedItemIndicatorDiv, { style: selectedItemIndicatorStyle });
12043
12022
  };
12044
12023
 
12045
12024
  // src/components/Tabs/Tabs.tsx
@@ -12060,7 +12039,7 @@ var StyledTabsRoot = (0, import_styled_components84.default)(import_react_tabs4.
12060
12039
  flex-direction: column;
12061
12040
  height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
12062
12041
  `;
12063
- var Tabs = (0, import_react63.forwardRef)(
12042
+ var Tabs = (0, import_react61.forwardRef)(
12064
12043
  ({
12065
12044
  children,
12066
12045
  fullWidth = true,
@@ -12072,7 +12051,7 @@ var Tabs = (0, import_react63.forwardRef)(
12072
12051
  ...props
12073
12052
  }, ref) => {
12074
12053
  const tabItems = extractTabItems(children);
12075
- const [internalSelectedValue, setInternalSelectedValue] = (0, import_react63.useState)(defaultSelectedValue);
12054
+ const [internalSelectedValue, setInternalSelectedValue] = (0, import_react61.useState)(defaultSelectedValue);
12076
12055
  const modeProps = defaultSelectedValue !== void 0 ? {
12077
12056
  defaultValue: defaultSelectedValue,
12078
12057
  onValueChange: setInternalSelectedValue
@@ -12086,7 +12065,7 @@ var Tabs = (0, import_react63.forwardRef)(
12086
12065
  activationMode: "automatic",
12087
12066
  ...props,
12088
12067
  ...modeProps,
12089
- children: /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(TabsValueProvider, { value: currentValue, children: /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)(SelectedItemMeasurementsProvider, { children: [
12068
+ children: /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(TabsValueProvider, { value: currentValue, children: /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)(SelectedItemStyleProvider, { children: [
12090
12069
  /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)(
12091
12070
  TabList,
12092
12071
  {
@@ -12158,15 +12137,15 @@ var Tabs = (0, import_react63.forwardRef)(
12158
12137
  Tabs.displayName = "Tabs";
12159
12138
 
12160
12139
  // src/components/Tabs/Tab.tsx
12161
- var import_react64 = require("react");
12140
+ var import_react62 = require("react");
12162
12141
  var import_jsx_runtime266 = require("react/jsx-runtime");
12163
- var Tab = (0, import_react64.forwardRef)(({ children }, ref) => {
12142
+ var Tab = (0, import_react62.forwardRef)(({ children }, ref) => {
12164
12143
  return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { ref, children });
12165
12144
  });
12166
12145
  Tab.displayName = "Tab";
12167
12146
 
12168
12147
  // src/components/Tag/Tag.tsx
12169
- var import_react65 = require("react");
12148
+ var import_react63 = require("react");
12170
12149
  var import_styled_components85 = __toESM(require("styled-components"));
12171
12150
  var import_type_guards49 = require("@wistia/type-guards");
12172
12151
  var import_jsx_runtime267 = require("react/jsx-runtime");
@@ -12283,7 +12262,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
12283
12262
  )
12284
12263
  ] });
12285
12264
  };
12286
- var Tag = (0, import_react65.forwardRef)(
12265
+ var Tag = (0, import_react63.forwardRef)(
12287
12266
  ({ onClickRemove, colorScheme = "inherit", href, icon, label, onClickRemoveLabel, ...props }, ref) => {
12288
12267
  const hasIcon = (0, import_type_guards49.isNotNil)(icon);
12289
12268
  const labelProps = (0, import_type_guards49.isNotNil)(href) && (0, import_type_guards49.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
@@ -12482,7 +12461,7 @@ var ThumbnailBadge = ({ icon, label, ...props }) => {
12482
12461
  ThumbnailBadge.displayName = "ThumbnailBadge";
12483
12462
 
12484
12463
  // src/components/Thumbnail/Thumbnail.tsx
12485
- var import_react66 = require("react");
12464
+ var import_react64 = require("react");
12486
12465
  var import_styled_components89 = __toESM(require("styled-components"));
12487
12466
  var import_type_guards53 = require("@wistia/type-guards");
12488
12467
 
@@ -12663,7 +12642,7 @@ var StyledThumbnail = import_styled_components89.default.div`
12663
12642
  position: relative;
12664
12643
  width: ${({ $width }) => $width};
12665
12644
  `;
12666
- var Thumbnail = (0, import_react66.forwardRef)(
12645
+ var Thumbnail = (0, import_react64.forwardRef)(
12667
12646
  ({
12668
12647
  gradientBackground = "defaultMidOne",
12669
12648
  thumbnailImageType = "square",
@@ -12699,7 +12678,7 @@ Thumbnail.displayName = "Thumbnail";
12699
12678
 
12700
12679
  // src/components/InputClickToCopy/InputClickToCopy.tsx
12701
12680
  var import_styled_components90 = __toESM(require("styled-components"));
12702
- var import_react67 = require("react");
12681
+ var import_react65 = require("react");
12703
12682
  var import_type_guards54 = require("@wistia/type-guards");
12704
12683
  var import_jsx_runtime271 = require("react/jsx-runtime");
12705
12684
  var StyledInput2 = (0, import_styled_components90.default)(Input)`
@@ -12712,10 +12691,10 @@ var StyledInput2 = (0, import_styled_components90.default)(Input)`
12712
12691
  }
12713
12692
  `;
12714
12693
  var COPY_SUCCESS_DURATION = 2e3;
12715
- var InputClickToCopy = (0, import_react67.forwardRef)(
12694
+ var InputClickToCopy = (0, import_react65.forwardRef)(
12716
12695
  ({ value, onCopy, ...props }, ref) => {
12717
- const [isCopied, setIsCopied] = (0, import_react67.useState)(false);
12718
- (0, import_react67.useEffect)(() => {
12696
+ const [isCopied, setIsCopied] = (0, import_react65.useState)(false);
12697
+ (0, import_react65.useEffect)(() => {
12719
12698
  if (isCopied) {
12720
12699
  const timeout = setTimeout(() => {
12721
12700
  setIsCopied(false);