@wistia/ui 0.21.6-beta.14029db3.c005e65 → 0.21.6

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,11 +3,17 @@ 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, CSSProperties, 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';
6
7
  import { Color } from 'culori/fn';
7
8
  import * as Ariakit from '@ariakit/react';
8
9
  import * as styled_components from 'styled-components';
9
10
  import { Schema } from 'yup';
11
+ import { HoverCardContentProps } from '@radix-ui/react-hover-card';
10
12
  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';
11
17
  export { FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, ImageDimensionsValidator, PersistentFileAmountLimitValidator } from 'use-file-picker/validators';
12
18
 
13
19
  type UIProviderProps = {
@@ -1211,7 +1217,7 @@ type CollapsibleTriggerProps = {
1211
1217
  * A trigger element that will toggle the collapsible content.
1212
1218
  * Usually a [Button](?path=/docs/components-button--docs).
1213
1219
  */
1214
- children: ReactElement;
1220
+ children: ReactNode;
1215
1221
  };
1216
1222
  declare const CollapsibleTrigger: ({ children }: CollapsibleTriggerProps) => react_jsx_runtime.JSX.Element;
1217
1223
 
@@ -1499,7 +1505,7 @@ type CollapsibleContentProps = {
1499
1505
  /**
1500
1506
  * The content that will be hidden when `Collapsible` is closed.
1501
1507
  */
1502
- children: ReactNode;
1508
+ children: CollapsibleContentProps$1['children'];
1503
1509
  };
1504
1510
  declare const CollapsibleContent: ({ clamp, children }: CollapsibleContentProps) => react_jsx_runtime.JSX.Element;
1505
1511
 
@@ -2706,7 +2712,8 @@ type GridProps = ComponentPropsWithoutRef<'div'> & {
2706
2712
  };
2707
2713
  declare const Grid: (<C extends ElementType = "div">(props: PolymorphicComponentProps<C, GridProps>) => react.ReactElement | null) & UnknownRecord;
2708
2714
 
2709
- type PreviewCardProps = {
2715
+ type ContentProps$1 = Omit<HoverCardContentProps, 'alignOffset' | 'arrowPadding' | 'asChild' | 'collisionPadding' | 'hideWhenDetached' | 'sideOffset'>;
2716
+ type PreviewCardProps = ContentProps$1 & {
2710
2717
  /**
2711
2718
  * The content of the preview card
2712
2719
  */
@@ -2723,7 +2730,7 @@ type PreviewCardProps = {
2723
2730
  * The [Link](?path=/docs/components-link--docs) that opens the preview card when hovered.
2724
2731
  * Preview cards should only be used on links—do not use on non-interactive elements (e.g. buttons or plain text).
2725
2732
  */
2726
- trigger: ReactElement;
2733
+ trigger: JSX.Element;
2727
2734
  /**
2728
2735
  * If true, the preview card will use the unstyled Content component instead of StyledContent
2729
2736
  */
@@ -2746,20 +2753,12 @@ type PreviewCardProps = {
2746
2753
  * Force the preview card to be open without user interaction (for debugging and CI)
2747
2754
  */
2748
2755
  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';
2757
2756
  };
2758
2757
  /**
2759
2758
  * 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.
2760
2759
  */
2761
2760
  declare const PreviewCard: {
2762
- ({ children, trigger, maxWidth, maxHeight, unstyled, paddingSize, openDelay, closeDelay, colorScheme, forceOpen, side, align, ...props }: PreviewCardProps): JSX.Element;
2761
+ ({ children, trigger, maxWidth, maxHeight, unstyled, paddingSize, openDelay, closeDelay, colorScheme, forceOpen, ...props }: PreviewCardProps): JSX.Element;
2763
2762
  displayName: string;
2764
2763
  };
2765
2764
 
@@ -3032,6 +3031,10 @@ type MenuProps = MenuControlProps & {
3032
3031
  * The label for the trigger element, this is ignored if `trigger` is defined
3033
3032
  */
3034
3033
  label?: string;
3034
+ /**
3035
+ * Callback for when the user clicks or focuses outside of the menu
3036
+ */
3037
+ onInteractOutside?: DropdownMenuContentProps['onInteractOutside'];
3035
3038
  /**
3036
3039
  * The side the menu appears on, relative to the trigger
3037
3040
  */
@@ -3140,7 +3143,7 @@ type MenuItemButtonProps = ButtonProps & {
3140
3143
  unstyled?: never;
3141
3144
  };
3142
3145
 
3143
- declare const MenuItem: react.ForwardRefExoticComponent<(Omit<BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3146
+ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3144
3147
  beforeAction?: (() => Promise<void>) | (() => void);
3145
3148
  children: react.ReactNode;
3146
3149
  colorScheme?: ColorSchemeTypes;
@@ -3182,16 +3185,7 @@ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<BaseButtonProps &
3182
3185
  * Treats the menu item as a link when provided
3183
3186
  */
3184
3187
  href?: MenuItemButtonProps["href"];
3185
- /**
3186
- * Whether the menu should close when this item is clicked
3187
- * @default true
3188
- */
3189
- closeOnClick?: boolean;
3190
- /**
3191
- * Callback when the item is selected
3192
- */
3193
- onSelect?: (event: Event | SyntheticEvent) => void;
3194
- }, "ref"> | Omit<BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3188
+ }, "ref"> | Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
3195
3189
  beforeAction?: (() => Promise<void>) | (() => void);
3196
3190
  children: react.ReactNode;
3197
3191
  colorScheme?: ColorSchemeTypes;
@@ -3227,16 +3221,7 @@ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<BaseButtonProps &
3227
3221
  * Treats the menu item as a link when provided
3228
3222
  */
3229
3223
  href?: MenuItemButtonProps["href"];
3230
- /**
3231
- * Whether the menu should close when this item is clicked
3232
- * @default true
3233
- */
3234
- closeOnClick?: boolean;
3235
- /**
3236
- * Callback when the item is selected
3237
- */
3238
- onSelect?: (event: Event | SyntheticEvent) => void;
3239
- }, "ref"> | Omit<BaseButtonProps & react.ClassAttributes<HTMLButtonElement> & react.ButtonHTMLAttributes<HTMLButtonElement> & {
3224
+ }, "ref"> | Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLButtonElement> & react.ButtonHTMLAttributes<HTMLButtonElement> & {
3240
3225
  href?: never;
3241
3226
  type?: "button" | "reset" | "submit";
3242
3227
  children: react.ReactNode;
@@ -3258,15 +3243,6 @@ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<BaseButtonProps &
3258
3243
  * Treats the menu item as a link when provided
3259
3244
  */
3260
3245
  href?: MenuItemButtonProps["href"];
3261
- /**
3262
- * Whether the menu should close when this item is clicked
3263
- * @default true
3264
- */
3265
- closeOnClick?: boolean;
3266
- /**
3267
- * Callback when the item is selected
3268
- */
3269
- onSelect?: (event: Event | SyntheticEvent) => void;
3270
3246
  }, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
3271
3247
 
3272
3248
  type MenuItemLabelProps = {
@@ -3285,26 +3261,22 @@ type MenuItemDescriptionProps = {
3285
3261
  };
3286
3262
  declare const MenuItemDescription: ({ children }: MenuItemDescriptionProps) => react_jsx_runtime.JSX.Element;
3287
3263
 
3288
- type MenuRadioGroupProps = {
3264
+ type MenuRadioGroupProps = DropdownMenuRadioGroupProps & {
3289
3265
  /**
3290
3266
  * The radio items
3291
3267
  */
3292
3268
  children: ReactNode | ReactNode[];
3293
3269
  /**
3294
- * The value of the selected radio item
3295
- */
3296
- value?: string;
3297
- /**
3298
- * Callback when the value changes
3270
+ * @ignore
3299
3271
  */
3300
- onValueChange?: (value: string) => void;
3272
+ asChild?: never;
3301
3273
  };
3302
3274
  declare const MenuRadioGroup: {
3303
3275
  ({ children, ...props }: MenuRadioGroupProps): react_jsx_runtime.JSX.Element;
3304
3276
  displayName: string;
3305
3277
  };
3306
3278
 
3307
- type RadioMenuItemProps = MenuItemButtonProps & {
3279
+ type RadioMenuItemProps = DropdownMenuRadioItemProps & MenuItemButtonProps & {
3308
3280
  /**
3309
3281
  * Optional `Icon` to use as the indicator that the radio item is selected. Must be an instance of [Icon](../?path=/docs/components-icon--docs)
3310
3282
  */
@@ -3312,7 +3284,7 @@ type RadioMenuItemProps = MenuItemButtonProps & {
3312
3284
  /**
3313
3285
  * The value of the item
3314
3286
  */
3315
- value: string;
3287
+ value: DropdownMenuRadioItemProps['value'];
3316
3288
  /**
3317
3289
  * @ignore
3318
3290
  */
@@ -3325,17 +3297,13 @@ type RadioMenuItemProps = MenuItemButtonProps & {
3325
3297
  * @ignore
3326
3298
  */
3327
3299
  ref?: never;
3328
- /**
3329
- * Callback when the item is selected
3330
- */
3331
- onSelect?: (event: Event | SyntheticEvent) => void;
3332
3300
  };
3333
3301
  declare const RadioMenuItem: {
3334
3302
  ({ onSelect, value, indicator, ...props }: RadioMenuItemProps): react_jsx_runtime.JSX.Element;
3335
3303
  displayName: string;
3336
3304
  };
3337
3305
 
3338
- type CheckboxMenuItemProps = MenuItemButtonProps & {
3306
+ type CheckboxMenuItemProps = DropdownMenuCheckboxItemProps & MenuItemButtonProps & {
3339
3307
  /** Callback to fire when the checked status changes */
3340
3308
  onCheckedChange: (checked: boolean) => void;
3341
3309
  /**
@@ -3358,10 +3326,6 @@ type CheckboxMenuItemProps = MenuItemButtonProps & {
3358
3326
  * @ignore
3359
3327
  */
3360
3328
  ref?: never;
3361
- /**
3362
- * Callback when the item is selected
3363
- */
3364
- onSelect?: (event: Event | SyntheticEvent) => void;
3365
3329
  };
3366
3330
  declare const CheckboxMenuItem: {
3367
3331
  ({ onSelect, checked, onCheckedChange, ...props }: CheckboxMenuItemProps): react_jsx_runtime.JSX.Element;
@@ -3576,7 +3540,8 @@ type UncontrolledPopoverProps = {
3576
3540
  onOpenChange?: never;
3577
3541
  };
3578
3542
  type PopoverControlProps = ControlledPopoverProps | UncontrolledPopoverProps;
3579
- type PopoverProps = PopoverControlProps & {
3543
+ type ContentProps = Omit<PopoverContentProps, 'alignOffset' | 'arrowPadding' | 'asChild' | 'collisionPadding' | 'hideWhenDetached' | 'sideOffset' | 'updatePositionStrategy'>;
3544
+ type PopoverProps = ContentProps & PopoverControlProps & {
3580
3545
  /**
3581
3546
  * The content of the popover
3582
3547
  */
@@ -3600,13 +3565,13 @@ type PopoverProps = PopoverControlProps & {
3600
3565
  /**
3601
3566
  * An interactive element. Most commonly a [Button](?path=/docs/components-button--docs) or [IconButton]([Button](?path=/docs/components-iconbutton--docs)).
3602
3567
  */
3603
- trigger: ReactElement;
3568
+ trigger: JSX.Element;
3604
3569
  /**
3605
3570
  * If true, the popover will use the unstyled Content component instead of StyledContent
3606
3571
  */
3607
3572
  unstyled?: boolean;
3608
3573
  /**
3609
- * If true, the popover will use a custom arrow on the trigger
3574
+ * If true, the popover will use a custom radix arrow to trigger
3610
3575
  */
3611
3576
  withArrow?: boolean;
3612
3577
  /**
@@ -3618,20 +3583,12 @@ type PopoverProps = PopoverControlProps & {
3618
3583
  * Inline styles applied to the popover popup
3619
3584
  */
3620
3585
  style?: CSSProperties;
3621
- /**
3622
- * The preferred side of the trigger to render on
3623
- */
3624
- side?: 'bottom' | 'left' | 'right' | 'top';
3625
- /**
3626
- * The preferred alignment against the trigger
3627
- */
3628
- align?: 'center' | 'end' | 'start';
3629
3586
  };
3630
3587
  /**
3631
3588
  * Displays rich content in a portal, triggered by a button.
3632
3589
  */
3633
3590
  declare const Popover: {
3634
- ({ children, trigger, isOpen, hideCloseButton, maxWidth, maxHeight, onOpenChange, unstyled, withArrow, isAnimated, colorScheme, style, side, align, ...props }: PopoverProps): JSX.Element;
3591
+ ({ children, trigger, isOpen, hideCloseButton, maxWidth, maxHeight, onOpenChange, unstyled, withArrow, isAnimated, colorScheme, style, ...props }: PopoverProps): JSX.Element;
3635
3592
  displayName: string;
3636
3593
  };
3637
3594
 
@@ -3968,7 +3925,7 @@ declare const ScrollArea: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDiv
3968
3925
  locked?: boolean;
3969
3926
  } & react.RefAttributes<HTMLDivElement>>;
3970
3927
 
3971
- type SegmentedControlProps = {
3928
+ type SegmentedControlProps = Omit<ToggleGroupSingleProps, 'type'> & {
3972
3929
  /**
3973
3930
  * `SegmentedControlItem`s that will be rendered in grouping
3974
3931
  */
@@ -3997,7 +3954,7 @@ type SegmentedControlProps = {
3997
3954
  /**
3998
3955
  * Provides a horizontal set of segments for switching between different values
3999
3956
  */
4000
- declare const SegmentedControl: ForwardRefExoticComponent<RefAttributes<HTMLDivElement> & SegmentedControlProps & HTMLAttributes<HTMLDivElement>>;
3957
+ declare const SegmentedControl: ForwardRefExoticComponent<RefAttributes<HTMLDivElement> & SegmentedControlProps>;
4001
3958
 
4002
3959
  type BaseProps$1 = {
4003
3960
  /**
@@ -4175,7 +4132,7 @@ type SliderProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> & {
4175
4132
  * (e.g. on mouseup, touchend, or keyup). Useful for analytics or
4176
4133
  * expensive operations where only the final value matters.
4177
4134
  */
4178
- onValueCommitted?: (value: number[]) => void;
4135
+ onValueCommit?: (value: number[]) => void;
4179
4136
  /**
4180
4137
  * Value to be added or subtracted on each step
4181
4138
  */
@@ -4187,7 +4144,7 @@ type SliderProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> & {
4187
4144
  value?: number[];
4188
4145
  };
4189
4146
  declare const Slider: {
4190
- ({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, disabled, initialValue, max, min, onChange, onValueCommitted, step, value, "data-testid": dataTestId, ...otherProps }: SliderProps): JSX.Element;
4147
+ ({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, disabled, initialValue, max, min, onChange, onValueCommit, step, value, "data-testid": dataTestId, ...otherProps }: SliderProps): JSX.Element;
4191
4148
  displayName: string;
4192
4149
  };
4193
4150
 
@@ -4425,29 +4382,19 @@ type TableRowProps = HTMLAttributes<HTMLTableRowElement> & {
4425
4382
  };
4426
4383
  declare const TableRow: ({ children, ...props }: TableRowProps) => JSX.Element;
4427
4384
 
4428
- type TabsProps = {
4429
- children?: React.ReactNode;
4430
- defaultValue?: string;
4431
- onValueChange?: (value: string) => void;
4432
- value?: string;
4433
- };
4385
+ type TabsProps = Pick<TabsProps$1, 'children' | 'defaultValue' | 'onValueChange' | 'value'>;
4434
4386
  declare const Tabs: {
4435
4387
  ({ children, value: valueProp, onValueChange: onValueChangeProp, defaultValue, ...props }: TabsProps): JSX.Element;
4436
4388
  displayName: string;
4437
4389
  };
4438
4390
 
4439
- type TabsContentProps = {
4440
- children?: ReactNode;
4441
- value: string;
4442
- };
4391
+ type TabsContentProps = Pick<TabsContentProps$1, 'children' | 'value'>;
4443
4392
  declare const TabsContent: {
4444
4393
  ({ children, value }: TabsContentProps): JSX.Element;
4445
4394
  displayName: string;
4446
4395
  };
4447
4396
 
4448
- type TabsListProps = {
4449
- 'aria-label'?: string;
4450
- } & PropsWithChildren<{
4397
+ type TabsListProps = Pick<TabsListProps$1, 'aria-label'> & PropsWithChildren<{
4451
4398
  fullWidth?: boolean;
4452
4399
  }>;
4453
4400
  declare const TabsList: {
@@ -4455,10 +4402,7 @@ declare const TabsList: {
4455
4402
  displayName: string;
4456
4403
  };
4457
4404
 
4458
- type BaseProps = {
4459
- disabled?: boolean;
4460
- value: string;
4461
- };
4405
+ type BaseProps = Pick<TabsTriggerProps$1, 'disabled' | 'value'>;
4462
4406
  type IconWithLabel = {
4463
4407
  /**
4464
4408
  * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`