@wistia/ui 0.21.4-beta.ddcb8bcf.39c1c3e → 0.21.5-beta.da246d56.ebfe72f

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.ts CHANGED
@@ -3,17 +3,11 @@ import * as react from 'react';
3
3
  import { ReactNode, LegacyRef, MutableRefObject, RefCallback, Dispatch, SetStateAction, RefObject, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, AnchorHTMLAttributes, MouseEvent, ReactElement, ElementType, ChangeEvent, PropsWithChildren, InputHTMLAttributes, Ref, SyntheticEvent, ComponentProps, HTMLAttributes, ForwardRefExoticComponent, RefAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
4
4
  import { UseFilePickerConfig, FilePickerReturnTypes, ExtractContentTypeFromConfig, useImperativeFilePickerConfig, ImperativeFilePickerReturnTypes } from 'use-file-picker/types';
5
5
  export * from 'use-file-picker/types';
6
- import { CollapsibleContentProps as CollapsibleContentProps$1 } from '@radix-ui/react-collapsible';
7
6
  import { Color } from 'culori/fn';
8
7
  import * as Ariakit from '@ariakit/react';
9
8
  import * as styled_components from 'styled-components';
10
9
  import { Schema } from 'yup';
11
- import { HoverCardContentProps } from '@radix-ui/react-hover-card';
12
10
  import ReactMarkdown from 'react-markdown';
13
- import { DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuCheckboxItemProps } from '@radix-ui/react-dropdown-menu';
14
- import { PopoverContentProps } from '@radix-ui/react-popover';
15
- import { ToggleGroupSingleProps } from '@radix-ui/react-toggle-group';
16
- import { TabsProps as TabsProps$1, TabsContentProps as TabsContentProps$1, TabsListProps as TabsListProps$1, TabsTriggerProps as TabsTriggerProps$1 } from '@radix-ui/react-tabs';
17
11
  export { FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, ImageDimensionsValidator, PersistentFileAmountLimitValidator } from 'use-file-picker/validators';
18
12
 
19
13
  type UIProviderProps = {
@@ -1217,7 +1211,7 @@ type CollapsibleTriggerProps = {
1217
1211
  * A trigger element that will toggle the collapsible content.
1218
1212
  * Usually a [Button](?path=/docs/components-button--docs).
1219
1213
  */
1220
- children: ReactNode;
1214
+ children: ReactElement;
1221
1215
  };
1222
1216
  declare const CollapsibleTrigger: ({ children }: CollapsibleTriggerProps) => react_jsx_runtime.JSX.Element;
1223
1217
 
@@ -1505,7 +1499,7 @@ type CollapsibleContentProps = {
1505
1499
  /**
1506
1500
  * The content that will be hidden when `Collapsible` is closed.
1507
1501
  */
1508
- children: CollapsibleContentProps$1['children'];
1502
+ children: ReactNode;
1509
1503
  };
1510
1504
  declare const CollapsibleContent: ({ clamp, children }: CollapsibleContentProps) => react_jsx_runtime.JSX.Element;
1511
1505
 
@@ -1726,11 +1720,6 @@ declare const calculateContrast: ({ backgroundColor, foregroundColor, background
1726
1720
  backgroundOpacity?: number;
1727
1721
  }) => number;
1728
1722
 
1729
- type ComboboxOptionProps = {
1730
- value: string;
1731
- children: ReactNode;
1732
- };
1733
- declare const ComboboxOption: ({ value, children }: ComboboxOptionProps) => react_jsx_runtime.JSX.Element;
1734
1723
  type ComboboxProps = {
1735
1724
  /**
1736
1725
  * If true, the popover will flip to stay within the viewport
@@ -1771,6 +1760,12 @@ type ComboboxProps = {
1771
1760
  };
1772
1761
  declare const Combobox: ({ placeholder, value, onChange, searchValue, onSearchValueChange, displayValues, children, flipPopover, fullWidth, }: ComboboxProps) => react_jsx_runtime.JSX.Element;
1773
1762
 
1763
+ type ComboboxOptionProps = {
1764
+ value: string;
1765
+ children: ReactNode;
1766
+ };
1767
+ declare const ComboboxOption: ({ value, children }: ComboboxOptionProps) => react_jsx_runtime.JSX.Element;
1768
+
1774
1769
  type ContextMenuProps = {
1775
1770
  children: ReactNode;
1776
1771
  onRequestClose?: () => void;
@@ -2711,8 +2706,7 @@ type GridProps = ComponentPropsWithoutRef<'div'> & {
2711
2706
  };
2712
2707
  declare const Grid: (<C extends ElementType = "div">(props: PolymorphicComponentProps<C, GridProps>) => react.ReactElement | null) & UnknownRecord;
2713
2708
 
2714
- type ContentProps$1 = Omit<HoverCardContentProps, 'alignOffset' | 'arrowPadding' | 'asChild' | 'collisionPadding' | 'hideWhenDetached' | 'sideOffset'>;
2715
- type PreviewCardProps = ContentProps$1 & {
2709
+ type PreviewCardProps = {
2716
2710
  /**
2717
2711
  * The content of the preview card
2718
2712
  */
@@ -2729,7 +2723,7 @@ type PreviewCardProps = ContentProps$1 & {
2729
2723
  * The [Link](?path=/docs/components-link--docs) that opens the preview card when hovered.
2730
2724
  * Preview cards should only be used on links—do not use on non-interactive elements (e.g. buttons or plain text).
2731
2725
  */
2732
- trigger: JSX.Element;
2726
+ trigger: ReactElement;
2733
2727
  /**
2734
2728
  * If true, the preview card will use the unstyled Content component instead of StyledContent
2735
2729
  */
@@ -2752,12 +2746,20 @@ type PreviewCardProps = ContentProps$1 & {
2752
2746
  * Force the preview card to be open without user interaction (for debugging and CI)
2753
2747
  */
2754
2748
  forceOpen?: boolean;
2749
+ /**
2750
+ * The preferred side of the trigger to render on
2751
+ */
2752
+ side?: 'bottom' | 'left' | 'right' | 'top';
2753
+ /**
2754
+ * The preferred alignment against the trigger
2755
+ */
2756
+ align?: 'center' | 'end' | 'start';
2755
2757
  };
2756
2758
  /**
2757
2759
  * Preview cards reveal content on hover. **Everything in the card must also exist at the destination**—never put information only in the preview. This pattern is for sighted-only, so treat the card as a preview, not a source of truth.
2758
2760
  */
2759
2761
  declare const PreviewCard: {
2760
- ({ children, trigger, maxWidth, maxHeight, unstyled, paddingSize, openDelay, closeDelay, colorScheme, forceOpen, ...props }: PreviewCardProps): JSX.Element;
2762
+ ({ children, trigger, maxWidth, maxHeight, unstyled, paddingSize, openDelay, closeDelay, colorScheme, forceOpen, side, align, ...props }: PreviewCardProps): JSX.Element;
2761
2763
  displayName: string;
2762
2764
  };
2763
2765
 
@@ -2960,6 +2962,7 @@ declare const ListItem: {
2960
2962
  type MarkProps = ComponentPropsWithoutRef<'div'> & {
2961
2963
  /** The content of the Mark component. */
2962
2964
  children: ReactNode;
2965
+ /** Sets the [color scheme](/docs/color-schemes) */
2963
2966
  colorScheme?: ColorSchemeTypes;
2964
2967
  };
2965
2968
  /**
@@ -3029,10 +3032,6 @@ type MenuProps = MenuControlProps & {
3029
3032
  * The label for the trigger element, this is ignored if `trigger` is defined
3030
3033
  */
3031
3034
  label?: string;
3032
- /**
3033
- * Callback for when the user clicks or focuses outside of the menu
3034
- */
3035
- onInteractOutside?: DropdownMenuContentProps['onInteractOutside'];
3036
3035
  /**
3037
3036
  * The side the menu appears on, relative to the trigger
3038
3037
  */
@@ -3141,7 +3140,7 @@ type MenuItemButtonProps = ButtonProps & {
3141
3140
  unstyled?: never;
3142
3141
  };
3143
3142
 
3144
- declare const MenuItem: react.ForwardRefExoticComponent<(Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3143
+ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3145
3144
  beforeAction?: (() => Promise<void>) | (() => void);
3146
3145
  children: react.ReactNode;
3147
3146
  colorScheme?: ColorSchemeTypes;
@@ -3183,7 +3182,11 @@ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<DropdownMenuItemPr
3183
3182
  * Treats the menu item as a link when provided
3184
3183
  */
3185
3184
  href?: MenuItemButtonProps["href"];
3186
- }, "ref"> | Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3185
+ /**
3186
+ * Callback when the item is selected
3187
+ */
3188
+ onSelect?: () => void;
3189
+ }, "ref"> | Omit<BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3187
3190
  beforeAction?: (() => Promise<void>) | (() => void);
3188
3191
  children: react.ReactNode;
3189
3192
  colorScheme?: ColorSchemeTypes;
@@ -3219,7 +3222,11 @@ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<DropdownMenuItemPr
3219
3222
  * Treats the menu item as a link when provided
3220
3223
  */
3221
3224
  href?: MenuItemButtonProps["href"];
3222
- }, "ref"> | Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLButtonElement> & react.ButtonHTMLAttributes<HTMLButtonElement> & {
3225
+ /**
3226
+ * Callback when the item is selected
3227
+ */
3228
+ onSelect?: () => void;
3229
+ }, "ref"> | Omit<BaseButtonProps & react.ClassAttributes<HTMLButtonElement> & react.ButtonHTMLAttributes<HTMLButtonElement> & {
3223
3230
  href?: never;
3224
3231
  type?: "button" | "reset" | "submit";
3225
3232
  children: react.ReactNode;
@@ -3241,6 +3248,10 @@ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<DropdownMenuItemPr
3241
3248
  * Treats the menu item as a link when provided
3242
3249
  */
3243
3250
  href?: MenuItemButtonProps["href"];
3251
+ /**
3252
+ * Callback when the item is selected
3253
+ */
3254
+ onSelect?: () => void;
3244
3255
  }, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
3245
3256
 
3246
3257
  type MenuItemLabelProps = {
@@ -3259,22 +3270,26 @@ type MenuItemDescriptionProps = {
3259
3270
  };
3260
3271
  declare const MenuItemDescription: ({ children }: MenuItemDescriptionProps) => react_jsx_runtime.JSX.Element;
3261
3272
 
3262
- type MenuRadioGroupProps = DropdownMenuRadioGroupProps & {
3273
+ type MenuRadioGroupProps = {
3263
3274
  /**
3264
3275
  * The radio items
3265
3276
  */
3266
3277
  children: ReactNode | ReactNode[];
3267
3278
  /**
3268
- * @ignore
3279
+ * The value of the selected radio item
3269
3280
  */
3270
- asChild?: never;
3281
+ value?: string;
3282
+ /**
3283
+ * Callback when the value changes
3284
+ */
3285
+ onValueChange?: (value: string) => void;
3271
3286
  };
3272
3287
  declare const MenuRadioGroup: {
3273
3288
  ({ children, ...props }: MenuRadioGroupProps): react_jsx_runtime.JSX.Element;
3274
3289
  displayName: string;
3275
3290
  };
3276
3291
 
3277
- type RadioMenuItemProps = DropdownMenuRadioItemProps & MenuItemButtonProps & {
3292
+ type RadioMenuItemProps = MenuItemButtonProps & {
3278
3293
  /**
3279
3294
  * Optional `Icon` to use as the indicator that the radio item is selected. Must be an instance of [Icon](../?path=/docs/components-icon--docs)
3280
3295
  */
@@ -3282,7 +3297,7 @@ type RadioMenuItemProps = DropdownMenuRadioItemProps & MenuItemButtonProps & {
3282
3297
  /**
3283
3298
  * The value of the item
3284
3299
  */
3285
- value: DropdownMenuRadioItemProps['value'];
3300
+ value: string;
3286
3301
  /**
3287
3302
  * @ignore
3288
3303
  */
@@ -3295,13 +3310,17 @@ type RadioMenuItemProps = DropdownMenuRadioItemProps & MenuItemButtonProps & {
3295
3310
  * @ignore
3296
3311
  */
3297
3312
  ref?: never;
3313
+ /**
3314
+ * Callback when the item is selected
3315
+ */
3316
+ onSelect?: () => void;
3298
3317
  };
3299
3318
  declare const RadioMenuItem: {
3300
3319
  ({ onSelect, value, indicator, ...props }: RadioMenuItemProps): react_jsx_runtime.JSX.Element;
3301
3320
  displayName: string;
3302
3321
  };
3303
3322
 
3304
- type CheckboxMenuItemProps = DropdownMenuCheckboxItemProps & MenuItemButtonProps & {
3323
+ type CheckboxMenuItemProps = MenuItemButtonProps & {
3305
3324
  /** Callback to fire when the checked status changes */
3306
3325
  onCheckedChange: (checked: boolean) => void;
3307
3326
  /**
@@ -3324,6 +3343,10 @@ type CheckboxMenuItemProps = DropdownMenuCheckboxItemProps & MenuItemButtonProps
3324
3343
  * @ignore
3325
3344
  */
3326
3345
  ref?: never;
3346
+ /**
3347
+ * Callback when the item is selected
3348
+ */
3349
+ onSelect?: () => void;
3327
3350
  };
3328
3351
  declare const CheckboxMenuItem: {
3329
3352
  ({ onSelect, checked, onCheckedChange, ...props }: CheckboxMenuItemProps): react_jsx_runtime.JSX.Element;
@@ -3538,8 +3561,7 @@ type UncontrolledPopoverProps = {
3538
3561
  onOpenChange?: never;
3539
3562
  };
3540
3563
  type PopoverControlProps = ControlledPopoverProps | UncontrolledPopoverProps;
3541
- type ContentProps = Omit<PopoverContentProps, 'alignOffset' | 'arrowPadding' | 'asChild' | 'collisionPadding' | 'hideWhenDetached' | 'sideOffset' | 'updatePositionStrategy'>;
3542
- type PopoverProps = ContentProps & PopoverControlProps & {
3564
+ type PopoverProps = PopoverControlProps & {
3543
3565
  /**
3544
3566
  * The content of the popover
3545
3567
  */
@@ -3559,13 +3581,13 @@ type PopoverProps = ContentProps & PopoverControlProps & {
3559
3581
  /**
3560
3582
  * An interactive element. Most commonly a [Button](?path=/docs/components-button--docs) or [IconButton]([Button](?path=/docs/components-iconbutton--docs)).
3561
3583
  */
3562
- trigger: JSX.Element;
3584
+ trigger: ReactElement;
3563
3585
  /**
3564
3586
  * If true, the popover will use the unstyled Content component instead of StyledContent
3565
3587
  */
3566
3588
  unstyled?: boolean;
3567
3589
  /**
3568
- * If true, the popover will use a custom radix arrow to trigger
3590
+ * If true, the popover will use a custom arrow on the trigger
3569
3591
  */
3570
3592
  withArrow?: boolean;
3571
3593
  /**
@@ -3573,12 +3595,20 @@ type PopoverProps = ContentProps & PopoverControlProps & {
3573
3595
  */
3574
3596
  isAnimated?: boolean;
3575
3597
  colorScheme?: ColorSchemeTypes;
3598
+ /**
3599
+ * The preferred side of the trigger to render on
3600
+ */
3601
+ side?: 'bottom' | 'left' | 'right' | 'top';
3602
+ /**
3603
+ * The preferred alignment against the trigger
3604
+ */
3605
+ align?: 'center' | 'end' | 'start';
3576
3606
  };
3577
3607
  /**
3578
3608
  * Displays rich content in a portal, triggered by a button.
3579
3609
  */
3580
3610
  declare const Popover: {
3581
- ({ children, trigger, isOpen, hideCloseButton, maxWidth, maxHeight, onOpenChange, unstyled, withArrow, isAnimated, colorScheme, ...props }: PopoverProps): JSX.Element;
3611
+ ({ children, trigger, isOpen, hideCloseButton, maxWidth, maxHeight, onOpenChange, unstyled, withArrow, isAnimated, colorScheme, side, align, ...props }: PopoverProps): JSX.Element;
3582
3612
  displayName: string;
3583
3613
  };
3584
3614
 
@@ -3915,7 +3945,7 @@ declare const ScrollArea: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDiv
3915
3945
  locked?: boolean;
3916
3946
  } & react.RefAttributes<HTMLDivElement>>;
3917
3947
 
3918
- type SegmentedControlProps = Omit<ToggleGroupSingleProps, 'type'> & {
3948
+ type SegmentedControlProps = {
3919
3949
  /**
3920
3950
  * `SegmentedControlItem`s that will be rendered in grouping
3921
3951
  */
@@ -4117,6 +4147,12 @@ type SliderProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> & {
4117
4147
  * Callback called on value change
4118
4148
  */
4119
4149
  onChange?: (value: number[]) => void;
4150
+ /**
4151
+ * Callback called when the user finishes interacting with the slider
4152
+ * (e.g. on mouseup, touchend, or keyup). Useful for analytics or
4153
+ * expensive operations where only the final value matters.
4154
+ */
4155
+ onValueCommit?: (value: number[]) => void;
4120
4156
  /**
4121
4157
  * Value to be added or subtracted on each step
4122
4158
  */
@@ -4128,7 +4164,7 @@ type SliderProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> & {
4128
4164
  value?: number[];
4129
4165
  };
4130
4166
  declare const Slider: {
4131
- ({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, disabled, initialValue, max, min, onChange, step, value, "data-testid": dataTestId, ...otherProps }: SliderProps): JSX.Element;
4167
+ ({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, disabled, initialValue, max, min, onChange, onValueCommit, step, value, "data-testid": dataTestId, ...otherProps }: SliderProps): JSX.Element;
4132
4168
  displayName: string;
4133
4169
  };
4134
4170
 
@@ -4366,19 +4402,29 @@ type TableRowProps = HTMLAttributes<HTMLTableRowElement> & {
4366
4402
  };
4367
4403
  declare const TableRow: ({ children, ...props }: TableRowProps) => JSX.Element;
4368
4404
 
4369
- type TabsProps = Pick<TabsProps$1, 'children' | 'defaultValue' | 'onValueChange' | 'value'>;
4405
+ type TabsProps = {
4406
+ children?: React.ReactNode;
4407
+ defaultValue?: string;
4408
+ onValueChange?: (value: string) => void;
4409
+ value?: string;
4410
+ };
4370
4411
  declare const Tabs: {
4371
4412
  ({ children, value: valueProp, onValueChange: onValueChangeProp, defaultValue, ...props }: TabsProps): JSX.Element;
4372
4413
  displayName: string;
4373
4414
  };
4374
4415
 
4375
- type TabsContentProps = Pick<TabsContentProps$1, 'children' | 'value'>;
4416
+ type TabsContentProps = {
4417
+ children?: ReactNode;
4418
+ value: string;
4419
+ };
4376
4420
  declare const TabsContent: {
4377
4421
  ({ children, value }: TabsContentProps): JSX.Element;
4378
4422
  displayName: string;
4379
4423
  };
4380
4424
 
4381
- type TabsListProps = Pick<TabsListProps$1, 'aria-label'> & PropsWithChildren<{
4425
+ type TabsListProps = {
4426
+ 'aria-label'?: string;
4427
+ } & PropsWithChildren<{
4382
4428
  fullWidth?: boolean;
4383
4429
  }>;
4384
4430
  declare const TabsList: {
@@ -4386,7 +4432,10 @@ declare const TabsList: {
4386
4432
  displayName: string;
4387
4433
  };
4388
4434
 
4389
- type BaseProps = Pick<TabsTriggerProps$1, 'disabled' | 'value'>;
4435
+ type BaseProps = {
4436
+ disabled?: boolean;
4437
+ value: string;
4438
+ };
4390
4439
  type IconWithLabel = {
4391
4440
  /**
4392
4441
  * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
@@ -4626,7 +4675,7 @@ type TooltipProps = {
4626
4675
  /**
4627
4676
  * The button or other interactive element that triggers the tooltip
4628
4677
  */
4629
- children: ReactNode;
4678
+ children: ReactElement;
4630
4679
  /**
4631
4680
  * The delay in milliseconds before the tooltip appears
4632
4681
  */