@wistia/ui 0.0.1 → 0.0.2

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.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*
3
- * @license @wistia/ui v0.0.1
3
+ * @license @wistia/ui v0.0.2
4
4
  *
5
5
  * Copyright (c) 2024-2024, Wistia, Inc. and its affiliates.
6
6
  *
@@ -1015,7 +1015,7 @@ var spacingTokens = css6`
1015
1015
  import { css as css7 } from "styled-components";
1016
1016
  var typographyTokens = css7`
1017
1017
  --typography-family-default: intervariable, sans-serif;
1018
- --typography-family-brand: walsheim, sans-serif;
1018
+ --typography-family-brand: 'GT Walsheim', sans-serif;
1019
1019
  --typography-family-mono: 'IBM Plex Mono', monospace;
1020
1020
 
1021
1021
  /* Brand Weights */
@@ -5447,12 +5447,173 @@ var HeadingComponent = forwardRef3(
5447
5447
  HeadingComponent.displayName = "Heading";
5448
5448
  var Heading = makePolymorphic(HeadingComponent);
5449
5449
 
5450
+ // src/components/IconButton/IconButton.tsx
5451
+ import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef4 } from "react";
5452
+ import styled9 from "styled-components";
5453
+
5454
+ // src/components/Tooltip/Tooltip.tsx
5455
+ import {
5456
+ Root,
5457
+ Content,
5458
+ Trigger,
5459
+ Portal,
5460
+ Arrow
5461
+ } from "@radix-ui/react-tooltip";
5462
+ import styled8, { css as css14 } from "styled-components";
5463
+ import { jsx as jsx163, jsxs as jsxs4 } from "react/jsx-runtime";
5464
+ var CompactTooltipStyles = css14`
5465
+ --tooltip-font-size: var(--typography-label-4-size);
5466
+ --tooltip-line-height: var(--typography-label-4-line-height);
5467
+ --tooltip-font-weight: var(--typography-label-4-weight);
5468
+ --tooltip-horizontal-padding: var(--space-02);
5469
+ --tooltip-vertical-padding: var(--space-03);
5470
+ `;
5471
+ var StyledContent = styled8(Content)`
5472
+ --tooltip-font-family: var(--typography-family-default);
5473
+ --tooltip-border-radius: var(--border-radius-05);
5474
+ --tooltip-bg: var(--color-bg-tooltip);
5475
+ --tooltip-color: var(--color-text-on-fill);
5476
+ --tooltip-font-size: var(--typography-label-3-size);
5477
+ --tooltip-line-height: var(--typography-label-3-line-height);
5478
+ --tooltip-font-weight: var(--typography-label-3-weight);
5479
+ --tooltip-horizontal-padding: var(--space-03);
5480
+ --tooltip-vertical-padding: var(--space-03);
5481
+
5482
+ ${({ $compact }) => Boolean($compact) && CompactTooltipStyles};
5483
+
5484
+ font-family: var(--tooltip-font-family);
5485
+ font-size: var(--tooltip-font-size);
5486
+ border-radius: var(--tooltip-border-radius);
5487
+ padding: var(--tooltip-horizontal-padding) var(--tooltip-vertical-padding);
5488
+ background-color: var(--tooltip-bg);
5489
+ color: var(--tooltip-color);
5490
+ user-select: none;
5491
+ animation-duration: 400ms;
5492
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
5493
+ will-change: transform, opacity;
5494
+ max-width: 30em;
5495
+
5496
+ &[data-state='delayed-open'][data-side='top'] {
5497
+ animation-name: slideDownAndFade;
5498
+ }
5499
+
5500
+ &[data-state='delayed-open'][data-side='right'] {
5501
+ animation-name: slideLeftAndFade;
5502
+ }
5503
+
5504
+ &[data-state='delayed-open'][data-side='bottom'] {
5505
+ animation-name: slideUpAndFade;
5506
+ }
5507
+
5508
+ &[data-state='delayed-open'][data-side='left'] {
5509
+ animation-name: slideRightAndFade;
5510
+ }
5511
+ `;
5512
+ var VISUAL_OFFSET = 6;
5513
+ var Tooltip = ({
5514
+ delay = 700,
5515
+ direction = "top",
5516
+ content,
5517
+ children,
5518
+ forceOpen,
5519
+ compact = false,
5520
+ hideArrow = false
5521
+ }) => {
5522
+ const rootProps = {};
5523
+ if (content === "" || content === null) {
5524
+ rootProps.open = false;
5525
+ }
5526
+ if (forceOpen === true) {
5527
+ rootProps.open = true;
5528
+ }
5529
+ return /* @__PURE__ */ jsxs4(
5530
+ Root,
5531
+ {
5532
+ delayDuration: delay,
5533
+ ...rootProps,
5534
+ children: [
5535
+ /* @__PURE__ */ jsx163(Trigger, { asChild: true, children }),
5536
+ /* @__PURE__ */ jsx163(Portal, { children: /* @__PURE__ */ jsxs4(
5537
+ StyledContent,
5538
+ {
5539
+ $compact: compact,
5540
+ side: direction,
5541
+ sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
5542
+ children: [
5543
+ content,
5544
+ !hideArrow ? /* @__PURE__ */ jsx163(Arrow, { asChild: true, children: /* @__PURE__ */ jsx163(
5545
+ "svg",
5546
+ {
5547
+ fill: "var(--tooltip-bg)",
5548
+ height: "8",
5549
+ style: { transform: "translateY(-2px)" },
5550
+ viewBox: "0 0 12 8",
5551
+ width: "12",
5552
+ xmlns: "http://www.w3.org/2000/svg",
5553
+ children: /* @__PURE__ */ jsx163("path", { d: "M6.8 6.93333C6.4 7.46667 5.6 7.46667 5.2 6.93333L-2.54292e-07 -1.04907e-06L12 0L6.8 6.93333Z" })
5554
+ }
5555
+ ) }) : null
5556
+ ]
5557
+ }
5558
+ ) })
5559
+ ]
5560
+ }
5561
+ );
5562
+ };
5563
+ Tooltip.displayName = "Tooltip";
5564
+
5565
+ // src/components/IconButton/IconButton.tsx
5566
+ import { jsx as jsx164 } from "react/jsx-runtime";
5567
+ var buttonIconSizeMap = {
5568
+ small: "sm",
5569
+ medium: "md",
5570
+ large: "lg",
5571
+ hero: "xl"
5572
+ };
5573
+ var StyledButton2 = styled9(Button)`
5574
+ --icon-button-size-small: 24px;
5575
+ --icon-button-size-medium: 32px;
5576
+ --icon-button-size-large: 40px;
5577
+ --icon-button-size-hero: 48px;
5578
+
5579
+ border-radius: 50%;
5580
+ height: ${({ size }) => `var(--icon-button-size-${size})`};
5581
+ width: ${({ size }) => `var(--icon-button-size-${size})`};
5582
+ display: flex;
5583
+ justify-content: center;
5584
+ align-items: center;
5585
+ line-height: 1;
5586
+ `;
5587
+ var IconButton = forwardRef4(
5588
+ ({ children, label, disableTooltip = false, size = "medium", ...props }, ref) => {
5589
+ const responsiveSize = useResponsiveProp(size);
5590
+ const button = /* @__PURE__ */ jsx164(
5591
+ StyledButton2,
5592
+ {
5593
+ ...props,
5594
+ ref,
5595
+ "aria-label": label,
5596
+ "data-wistia-ui-icon-button": true,
5597
+ size: responsiveSize,
5598
+ children: cloneElement2(Children2.only(children), {
5599
+ size: buttonIconSizeMap[responsiveSize]
5600
+ })
5601
+ }
5602
+ );
5603
+ if (disableTooltip) {
5604
+ return button;
5605
+ }
5606
+ return /* @__PURE__ */ jsx164(Tooltip, { content: label, children: button });
5607
+ }
5608
+ );
5609
+ IconButton.displayName = "IconButton";
5610
+
5450
5611
  // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
5451
- import styled8 from "styled-components";
5612
+ import styled10 from "styled-components";
5452
5613
  import { isNotNil as isNotNil6 } from "@wistia/type-guards";
5453
- import { jsx as jsx163 } from "react/jsx-runtime";
5454
- var VisuallyHidden = styled8.div({ ...visuallyHiddenStyle });
5455
- var VisuallyHiddenButFocusable = styled8.div({
5614
+ import { jsx as jsx165 } from "react/jsx-runtime";
5615
+ var VisuallyHidden = styled10.div({ ...visuallyHiddenStyle });
5616
+ var VisuallyHiddenButFocusable = styled10.div({
5456
5617
  "&:not(:focus-within)": visuallyHiddenStyle
5457
5618
  });
5458
5619
  var ScreenReaderOnly = ({
@@ -5463,18 +5624,18 @@ var ScreenReaderOnly = ({
5463
5624
  }) => {
5464
5625
  const accessibleText = isNotNil6(text) ? text : children;
5465
5626
  if (focusable) {
5466
- return /* @__PURE__ */ jsx163(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
5627
+ return /* @__PURE__ */ jsx165(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
5467
5628
  }
5468
- return /* @__PURE__ */ jsx163(VisuallyHidden, { ...otherProps, children: accessibleText });
5629
+ return /* @__PURE__ */ jsx165(VisuallyHidden, { ...otherProps, children: accessibleText });
5469
5630
  };
5470
5631
  ScreenReaderOnly.displayName = "ScreenReaderOnly";
5471
5632
 
5472
5633
  // src/components/Stack/Stack.tsx
5473
- import { forwardRef as forwardRef4 } from "react";
5474
- import styled9 from "styled-components";
5475
- import { jsx as jsx164 } from "react/jsx-runtime";
5634
+ import { forwardRef as forwardRef5 } from "react";
5635
+ import styled11 from "styled-components";
5636
+ import { jsx as jsx166 } from "react/jsx-runtime";
5476
5637
  var DEFAULT_ELEMENT2 = "div";
5477
- var StyledStack = styled9.div`
5638
+ var StyledStack = styled11.div`
5478
5639
  display: flex;
5479
5640
  flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
5480
5641
  gap: ${({ gap }) => `var(--${gap})`};
@@ -5483,11 +5644,11 @@ var StyledStack = styled9.div`
5483
5644
  flex: 1;
5484
5645
  }
5485
5646
  `;
5486
- var StackComponent = forwardRef4(
5647
+ var StackComponent = forwardRef5(
5487
5648
  ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
5488
5649
  const responsiveGap = useResponsiveProp(gap);
5489
5650
  const responsiveDirection = useResponsiveProp(direction);
5490
- return /* @__PURE__ */ jsx164(
5651
+ return /* @__PURE__ */ jsx166(
5491
5652
  StyledStack,
5492
5653
  {
5493
5654
  ref,
@@ -5503,90 +5664,90 @@ StackComponent.displayName = "Stack";
5503
5664
  var Stack = makePolymorphic(StackComponent);
5504
5665
 
5505
5666
  // src/components/Text/Text.tsx
5506
- import { forwardRef as forwardRef5 } from "react";
5507
- import styled10, { css as css14 } from "styled-components";
5508
- import { jsx as jsx165 } from "react/jsx-runtime";
5509
- var bodyBoldStyles = css14`
5667
+ import { forwardRef as forwardRef6 } from "react";
5668
+ import styled12, { css as css15 } from "styled-components";
5669
+ import { jsx as jsx167 } from "react/jsx-runtime";
5670
+ var bodyBoldStyles = css15`
5510
5671
  > strong,
5511
5672
  b {
5512
5673
  font-weight: var(--typography-weight-body-bold);
5513
5674
  }
5514
5675
  `;
5515
- var labelBoldStyles = css14`
5676
+ var labelBoldStyles = css15`
5516
5677
  > strong,
5517
5678
  b {
5518
5679
  font-weight: var(--typography-weight-label-bold);
5519
5680
  }
5520
5681
  `;
5521
- var body1TextStyle = css14`
5682
+ var body1TextStyle = css15`
5522
5683
  --font-family: var(--typography-body-1-family);
5523
5684
  --font-size: var(--typography-body-1-size);
5524
5685
  --font-weight: var(--typography-body-1-weight);
5525
5686
  --line-height: var(--typography-body-1-line-height);
5526
5687
  ${bodyBoldStyles}
5527
5688
  `;
5528
- var body2TextStyle = css14`
5689
+ var body2TextStyle = css15`
5529
5690
  --font-family: var(--typography-body-2-family);
5530
5691
  --font-size: var(--typography-body-2-size);
5531
5692
  --font-weight: var(--typography-body-2-weight);
5532
5693
  --line-height: var(--typography-body-2-line-height);
5533
5694
  ${bodyBoldStyles}
5534
5695
  `;
5535
- var body3TextStyle = css14`
5696
+ var body3TextStyle = css15`
5536
5697
  --font-family: var(--typography-body-3-family);
5537
5698
  --font-size: var(--typography-body-3-size);
5538
5699
  --font-weight: var(--typography-body-3-weight);
5539
5700
  --line-height: var(--typography-body-3-line-height);
5540
5701
  ${bodyBoldStyles}
5541
5702
  `;
5542
- var body4TextStyle = css14`
5703
+ var body4TextStyle = css15`
5543
5704
  --font-family: var(--typography-body-4-family);
5544
5705
  --font-size: var(--typography-body-4-size);
5545
5706
  --font-weight: var(--typography-body-4-weight);
5546
5707
  --line-height: var(--typography-body-4-line-height);
5547
5708
  ${bodyBoldStyles}
5548
5709
  `;
5549
- var label1TextStyle = css14`
5710
+ var label1TextStyle = css15`
5550
5711
  --font-family: var(--typography-label-1-family);
5551
5712
  --font-size: var(--typography-label-1-size);
5552
5713
  --font-weight: var(--typography-label-1-weight);
5553
5714
  --line-height: var(--typography-label-1-line-height);
5554
5715
  ${labelBoldStyles}
5555
5716
  `;
5556
- var label2TextStyle = css14`
5717
+ var label2TextStyle = css15`
5557
5718
  --font-family: var(--typography-label-2-family);
5558
5719
  --font-size: var(--typography-label-2-size);
5559
5720
  --font-weight: var(--typography-label-2-weight);
5560
5721
  --line-height: var(--typography-label-2-line-height);
5561
5722
  ${labelBoldStyles}
5562
5723
  `;
5563
- var label3TextStyle = css14`
5724
+ var label3TextStyle = css15`
5564
5725
  --font-family: var(--typography-label-3-family);
5565
5726
  --font-size: var(--typography-label-3-size);
5566
5727
  --font-weight: var(--typography-label-3-weight);
5567
5728
  --line-height: var(--typography-label-3-line-height);
5568
5729
  ${labelBoldStyles}
5569
5730
  `;
5570
- var label4TextStyle = css14`
5731
+ var label4TextStyle = css15`
5571
5732
  --font-family: var(--typography-label-4-family);
5572
5733
  --font-size: var(--typography-label-4-size);
5573
5734
  --font-weight: var(--typography-label-4-weight);
5574
5735
  --line-height: var(--typography-label-4-line-height);
5575
5736
  ${labelBoldStyles}
5576
5737
  `;
5577
- var body1MonoTextStyle = css14`
5738
+ var body1MonoTextStyle = css15`
5578
5739
  ${body1TextStyle};
5579
5740
  --font-family: var(--typography-family-mono);
5580
5741
  `;
5581
- var body2MonoTextStyle = css14`
5742
+ var body2MonoTextStyle = css15`
5582
5743
  ${body2TextStyle};
5583
5744
  --font-family: var(--typography-family-mono);
5584
5745
  `;
5585
- var body3MonoTextStyle = css14`
5746
+ var body3MonoTextStyle = css15`
5586
5747
  ${body3TextStyle};
5587
5748
  --font-family: var(--typography-family-mono);
5588
5749
  `;
5589
- var body4MonoTextStyle = css14`
5750
+ var body4MonoTextStyle = css15`
5590
5751
  ${body4TextStyle};
5591
5752
  --font-family: var(--typography-family-mono);
5592
5753
  `;
@@ -5604,46 +5765,50 @@ var variantStyleMap2 = {
5604
5765
  label3: label3TextStyle,
5605
5766
  label4: label4TextStyle
5606
5767
  };
5607
- var primaryProminenceStyle = css14`
5608
- --color-text: var(--color-text);
5768
+ var highContrastProminenceStyle = css15`
5769
+ --text-color: var(--color-text-high-contrast);
5609
5770
  `;
5610
- var secondaryProminenceStyle = css14`
5611
- --color-text: var(--color-text-secondary);
5771
+ var vibrantProminenceStyle = css15`
5772
+ --text-color: var(--color-text);
5773
+ `;
5774
+ var secondaryProminenceStyle = css15`
5775
+ --text-color: var(--color-text-secondary);
5612
5776
  `;
5613
5777
  var prominenceMap = {
5614
- primary: primaryProminenceStyle,
5778
+ highContrast: highContrastProminenceStyle,
5779
+ vibrant: vibrantProminenceStyle,
5615
5780
  secondary: secondaryProminenceStyle
5616
5781
  };
5617
- var StyledText = styled10.div`
5782
+ var StyledText = styled12.div`
5618
5783
  ${({ colorScheme }) => getColorScheme(colorScheme)};
5619
5784
  font-family: var(--font-family);
5620
5785
  font-size: var(--font-size);
5621
5786
  font-weight: var(--font-weight);
5622
5787
  line-height: var(--line-height);
5623
- color: var(--color-text);
5788
+ color: var(--text-color);
5624
5789
  font-style: normal;
5625
5790
  margin: 0;
5626
5791
  ${({ variant }) => variantStyleMap2[variant]}
5627
5792
  ${({ prominence }) => prominenceMap[prominence]}
5628
5793
  ${({ ellipsis }) => ellipsis && ellipsisStyle};
5629
- ${({ inline }) => inline && css14`
5794
+ ${({ inline }) => inline && css15`
5630
5795
  display: inline-block;
5631
5796
  `}
5632
- ${({ disabled }) => disabled && css14`
5633
- --color-text: var(--color-text-disabled);
5797
+ ${({ disabled }) => disabled && css15`
5798
+ --text-color: var(--color-text-disabled);
5634
5799
  `}
5635
- ${({ preventUserSelect }) => preventUserSelect && css14`
5800
+ ${({ preventUserSelect }) => preventUserSelect && css15`
5636
5801
  user-select: none;
5637
5802
  `}
5638
- ${({ align }) => css14`
5803
+ ${({ align }) => css15`
5639
5804
  text-align: ${align};
5640
5805
  `}
5641
- ${({ as }) => as === "p" && css14`
5806
+ ${({ as }) => as === "p" && css15`
5642
5807
  display: block;
5643
5808
  `}
5644
5809
  `;
5645
5810
  var DEFAULT_ELEMENT3 = "div";
5646
- var TextComponent = forwardRef5(
5811
+ var TextComponent = forwardRef6(
5647
5812
  ({
5648
5813
  align = "left",
5649
5814
  colorScheme = "inherit",
@@ -5651,12 +5816,12 @@ var TextComponent = forwardRef5(
5651
5816
  ellipsis = false,
5652
5817
  inline = false,
5653
5818
  preventUserSelect = false,
5654
- prominence = "primary",
5819
+ prominence = "highContrast",
5655
5820
  variant = "body2",
5656
5821
  renderAs,
5657
5822
  ...otherProps
5658
5823
  }, ref) => {
5659
- return /* @__PURE__ */ jsx165(
5824
+ return /* @__PURE__ */ jsx167(
5660
5825
  StyledText,
5661
5826
  {
5662
5827
  ref,
@@ -5678,20 +5843,20 @@ TextComponent.displayName = "Text";
5678
5843
  var Text = makePolymorphic(TextComponent);
5679
5844
 
5680
5845
  // src/components/WistiaLogo/WistiaLogo.tsx
5681
- import styled11 from "styled-components";
5846
+ import styled13 from "styled-components";
5682
5847
  import { isNotNil as isNotNil7 } from "@wistia/type-guards";
5683
- import { jsx as jsx166, jsxs as jsxs4 } from "react/jsx-runtime";
5848
+ import { jsx as jsx168, jsxs as jsxs5 } from "react/jsx-runtime";
5684
5849
  var renderBrandmark = (brandmarkColor, iconOnly) => {
5685
5850
  if (iconOnly) {
5686
- return /* @__PURE__ */ jsx166("g", { fill: brandmarkColor, children: /* @__PURE__ */ jsx166("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" }) });
5851
+ return /* @__PURE__ */ jsx168("g", { fill: brandmarkColor, children: /* @__PURE__ */ jsx168("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" }) });
5687
5852
  }
5688
- return /* @__PURE__ */ jsx166("g", { fill: brandmarkColor, children: /* @__PURE__ */ jsx166("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" }) });
5853
+ return /* @__PURE__ */ jsx168("g", { fill: brandmarkColor, children: /* @__PURE__ */ jsx168("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" }) });
5689
5854
  };
5690
5855
  var renderLogotype = (logotypeColor, iconOnly) => {
5691
5856
  if (iconOnly) {
5692
5857
  return null;
5693
5858
  }
5694
- return /* @__PURE__ */ jsx166("g", { fill: logotypeColor, children: /* @__PURE__ */ jsx166("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" }) });
5859
+ return /* @__PURE__ */ jsx168("g", { fill: logotypeColor, children: /* @__PURE__ */ jsx168("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" }) });
5695
5860
  };
5696
5861
  var computedViewBox = (iconOnly) => {
5697
5862
  if (iconOnly) {
@@ -5699,7 +5864,7 @@ var computedViewBox = (iconOnly) => {
5699
5864
  }
5700
5865
  return "0 0 144 31.47";
5701
5866
  };
5702
- var WistiaLogoComponent = styled11.svg`
5867
+ var WistiaLogoComponent = styled13.svg`
5703
5868
  height: ${({ height }) => `${height}px`};
5704
5869
 
5705
5870
  /* ensure it will always fit on mobile */
@@ -5741,7 +5906,7 @@ var WistiaLogo = ({
5741
5906
  };
5742
5907
  const brandmarkColor = VARIANT_COLORS[variant].brandmark;
5743
5908
  const logotypeColor = VARIANT_COLORS[variant].logotype;
5744
- const Logo = /* @__PURE__ */ jsxs4(
5909
+ const Logo = /* @__PURE__ */ jsxs5(
5745
5910
  WistiaLogoComponent,
5746
5911
  {
5747
5912
  height,
@@ -5751,175 +5916,16 @@ var WistiaLogo = ({
5751
5916
  xmlns: "http://www.w3.org/2000/svg",
5752
5917
  ...otherProps,
5753
5918
  children: [
5754
- /* @__PURE__ */ jsx166("title", { children: title }),
5755
- isNotNil7(description) ? /* @__PURE__ */ jsx166("desc", { children: description }) : null,
5919
+ /* @__PURE__ */ jsx168("title", { children: title }),
5920
+ isNotNil7(description) ? /* @__PURE__ */ jsx168("desc", { children: description }) : null,
5756
5921
  renderBrandmark(brandmarkColor, iconOnly),
5757
5922
  renderLogotype(logotypeColor, iconOnly)
5758
5923
  ]
5759
5924
  }
5760
5925
  );
5761
- return href !== void 0 ? /* @__PURE__ */ jsx166("a", { href, children: Logo }) : Logo;
5926
+ return href !== void 0 ? /* @__PURE__ */ jsx168("a", { href, children: Logo }) : Logo;
5762
5927
  };
5763
5928
  WistiaLogo.displayName = "WistiaLogo";
5764
-
5765
- // src/components/Tooltip/Tooltip.tsx
5766
- import {
5767
- Root,
5768
- Content,
5769
- Trigger,
5770
- Portal,
5771
- Arrow
5772
- } from "@radix-ui/react-tooltip";
5773
- import styled12, { css as css15 } from "styled-components";
5774
- import { jsx as jsx167, jsxs as jsxs5 } from "react/jsx-runtime";
5775
- var CompactTooltipStyles = css15`
5776
- --tooltip-font-size: var(--typography-label-4-size);
5777
- --tooltip-line-height: var(--typography-label-4-line-height);
5778
- --tooltip-font-weight: var(--typography-label-4-weight);
5779
- --tooltip-horizontal-padding: var(--space-02);
5780
- --tooltip-vertical-padding: var(--space-03);
5781
- `;
5782
- var StyledContent = styled12(Content)`
5783
- --tooltip-font-family: var(--typography-family-default);
5784
- --tooltip-border-radius: var(--border-radius-05);
5785
- --tooltip-bg: var(--color-bg-tooltip);
5786
- --tooltip-color: var(--color-text-on-fill);
5787
- --tooltip-font-size: var(--typography-label-3-size);
5788
- --tooltip-line-height: var(--typography-label-3-line-height);
5789
- --tooltip-font-weight: var(--typography-label-3-weight);
5790
- --tooltip-horizontal-padding: var(--space-03);
5791
- --tooltip-vertical-padding: var(--space-03);
5792
-
5793
- ${({ $compact }) => Boolean($compact) && CompactTooltipStyles};
5794
-
5795
- font-family: var(--tooltip-font-family);
5796
- font-size: var(--tooltip-font-size);
5797
- border-radius: var(--tooltip-border-radius);
5798
- padding: var(--tooltip-horizontal-padding) var(--tooltip-vertical-padding);
5799
- background-color: var(--tooltip-bg);
5800
- color: var(--tooltip-color);
5801
- user-select: none;
5802
- animation-duration: 400ms;
5803
- animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
5804
- will-change: transform, opacity;
5805
- max-width: 30em;
5806
-
5807
- &[data-state='delayed-open'][data-side='top'] {
5808
- animation-name: slideDownAndFade;
5809
- }
5810
-
5811
- &[data-state='delayed-open'][data-side='right'] {
5812
- animation-name: slideLeftAndFade;
5813
- }
5814
-
5815
- &[data-state='delayed-open'][data-side='bottom'] {
5816
- animation-name: slideUpAndFade;
5817
- }
5818
-
5819
- &[data-state='delayed-open'][data-side='left'] {
5820
- animation-name: slideRightAndFade;
5821
- }
5822
- `;
5823
- var VISUAL_OFFSET = 6;
5824
- var Tooltip = ({
5825
- delay = 700,
5826
- direction = "top",
5827
- content,
5828
- children,
5829
- forceOpen,
5830
- compact = false,
5831
- hideArrow = false
5832
- }) => {
5833
- const rootProps = {};
5834
- if (content === "" || content === null) {
5835
- rootProps.open = false;
5836
- }
5837
- if (forceOpen === true) {
5838
- rootProps.open = true;
5839
- }
5840
- return /* @__PURE__ */ jsxs5(
5841
- Root,
5842
- {
5843
- delayDuration: delay,
5844
- ...rootProps,
5845
- children: [
5846
- /* @__PURE__ */ jsx167(Trigger, { asChild: true, children }),
5847
- /* @__PURE__ */ jsx167(Portal, { children: /* @__PURE__ */ jsxs5(
5848
- StyledContent,
5849
- {
5850
- $compact: compact,
5851
- side: direction,
5852
- sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
5853
- children: [
5854
- content,
5855
- !hideArrow ? /* @__PURE__ */ jsx167(Arrow, { asChild: true, children: /* @__PURE__ */ jsx167(
5856
- "svg",
5857
- {
5858
- fill: "var(--tooltip-bg)",
5859
- height: "8",
5860
- style: { transform: "translateY(-2px)" },
5861
- viewBox: "0 0 12 8",
5862
- width: "12",
5863
- xmlns: "http://www.w3.org/2000/svg",
5864
- children: /* @__PURE__ */ jsx167("path", { d: "M6.8 6.93333C6.4 7.46667 5.6 7.46667 5.2 6.93333L-2.54292e-07 -1.04907e-06L12 0L6.8 6.93333Z" })
5865
- }
5866
- ) }) : null
5867
- ]
5868
- }
5869
- ) })
5870
- ]
5871
- }
5872
- );
5873
- };
5874
- Tooltip.displayName = "Tooltip";
5875
-
5876
- // src/components/IconButton/IconButton.tsx
5877
- import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef6 } from "react";
5878
- import styled13 from "styled-components";
5879
- import { jsx as jsx168 } from "react/jsx-runtime";
5880
- var buttonIconSizeMap = {
5881
- small: "sm",
5882
- medium: "md",
5883
- large: "lg",
5884
- hero: "xl"
5885
- };
5886
- var StyledButton2 = styled13(Button)`
5887
- --icon-button-size-small: 24px;
5888
- --icon-button-size-medium: 32px;
5889
- --icon-button-size-large: 40px;
5890
- --icon-button-size-hero: 48px;
5891
-
5892
- border-radius: 50%;
5893
- height: ${({ size }) => `var(--icon-button-size-${size})`};
5894
- width: ${({ size }) => `var(--icon-button-size-${size})`};
5895
- display: flex;
5896
- justify-content: center;
5897
- align-items: center;
5898
- line-height: 1;
5899
- `;
5900
- var IconButton = forwardRef6(
5901
- ({ children, label, disableTooltip = false, size = "medium", ...props }, ref) => {
5902
- const responsiveSize = useResponsiveProp(size);
5903
- const button = /* @__PURE__ */ jsx168(
5904
- StyledButton2,
5905
- {
5906
- ...props,
5907
- ref,
5908
- "aria-label": label,
5909
- "data-wistia-ui-icon-button": true,
5910
- size: responsiveSize,
5911
- children: cloneElement2(Children2.only(children), {
5912
- size: buttonIconSizeMap[responsiveSize]
5913
- })
5914
- }
5915
- );
5916
- if (disableTooltip) {
5917
- return button;
5918
- }
5919
- return /* @__PURE__ */ jsx168(Tooltip, { content: label, children: button });
5920
- }
5921
- );
5922
- IconButton.displayName = "IconButton";
5923
5929
  export {
5924
5930
  Box,
5925
5931
  Button,
@@ -5929,6 +5935,7 @@ export {
5929
5935
  Heading,
5930
5936
  Icon,
5931
5937
  IconButton,
5938
+ Link,
5932
5939
  ScreenReaderOnly,
5933
5940
  Stack,
5934
5941
  Text,