@wistia/ui 0.8.28 → 0.9.0-beta.0458046f.0edac35

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.28
3
+ * @license @wistia/ui v0.9.0-beta.0458046f.0edac35
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -7097,11 +7097,15 @@ var StyledLink = import_styled_components20.default.a`
7097
7097
  cursor: ${({ $disabled }) => $disabled ? "not-allowed" : "pointer"};
7098
7098
  font-family: var(--wui-typography-family-default);
7099
7099
  color: ${({ $disabled }) => $disabled ? "var(--wui-color-text-disabled)" : "var(--wui-color-text-link)"};
7100
- text-decoration: ${({ $underline }) => $underline ? "underline" : "none"};
7100
+ text-decoration: ${({ $underline }) => $underline === "always" ? "underline" : "none"};
7101
7101
  display: inline-flex;
7102
7102
  align-items: baseline;
7103
7103
  gap: var(--wui-space-01);
7104
7104
 
7105
+ &:hover {
7106
+ text-decoration: ${({ $underline }) => $underline === "hover" || $underline === "always" ? "underline" : "none"};
7107
+ }
7108
+
7105
7109
  && {
7106
7110
  svg {
7107
7111
  width: 14px;
@@ -7116,7 +7120,7 @@ var Link = (0, import_react21.forwardRef)(
7116
7120
  type,
7117
7121
  disabled = false,
7118
7122
  colorScheme = "inherit",
7119
- underline = false,
7123
+ underline = "none",
7120
7124
  leftIcon,
7121
7125
  rightIcon,
7122
7126
  "aria-disabled": ariaDisabled,
@@ -12940,8 +12944,109 @@ var getBackgroundGradient = (gradientName = void 0) => {
12940
12944
  return (0, import_type_guards54.isNotNil)(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
12941
12945
  };
12942
12946
 
12943
- // src/components/Thumbnail/Thumbnail.tsx
12947
+ // src/private/components/ScrubbableThumbnail/StoryboardViewer.tsx
12944
12948
  var import_jsx_runtime272 = require("react/jsx-runtime");
12949
+ var StoryboardViewer = ({
12950
+ storyboardUrl,
12951
+ storyboardHeight,
12952
+ storyboardWidth,
12953
+ frameWidth,
12954
+ frameHeight,
12955
+ frameCount,
12956
+ percent,
12957
+ targetWidth = 200,
12958
+ targetAspectRatio,
12959
+ scaleFactor = 1,
12960
+ framesPerRow = 10,
12961
+ shouldLoadStoryboard = true,
12962
+ ...props
12963
+ }) => {
12964
+ const originalAspectRatio = frameWidth / frameHeight;
12965
+ const effectiveTargetAspectRatio = targetAspectRatio ?? originalAspectRatio;
12966
+ const targetHeight = targetWidth / effectiveTargetAspectRatio;
12967
+ const viewerDimensions = {
12968
+ viewerWidth: targetWidth,
12969
+ viewerHeight: targetHeight
12970
+ };
12971
+ const scaledStoryboardDimensions = (() => {
12972
+ const { viewerHeight, viewerWidth } = viewerDimensions;
12973
+ let scaledHeight = viewerHeight;
12974
+ let scaledWidth = viewerWidth;
12975
+ if (effectiveTargetAspectRatio > originalAspectRatio) {
12976
+ scaledHeight = viewerWidth / originalAspectRatio;
12977
+ } else {
12978
+ scaledWidth = viewerHeight * originalAspectRatio;
12979
+ }
12980
+ return { scaledHeight, scaledWidth };
12981
+ })();
12982
+ const propsToCoverViewerWithImage = (() => {
12983
+ const { viewerHeight, viewerWidth } = viewerDimensions;
12984
+ const { scaledHeight, scaledWidth } = scaledStoryboardDimensions;
12985
+ const top = (viewerHeight - scaledHeight) / 2;
12986
+ const left = (viewerWidth - scaledWidth) / 2;
12987
+ return {
12988
+ width: scaledWidth,
12989
+ height: scaledHeight,
12990
+ top,
12991
+ left
12992
+ };
12993
+ })();
12994
+ const frameToPosition = (frameIndex) => {
12995
+ const { height, width } = propsToCoverViewerWithImage;
12996
+ const col = frameIndex % framesPerRow;
12997
+ const row = Math.floor(frameIndex / framesPerRow);
12998
+ const imageX = -width * col * scaleFactor;
12999
+ const imageY = -height * row * scaleFactor;
13000
+ return `${imageX}px ${imageY}px`;
13001
+ };
13002
+ const backgroundPosition = (() => {
13003
+ const frameIndex = Math.floor(percent * frameCount);
13004
+ return frameToPosition(frameIndex);
13005
+ })();
13006
+ const backgroundSize = (() => {
13007
+ const { height } = propsToCoverViewerWithImage;
13008
+ const scaleFactorFromAspectRatioFit = height / frameHeight;
13009
+ const scaledStoryboardWidth = storyboardWidth * scaleFactorFromAspectRatioFit * scaleFactor;
13010
+ const scaledStoryboardHeight = Math.floor(
13011
+ storyboardHeight * scaleFactorFromAspectRatioFit * scaleFactor
13012
+ );
13013
+ return `${scaledStoryboardWidth}px ${scaledStoryboardHeight}px`;
13014
+ })();
13015
+ const backgroundImage = shouldLoadStoryboard ? `url(${storyboardUrl})` : "";
13016
+ const storyboardViewerStyles = {
13017
+ position: "relative",
13018
+ overflow: "hidden",
13019
+ width: `${viewerDimensions.viewerWidth * scaleFactor}px`,
13020
+ height: `${viewerDimensions.viewerHeight * scaleFactor}px`
13021
+ };
13022
+ const storyboardViewerStoryboardStyles = {
13023
+ position: "absolute",
13024
+ width: propsToCoverViewerWithImage.width,
13025
+ height: propsToCoverViewerWithImage.height,
13026
+ left: propsToCoverViewerWithImage.left,
13027
+ top: propsToCoverViewerWithImage.top,
13028
+ backgroundImage,
13029
+ backgroundPosition,
13030
+ backgroundSize
13031
+ };
13032
+ return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
13033
+ "div",
13034
+ {
13035
+ ...props,
13036
+ style: storyboardViewerStyles,
13037
+ children: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
13038
+ "div",
13039
+ {
13040
+ "data-testid": "storyboard-inner-element",
13041
+ style: storyboardViewerStoryboardStyles
13042
+ }
13043
+ )
13044
+ }
13045
+ );
13046
+ };
13047
+
13048
+ // src/components/Thumbnail/Thumbnail.tsx
13049
+ var import_jsx_runtime273 = require("react/jsx-runtime");
12945
13050
  var WideThumbnailImage = import_styled_components92.default.img`
12946
13051
  height: 100%;
12947
13052
  object-fit: cover;
@@ -12954,7 +13059,7 @@ var SquareThumbnailImage = import_styled_components92.default.img`
12954
13059
  `;
12955
13060
  var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
12956
13061
  if (thumbnailImageType === "wide") {
12957
- return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
13062
+ return /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
12958
13063
  WideThumbnailImage,
12959
13064
  {
12960
13065
  alt: "",
@@ -12963,7 +13068,7 @@ var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
12963
13068
  }
12964
13069
  );
12965
13070
  }
12966
- return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
13071
+ return /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
12967
13072
  SquareThumbnailImage,
12968
13073
  {
12969
13074
  alt: "",
@@ -12985,12 +13090,22 @@ var StyledThumbnail = import_styled_components92.default.div`
12985
13090
  overflow: hidden;
12986
13091
  position: relative;
12987
13092
  width: ${({ $width }) => $width};
13093
+ ${({ $isScrubbable }) => $isScrubbable && "cursor: ew-resize;"}
12988
13094
 
12989
13095
  &,
12990
13096
  img {
12991
13097
  border-radius: calc(8% * (9 / 16)) / 8%;
12992
13098
  }
12993
13099
  `;
13100
+ var getRelativeMousePosition = (elem, mouseEvent) => {
13101
+ const rect = elem.getBoundingClientRect();
13102
+ const relativeLeft = mouseEvent.clientX - rect.left;
13103
+ const relativeTop = mouseEvent.clientY - rect.top;
13104
+ return {
13105
+ top: relativeTop,
13106
+ left: relativeLeft
13107
+ };
13108
+ };
12994
13109
  var Thumbnail = (0, import_react71.forwardRef)(
12995
13110
  ({
12996
13111
  gradientBackground = "defaultMidOne",
@@ -12998,27 +13113,103 @@ var Thumbnail = (0, import_react71.forwardRef)(
12998
13113
  thumbnailUrl,
12999
13114
  width = "100%",
13000
13115
  children,
13116
+ storyboard,
13117
+ height,
13001
13118
  ...props
13002
13119
  }, ref) => {
13120
+ const [percent, setPercent] = (0, import_react71.useState)(0);
13121
+ const [isMouseOver, setIsMouseOver] = (0, import_react71.useState)(false);
13122
+ const [isStoryboardReady, setIsStoryboardReady] = (0, import_react71.useState)(false);
13123
+ const storyboardElementRef = (0, import_react71.useRef)(null);
13003
13124
  const backgroundUrl = thumbnailImageType === "square" && (0, import_type_guards55.isNotNil)(thumbnailUrl) ? thumbnailUrl : void 0;
13004
- return /* @__PURE__ */ (0, import_jsx_runtime272.jsxs)(
13125
+ const isScrubbable = (0, import_type_guards55.isNotNil)(storyboard);
13126
+ const trackStoryboardLoadStatus = (0, import_react71.useCallback)(() => {
13127
+ if (storyboardElementRef.current || !storyboard) {
13128
+ return storyboardElementRef.current;
13129
+ }
13130
+ const asset = document.createElement("img");
13131
+ asset.onload = () => setIsStoryboardReady(true);
13132
+ asset.src = storyboard.url;
13133
+ storyboardElementRef.current = asset;
13134
+ return storyboardElementRef.current;
13135
+ }, [storyboard]);
13136
+ const handleMouseMove = (0, import_react71.useCallback)(
13137
+ (mouseEvent) => {
13138
+ if (!isScrubbable) return;
13139
+ const elem = mouseEvent.currentTarget;
13140
+ const relMousePos = getRelativeMousePosition(elem, mouseEvent);
13141
+ const newPercent = relMousePos.left / elem.clientWidth;
13142
+ trackStoryboardLoadStatus();
13143
+ setPercent(newPercent);
13144
+ setIsMouseOver(true);
13145
+ },
13146
+ [isScrubbable, trackStoryboardLoadStatus]
13147
+ );
13148
+ const handleMouseOut = (0, import_react71.useCallback)(() => {
13149
+ if (!isScrubbable) return;
13150
+ setIsMouseOver(false);
13151
+ }, [isScrubbable]);
13152
+ const shouldRenderStoryboard = (0, import_react71.useCallback)(() => {
13153
+ return Boolean(isScrubbable && isMouseOver && isStoryboardReady);
13154
+ }, [isScrubbable, isMouseOver, isStoryboardReady]);
13155
+ const renderStoryboard = (0, import_react71.useCallback)(() => {
13156
+ if (!storyboard || height === void 0) return null;
13157
+ const {
13158
+ url,
13159
+ width: sbWidth,
13160
+ height: sbHeight,
13161
+ frameHeight,
13162
+ frameWidth,
13163
+ frameCount,
13164
+ aspectRatio
13165
+ } = storyboard;
13166
+ const targetWidth = typeof width === "string" ? parseInt(width, 10) : Number(width);
13167
+ return /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
13168
+ StoryboardViewer,
13169
+ {
13170
+ "data-testid": "storyboard-viewer",
13171
+ frameCount,
13172
+ frameHeight,
13173
+ frameWidth,
13174
+ percent,
13175
+ storyboardHeight: sbHeight,
13176
+ storyboardUrl: url,
13177
+ storyboardWidth: sbWidth,
13178
+ targetAspectRatio: aspectRatio,
13179
+ targetWidth
13180
+ }
13181
+ );
13182
+ }, [storyboard, percent, width, height]);
13183
+ let thumbnailContent = null;
13184
+ if (shouldRenderStoryboard()) {
13185
+ thumbnailContent = renderStoryboard();
13186
+ } else if ((0, import_type_guards55.isNotNil)(thumbnailUrl)) {
13187
+ thumbnailContent = /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
13188
+ ThumbnailImage,
13189
+ {
13190
+ thumbnailImageType,
13191
+ thumbnailUrl
13192
+ }
13193
+ );
13194
+ } else {
13195
+ }
13196
+ return /* @__PURE__ */ (0, import_jsx_runtime273.jsxs)(
13005
13197
  StyledThumbnail,
13006
13198
  {
13007
13199
  ref,
13008
13200
  ...props,
13009
13201
  $backgroundUrl: backgroundUrl,
13010
13202
  $gradientBackground: gradientBackground,
13203
+ $isScrubbable: isScrubbable,
13011
13204
  $width: width,
13205
+ "data-testid": props["data-testid"] ?? (isScrubbable ? "scrubable-thumbnail" : void 0),
13206
+ onBlur: handleMouseOut,
13207
+ onMouseMove: handleMouseMove,
13208
+ onMouseOut: handleMouseOut,
13012
13209
  role: "presentation",
13013
13210
  children: [
13014
13211
  (0, import_type_guards55.isNotNil)(children) ? children : null,
13015
- (0, import_type_guards55.isNotNil)(thumbnailUrl) ? /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
13016
- ThumbnailImage,
13017
- {
13018
- thumbnailImageType,
13019
- thumbnailUrl
13020
- }
13021
- ) : null
13212
+ thumbnailContent
13022
13213
  ]
13023
13214
  }
13024
13215
  );
@@ -13030,7 +13221,7 @@ Thumbnail.displayName = "Thumbnail";
13030
13221
  var import_react72 = __toESM(require("react"));
13031
13222
  var import_styled_components93 = __toESM(require("styled-components"));
13032
13223
  var import_type_guards56 = require("@wistia/type-guards");
13033
- var import_jsx_runtime273 = (
13224
+ var import_jsx_runtime274 = (
13034
13225
  // ThumbnailCollage will fallback to a Thumbnail with a gradient background if no children are provided
13035
13226
  require("react/jsx-runtime")
13036
13227
  );
@@ -13115,7 +13306,7 @@ var ThumbnailCollage = ({
13115
13306
  children: void 0
13116
13307
  });
13117
13308
  }) : [
13118
- /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
13309
+ /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
13119
13310
  Thumbnail,
13120
13311
  {
13121
13312
  gradientBackground,
@@ -13124,7 +13315,7 @@ var ThumbnailCollage = ({
13124
13315
  "fallback"
13125
13316
  )
13126
13317
  ];
13127
- return /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
13318
+ return /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
13128
13319
  StyledThumbnailCollage,
13129
13320
  {
13130
13321
  $gradientBackground: gradientBackground,
@@ -13138,24 +13329,24 @@ var ThumbnailCollage = ({
13138
13329
  // src/components/WistiaLogo/WistiaLogo.tsx
13139
13330
  var import_styled_components94 = __toESM(require("styled-components"));
13140
13331
  var import_type_guards57 = require("@wistia/type-guards");
13141
- var import_jsx_runtime274 = require("react/jsx-runtime");
13332
+ var import_jsx_runtime275 = require("react/jsx-runtime");
13142
13333
  var renderBrandmark = (brandmarkColor, iconOnly) => {
13143
13334
  if (iconOnly) {
13144
- return /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
13335
+ return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(
13145
13336
  "g",
13146
13337
  {
13147
13338
  "data-testid": "ui-wistia-logo-brandmark",
13148
13339
  fill: brandmarkColor,
13149
- children: /* @__PURE__ */ (0, import_jsx_runtime274.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" })
13340
+ children: /* @__PURE__ */ (0, import_jsx_runtime275.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" })
13150
13341
  }
13151
13342
  );
13152
13343
  }
13153
- return /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
13344
+ return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(
13154
13345
  "g",
13155
13346
  {
13156
13347
  "data-testid": "ui-wistia-logo-brandmark",
13157
13348
  fill: brandmarkColor,
13158
- children: /* @__PURE__ */ (0, import_jsx_runtime274.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" })
13349
+ children: /* @__PURE__ */ (0, import_jsx_runtime275.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" })
13159
13350
  }
13160
13351
  );
13161
13352
  };
@@ -13163,12 +13354,12 @@ var renderLogotype = (logotypeColor, iconOnly) => {
13163
13354
  if (iconOnly) {
13164
13355
  return null;
13165
13356
  }
13166
- return /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
13357
+ return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(
13167
13358
  "g",
13168
13359
  {
13169
13360
  "data-testid": "ui-wistia-logo-logotype",
13170
13361
  fill: logotypeColor,
13171
- children: /* @__PURE__ */ (0, import_jsx_runtime274.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" })
13362
+ children: /* @__PURE__ */ (0, import_jsx_runtime275.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" })
13172
13363
  }
13173
13364
  );
13174
13365
  };
@@ -13236,7 +13427,7 @@ var WistiaLogo = ({
13236
13427
  };
13237
13428
  const brandmarkColor = VARIANT_COLORS[variant].brandmark;
13238
13429
  const logotypeColor = VARIANT_COLORS[variant].logotype;
13239
- const Logo = /* @__PURE__ */ (0, import_jsx_runtime274.jsxs)(
13430
+ const Logo = /* @__PURE__ */ (0, import_jsx_runtime275.jsxs)(
13240
13431
  WistiaLogoComponent,
13241
13432
  {
13242
13433
  $hoverColor: hoverColor,
@@ -13249,14 +13440,14 @@ var WistiaLogo = ({
13249
13440
  xmlns: "http://www.w3.org/2000/svg",
13250
13441
  ...props,
13251
13442
  children: [
13252
- /* @__PURE__ */ (0, import_jsx_runtime274.jsx)("title", { children: title }),
13253
- (0, import_type_guards57.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime274.jsx)("desc", { children: description }) : null,
13443
+ /* @__PURE__ */ (0, import_jsx_runtime275.jsx)("title", { children: title }),
13444
+ (0, import_type_guards57.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime275.jsx)("desc", { children: description }) : null,
13254
13445
  renderBrandmark(brandmarkColor, iconOnly),
13255
13446
  renderLogotype(logotypeColor, iconOnly)
13256
13447
  ]
13257
13448
  }
13258
13449
  );
13259
- return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime274.jsx)("a", { href, children: Logo }) : Logo;
13450
+ return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime275.jsx)("a", { href, children: Logo }) : Logo;
13260
13451
  };
13261
13452
  WistiaLogo.displayName = "WistiaLogo";
13262
13453
 
@@ -13267,7 +13458,7 @@ var import_styled_components96 = __toESM(require("styled-components"));
13267
13458
  // src/components/List/ListItem.tsx
13268
13459
  var import_styled_components95 = __toESM(require("styled-components"));
13269
13460
  var import_type_guards58 = require("@wistia/type-guards");
13270
- var import_jsx_runtime275 = require("react/jsx-runtime");
13461
+ var import_jsx_runtime276 = require("react/jsx-runtime");
13271
13462
  var ListItemComponent = import_styled_components95.default.li`
13272
13463
  margin-bottom: var(--wui-space-02);
13273
13464
  `;
@@ -13275,12 +13466,12 @@ var ListItem = ({ children }) => {
13275
13466
  if ((0, import_type_guards58.isNil)(children)) {
13276
13467
  return null;
13277
13468
  }
13278
- return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(ListItemComponent, { children });
13469
+ return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(ListItemComponent, { children });
13279
13470
  };
13280
13471
  ListItem.displayName = "ListItem";
13281
13472
 
13282
13473
  // src/components/List/List.tsx
13283
- var import_jsx_runtime276 = require("react/jsx-runtime");
13474
+ var import_jsx_runtime277 = require("react/jsx-runtime");
13284
13475
  var spacesStyle = import_styled_components96.css`
13285
13476
  overflow: hidden;
13286
13477
  padding-left: 0;
@@ -13366,7 +13557,7 @@ var ListComponent = import_styled_components96.default.ul`
13366
13557
  `;
13367
13558
  var renderListComponent = (listItems, variant, { ...otherProps }) => {
13368
13559
  const elementType = variant === "ordered" ? "ol" : "ul";
13369
- return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
13560
+ return /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(
13370
13561
  ListComponent,
13371
13562
  {
13372
13563
  as: elementType,
@@ -13383,7 +13574,7 @@ var renderListFromArray = (listItems, variant, otherProps) => {
13383
13574
  const nextItem = listItems[i + 1];
13384
13575
  const key = `item-${itemCount += 1}`;
13385
13576
  if (Array.isArray(nextItem)) {
13386
- return /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)(ListItem, { children: [
13577
+ return /* @__PURE__ */ (0, import_jsx_runtime277.jsxs)(ListItem, { children: [
13387
13578
  item,
13388
13579
  renderListFromArray(nextItem, variant, otherProps)
13389
13580
  ] }, key);
@@ -13391,7 +13582,7 @@ var renderListFromArray = (listItems, variant, otherProps) => {
13391
13582
  if (Array.isArray(item)) {
13392
13583
  return null;
13393
13584
  }
13394
- return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(ListItem, { children: item }, key);
13585
+ return /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(ListItem, { children: item }, key);
13395
13586
  });
13396
13587
  return renderListComponent(items, variant, otherProps);
13397
13588
  };