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

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