@protonradio/proton-ui 0.6.18 → 0.7.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -316,7 +316,7 @@ declare interface DialogProps extends AriaDialogProps {
316
316
  children: React.ReactNode;
317
317
  }
318
318
 
319
- declare function generateThemeCssVariables(baseColor: RGBArray | null): Record<Theme, ThemeVariables>;
319
+ declare function generateThemeCssVariables(palette: Palette): Record<Theme, ThemeVariables>;
320
320
 
321
321
  declare const GRAYSCALE: {
322
322
  GRAY_SUPER_DARK: string;
@@ -354,6 +354,32 @@ declare interface IconProps {
354
354
  */
355
355
  export declare const Input: default_2.ForwardRefExoticComponent<BaseInputProps & default_2.RefAttributes<HTMLInputElement>>;
356
356
 
357
+ declare type Palette = {
358
+ BRAND: {
359
+ PRIMARY: string;
360
+ PRIMARY_LIGHT: string;
361
+ SECONDARY: string;
362
+ };
363
+ PRIMARY: {
364
+ PRIMARY_SUPER_DARK: string;
365
+ PRIMARY_DARK: string;
366
+ PRIMARY_MEDIUM: string;
367
+ PRIMARY_MEDIUM_LIGHT: string;
368
+ PRIMARY_LIGHT: string;
369
+ PRIMARY_LIGHTEST: string;
370
+ PRIMARY_SUPER_LIGHT: string;
371
+ };
372
+ SECONDARY: {
373
+ SECONDARY_SUPER_DARK: string;
374
+ SECONDARY_DARK: string;
375
+ SECONDARY_MEDIUM: string;
376
+ SECONDARY_MEDIUM_LIGHT: string;
377
+ SECONDARY_LIGHT: string;
378
+ SECONDARY_LIGHTEST: string;
379
+ SECONDARY_SUPER_LIGHT: string;
380
+ };
381
+ };
382
+
357
383
  /**
358
384
  * Popover is an unstyled popover component that handles positioning. It should be used
359
385
  * with the Dialog component to provide a styled popover.
@@ -363,7 +389,7 @@ export declare const Input: default_2.ForwardRefExoticComponent<BaseInputProps &
363
389
  *
364
390
  * @interface PopoverProps
365
391
  */
366
- export declare function Popover({ children, state, arrow, offset, ...props }: PopoverProps): JSX_2.Element;
392
+ export declare function Popover({ children, state, arrow, offset, isEntering, ...props }: PopoverProps): JSX_2.Element;
367
393
 
368
394
  declare interface PopoverProps extends Omit<AriaPopoverProps, "popoverRef"> {
369
395
  /**
@@ -382,26 +408,21 @@ declare interface PopoverProps extends Omit<AriaPopoverProps, "popoverRef"> {
382
408
  * Whether to show an arrow on the popover.
383
409
  */
384
410
  arrow?: boolean;
411
+ /**
412
+ * Whether the popover is entering.
413
+ */
414
+ isEntering?: boolean;
385
415
  }
386
416
 
387
417
  export declare interface ProtonColumnProps<T> extends ColumnProps<T> {
388
418
  align?: "left" | "center" | "right";
389
419
  }
390
420
 
391
- /**
392
- * A component that displays either a popover menu or an action menu
393
- * depending on the screen size when the menu trigger is pressed.
394
- *
395
- * @param {ResponsiveMenuProps} props - The props for the ResponsiveMenuTrigger component.
396
- * @returns {JSX.Element} - The ResponsiveMenuTrigger component.
397
- */
398
421
  declare interface ResponsiveMenuProps {
399
422
  /** The id of the menu */
400
423
  menuId?: string;
401
- /** The tab index of the menu trigger */
402
- tabIndex?: number;
403
424
  /** Custom trigger component. If not provided, defaults to ellipsis icon */
404
- trigger?: ReactNode;
425
+ renderTrigger?: (triggerProps: TriggerProps, isOpen: boolean) => ReactNode;
405
426
  /** Size of the trigger icon */
406
427
  size?: number;
407
428
  /** Array of menu actions/items to display */
@@ -410,11 +431,13 @@ declare interface ResponsiveMenuProps {
410
431
  disabled?: boolean;
411
432
  /** Callback when menu closes */
412
433
  onClose?: () => void;
413
- /** Test ID for the component */
414
- "data-testid"?: string;
434
+ /** Test ID for the trigger component */
435
+ testId?: string;
436
+ /** Test ID for the menu */
437
+ menuTestId?: string;
415
438
  }
416
439
 
417
- export declare function ResponsiveMenuTrigger({ trigger, menuId, tabIndex, size, actions, disabled, onClose, "data-testid": testId, }: ResponsiveMenuProps): JSX_2.Element;
440
+ export declare function ResponsiveMenuTrigger({ renderTrigger, menuId, size, actions, disabled, onClose, testId: triggerTestId, menuTestId, }: ResponsiveMenuProps): JSX_2.Element;
418
441
 
419
442
  export declare const ResponsiveSelect: {
420
443
  Menu: typeof ResponsiveSelectMenu;
@@ -428,8 +451,6 @@ export declare const ResponsiveSelect: {
428
451
  */
429
452
  declare function ResponsiveSelectMenu<T extends object>({ label, name, isDisabled, disabledKeys, selectedKey, onSelectionChange, onOpen, onClose, items, "data-testid": testId, children, }: SelectProps<T>): JSX_2.Element;
430
453
 
431
- declare type RGBArray = [number, number, number];
432
-
433
454
  export { Row }
434
455
 
435
456
  /**
@@ -572,8 +593,7 @@ declare interface ThemeContextType {
572
593
  theme: Theme;
573
594
  className: string;
574
595
  style: ReturnType<typeof generateThemeCssVariables>[Theme];
575
- baseColor: RGBArray;
576
- themedRGBArray: RGBArray;
596
+ palette: Palette;
577
597
  }
578
598
 
579
599
  export declare const ThemeProvider: default_2.FC<ThemeProviderProps>;
@@ -581,11 +601,12 @@ export declare const ThemeProvider: default_2.FC<ThemeProviderProps>;
581
601
  declare interface ThemeProviderProps {
582
602
  theme: Theme;
583
603
  children: ReactNode;
584
- baseColor?: RGBArray;
604
+ palette: Palette;
585
605
  }
586
606
 
587
607
  export declare const THEMES: {
588
608
  readonly DARK: "dark";
609
+ readonly CUSTOM_DARK: "custom-dark";
589
610
  readonly LIGHT: "light";
590
611
  };
591
612
 
@@ -593,6 +614,10 @@ declare interface ThemeVariables {
593
614
  "--proton-control__background-color": string;
594
615
  "--proton-control__text-color": string;
595
616
  "--proton-control__border-color": string;
617
+ "--proton-control__shadow-color": string;
618
+ "--proton-color__primary": string;
619
+ "--proton-color__primary-light": string;
620
+ "--proton-color__secondary": string;
596
621
  }
597
622
 
598
623
  export declare function Tooltip({ children, arrow, ...props }: TooltipProps): JSX_2.Element;
@@ -618,6 +643,21 @@ export declare interface TooltipTriggerProps extends TooltipProps, TooltipTrigge
618
643
  disableTriggerClick?: boolean;
619
644
  }
620
645
 
646
+ /**
647
+ * A component that displays either a popover menu or an action menu
648
+ * depending on the screen size when the menu trigger is pressed.
649
+ *
650
+ * @param {ResponsiveMenuProps} props - The props for the ResponsiveMenuTrigger component.
651
+ * @returns {JSX.Element} - The ResponsiveMenuTrigger component.
652
+ */
653
+ declare interface TriggerProps {
654
+ "data-testid"?: string;
655
+ disabled?: boolean;
656
+ ref?: React.RefObject<HTMLButtonElement>;
657
+ onClick?: () => void;
658
+ "aria-label": string;
659
+ }
660
+
621
661
  /**
622
662
  * Hook for creating a popover trigger. This hook manages the state and events for the popover
623
663
  * and popover trigger. For examples see Popover.stories.tsx.