@wistia/ui 0.0.6 → 0.0.8
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 +95 -80
- package/dist/index.cjs.map +1 -1
- package/dist/{index.d.cts → index.d.mts} +40 -2
- package/dist/index.d.ts +40 -2
- package/dist/index.mjs +68 -53
- package/dist/index.mjs.map +1 -1
- package/package.json +29 -28
|
@@ -155,6 +155,9 @@ type BoxProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
155
155
|
*/
|
|
156
156
|
wrapItems?: boolean;
|
|
157
157
|
};
|
|
158
|
+
/**
|
|
159
|
+
* Box is a layout container using [CSS Flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox).
|
|
160
|
+
*/
|
|
158
161
|
declare const Box: {
|
|
159
162
|
({ alignContent, alignItems, children, direction, hasBoxParent, fill, fillViewport, inline, justifyContent, wrapItems, ...otherProps }: BoxProps): JSX.Element;
|
|
160
163
|
displayName: string;
|
|
@@ -328,6 +331,10 @@ type ButtonGroupProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
328
331
|
*/
|
|
329
332
|
fullWidth?: boolean;
|
|
330
333
|
};
|
|
334
|
+
/**
|
|
335
|
+
* ButtonGroup is a layout component that groups buttons together,
|
|
336
|
+
* with a standardized gap between them.
|
|
337
|
+
*/
|
|
331
338
|
declare const ButtonGroup: {
|
|
332
339
|
({ children, align, fullWidth, ...otherProps }: ButtonGroupProps): JSX.Element | null;
|
|
333
340
|
displayName: string;
|
|
@@ -341,6 +348,9 @@ type DividerProps = ComponentPropsWithoutRef<'hr'> & {
|
|
|
341
348
|
*/
|
|
342
349
|
size?: ResponsiveObject<'lg' | 'sm'> | 'lg' | 'sm';
|
|
343
350
|
};
|
|
351
|
+
/**
|
|
352
|
+
* A line used to visually separate content
|
|
353
|
+
*/
|
|
344
354
|
declare const Divider: {
|
|
345
355
|
({ size, ...otherProps }: DividerProps): JSX.Element;
|
|
346
356
|
displayName: string;
|
|
@@ -358,6 +368,9 @@ type EllipsisProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
358
368
|
*/
|
|
359
369
|
lines?: number;
|
|
360
370
|
};
|
|
371
|
+
/**
|
|
372
|
+
* Truncate text with an ellispsis visble at the end
|
|
373
|
+
*/
|
|
361
374
|
declare const Ellipsis: {
|
|
362
375
|
({ children, lines, ...otherProps }: EllipsisProps): JSX.Element;
|
|
363
376
|
displayName: string;
|
|
@@ -432,6 +445,9 @@ type HeadingProps = ComponentPropsWithoutRef<typeof DEFAULT_ELEMENT> & {
|
|
|
432
445
|
*/
|
|
433
446
|
variant?: keyof typeof variantStyleMap$1;
|
|
434
447
|
};
|
|
448
|
+
/**
|
|
449
|
+
* Displaying heading text, both visually and semantically
|
|
450
|
+
*/
|
|
435
451
|
declare const Heading: (<C = "h1">(props: PolymorphicComponentProps<C, HeadingProps>) => react.ReactElement) & Omit<react.FunctionComponent<(Omit<Omit<any, "ref">, "key" | "disabled" | keyof react.HTMLAttributes<HTMLHeadingElement> | "align" | "ellipsis" | "inline" | "colorScheme" | "variant" | "renderAs" | "preventUserSelect"> & {
|
|
436
452
|
renderAs?: any;
|
|
437
453
|
} & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & {
|
|
@@ -680,6 +696,11 @@ declare const iconSizeMap: {
|
|
|
680
696
|
xxl: string;
|
|
681
697
|
};
|
|
682
698
|
type IconProps = ComponentPropsWithoutRef<'svg'> & {
|
|
699
|
+
/**
|
|
700
|
+
* Set the color scheme of the button
|
|
701
|
+
* TODO - link to a color scheme page
|
|
702
|
+
*/
|
|
703
|
+
colorScheme?: ColorSchemeTypes;
|
|
683
704
|
/**
|
|
684
705
|
* Is Icon on a filled background?
|
|
685
706
|
*/
|
|
@@ -697,8 +718,12 @@ type IconProps = ComponentPropsWithoutRef<'svg'> & {
|
|
|
697
718
|
*/
|
|
698
719
|
type: IconNameType;
|
|
699
720
|
};
|
|
721
|
+
/**
|
|
722
|
+
* A component that renders any of our available icons. Note that icons should not be used directly
|
|
723
|
+
* for interactivity. If you need an interactive element, use [IconButton](?path=/docs/ui-components-iconbutton--docs).
|
|
724
|
+
*/
|
|
700
725
|
declare const Icon: {
|
|
701
|
-
({ invertColor, size, style, type, ...otherProps }: IconProps): JSX.Element;
|
|
726
|
+
({ invertColor, colorScheme, size, style, type, ...otherProps }: IconProps): JSX.Element;
|
|
702
727
|
displayName: string;
|
|
703
728
|
};
|
|
704
729
|
|
|
@@ -715,7 +740,8 @@ type IconButtonProps = {
|
|
|
715
740
|
children: JSX.Element;
|
|
716
741
|
} & (Omit<ButtonAsButtonProps, 'fullWidth' | 'leftIcon' | 'rightIcon'> | Omit<ButtonAsLinkProps, 'fullWidth' | 'leftIcon' | 'rightIcon'>);
|
|
717
742
|
/**
|
|
718
|
-
* IconButton behaves like a [Button](?path=/docs/ui-components-button--docs),
|
|
743
|
+
* IconButton behaves like a [Button](?path=/docs/ui-components-button--docs),
|
|
744
|
+
* but only accepts an [Icon](?path=/docs/ui-components-icon--docs) as a child.
|
|
719
745
|
*/
|
|
720
746
|
declare const IconButton: react.ForwardRefExoticComponent<(Omit<{
|
|
721
747
|
/**
|
|
@@ -756,6 +782,9 @@ type ScreenReaderOnlyProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
756
782
|
*/
|
|
757
783
|
text?: ReactNode;
|
|
758
784
|
};
|
|
785
|
+
/**
|
|
786
|
+
* Used to hide content from the visual client, but keep it readable for screen readers.
|
|
787
|
+
*/
|
|
759
788
|
declare const ScreenReaderOnly: {
|
|
760
789
|
({ text, children, focusable, ...otherProps }: ScreenReaderOnlyProps): react_jsx_runtime.JSX.Element;
|
|
761
790
|
displayName: string;
|
|
@@ -779,6 +808,10 @@ type StackProps = {
|
|
|
779
808
|
direction?: 'horizontal' | 'vertical';
|
|
780
809
|
renderAs?: ElementType$1;
|
|
781
810
|
};
|
|
811
|
+
/**
|
|
812
|
+
* Used to layout its children in a vertical or horizontal stack. The gap between each item in the stack can be customized.
|
|
813
|
+
* This allows for layouting children in a consistent way without needing to manually add margins or padding.
|
|
814
|
+
*/
|
|
782
815
|
declare const Stack: (<C = "div">(props: PolymorphicComponentProps<C, StackProps>) => react.ReactElement) & Omit<react.FunctionComponent<(Omit<Omit<any, "ref">, keyof StackProps> & {
|
|
783
816
|
renderAs?: any;
|
|
784
817
|
} & StackProps & {
|
|
@@ -850,6 +883,9 @@ type TextProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
850
883
|
*/
|
|
851
884
|
variant?: keyof typeof variantStyleMap | undefined;
|
|
852
885
|
};
|
|
886
|
+
/**
|
|
887
|
+
* Used for rending paragraphs and inline text.
|
|
888
|
+
*/
|
|
853
889
|
declare const Text: (<C = "div">(props: PolymorphicComponentProps<C, TextProps>) => react.ReactElement) & Omit<react.FunctionComponent<(Omit<Omit<any, "ref">, "key" | "disabled" | keyof react.HTMLAttributes<HTMLDivElement> | "align" | "ellipsis" | "inline" | "colorScheme" | "variant" | "renderAs" | "preventUserSelect" | "prominence"> & {
|
|
854
890
|
renderAs?: any;
|
|
855
891
|
} & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
@@ -975,6 +1011,8 @@ type TooltipProps = {
|
|
|
975
1011
|
};
|
|
976
1012
|
/**
|
|
977
1013
|
* Tooltips are a way to provide additional information or context to a user when they hover or focus an element.
|
|
1014
|
+
* For elements that are not interactive, consider using a [Popover](/docs/ui-docs-popover--docs) instead.
|
|
1015
|
+
* TODO - add link to Popover docs when they exist
|
|
978
1016
|
*/
|
|
979
1017
|
declare const Tooltip: {
|
|
980
1018
|
({ delay, direction, content, children, forceOpen, compact, hideArrow, }: TooltipProps): JSX.Element;
|
package/dist/index.d.ts
CHANGED
|
@@ -155,6 +155,9 @@ type BoxProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
155
155
|
*/
|
|
156
156
|
wrapItems?: boolean;
|
|
157
157
|
};
|
|
158
|
+
/**
|
|
159
|
+
* Box is a layout container using [CSS Flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox).
|
|
160
|
+
*/
|
|
158
161
|
declare const Box: {
|
|
159
162
|
({ alignContent, alignItems, children, direction, hasBoxParent, fill, fillViewport, inline, justifyContent, wrapItems, ...otherProps }: BoxProps): JSX.Element;
|
|
160
163
|
displayName: string;
|
|
@@ -328,6 +331,10 @@ type ButtonGroupProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
328
331
|
*/
|
|
329
332
|
fullWidth?: boolean;
|
|
330
333
|
};
|
|
334
|
+
/**
|
|
335
|
+
* ButtonGroup is a layout component that groups buttons together,
|
|
336
|
+
* with a standardized gap between them.
|
|
337
|
+
*/
|
|
331
338
|
declare const ButtonGroup: {
|
|
332
339
|
({ children, align, fullWidth, ...otherProps }: ButtonGroupProps): JSX.Element | null;
|
|
333
340
|
displayName: string;
|
|
@@ -341,6 +348,9 @@ type DividerProps = ComponentPropsWithoutRef<'hr'> & {
|
|
|
341
348
|
*/
|
|
342
349
|
size?: ResponsiveObject<'lg' | 'sm'> | 'lg' | 'sm';
|
|
343
350
|
};
|
|
351
|
+
/**
|
|
352
|
+
* A line used to visually separate content
|
|
353
|
+
*/
|
|
344
354
|
declare const Divider: {
|
|
345
355
|
({ size, ...otherProps }: DividerProps): JSX.Element;
|
|
346
356
|
displayName: string;
|
|
@@ -358,6 +368,9 @@ type EllipsisProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
358
368
|
*/
|
|
359
369
|
lines?: number;
|
|
360
370
|
};
|
|
371
|
+
/**
|
|
372
|
+
* Truncate text with an ellispsis visble at the end
|
|
373
|
+
*/
|
|
361
374
|
declare const Ellipsis: {
|
|
362
375
|
({ children, lines, ...otherProps }: EllipsisProps): JSX.Element;
|
|
363
376
|
displayName: string;
|
|
@@ -432,6 +445,9 @@ type HeadingProps = ComponentPropsWithoutRef<typeof DEFAULT_ELEMENT> & {
|
|
|
432
445
|
*/
|
|
433
446
|
variant?: keyof typeof variantStyleMap$1;
|
|
434
447
|
};
|
|
448
|
+
/**
|
|
449
|
+
* Displaying heading text, both visually and semantically
|
|
450
|
+
*/
|
|
435
451
|
declare const Heading: (<C = "h1">(props: PolymorphicComponentProps<C, HeadingProps>) => react.ReactElement) & Omit<react.FunctionComponent<(Omit<Omit<any, "ref">, "key" | "disabled" | keyof react.HTMLAttributes<HTMLHeadingElement> | "align" | "ellipsis" | "inline" | "colorScheme" | "variant" | "renderAs" | "preventUserSelect"> & {
|
|
436
452
|
renderAs?: any;
|
|
437
453
|
} & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & {
|
|
@@ -680,6 +696,11 @@ declare const iconSizeMap: {
|
|
|
680
696
|
xxl: string;
|
|
681
697
|
};
|
|
682
698
|
type IconProps = ComponentPropsWithoutRef<'svg'> & {
|
|
699
|
+
/**
|
|
700
|
+
* Set the color scheme of the button
|
|
701
|
+
* TODO - link to a color scheme page
|
|
702
|
+
*/
|
|
703
|
+
colorScheme?: ColorSchemeTypes;
|
|
683
704
|
/**
|
|
684
705
|
* Is Icon on a filled background?
|
|
685
706
|
*/
|
|
@@ -697,8 +718,12 @@ type IconProps = ComponentPropsWithoutRef<'svg'> & {
|
|
|
697
718
|
*/
|
|
698
719
|
type: IconNameType;
|
|
699
720
|
};
|
|
721
|
+
/**
|
|
722
|
+
* A component that renders any of our available icons. Note that icons should not be used directly
|
|
723
|
+
* for interactivity. If you need an interactive element, use [IconButton](?path=/docs/ui-components-iconbutton--docs).
|
|
724
|
+
*/
|
|
700
725
|
declare const Icon: {
|
|
701
|
-
({ invertColor, size, style, type, ...otherProps }: IconProps): JSX.Element;
|
|
726
|
+
({ invertColor, colorScheme, size, style, type, ...otherProps }: IconProps): JSX.Element;
|
|
702
727
|
displayName: string;
|
|
703
728
|
};
|
|
704
729
|
|
|
@@ -715,7 +740,8 @@ type IconButtonProps = {
|
|
|
715
740
|
children: JSX.Element;
|
|
716
741
|
} & (Omit<ButtonAsButtonProps, 'fullWidth' | 'leftIcon' | 'rightIcon'> | Omit<ButtonAsLinkProps, 'fullWidth' | 'leftIcon' | 'rightIcon'>);
|
|
717
742
|
/**
|
|
718
|
-
* IconButton behaves like a [Button](?path=/docs/ui-components-button--docs),
|
|
743
|
+
* IconButton behaves like a [Button](?path=/docs/ui-components-button--docs),
|
|
744
|
+
* but only accepts an [Icon](?path=/docs/ui-components-icon--docs) as a child.
|
|
719
745
|
*/
|
|
720
746
|
declare const IconButton: react.ForwardRefExoticComponent<(Omit<{
|
|
721
747
|
/**
|
|
@@ -756,6 +782,9 @@ type ScreenReaderOnlyProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
756
782
|
*/
|
|
757
783
|
text?: ReactNode;
|
|
758
784
|
};
|
|
785
|
+
/**
|
|
786
|
+
* Used to hide content from the visual client, but keep it readable for screen readers.
|
|
787
|
+
*/
|
|
759
788
|
declare const ScreenReaderOnly: {
|
|
760
789
|
({ text, children, focusable, ...otherProps }: ScreenReaderOnlyProps): react_jsx_runtime.JSX.Element;
|
|
761
790
|
displayName: string;
|
|
@@ -779,6 +808,10 @@ type StackProps = {
|
|
|
779
808
|
direction?: 'horizontal' | 'vertical';
|
|
780
809
|
renderAs?: ElementType$1;
|
|
781
810
|
};
|
|
811
|
+
/**
|
|
812
|
+
* Used to layout its children in a vertical or horizontal stack. The gap between each item in the stack can be customized.
|
|
813
|
+
* This allows for layouting children in a consistent way without needing to manually add margins or padding.
|
|
814
|
+
*/
|
|
782
815
|
declare const Stack: (<C = "div">(props: PolymorphicComponentProps<C, StackProps>) => react.ReactElement) & Omit<react.FunctionComponent<(Omit<Omit<any, "ref">, keyof StackProps> & {
|
|
783
816
|
renderAs?: any;
|
|
784
817
|
} & StackProps & {
|
|
@@ -850,6 +883,9 @@ type TextProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
850
883
|
*/
|
|
851
884
|
variant?: keyof typeof variantStyleMap | undefined;
|
|
852
885
|
};
|
|
886
|
+
/**
|
|
887
|
+
* Used for rending paragraphs and inline text.
|
|
888
|
+
*/
|
|
853
889
|
declare const Text: (<C = "div">(props: PolymorphicComponentProps<C, TextProps>) => react.ReactElement) & Omit<react.FunctionComponent<(Omit<Omit<any, "ref">, "key" | "disabled" | keyof react.HTMLAttributes<HTMLDivElement> | "align" | "ellipsis" | "inline" | "colorScheme" | "variant" | "renderAs" | "preventUserSelect" | "prominence"> & {
|
|
854
890
|
renderAs?: any;
|
|
855
891
|
} & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
@@ -975,6 +1011,8 @@ type TooltipProps = {
|
|
|
975
1011
|
};
|
|
976
1012
|
/**
|
|
977
1013
|
* Tooltips are a way to provide additional information or context to a user when they hover or focus an element.
|
|
1014
|
+
* For elements that are not interactive, consider using a [Popover](/docs/ui-docs-popover--docs) instead.
|
|
1015
|
+
* TODO - add link to Popover docs when they exist
|
|
978
1016
|
*/
|
|
979
1017
|
declare const Tooltip: {
|
|
980
1018
|
({ delay, direction, content, children, forceOpen, compact, hideArrow, }: TooltipProps): JSX.Element;
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.0.
|
|
3
|
+
* @license @wistia/ui v0.0.8
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2024, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -1488,8 +1488,8 @@ Box.displayName = "Box";
|
|
|
1488
1488
|
|
|
1489
1489
|
// src/components/Button/Button.tsx
|
|
1490
1490
|
import { forwardRef as forwardRef2 } from "react";
|
|
1491
|
-
import { isNotNil as
|
|
1492
|
-
import
|
|
1491
|
+
import { isNotNil as isNotNil3, isNotUndefined as isNotUndefined3 } from "@wistia/type-guards";
|
|
1492
|
+
import styled4 from "styled-components";
|
|
1493
1493
|
|
|
1494
1494
|
// src/css/buttonResetCss.tsx
|
|
1495
1495
|
import { css as css9 } from "styled-components";
|
|
@@ -1693,7 +1693,7 @@ var buttonSizeStyles = {
|
|
|
1693
1693
|
hero: buttonHeroStyles
|
|
1694
1694
|
};
|
|
1695
1695
|
|
|
1696
|
-
// src/private/getColorScheme/getColorScheme.ts
|
|
1696
|
+
// src/private/helpers/getColorScheme/getColorScheme.ts
|
|
1697
1697
|
import { css as css11 } from "styled-components";
|
|
1698
1698
|
var colorSchemeSchema = [
|
|
1699
1699
|
{ token: "bg-surface", step: "surface" },
|
|
@@ -1749,7 +1749,8 @@ var getColorScheme = (colorScheme) => {
|
|
|
1749
1749
|
};
|
|
1750
1750
|
|
|
1751
1751
|
// src/components/Icon/Icon.tsx
|
|
1752
|
-
import { isNil as isNil4
|
|
1752
|
+
import { isNil as isNil4 } from "@wistia/type-guards";
|
|
1753
|
+
import styled2 from "styled-components";
|
|
1753
1754
|
|
|
1754
1755
|
// src/components/Icon/icons/AbTestIcon.tsx
|
|
1755
1756
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
@@ -4905,8 +4906,12 @@ var iconSizeMap = {
|
|
|
4905
4906
|
xl: "32",
|
|
4906
4907
|
xxl: "48"
|
|
4907
4908
|
};
|
|
4909
|
+
var StyledIcon = styled2.svg`
|
|
4910
|
+
${({ $colorScheme }) => getColorScheme($colorScheme ?? "inherit")}
|
|
4911
|
+
`;
|
|
4908
4912
|
var Icon = ({
|
|
4909
4913
|
invertColor,
|
|
4914
|
+
colorScheme = "inherit",
|
|
4910
4915
|
size = "lg",
|
|
4911
4916
|
style,
|
|
4912
4917
|
type,
|
|
@@ -4930,21 +4935,20 @@ var Icon = ({
|
|
|
4930
4935
|
...style
|
|
4931
4936
|
};
|
|
4932
4937
|
const iconColor = invertColor ? "var(--color-icon-on-fill)" : "var(--color-icon)";
|
|
4933
|
-
if (isNotNil2(otherProps.color)) {
|
|
4934
|
-
delete otherProps.color;
|
|
4935
|
-
}
|
|
4936
4938
|
return /* @__PURE__ */ jsx156(
|
|
4937
|
-
|
|
4939
|
+
StyledIcon,
|
|
4938
4940
|
{
|
|
4941
|
+
$colorScheme: colorScheme,
|
|
4939
4942
|
"aria-hidden": "true",
|
|
4940
|
-
|
|
4943
|
+
as: IconElement,
|
|
4941
4944
|
height: `${iconSizeMap[responsiveSize]}px`,
|
|
4942
4945
|
role: "presentation",
|
|
4943
4946
|
style: defaultStyle,
|
|
4944
4947
|
viewBox: "0 0 24 24",
|
|
4945
4948
|
width: `${iconSizeMap[responsiveSize]}px`,
|
|
4946
4949
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4947
|
-
...otherProps
|
|
4950
|
+
...otherProps,
|
|
4951
|
+
color: iconColor
|
|
4948
4952
|
}
|
|
4949
4953
|
);
|
|
4950
4954
|
};
|
|
@@ -4952,8 +4956,8 @@ Icon.displayName = "Icon";
|
|
|
4952
4956
|
|
|
4953
4957
|
// src/components/Link/Link.tsx
|
|
4954
4958
|
import { forwardRef } from "react";
|
|
4955
|
-
import { isNil as isNil5, isNotNil as
|
|
4956
|
-
import
|
|
4959
|
+
import { isNil as isNil5, isNotNil as isNotNil2, isNotUndefined as isNotUndefined2, isUndefined as isUndefined2 } from "@wistia/type-guards";
|
|
4960
|
+
import styled3 from "styled-components";
|
|
4957
4961
|
import { Link as RouterLink, useInRouterContext } from "react-router-dom";
|
|
4958
4962
|
import { jsx as jsx157 } from "react/jsx-runtime";
|
|
4959
4963
|
var generateHref = (href, type, disabled) => {
|
|
@@ -4971,7 +4975,7 @@ var generateHref = (href, type, disabled) => {
|
|
|
4971
4975
|
};
|
|
4972
4976
|
var isButton = (props) => isUndefined2(props.href);
|
|
4973
4977
|
var isLink = (props) => isNotUndefined2(props.href);
|
|
4974
|
-
var StyledLink =
|
|
4978
|
+
var StyledLink = styled3.a`
|
|
4975
4979
|
${({ href }) => isNil5(href) && buttonResetCss};
|
|
4976
4980
|
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
4977
4981
|
cursor: pointer;
|
|
@@ -5003,7 +5007,7 @@ var Link = forwardRef(
|
|
|
5003
5007
|
} finally {
|
|
5004
5008
|
if (routingCallback !== null) {
|
|
5005
5009
|
routingCallback();
|
|
5006
|
-
} else if (
|
|
5010
|
+
} else if (isNotNil2(to)) {
|
|
5007
5011
|
window.location.assign(to);
|
|
5008
5012
|
} else {
|
|
5009
5013
|
}
|
|
@@ -5063,7 +5067,7 @@ Link.displayName = "Link";
|
|
|
5063
5067
|
// src/components/Button/Button.tsx
|
|
5064
5068
|
import { Fragment, jsx as jsx158, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
5065
5069
|
var isLink2 = (props) => isNotUndefined3(props.href);
|
|
5066
|
-
var StyledButton =
|
|
5070
|
+
var StyledButton = styled4.button`
|
|
5067
5071
|
${buttonResetCss}
|
|
5068
5072
|
${({ colorScheme }) => getColorScheme(colorScheme)}
|
|
5069
5073
|
${({ size }) => buttonSizeStyles[size]}
|
|
@@ -5072,20 +5076,23 @@ var StyledButton = styled3.button`
|
|
|
5072
5076
|
${({ fullWidth }) => fullWidth && "width: 100%;"}
|
|
5073
5077
|
position: relative;
|
|
5074
5078
|
`;
|
|
5075
|
-
var StyledButtonContent =
|
|
5079
|
+
var StyledButtonContent = styled4.div`
|
|
5076
5080
|
align-items: center;
|
|
5077
5081
|
display: inline-flex;
|
|
5078
5082
|
flex-grow: 1;
|
|
5079
5083
|
justify-content: center;
|
|
5080
|
-
opacity: ${({ isLoading }) => isLoading ? 0 : 1};
|
|
5084
|
+
opacity: ${({ $isLoading }) => $isLoading ? 0 : 1};
|
|
5081
5085
|
padding: 0 var(--button-label-padding-horizontal);
|
|
5082
5086
|
gap: var(--button-label-gap);
|
|
5087
|
+
|
|
5088
|
+
${({ $hasLeftIcon }) => $hasLeftIcon && "padding-left: 0;"}
|
|
5089
|
+
${({ $hasRightIcon }) => $hasRightIcon && "padding-right: 0;"}
|
|
5083
5090
|
`;
|
|
5084
|
-
var StyledButtonContentLabel =
|
|
5091
|
+
var StyledButtonContentLabel = styled4.span`
|
|
5085
5092
|
flex: 1;
|
|
5086
5093
|
text-align: center;
|
|
5087
5094
|
`;
|
|
5088
|
-
var StyledButtonLoading =
|
|
5095
|
+
var StyledButtonLoading = styled4.div`
|
|
5089
5096
|
position: absolute;
|
|
5090
5097
|
display: flex;
|
|
5091
5098
|
`;
|
|
@@ -5097,11 +5104,19 @@ var ButtonContent = ({
|
|
|
5097
5104
|
}) => {
|
|
5098
5105
|
return /* @__PURE__ */ jsxs3(Fragment, { children: [
|
|
5099
5106
|
isLoading ? /* @__PURE__ */ jsx158(StyledButtonLoading, { children: /* @__PURE__ */ jsx158(Icon, { type: "spinner" }) }) : null,
|
|
5100
|
-
/* @__PURE__ */ jsxs3(
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
|
|
5107
|
+
/* @__PURE__ */ jsxs3(
|
|
5108
|
+
StyledButtonContent,
|
|
5109
|
+
{
|
|
5110
|
+
$hasLeftIcon: isNotNil3(leftIcon),
|
|
5111
|
+
$hasRightIcon: isNotNil3(rightIcon),
|
|
5112
|
+
$isLoading: isLoading,
|
|
5113
|
+
children: [
|
|
5114
|
+
leftIcon ?? null,
|
|
5115
|
+
/* @__PURE__ */ jsx158(StyledButtonContentLabel, { children }),
|
|
5116
|
+
rightIcon ?? null
|
|
5117
|
+
]
|
|
5118
|
+
}
|
|
5119
|
+
)
|
|
5105
5120
|
] });
|
|
5106
5121
|
};
|
|
5107
5122
|
var Button = forwardRef2(
|
|
@@ -5163,7 +5178,7 @@ var Button = forwardRef2(
|
|
|
5163
5178
|
event.preventDefault();
|
|
5164
5179
|
return;
|
|
5165
5180
|
}
|
|
5166
|
-
if (
|
|
5181
|
+
if (isNotNil3(onClick)) {
|
|
5167
5182
|
onClick(event);
|
|
5168
5183
|
}
|
|
5169
5184
|
};
|
|
@@ -5191,7 +5206,7 @@ var Button = forwardRef2(
|
|
|
5191
5206
|
Button.displayName = "Button";
|
|
5192
5207
|
|
|
5193
5208
|
// src/components/ButtonGroup/ButtonGroup.tsx
|
|
5194
|
-
import
|
|
5209
|
+
import styled5 from "styled-components";
|
|
5195
5210
|
import { isNil as isNil6 } from "@wistia/type-guards";
|
|
5196
5211
|
import { jsx as jsx159 } from "react/jsx-runtime";
|
|
5197
5212
|
var getAlignment = (align) => {
|
|
@@ -5206,7 +5221,7 @@ var getAlignment = (align) => {
|
|
|
5206
5221
|
}
|
|
5207
5222
|
return void 0;
|
|
5208
5223
|
};
|
|
5209
|
-
var ButtonGroupComponent =
|
|
5224
|
+
var ButtonGroupComponent = styled5.div`
|
|
5210
5225
|
display: flex;
|
|
5211
5226
|
|
|
5212
5227
|
/* this helps ensure that primary buttons appear at the top of the column */
|
|
@@ -5248,13 +5263,13 @@ var ButtonGroup = ({
|
|
|
5248
5263
|
ButtonGroup.displayName = "ButtonGroup";
|
|
5249
5264
|
|
|
5250
5265
|
// src/components/Divider/Divider.tsx
|
|
5251
|
-
import
|
|
5266
|
+
import styled6 from "styled-components";
|
|
5252
5267
|
import { jsx as jsx160 } from "react/jsx-runtime";
|
|
5253
5268
|
var sizeToPixelMap = {
|
|
5254
5269
|
lg: 4,
|
|
5255
5270
|
sm: 1
|
|
5256
5271
|
};
|
|
5257
|
-
var DividerComponent =
|
|
5272
|
+
var DividerComponent = styled6.hr`
|
|
5258
5273
|
background: none;
|
|
5259
5274
|
border-bottom: none;
|
|
5260
5275
|
border-left: none;
|
|
@@ -5280,8 +5295,8 @@ var Divider = ({ size = "sm", ...otherProps }) => {
|
|
|
5280
5295
|
Divider.displayName = "Divider";
|
|
5281
5296
|
|
|
5282
5297
|
// src/components/Ellipsis/Ellipsis.tsx
|
|
5283
|
-
import { isNotNil as
|
|
5284
|
-
import
|
|
5298
|
+
import { isNotNil as isNotNil4 } from "@wistia/type-guards";
|
|
5299
|
+
import styled7, { css as css12 } from "styled-components";
|
|
5285
5300
|
import { jsx as jsx161 } from "react/jsx-runtime";
|
|
5286
5301
|
var ellipsisStyle = css12`
|
|
5287
5302
|
overflow: hidden;
|
|
@@ -5309,10 +5324,10 @@ var ellipsisStyle = css12`
|
|
|
5309
5324
|
var ellipsisFlexParentStyle = css12`
|
|
5310
5325
|
min-width: 0;
|
|
5311
5326
|
`;
|
|
5312
|
-
var EllipsisComponent =
|
|
5327
|
+
var EllipsisComponent = styled7.div`
|
|
5313
5328
|
${ellipsisStyle};
|
|
5314
5329
|
${({ lines }) => {
|
|
5315
|
-
if (
|
|
5330
|
+
if (isNotNil4(lines)) {
|
|
5316
5331
|
return css12`
|
|
5317
5332
|
-webkit-box-orient: vertical;
|
|
5318
5333
|
-webkit-line-clamp: ${lines};
|
|
@@ -5335,7 +5350,7 @@ Ellipsis.displayName = "Ellipsis";
|
|
|
5335
5350
|
|
|
5336
5351
|
// src/components/Heading/Heading.tsx
|
|
5337
5352
|
import { forwardRef as forwardRef3 } from "react";
|
|
5338
|
-
import
|
|
5353
|
+
import styled8, { css as css13 } from "styled-components";
|
|
5339
5354
|
|
|
5340
5355
|
// src/private/helpers/makePolymorphic/makePolymorphic.tsx
|
|
5341
5356
|
var makePolymorphic = (component) => {
|
|
@@ -5396,7 +5411,7 @@ var variantStyleMap = {
|
|
|
5396
5411
|
heading6: heading6TextStyle
|
|
5397
5412
|
};
|
|
5398
5413
|
var DEFAULT_ELEMENT = "h1";
|
|
5399
|
-
var StyledHeading =
|
|
5414
|
+
var StyledHeading = styled8.div`
|
|
5400
5415
|
${({ colorScheme }) => getColorScheme(colorScheme)};
|
|
5401
5416
|
font-family: var(--font-family);
|
|
5402
5417
|
font-size: var(--font-size);
|
|
@@ -5460,7 +5475,7 @@ var Heading = makePolymorphic(HeadingComponent);
|
|
|
5460
5475
|
|
|
5461
5476
|
// src/components/IconButton/IconButton.tsx
|
|
5462
5477
|
import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef4 } from "react";
|
|
5463
|
-
import
|
|
5478
|
+
import styled10 from "styled-components";
|
|
5464
5479
|
|
|
5465
5480
|
// src/components/Tooltip/Tooltip.tsx
|
|
5466
5481
|
import {
|
|
@@ -5470,7 +5485,7 @@ import {
|
|
|
5470
5485
|
Portal,
|
|
5471
5486
|
Arrow
|
|
5472
5487
|
} from "@radix-ui/react-tooltip";
|
|
5473
|
-
import
|
|
5488
|
+
import styled9, { css as css14 } from "styled-components";
|
|
5474
5489
|
import { jsx as jsx163, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
5475
5490
|
var CompactTooltipStyles = css14`
|
|
5476
5491
|
--tooltip-font-size: var(--typography-label-4-size);
|
|
@@ -5479,7 +5494,7 @@ var CompactTooltipStyles = css14`
|
|
|
5479
5494
|
--tooltip-horizontal-padding: var(--space-02);
|
|
5480
5495
|
--tooltip-vertical-padding: var(--space-03);
|
|
5481
5496
|
`;
|
|
5482
|
-
var StyledContent =
|
|
5497
|
+
var StyledContent = styled9(Content)`
|
|
5483
5498
|
--tooltip-font-family: var(--typography-family-default);
|
|
5484
5499
|
--tooltip-border-radius: var(--border-radius-05);
|
|
5485
5500
|
--tooltip-bg: var(--color-bg-tooltip);
|
|
@@ -5581,7 +5596,7 @@ var buttonIconSizeMap = {
|
|
|
5581
5596
|
large: "lg",
|
|
5582
5597
|
hero: "xl"
|
|
5583
5598
|
};
|
|
5584
|
-
var StyledButton2 =
|
|
5599
|
+
var StyledButton2 = styled10(Button)`
|
|
5585
5600
|
--icon-button-size-small: 24px;
|
|
5586
5601
|
--icon-button-size-medium: 32px;
|
|
5587
5602
|
--icon-button-size-large: 40px;
|
|
@@ -5620,11 +5635,11 @@ var IconButton = forwardRef4(
|
|
|
5620
5635
|
IconButton.displayName = "IconButton";
|
|
5621
5636
|
|
|
5622
5637
|
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
5623
|
-
import
|
|
5624
|
-
import { isNotNil as
|
|
5638
|
+
import styled11 from "styled-components";
|
|
5639
|
+
import { isNotNil as isNotNil5 } from "@wistia/type-guards";
|
|
5625
5640
|
import { jsx as jsx165 } from "react/jsx-runtime";
|
|
5626
|
-
var VisuallyHidden =
|
|
5627
|
-
var VisuallyHiddenButFocusable =
|
|
5641
|
+
var VisuallyHidden = styled11.div({ ...visuallyHiddenStyle });
|
|
5642
|
+
var VisuallyHiddenButFocusable = styled11.div({
|
|
5628
5643
|
"&:not(:focus-within)": visuallyHiddenStyle
|
|
5629
5644
|
});
|
|
5630
5645
|
var ScreenReaderOnly = ({
|
|
@@ -5633,7 +5648,7 @@ var ScreenReaderOnly = ({
|
|
|
5633
5648
|
focusable = false,
|
|
5634
5649
|
...otherProps
|
|
5635
5650
|
}) => {
|
|
5636
|
-
const accessibleText =
|
|
5651
|
+
const accessibleText = isNotNil5(text) ? text : children;
|
|
5637
5652
|
if (focusable) {
|
|
5638
5653
|
return /* @__PURE__ */ jsx165(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
5639
5654
|
}
|
|
@@ -5643,10 +5658,10 @@ ScreenReaderOnly.displayName = "ScreenReaderOnly";
|
|
|
5643
5658
|
|
|
5644
5659
|
// src/components/Stack/Stack.tsx
|
|
5645
5660
|
import { forwardRef as forwardRef5 } from "react";
|
|
5646
|
-
import
|
|
5661
|
+
import styled12 from "styled-components";
|
|
5647
5662
|
import { jsx as jsx166 } from "react/jsx-runtime";
|
|
5648
5663
|
var DEFAULT_ELEMENT2 = "div";
|
|
5649
|
-
var StyledStack =
|
|
5664
|
+
var StyledStack = styled12.div`
|
|
5650
5665
|
display: flex;
|
|
5651
5666
|
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
5652
5667
|
gap: ${({ gap }) => `var(--${gap})`};
|
|
@@ -5676,7 +5691,7 @@ var Stack = makePolymorphic(StackComponent);
|
|
|
5676
5691
|
|
|
5677
5692
|
// src/components/Text/Text.tsx
|
|
5678
5693
|
import { forwardRef as forwardRef6 } from "react";
|
|
5679
|
-
import
|
|
5694
|
+
import styled13, { css as css15 } from "styled-components";
|
|
5680
5695
|
import { jsx as jsx167 } from "react/jsx-runtime";
|
|
5681
5696
|
var bodyBoldStyles = css15`
|
|
5682
5697
|
> strong,
|
|
@@ -5790,7 +5805,7 @@ var prominenceMap = {
|
|
|
5790
5805
|
vibrant: vibrantProminenceStyle,
|
|
5791
5806
|
secondary: secondaryProminenceStyle
|
|
5792
5807
|
};
|
|
5793
|
-
var StyledText =
|
|
5808
|
+
var StyledText = styled13.div`
|
|
5794
5809
|
${({ colorScheme }) => getColorScheme(colorScheme)};
|
|
5795
5810
|
font-family: var(--font-family);
|
|
5796
5811
|
font-size: var(--font-size);
|
|
@@ -5854,8 +5869,8 @@ TextComponent.displayName = "Text";
|
|
|
5854
5869
|
var Text = makePolymorphic(TextComponent);
|
|
5855
5870
|
|
|
5856
5871
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
5857
|
-
import
|
|
5858
|
-
import { isNotNil as
|
|
5872
|
+
import styled14 from "styled-components";
|
|
5873
|
+
import { isNotNil as isNotNil6 } from "@wistia/type-guards";
|
|
5859
5874
|
import { jsx as jsx168, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
5860
5875
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
5861
5876
|
if (iconOnly) {
|
|
@@ -5875,7 +5890,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
5875
5890
|
}
|
|
5876
5891
|
return "0 0 144 31.47";
|
|
5877
5892
|
};
|
|
5878
|
-
var WistiaLogoComponent =
|
|
5893
|
+
var WistiaLogoComponent = styled14.svg`
|
|
5879
5894
|
height: ${({ height }) => `${height}px`};
|
|
5880
5895
|
|
|
5881
5896
|
/* ensure it will always fit on mobile */
|
|
@@ -5928,7 +5943,7 @@ var WistiaLogo = ({
|
|
|
5928
5943
|
...otherProps,
|
|
5929
5944
|
children: [
|
|
5930
5945
|
/* @__PURE__ */ jsx168("title", { children: title }),
|
|
5931
|
-
|
|
5946
|
+
isNotNil6(description) ? /* @__PURE__ */ jsx168("desc", { children: description }) : null,
|
|
5932
5947
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
5933
5948
|
renderLogotype(logotypeColor, iconOnly)
|
|
5934
5949
|
]
|