@wistia/ui 0.0.24 → 0.0.25

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
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1 } from 'react';
3
+ import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1, InputHTMLAttributes } from 'react';
4
4
  import { LinkProps as LinkProps$1 } from 'react-router-dom';
5
5
  import * as styled_components from 'styled-components';
6
6
  import { DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuCheckboxItemProps } from '@radix-ui/react-dropdown-menu';
@@ -87,8 +87,7 @@ type BaseProps = {
87
87
  */
88
88
  children: ReactNode;
89
89
  /**
90
- * Set the color scheme of the button
91
- * TODO - link to a color scheme page
90
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Link`
92
91
  */
93
92
  colorScheme?: ColorSchemeTypes;
94
93
  /**
@@ -143,8 +142,7 @@ type BaseButtonProps = {
143
142
  */
144
143
  children?: ReactNode;
145
144
  /**
146
- * Set the color scheme of the button
147
- * TODO - link to a color scheme page
145
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Button`
148
146
  */
149
147
  colorScheme?: ColorSchemeTypes;
150
148
  /**
@@ -292,8 +290,7 @@ declare const Avatar: {
292
290
 
293
291
  type BadgeProps = ComponentPropsWithoutRef<'div'> & {
294
292
  /**
295
- * Set the color scheme of the `Badge`
296
- * TODO - link to a color scheme page
293
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Badge`
297
294
  */
298
295
  colorScheme?: ColorSchemeTypes;
299
296
  /**
@@ -310,8 +307,7 @@ type BadgeProps = ComponentPropsWithoutRef<'div'> & {
310
307
  */
311
308
  declare const Badge: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
312
309
  /**
313
- * Set the color scheme of the `Badge`
314
- * TODO - link to a color scheme page
310
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Badge`
315
311
  */
316
312
  colorScheme?: ColorSchemeTypes;
317
313
  /**
@@ -839,7 +835,7 @@ declare const Heading: (<C = "h1">(props: PolymorphicComponentProps<C, HeadingPr
839
835
  */
840
836
  variant?: keyof typeof variantStyleMap$1;
841
837
  } & {
842
- renderAs: react.JSXElementConstructor<any> | keyof react.JSX.IntrinsicElements;
838
+ renderAs: keyof react.JSX.IntrinsicElements | react.JSXElementConstructor<any>;
843
839
  })>, never> & Record<string, never>;
844
840
 
845
841
  declare const iconMap: {
@@ -1008,8 +1004,7 @@ declare const iconSizeMap: {
1008
1004
  };
1009
1005
  type IconProps = ComponentPropsWithoutRef<'svg'> & {
1010
1006
  /**
1011
- * Set the color scheme of the button
1012
- * TODO - link to a color scheme page
1007
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Icon`
1013
1008
  */
1014
1009
  colorScheme?: ColorSchemeTypes;
1015
1010
  /**
@@ -1475,7 +1470,7 @@ declare const Text: (<C = "div">(props: PolymorphicComponentProps<C, TextProps>)
1475
1470
  */
1476
1471
  variant?: keyof typeof variantStyleMap | undefined;
1477
1472
  } & {
1478
- renderAs: react.JSXElementConstructor<any> | keyof react.JSX.IntrinsicElements;
1473
+ renderAs: keyof react.JSX.IntrinsicElements | react.JSXElementConstructor<any>;
1479
1474
  })>, never> & Record<string, never>;
1480
1475
 
1481
1476
  type MenuItemLabelProps = {
@@ -1702,12 +1697,12 @@ declare const Stack: (<C = "div">(props: PolymorphicComponentProps<C, StackProps
1702
1697
  } & StackProps & {
1703
1698
  ref?: any;
1704
1699
  }) | (StackProps & {
1705
- renderAs: react.JSXElementConstructor<any> | keyof react.JSX.IntrinsicElements;
1700
+ renderAs: keyof react.JSX.IntrinsicElements | react.JSXElementConstructor<any>;
1706
1701
  })>, never> & Record<string, never>;
1707
1702
 
1708
1703
  type TagProps = ComponentPropsWithoutRef<'div'> & {
1709
1704
  /**
1710
- * Set the [color scheme](/?path=/docs/docs-color-schemes--docs) of the `Tag`
1705
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Tag`
1711
1706
  */
1712
1707
  colorScheme?: ColorSchemeTypes;
1713
1708
  /**
@@ -1732,7 +1727,7 @@ type TagProps = ComponentPropsWithoutRef<'div'> & {
1732
1727
  */
1733
1728
  declare const Tag: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1734
1729
  /**
1735
- * Set the [color scheme](/?path=/docs/docs-color-schemes--docs) of the `Tag`
1730
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Tag`
1736
1731
  */
1737
1732
  colorScheme?: ColorSchemeTypes;
1738
1733
  /**
@@ -1832,4 +1827,68 @@ declare const WistiaLogo: {
1832
1827
  displayName: string;
1833
1828
  };
1834
1829
 
1835
- export { Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };
1830
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'type'> & {
1831
+ /**
1832
+ * Sets the validity status of the input
1833
+ */
1834
+ 'aria-invalid'?: boolean;
1835
+ /**
1836
+ * Set the disabled state of the input
1837
+ */
1838
+ disabled?: boolean;
1839
+ /**
1840
+ * If true, the input will fill the width of its parent
1841
+ */
1842
+ fullWidth?: boolean;
1843
+ /**
1844
+ * If true, the input will use a monospace font
1845
+ */
1846
+ monospace?: boolean;
1847
+ /**
1848
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1849
+ */
1850
+ leftIcon?: JSX.Element | undefined;
1851
+ /**
1852
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1853
+ */
1854
+ rightIcon?: JSX.Element | undefined;
1855
+ /**
1856
+ * The type of the input
1857
+ */
1858
+ type?: 'email' | 'multiline' | 'number' | 'phone' | 'search' | 'text' | 'url';
1859
+ };
1860
+ /**
1861
+ * Component description goes here
1862
+ */
1863
+ declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, "type"> & {
1864
+ /**
1865
+ * Sets the validity status of the input
1866
+ */
1867
+ 'aria-invalid'?: boolean;
1868
+ /**
1869
+ * Set the disabled state of the input
1870
+ */
1871
+ disabled?: boolean;
1872
+ /**
1873
+ * If true, the input will fill the width of its parent
1874
+ */
1875
+ fullWidth?: boolean;
1876
+ /**
1877
+ * If true, the input will use a monospace font
1878
+ */
1879
+ monospace?: boolean;
1880
+ /**
1881
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1882
+ */
1883
+ leftIcon?: JSX.Element | undefined;
1884
+ /**
1885
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1886
+ */
1887
+ rightIcon?: JSX.Element | undefined;
1888
+ /**
1889
+ * The type of the input
1890
+ */
1891
+ type?: "email" | "multiline" | "number" | "phone" | "search" | "text" | "url";
1892
+ } & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
1893
+
1894
+ export { Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1 } from 'react';
3
+ import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1, InputHTMLAttributes } from 'react';
4
4
  import { LinkProps as LinkProps$1 } from 'react-router-dom';
5
5
  import * as styled_components from 'styled-components';
6
6
  import { DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuCheckboxItemProps } from '@radix-ui/react-dropdown-menu';
@@ -87,8 +87,7 @@ type BaseProps = {
87
87
  */
88
88
  children: ReactNode;
89
89
  /**
90
- * Set the color scheme of the button
91
- * TODO - link to a color scheme page
90
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Link`
92
91
  */
93
92
  colorScheme?: ColorSchemeTypes;
94
93
  /**
@@ -143,8 +142,7 @@ type BaseButtonProps = {
143
142
  */
144
143
  children?: ReactNode;
145
144
  /**
146
- * Set the color scheme of the button
147
- * TODO - link to a color scheme page
145
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Button`
148
146
  */
149
147
  colorScheme?: ColorSchemeTypes;
150
148
  /**
@@ -292,8 +290,7 @@ declare const Avatar: {
292
290
 
293
291
  type BadgeProps = ComponentPropsWithoutRef<'div'> & {
294
292
  /**
295
- * Set the color scheme of the `Badge`
296
- * TODO - link to a color scheme page
293
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Badge`
297
294
  */
298
295
  colorScheme?: ColorSchemeTypes;
299
296
  /**
@@ -310,8 +307,7 @@ type BadgeProps = ComponentPropsWithoutRef<'div'> & {
310
307
  */
311
308
  declare const Badge: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
312
309
  /**
313
- * Set the color scheme of the `Badge`
314
- * TODO - link to a color scheme page
310
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Badge`
315
311
  */
316
312
  colorScheme?: ColorSchemeTypes;
317
313
  /**
@@ -839,7 +835,7 @@ declare const Heading: (<C = "h1">(props: PolymorphicComponentProps<C, HeadingPr
839
835
  */
840
836
  variant?: keyof typeof variantStyleMap$1;
841
837
  } & {
842
- renderAs: react.JSXElementConstructor<any> | keyof react.JSX.IntrinsicElements;
838
+ renderAs: keyof react.JSX.IntrinsicElements | react.JSXElementConstructor<any>;
843
839
  })>, never> & Record<string, never>;
844
840
 
845
841
  declare const iconMap: {
@@ -1008,8 +1004,7 @@ declare const iconSizeMap: {
1008
1004
  };
1009
1005
  type IconProps = ComponentPropsWithoutRef<'svg'> & {
1010
1006
  /**
1011
- * Set the color scheme of the button
1012
- * TODO - link to a color scheme page
1007
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Icon`
1013
1008
  */
1014
1009
  colorScheme?: ColorSchemeTypes;
1015
1010
  /**
@@ -1475,7 +1470,7 @@ declare const Text: (<C = "div">(props: PolymorphicComponentProps<C, TextProps>)
1475
1470
  */
1476
1471
  variant?: keyof typeof variantStyleMap | undefined;
1477
1472
  } & {
1478
- renderAs: react.JSXElementConstructor<any> | keyof react.JSX.IntrinsicElements;
1473
+ renderAs: keyof react.JSX.IntrinsicElements | react.JSXElementConstructor<any>;
1479
1474
  })>, never> & Record<string, never>;
1480
1475
 
1481
1476
  type MenuItemLabelProps = {
@@ -1702,12 +1697,12 @@ declare const Stack: (<C = "div">(props: PolymorphicComponentProps<C, StackProps
1702
1697
  } & StackProps & {
1703
1698
  ref?: any;
1704
1699
  }) | (StackProps & {
1705
- renderAs: react.JSXElementConstructor<any> | keyof react.JSX.IntrinsicElements;
1700
+ renderAs: keyof react.JSX.IntrinsicElements | react.JSXElementConstructor<any>;
1706
1701
  })>, never> & Record<string, never>;
1707
1702
 
1708
1703
  type TagProps = ComponentPropsWithoutRef<'div'> & {
1709
1704
  /**
1710
- * Set the [color scheme](/?path=/docs/docs-color-schemes--docs) of the `Tag`
1705
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Tag`
1711
1706
  */
1712
1707
  colorScheme?: ColorSchemeTypes;
1713
1708
  /**
@@ -1732,7 +1727,7 @@ type TagProps = ComponentPropsWithoutRef<'div'> & {
1732
1727
  */
1733
1728
  declare const Tag: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1734
1729
  /**
1735
- * Set the [color scheme](/?path=/docs/docs-color-schemes--docs) of the `Tag`
1730
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `Tag`
1736
1731
  */
1737
1732
  colorScheme?: ColorSchemeTypes;
1738
1733
  /**
@@ -1832,4 +1827,68 @@ declare const WistiaLogo: {
1832
1827
  displayName: string;
1833
1828
  };
1834
1829
 
1835
- export { Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };
1830
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'type'> & {
1831
+ /**
1832
+ * Sets the validity status of the input
1833
+ */
1834
+ 'aria-invalid'?: boolean;
1835
+ /**
1836
+ * Set the disabled state of the input
1837
+ */
1838
+ disabled?: boolean;
1839
+ /**
1840
+ * If true, the input will fill the width of its parent
1841
+ */
1842
+ fullWidth?: boolean;
1843
+ /**
1844
+ * If true, the input will use a monospace font
1845
+ */
1846
+ monospace?: boolean;
1847
+ /**
1848
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1849
+ */
1850
+ leftIcon?: JSX.Element | undefined;
1851
+ /**
1852
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1853
+ */
1854
+ rightIcon?: JSX.Element | undefined;
1855
+ /**
1856
+ * The type of the input
1857
+ */
1858
+ type?: 'email' | 'multiline' | 'number' | 'phone' | 'search' | 'text' | 'url';
1859
+ };
1860
+ /**
1861
+ * Component description goes here
1862
+ */
1863
+ declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, "type"> & {
1864
+ /**
1865
+ * Sets the validity status of the input
1866
+ */
1867
+ 'aria-invalid'?: boolean;
1868
+ /**
1869
+ * Set the disabled state of the input
1870
+ */
1871
+ disabled?: boolean;
1872
+ /**
1873
+ * If true, the input will fill the width of its parent
1874
+ */
1875
+ fullWidth?: boolean;
1876
+ /**
1877
+ * If true, the input will use a monospace font
1878
+ */
1879
+ monospace?: boolean;
1880
+ /**
1881
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1882
+ */
1883
+ leftIcon?: JSX.Element | undefined;
1884
+ /**
1885
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1886
+ */
1887
+ rightIcon?: JSX.Element | undefined;
1888
+ /**
1889
+ * The type of the input
1890
+ */
1891
+ type?: "email" | "multiline" | "number" | "phone" | "search" | "text" | "url";
1892
+ } & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
1893
+
1894
+ export { Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
 
2
2
  /*
3
- * @license @wistia/ui v0.0.24
3
+ * @license @wistia/ui v0.0.25
4
4
  *
5
- * Copyright (c) 2024-2024, Wistia, Inc. and its affiliates.
5
+ * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
7
7
  * This source code is unlicensed, all rights reserved.
8
8
  */
@@ -1114,7 +1114,7 @@ var colorAliasTokens = css4`
1114
1114
  --wui-color-bg-fill-white: #ffffff;
1115
1115
  --wui-color-focus-color: var(--wui-blue-9);
1116
1116
  --wui-color-notification-pill-color: var(--wui-pink-9);
1117
- --wui-color-overlay: var(--wui-gray-alpha-9);
1117
+ --wui-color-backdrop: var(--wui-gray-alpha-9);
1118
1118
  --wui-color-segmented-control-checked-background: var(--wui-bg-app);
1119
1119
  --wui-color-text-on-fill-white-selected: var(--wui-blue-9);
1120
1120
  --wui-color-bg-tooltip: #242528;
@@ -6323,8 +6323,8 @@ import { jsx as jsx174 } from "react/jsx-runtime";
6323
6323
  var StyledForm = styled17.form`
6324
6324
  --form-default-width: 690px;
6325
6325
 
6326
- max-width: ${({ fullWidth }) => fullWidth ? "auto" : "var(--form-default-width)"};
6327
- align-items: ${({ fullWidth }) => fullWidth ? "stretch" : "flex-start"};
6326
+ max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
6327
+ align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
6328
6328
  `;
6329
6329
  var FormContext = createContext2({
6330
6330
  values: {},
@@ -6395,8 +6395,8 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
6395
6395
  gap: "space-05",
6396
6396
  ...props,
6397
6397
  ref,
6398
+ $fullWidth: fullWidth,
6398
6399
  as: StyledForm,
6399
- fullWidth,
6400
6400
  id,
6401
6401
  onBlur: handleBlur,
6402
6402
  onReset: handleReset,
@@ -7874,6 +7874,151 @@ var WistiaLogo = ({
7874
7874
  return href !== void 0 ? /* @__PURE__ */ jsx195("a", { href, children: Logo }) : Logo;
7875
7875
  };
7876
7876
  WistiaLogo.displayName = "WistiaLogo";
7877
+
7878
+ // src/components/Input/Input.tsx
7879
+ import { forwardRef as forwardRef14, cloneElement as cloneElement5 } from "react";
7880
+ import styled32, { css as css19 } from "styled-components";
7881
+ import { isNil as isNil11, isNotNil as isNotNil13 } from "@wistia/type-guards";
7882
+ import { jsx as jsx196, jsxs as jsxs20 } from "react/jsx-runtime";
7883
+ var inputStyles = css19`
7884
+ --wui-input-color-bg: var(--wui-color-bg-surface);
7885
+ --wui-input-color-bg-disabled: var(--wui-color-bg-surface-disabled);
7886
+ --wui-input-color-border: var(--wui-color-border);
7887
+ --wui-input-color-border-focus: var(--wui-color-border-active);
7888
+ --wui-input-color-border-error: var(--wui-color-border-error);
7889
+ --wui-input-color-border-disabled: var(--wui-color-border-disabled);
7890
+ --wui-input-border-radius: var(--wui-border-radius-rounded);
7891
+ --wui-input-multiline-border-radius: var(--wui-border-radius-02);
7892
+ --wui-input-vertical-padding: var(--wui-space-02);
7893
+ --wui-input-horizontal-padding: var(--wui-space-03);
7894
+ --wui-input-placeholder: var(--wui-gray-10);
7895
+ --wui-input-color-text-error: var(--wui-color-text-error);
7896
+
7897
+ input,
7898
+ textarea {
7899
+ padding: var(--wui-input-vertical-padding) var(--wui-input-horizontal-padding);
7900
+ background-color: var(--wui-input-color-bg);
7901
+ border: 1px solid var(--wui-input-color-border);
7902
+ border-radius: var(--wui-input-border-radius);
7903
+
7904
+ &::placeholder {
7905
+ color: var(--wui-input-placeholder);
7906
+ opacity: 1; /* Firefox */
7907
+ }
7908
+
7909
+ &:focus {
7910
+ border-color: var(--wui-input-color-border-focus);
7911
+ }
7912
+
7913
+ &[aria-invalid='true'] {
7914
+ border-color: var(--wui-input-color-border-error);
7915
+ color: var(--wui-input-color-text-error);
7916
+ }
7917
+
7918
+ &:disabled {
7919
+ border-color: var(--wui-color-bg-surface-disabled);
7920
+ background-color: var(--wui-color-bg-surface-disabled);
7921
+ }
7922
+ }
7923
+ `;
7924
+ var StyledInputContainer = styled32.div`
7925
+ display: inline-flex;
7926
+ position: relative;
7927
+ ${inputStyles};
7928
+ width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
7929
+
7930
+ input,
7931
+ textarea {
7932
+ width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
7933
+ ${({ $monospace }) => $monospace && "font-family: var(--wui-typography-family-mono);"}
7934
+ }
7935
+
7936
+ textarea {
7937
+ border-radius: var(--wui-input-multiline-border-radius);
7938
+ }
7939
+
7940
+ .wui-input-left-icon {
7941
+ display: flex;
7942
+ align-items: center;
7943
+ position: absolute;
7944
+ top: 50%;
7945
+ left: var(--wui-input-horizontal-padding);
7946
+ transform: translateY(-50%);
7947
+ }
7948
+
7949
+ :has(.wui-input-left-icon) input,
7950
+ :has(.wui-input-left-icon) textarea {
7951
+ padding-left: 32px;
7952
+ }
7953
+
7954
+ .wui-input-right-icon {
7955
+ display: flex;
7956
+ align-items: center;
7957
+ position: absolute;
7958
+ top: 50%;
7959
+ right: var(--wui-input-horizontal-padding);
7960
+ transform: translateY(-50%);
7961
+ }
7962
+
7963
+ :has(.wui-input-right-icon) input,
7964
+ :has(.wui-input-right-icon) textarea {
7965
+ padding-right: 32px;
7966
+ }
7967
+ `;
7968
+ var Input = forwardRef14(
7969
+ ({
7970
+ fullWidth = false,
7971
+ monospace = false,
7972
+ type = "text",
7973
+ leftIcon,
7974
+ rightIcon,
7975
+ ...props
7976
+ }, ref) => {
7977
+ let leftIconToDisplay = leftIcon;
7978
+ if (isNil11(leftIcon) && type === "search") {
7979
+ leftIconToDisplay = /* @__PURE__ */ jsx196(Icon, { type: "search" });
7980
+ }
7981
+ if (isNotNil13(leftIconToDisplay)) {
7982
+ leftIconToDisplay = cloneElement5(leftIconToDisplay, {
7983
+ size: "md",
7984
+ className: "wui-input-left-icon"
7985
+ });
7986
+ }
7987
+ let rightIconToDisplay = rightIcon;
7988
+ if (isNotNil13(rightIconToDisplay)) {
7989
+ rightIconToDisplay = cloneElement5(rightIconToDisplay, {
7990
+ size: "md",
7991
+ className: "wui-input-right-icon"
7992
+ });
7993
+ }
7994
+ return /* @__PURE__ */ jsxs20(
7995
+ StyledInputContainer,
7996
+ {
7997
+ $fullWidth: fullWidth,
7998
+ $monospace: monospace,
7999
+ children: [
8000
+ leftIconToDisplay ?? null,
8001
+ type === "multiline" ? /* @__PURE__ */ jsx196(
8002
+ "textarea",
8003
+ {
8004
+ ...props,
8005
+ ref
8006
+ }
8007
+ ) : /* @__PURE__ */ jsx196(
8008
+ "input",
8009
+ {
8010
+ ...props,
8011
+ ref,
8012
+ type
8013
+ }
8014
+ ),
8015
+ rightIconToDisplay ?? null
8016
+ ]
8017
+ }
8018
+ );
8019
+ }
8020
+ );
8021
+ Input.displayName = "Input";
7877
8022
  export {
7878
8023
  Avatar,
7879
8024
  Badge,
@@ -7893,6 +8038,7 @@ export {
7893
8038
  Heading,
7894
8039
  Icon,
7895
8040
  IconButton,
8041
+ Input,
7896
8042
  Label,
7897
8043
  Link,
7898
8044
  Menu,