@wistia/ui 0.15.12 → 0.15.13-beta.e65c0481.a780530

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.d.mts CHANGED
@@ -1634,6 +1634,10 @@ declare const Combobox: ({ placeholder, value, onChange, searchValue, onSearchVa
1634
1634
  type ContextMenuProps = {
1635
1635
  children: ReactNode;
1636
1636
  onRequestClose?: () => void;
1637
+ /**
1638
+ * If the menu is compact
1639
+ */
1640
+ compact?: boolean;
1637
1641
  } & ({
1638
1642
  position: {
1639
1643
  x: number;
@@ -1652,7 +1656,7 @@ type ContextMenuProps = {
1652
1656
  * 1. By providing a `triggerRef`, which will render the menu when the referenced element is right-clicked.
1653
1657
  * 2. By providing a `position` prop, which will render the menu at the specified coordinates.
1654
1658
  */
1655
- declare const ContextMenu: ({ position, triggerRef, children, side, onRequestClose, }: ContextMenuProps) => react_jsx_runtime.JSX.Element | null;
1659
+ declare const ContextMenu: ({ position, triggerRef, children, side, onRequestClose, compact, }: ContextMenuProps) => react_jsx_runtime.JSX.Element | null;
1656
1660
 
1657
1661
  type DataCardProps = ComponentPropsWithoutRef<'div'> & Partial<Pick<ButtonAsLinkProps, 'beforeAction' | 'disabled' | 'href' | 'onClick' | 'type'>> & {
1658
1662
  /**
@@ -1814,6 +1818,11 @@ type TextProps = ComponentPropsWithoutRef<'div'> & {
1814
1818
  * Display the text as inline content
1815
1819
  */
1816
1820
  inline?: boolean;
1821
+ /**
1822
+ * Maximum number of characters to display before truncating. Must be >= 1.
1823
+ * When truncated, an ellipsis (...) will be added to the end.
1824
+ */
1825
+ maxChars?: number;
1817
1826
  /**
1818
1827
  * Prevents text from being highlighted and copied
1819
1828
  */
@@ -1907,6 +1916,11 @@ type HeadingProps = ComponentPropsWithoutRef<typeof DEFAULT_ELEMENT> & {
1907
1916
  * Display the text as inline content
1908
1917
  */
1909
1918
  inline?: boolean;
1919
+ /**
1920
+ * Maximum number of characters to display before truncating. Must be >= 1.
1921
+ * When truncated, an ellipsis (...) will be added to the end.
1922
+ */
1923
+ maxChars?: number;
1910
1924
  /**
1911
1925
  * Text prominence affects color. Use 'primary' for main non-interactive text, 'secondary' for supporting text, and 'button' in specific cases where text is used in an interactive component.
1912
1926
  */
package/dist/index.d.ts CHANGED
@@ -1634,6 +1634,10 @@ declare const Combobox: ({ placeholder, value, onChange, searchValue, onSearchVa
1634
1634
  type ContextMenuProps = {
1635
1635
  children: ReactNode;
1636
1636
  onRequestClose?: () => void;
1637
+ /**
1638
+ * If the menu is compact
1639
+ */
1640
+ compact?: boolean;
1637
1641
  } & ({
1638
1642
  position: {
1639
1643
  x: number;
@@ -1652,7 +1656,7 @@ type ContextMenuProps = {
1652
1656
  * 1. By providing a `triggerRef`, which will render the menu when the referenced element is right-clicked.
1653
1657
  * 2. By providing a `position` prop, which will render the menu at the specified coordinates.
1654
1658
  */
1655
- declare const ContextMenu: ({ position, triggerRef, children, side, onRequestClose, }: ContextMenuProps) => react_jsx_runtime.JSX.Element | null;
1659
+ declare const ContextMenu: ({ position, triggerRef, children, side, onRequestClose, compact, }: ContextMenuProps) => react_jsx_runtime.JSX.Element | null;
1656
1660
 
1657
1661
  type DataCardProps = ComponentPropsWithoutRef<'div'> & Partial<Pick<ButtonAsLinkProps, 'beforeAction' | 'disabled' | 'href' | 'onClick' | 'type'>> & {
1658
1662
  /**
@@ -1814,6 +1818,11 @@ type TextProps = ComponentPropsWithoutRef<'div'> & {
1814
1818
  * Display the text as inline content
1815
1819
  */
1816
1820
  inline?: boolean;
1821
+ /**
1822
+ * Maximum number of characters to display before truncating. Must be >= 1.
1823
+ * When truncated, an ellipsis (...) will be added to the end.
1824
+ */
1825
+ maxChars?: number;
1817
1826
  /**
1818
1827
  * Prevents text from being highlighted and copied
1819
1828
  */
@@ -1907,6 +1916,11 @@ type HeadingProps = ComponentPropsWithoutRef<typeof DEFAULT_ELEMENT> & {
1907
1916
  * Display the text as inline content
1908
1917
  */
1909
1918
  inline?: boolean;
1919
+ /**
1920
+ * Maximum number of characters to display before truncating. Must be >= 1.
1921
+ * When truncated, an ellipsis (...) will be added to the end.
1922
+ */
1923
+ maxChars?: number;
1910
1924
  /**
1911
1925
  * Text prominence affects color. Use 'primary' for main non-interactive text, 'secondary' for supporting text, and 'button' in specific cases where text is used in an interactive component.
1912
1926
  */
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*
3
- * @license @wistia/ui v0.15.12
3
+ * @license @wistia/ui v0.15.13-beta.e65c0481.a780530
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -8307,7 +8307,7 @@ Badge.displayName = "Badge_UI";
8307
8307
  // src/components/Banner/Banner.tsx
8308
8308
  import { useEffect as useEffect8, useState as useState10, useMemo as useMemo5 } from "react";
8309
8309
  import styled16 from "styled-components";
8310
- import { isNil as isNil10, isNotNil as isNotNil13 } from "@wistia/type-guards";
8310
+ import { isNil as isNil11, isNotNil as isNotNil13 } from "@wistia/type-guards";
8311
8311
 
8312
8312
  // src/components/Box/Box.tsx
8313
8313
  import { forwardRef as forwardRef5 } from "react";
@@ -8510,6 +8510,38 @@ var Box = makePolymorphic(BoxComponent);
8510
8510
  import { forwardRef as forwardRef6 } from "react";
8511
8511
  import styled12, { css as css21 } from "styled-components";
8512
8512
  import { isNotNil as isNotNil11 } from "@wistia/type-guards";
8513
+
8514
+ // src/private/helpers/applyMaxCharsToChildren/applyMaxCharsToChildren.ts
8515
+ import { isString as isString2, isNumber, isNil as isNil9 } from "@wistia/type-guards";
8516
+
8517
+ // src/private/helpers/truncateString/truncateString.ts
8518
+ var truncateString = (text, maxChars) => {
8519
+ if (maxChars < 1) {
8520
+ throw new Error("maxChars must be >= 1");
8521
+ }
8522
+ if (text.length <= maxChars) {
8523
+ return text;
8524
+ }
8525
+ return text.slice(0, maxChars);
8526
+ };
8527
+
8528
+ // src/private/helpers/applyMaxCharsToChildren/applyMaxCharsToChildren.ts
8529
+ var applyMaxCharsToChildren = (children, maxChars) => {
8530
+ if (isNil9(maxChars)) {
8531
+ return children;
8532
+ }
8533
+ if (isString2(children)) {
8534
+ return truncateString(children, maxChars);
8535
+ }
8536
+ if (isNumber(children)) {
8537
+ const numberString = String(children);
8538
+ return truncateString(numberString, maxChars);
8539
+ }
8540
+ const textContent = typeof children === "object" ? JSON.stringify(children) : String(children);
8541
+ return truncateString(textContent, maxChars);
8542
+ };
8543
+
8544
+ // src/components/Heading/Heading.tsx
8513
8545
  import { jsx as jsx207 } from "react/jsx-runtime";
8514
8546
  var heroStyle = css21`
8515
8547
  --font-family: var(--wui-typography-heading-hero-family);
@@ -8618,31 +8650,37 @@ var variantElementMap = {
8618
8650
  var HeadingComponent = forwardRef6(
8619
8651
  ({
8620
8652
  align = "left",
8653
+ children,
8621
8654
  colorScheme = "inherit",
8622
8655
  disabled = false,
8623
8656
  inline = false,
8657
+ maxChars,
8624
8658
  preventUserSelect = false,
8625
8659
  prominence = "primary",
8626
8660
  truncate,
8627
8661
  variant = "heading1",
8628
8662
  renderAs,
8629
8663
  ...props
8630
- }, ref) => /* @__PURE__ */ jsx207(
8631
- StyledHeading,
8632
- {
8633
- ref,
8634
- $align: align,
8635
- $colorScheme: colorScheme,
8636
- $disabled: disabled,
8637
- $inline: inline,
8638
- $preventUserSelect: preventUserSelect,
8639
- $prominence: prominence,
8640
- $truncate: truncate,
8641
- $variant: variant,
8642
- as: renderAs ?? variantElementMap[variant] ?? DEFAULT_ELEMENT2,
8643
- ...props
8644
- }
8645
- )
8664
+ }, ref) => {
8665
+ const processedChildren = applyMaxCharsToChildren(children, maxChars);
8666
+ return /* @__PURE__ */ jsx207(
8667
+ StyledHeading,
8668
+ {
8669
+ ref,
8670
+ $align: align,
8671
+ $colorScheme: colorScheme,
8672
+ $disabled: disabled,
8673
+ $inline: inline,
8674
+ $preventUserSelect: preventUserSelect,
8675
+ $prominence: prominence,
8676
+ $truncate: truncate,
8677
+ $variant: variant,
8678
+ as: renderAs ?? variantElementMap[variant] ?? DEFAULT_ELEMENT2,
8679
+ ...props,
8680
+ children: processedChildren
8681
+ }
8682
+ );
8683
+ }
8646
8684
  );
8647
8685
  HeadingComponent.displayName = "Heading_UI";
8648
8686
  var Heading = makePolymorphic(HeadingComponent);
@@ -8835,9 +8873,11 @@ var StyledText = styled13.div`
8835
8873
  var TextComponent = forwardRef7(
8836
8874
  ({
8837
8875
  align = "left",
8876
+ children,
8838
8877
  colorScheme = "inherit",
8839
8878
  disabled = false,
8840
8879
  inline = false,
8880
+ maxChars,
8841
8881
  preventUserSelect = false,
8842
8882
  prominence = "primary",
8843
8883
  truncate,
@@ -8845,6 +8885,7 @@ var TextComponent = forwardRef7(
8845
8885
  renderAs,
8846
8886
  ...props
8847
8887
  }, ref) => {
8888
+ const processedChildren = applyMaxCharsToChildren(children, maxChars);
8848
8889
  return /* @__PURE__ */ jsx208(
8849
8890
  StyledText,
8850
8891
  {
@@ -8858,7 +8899,8 @@ var TextComponent = forwardRef7(
8858
8899
  $truncate: truncate,
8859
8900
  $variant: variant,
8860
8901
  as: renderAs ?? variantElementMap2[variant] ?? DEFAULT_ELEMENT3,
8861
- ...props
8902
+ ...props,
8903
+ children: processedChildren
8862
8904
  }
8863
8905
  );
8864
8906
  }
@@ -8868,7 +8910,7 @@ var Text = makePolymorphic(TextComponent);
8868
8910
 
8869
8911
  // src/components/ButtonGroup/ButtonGroup.tsx
8870
8912
  import styled14, { css as css23 } from "styled-components";
8871
- import { isNil as isNil9 } from "@wistia/type-guards";
8913
+ import { isNil as isNil10 } from "@wistia/type-guards";
8872
8914
  import { jsx as jsx209 } from "react/jsx-runtime";
8873
8915
  var getAlignment = (align) => {
8874
8916
  if (align === "center") {
@@ -8928,7 +8970,7 @@ var ButtonGroup = ({
8928
8970
  ...props
8929
8971
  }) => {
8930
8972
  const responsiveButtonSize = useResponsiveProp(buttonSize);
8931
- if (isNil9(children)) {
8973
+ if (isNil10(children)) {
8932
8974
  return null;
8933
8975
  }
8934
8976
  return /* @__PURE__ */ jsx209(
@@ -9048,7 +9090,7 @@ var Banner = ({
9048
9090
  const hasImage = isNotNil13(image);
9049
9091
  const shouldShowImage = hasImage && (isVerticalLayout || width >= MIN_IMAGE_WIDTH);
9050
9092
  const iconPosition = useMemo5(() => {
9051
- if (isNil10(icon)) return "none";
9093
+ if (isNil11(icon)) return "none";
9052
9094
  if (isSmallContainer) return shouldShowImage ? "inline" : "above";
9053
9095
  return prominence === "secondary" ? "inline" : "above";
9054
9096
  }, [icon, isSmallContainer, shouldShowImage, prominence]);
@@ -9324,7 +9366,7 @@ import { forwardRef as forwardRef12, useId as useId2 } from "react";
9324
9366
  import styled27, { css as css26 } from "styled-components";
9325
9367
 
9326
9368
  // src/private/components/FormControlLabel/FormControlLabel.tsx
9327
- import { isNil as isNil12, isNotNil as isNotNil15 } from "@wistia/type-guards";
9369
+ import { isNil as isNil13, isNotNil as isNotNil15 } from "@wistia/type-guards";
9328
9370
  import styled23, { css as css25 } from "styled-components";
9329
9371
 
9330
9372
  // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
@@ -9351,7 +9393,7 @@ ScreenReaderOnly.displayName = "ScreenReaderOnly_UI";
9351
9393
 
9352
9394
  // src/private/components/FormControlLabel/FormControlLabelDescription.tsx
9353
9395
  import styled22, { css as css24 } from "styled-components";
9354
- import { isNil as isNil11 } from "@wistia/type-guards";
9396
+ import { isNil as isNil12 } from "@wistia/type-guards";
9355
9397
  import { jsx as jsx217 } from "react/jsx-runtime";
9356
9398
  var disabledStyle = css24`
9357
9399
  color: var(--wui-color-text-disabled);
@@ -9370,7 +9412,7 @@ var FormControlLabelDescription = ({
9370
9412
  disabled = false,
9371
9413
  ...props
9372
9414
  }) => {
9373
- if (isNil11(children)) {
9415
+ if (isNil12(children)) {
9374
9416
  return null;
9375
9417
  }
9376
9418
  return /* @__PURE__ */ jsx217(
@@ -9418,7 +9460,7 @@ var FormControlLabel = ({
9418
9460
  hideLabel = false,
9419
9461
  ...props
9420
9462
  }) => {
9421
- if (isNil12(label)) {
9463
+ if (isNil13(label)) {
9422
9464
  return null;
9423
9465
  }
9424
9466
  const labelContent = hideLabel ? /* @__PURE__ */ jsx218(ScreenReaderOnly, { children: label }) : /* @__PURE__ */ jsxs16(StyledLabelWrapper, { children: [
@@ -11487,7 +11529,7 @@ import { parseHex as parseHex2 } from "culori/fn";
11487
11529
  // src/components/Input/Input.tsx
11488
11530
  import { isValidElement as isValidElement2, forwardRef as forwardRef15, cloneElement as cloneElement4, useRef as useRef9 } from "react";
11489
11531
  import styled44, { css as css30 } from "styled-components";
11490
- import { isNil as isNil13, isNotNil as isNotNil18, isRecord as isRecord4 } from "@wistia/type-guards";
11532
+ import { isNil as isNil14, isNotNil as isNotNil18, isRecord as isRecord4 } from "@wistia/type-guards";
11491
11533
 
11492
11534
  // src/css/inputCss.ts
11493
11535
  import { css as css29 } from "styled-components";
@@ -11638,7 +11680,7 @@ var Input = forwardRef15(
11638
11680
  const internalRef = useRef9(null);
11639
11681
  const ref = isNotNil18(externalRef) && isRecord4(externalRef) && "current" in externalRef ? externalRef : internalRef;
11640
11682
  let leftIconToDisplay = leftIcon;
11641
- if (isNil13(leftIcon) && type === "search") {
11683
+ if (isNil14(leftIcon) && type === "search") {
11642
11684
  leftIconToDisplay = /* @__PURE__ */ jsx249(Icon, { type: "search" });
11643
11685
  }
11644
11686
  if (isNotNil18(leftIconToDisplay) && isValidElement2(leftIconToDisplay)) {
@@ -12386,12 +12428,12 @@ import {
12386
12428
  } from "react";
12387
12429
  import { matchSorter } from "match-sorter";
12388
12430
  import styled50 from "styled-components";
12389
- import { isArray as isArray2, isString as isString2 } from "@wistia/type-guards";
12431
+ import { isArray as isArray2, isString as isString3 } from "@wistia/type-guards";
12390
12432
 
12391
12433
  // src/components/Tag/Tag.tsx
12392
12434
  import { forwardRef as forwardRef16 } from "react";
12393
12435
  import styled49 from "styled-components";
12394
- import { isNil as isNil14, isNotNil as isNotNil19, isNonEmptyString as isNonEmptyString5 } from "@wistia/type-guards";
12436
+ import { isNil as isNil15, isNotNil as isNotNil19, isNonEmptyString as isNonEmptyString5 } from "@wistia/type-guards";
12395
12437
  import { Fragment as Fragment7, jsx as jsx255, jsxs as jsxs33 } from "react/jsx-runtime";
12396
12438
  var TagLabel = styled49.a`
12397
12439
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
@@ -12477,10 +12519,10 @@ var StyledTag = styled49.div`
12477
12519
  }
12478
12520
  `;
12479
12521
  var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
12480
- if (isNil14(onClickRemove)) {
12522
+ if (isNil15(onClickRemove)) {
12481
12523
  return null;
12482
12524
  }
12483
- if (isNil14(onClickRemoveLabel)) {
12525
+ if (isNil15(onClickRemoveLabel)) {
12484
12526
  throw new Error(
12485
12527
  "for accessibility, onClickRemoveLabel must be provided if onClickRemove is provided"
12486
12528
  );
@@ -12750,11 +12792,11 @@ var Combobox2 = ({
12750
12792
  return () => null;
12751
12793
  }, []);
12752
12794
  const handleRemoveValue = (valueToRemove) => {
12753
- if (isString2(value)) {
12795
+ if (isString3(value)) {
12754
12796
  onChange("");
12755
12797
  return;
12756
12798
  }
12757
- onChange(isString2(value) ? "" : value.filter((val) => val !== valueToRemove));
12799
+ onChange(isString3(value) ? "" : value.filter((val) => val !== valueToRemove));
12758
12800
  };
12759
12801
  const matches = useMemo11(() => {
12760
12802
  return matchSorter(Object.keys(options), searchValue);
@@ -12833,8 +12875,9 @@ var Combobox2 = ({
12833
12875
  };
12834
12876
 
12835
12877
  // src/components/ContextMenu/ContextMenu.tsx
12836
- import { isNil as isNil15, isNotNil as isNotNil24 } from "@wistia/type-guards";
12878
+ import { isNil as isNil16, isNotNil as isNotNil24 } from "@wistia/type-guards";
12837
12879
  import { useEffect as useEffect16, useState as useState17 } from "react";
12880
+ import { createPortal } from "react-dom";
12838
12881
 
12839
12882
  // src/components/Menu/Menu.tsx
12840
12883
  import {
@@ -13516,12 +13559,13 @@ var ContextMenu = ({
13516
13559
  triggerRef,
13517
13560
  children,
13518
13561
  side = "bottom",
13519
- onRequestClose = () => null
13562
+ onRequestClose = () => null,
13563
+ compact = false
13520
13564
  }) => {
13521
13565
  const [isRightClicked, setIsRightClicked] = useState17(false);
13522
13566
  const [menuPosition, setMenuPosition] = useState17(position ?? { x: 0, y: 0 });
13523
13567
  useEffect16(() => {
13524
- if (isNil15(position)) {
13568
+ if (isNil16(position)) {
13525
13569
  const onContextMenu = (event) => {
13526
13570
  event.preventDefault();
13527
13571
  setMenuPosition({ x: event.clientX, y: event.clientY });
@@ -13536,9 +13580,13 @@ var ContextMenu = ({
13536
13580
  return () => null;
13537
13581
  }, [position, triggerRef]);
13538
13582
  const isOpen = isNotNil24(position) || isRightClicked;
13539
- return isOpen ? /* @__PURE__ */ jsx267(
13583
+ if (!isOpen) {
13584
+ return null;
13585
+ }
13586
+ const menu = /* @__PURE__ */ jsx267(
13540
13587
  Menu,
13541
13588
  {
13589
+ compact,
13542
13590
  isOpen,
13543
13591
  onOpenChange: (next) => {
13544
13592
  setIsRightClicked(next);
@@ -13564,7 +13612,11 @@ var ContextMenu = ({
13564
13612
  ),
13565
13613
  children
13566
13614
  }
13567
- ) : null;
13615
+ );
13616
+ if (isNotNil24(triggerRef)) {
13617
+ return createPortal(menu, document.body);
13618
+ }
13619
+ return menu;
13568
13620
  };
13569
13621
 
13570
13622
  // src/components/DataCards/DataCard.tsx
@@ -15137,13 +15189,13 @@ import styled72, { css as css37 } from "styled-components";
15137
15189
 
15138
15190
  // src/components/List/ListItem.tsx
15139
15191
  import styled71 from "styled-components";
15140
- import { isNil as isNil16 } from "@wistia/type-guards";
15192
+ import { isNil as isNil17 } from "@wistia/type-guards";
15141
15193
  import { jsx as jsx289 } from "react/jsx-runtime";
15142
15194
  var ListItemComponent = styled71.li`
15143
15195
  margin-bottom: var(--wui-space-02);
15144
15196
  `;
15145
15197
  var ListItem = ({ children }) => {
15146
- if (isNil16(children)) {
15198
+ if (isNil17(children)) {
15147
15199
  return null;
15148
15200
  }
15149
15201
  return /* @__PURE__ */ jsx289(ListItemComponent, { children });
@@ -16513,7 +16565,7 @@ ScrollArea.displayName = "ScrollArea_UI";
16513
16565
  import { forwardRef as forwardRef32 } from "react";
16514
16566
  import styled89, { css as css44 } from "styled-components";
16515
16567
  import { Root as ToggleGroupRoot2 } from "@radix-ui/react-toggle-group";
16516
- import { isNil as isNil17 } from "@wistia/type-guards";
16568
+ import { isNil as isNil18 } from "@wistia/type-guards";
16517
16569
 
16518
16570
  // src/components/SegmentedControl/useSelectedItemStyle.tsx
16519
16571
  import { createContext as createContext9, useContext as useContext15, useMemo as useMemo16, useState as useState24 } from "react";
@@ -16621,7 +16673,7 @@ var SegmentedControl = forwardRef32(
16621
16673
  onSelectedValueChange,
16622
16674
  ...props
16623
16675
  }, ref) => {
16624
- if (isNil17(children)) {
16676
+ if (isNil18(children)) {
16625
16677
  return null;
16626
16678
  }
16627
16679
  return /* @__PURE__ */ jsx308(
@@ -17480,7 +17532,7 @@ ThumbnailBadge.displayName = "ThumbnailBadge_UI";
17480
17532
  // src/components/Thumbnail/Thumbnail.tsx
17481
17533
  import { forwardRef as forwardRef37, useState as useState26, useRef as useRef24, useCallback as useCallback20, useMemo as useMemo17 } from "react";
17482
17534
  import styled106 from "styled-components";
17483
- import { isNil as isNil18, isNotNil as isNotNil43, isUndefined as isUndefined7, isEmptyString as isEmptyString2, isString as isString3 } from "@wistia/type-guards";
17535
+ import { isNil as isNil19, isNotNil as isNotNil43, isUndefined as isUndefined7, isEmptyString as isEmptyString2, isString as isString4 } from "@wistia/type-guards";
17484
17536
 
17485
17537
  // src/private/helpers/getBackgroundGradient/getBackgroundGradient.ts
17486
17538
  import { isNotNil as isNotNil41 } from "@wistia/type-guards";
@@ -17785,7 +17837,7 @@ var StyledThumbnail = styled106.div`
17785
17837
  background-image: ${({ $backgroundUrl }) => isNotNil43($backgroundUrl) ? `url('${$backgroundUrl}')` : void 0};
17786
17838
  ${({ $backgroundUrl, $gradientBackground }) => (
17787
17839
  // if we don't have $backgroundUrl show a gradient
17788
- isNil18($backgroundUrl) ? getBackgroundGradient($gradientBackground) : void 0
17840
+ isNil19($backgroundUrl) ? getBackgroundGradient($gradientBackground) : void 0
17789
17841
  )};
17790
17842
  background-position: center center;
17791
17843
  background-size: cover;
@@ -17817,7 +17869,7 @@ var StoryboardRenderer = ({
17817
17869
  frameCount,
17818
17870
  aspectRatio
17819
17871
  } = storyboard;
17820
- const targetWidth = isString3(width) ? parseInt(width, 10) : Number(width);
17872
+ const targetWidth = isString4(width) ? parseInt(width, 10) : Number(width);
17821
17873
  const effectiveCursorPosition = isStoryboardReady ? cursorPosition : null;
17822
17874
  return /* @__PURE__ */ jsx325(
17823
17875
  ThumbnailStoryboardViewer,
@@ -17894,7 +17946,7 @@ var Thumbnail = forwardRef37(
17894
17946
  setCursorPosition(null);
17895
17947
  }, [isScrubbable]);
17896
17948
  const shouldRenderStoryboard = useMemo17(() => {
17897
- if (isNil18(storyboard) || isUndefined7(height) || isEmptyString2(height)) {
17949
+ if (isNil19(storyboard) || isUndefined7(height) || isEmptyString2(height)) {
17898
17950
  return false;
17899
17951
  }
17900
17952
  return isScrubbable && isMouseOver && isStoryboardReady;