@memori.ai/ui 1.1.0 → 1.2.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
 
2
2
 
3
+ ## [1.2.0](https://github.com/memori-ai/ui/compare/v1.1.0...v1.2.0) (2026-02-03)
4
+
5
+
6
+ ### Features
7
+
8
+ * add Dropdown component with stories and styles ([bd96aac](https://github.com/memori-ai/ui/commit/bd96aaccfc35e0928c4de931ee91cabcc2e839d3))
9
+ * enhance Button, Modal, and Slider components with new props ([f0f9f46](https://github.com/memori-ai/ui/commit/f0f9f46d443b87ecf8fd4c76a7a80fed0104b8f2))
10
+
3
11
  ## [1.1.0](https://github.com/memori-ai/ui/compare/v1.0.5-alpha...v1.1.0) (2026-02-03)
4
12
 
5
13
 
package/dist/index.d.ts CHANGED
@@ -8,6 +8,8 @@ import { InputProps as InputProps_2 } from '@base-ui/react/input';
8
8
  import { InteractionType } from '@base-ui/utils/useEnhancedClickHandler';
9
9
  import { JSX } from 'react/jsx-runtime';
10
10
  import { JSX as JSX_2 } from 'react';
11
+ import { Menu } from '@base-ui/react/menu';
12
+ import { MenuRootProps } from '@base-ui/react/menu';
11
13
  import * as React_2 from 'react';
12
14
  import { UseToastManagerReturnValue } from '@base-ui/react';
13
15
 
@@ -150,7 +152,7 @@ export declare interface AlertViewportProps {
150
152
 
151
153
  export declare const Button: default_2.ForwardRefExoticComponent<ButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
152
154
 
153
- declare interface ButtonProps extends Omit<ButtonProps_2, 'className'> {
155
+ declare interface ButtonProps extends Omit<ButtonProps_2, 'className'>, Pick<default_2.ButtonHTMLAttributes<HTMLButtonElement>, 'title' | 'name' | 'form' | 'formAction' | 'formEncType' | 'formMethod' | 'formNoValidate' | 'formTarget' | 'autoFocus'> {
154
156
  /**
155
157
  * Button variant
156
158
  * @default 'primary'
@@ -502,6 +504,155 @@ declare interface DrawerProps {
502
504
  closable?: boolean;
503
505
  }
504
506
 
507
+ export declare const Dropdown: default_2.ForwardRefExoticComponent<DropdownProps & default_2.RefAttributes<HTMLDivElement>> & {
508
+ Trigger: default_2.ForwardRefExoticComponent<DropdownTriggerProps & default_2.RefAttributes<HTMLButtonElement>>;
509
+ Menu: typeof DropdownMenu;
510
+ Item: default_2.ForwardRefExoticComponent<DropdownItemProps & default_2.RefAttributes<HTMLDivElement>>;
511
+ Separator: default_2.ForwardRefExoticComponent<DropdownSeparatorProps & default_2.RefAttributes<HTMLDivElement>>;
512
+ Group: default_2.ForwardRefExoticComponent<DropdownGroupProps & default_2.RefAttributes<HTMLDivElement>>;
513
+ GroupLabel: default_2.ForwardRefExoticComponent<DropdownGroupLabelProps & default_2.RefAttributes<HTMLDivElement>>;
514
+ };
515
+
516
+ declare interface DropdownGroupLabelProps extends Omit<default_2.ComponentPropsWithoutRef<typeof Menu.GroupLabel>, 'className' | 'style'> {
517
+ children?: default_2.ReactNode;
518
+ className?: string;
519
+ style?: default_2.CSSProperties;
520
+ }
521
+
522
+ declare interface DropdownGroupProps extends Omit<default_2.ComponentPropsWithoutRef<typeof Menu.Group>, 'className' | 'style'> {
523
+ children?: default_2.ReactNode;
524
+ className?: string;
525
+ style?: default_2.CSSProperties;
526
+ }
527
+
528
+ declare interface DropdownItemProps extends Omit<default_2.ComponentPropsWithoutRef<typeof Menu.Item>, 'className' | 'style'> {
529
+ /**
530
+ * Content of the item.
531
+ */
532
+ children?: default_2.ReactNode;
533
+ /**
534
+ * If true, the item is disabled.
535
+ * @default false
536
+ */
537
+ disabled?: boolean;
538
+ /**
539
+ * If true, the menu closes when this item is clicked.
540
+ * @default true
541
+ */
542
+ closeOnClick?: boolean;
543
+ /**
544
+ * Overrides the accessible name for type-ahead.
545
+ */
546
+ label?: string;
547
+ /**
548
+ * Additional CSS class name.
549
+ */
550
+ className?: string;
551
+ /**
552
+ * Inline styles.
553
+ */
554
+ style?: default_2.CSSProperties;
555
+ }
556
+
557
+ declare function DropdownMenu({ children, sideOffset, placement, align, container, className, style, }: DropdownMenuProps): JSX.Element;
558
+
559
+ declare namespace DropdownMenu {
560
+ var displayName: string;
561
+ }
562
+
563
+ declare interface DropdownMenuProps {
564
+ /**
565
+ * Menu content (DropdownItem, DropdownSeparator, etc.).
566
+ */
567
+ children?: default_2.ReactNode;
568
+ /**
569
+ * Offset in pixels between trigger and popup.
570
+ * @default 8
571
+ */
572
+ sideOffset?: number;
573
+ /**
574
+ * Preferred placement: which side of the trigger.
575
+ * @default 'bottom'
576
+ */
577
+ placement?: 'top' | 'bottom' | 'left' | 'right';
578
+ /**
579
+ * Alignment relative to the trigger.
580
+ * @default 'start'
581
+ */
582
+ align?: 'start' | 'center' | 'end';
583
+ /**
584
+ * Container element for the portal. Defaults to document.body.
585
+ */
586
+ container?: HTMLElement | null;
587
+ /**
588
+ * Additional CSS class name for the popup.
589
+ */
590
+ className?: string;
591
+ /**
592
+ * Inline styles for the popup.
593
+ */
594
+ style?: default_2.CSSProperties;
595
+ }
596
+
597
+ declare interface DropdownProps extends Omit<MenuRootProps, 'className' | 'style'> {
598
+ /**
599
+ * Whether the dropdown is open (controlled).
600
+ */
601
+ open?: boolean;
602
+ /**
603
+ * Whether the dropdown is initially open (uncontrolled).
604
+ * @default false
605
+ */
606
+ defaultOpen?: boolean;
607
+ /**
608
+ * Callback fired when the open state changes.
609
+ * @param open - The new open state
610
+ */
611
+ onOpenChange?: (open: boolean) => void;
612
+ /**
613
+ * If true, the dropdown trigger and menu are disabled.
614
+ * @default false
615
+ */
616
+ disabled?: boolean;
617
+ /**
618
+ * Additional CSS class name for the root wrapper.
619
+ */
620
+ className?: string;
621
+ /**
622
+ * Inline styles for the root.
623
+ */
624
+ style?: default_2.CSSProperties;
625
+ /**
626
+ * Content: DropdownTrigger and DropdownMenu.
627
+ */
628
+ children?: default_2.ReactNode;
629
+ }
630
+
631
+ declare interface DropdownSeparatorProps extends Omit<default_2.ComponentPropsWithoutRef<typeof Menu.Separator>, 'className' | 'style'> {
632
+ className?: string;
633
+ style?: default_2.CSSProperties;
634
+ }
635
+
636
+ declare interface DropdownTriggerProps extends Omit<default_2.ComponentPropsWithoutRef<typeof Menu.Trigger>, 'className' | 'style'> {
637
+ /**
638
+ * Content of the trigger (e.g. button text or icon).
639
+ */
640
+ children?: default_2.ReactNode;
641
+ /**
642
+ * Whether to show the chevron icon.
643
+ * @default true
644
+ */
645
+ showChevron?: boolean;
646
+ /**
647
+ * Additional CSS class name for the trigger button.
648
+ */
649
+ className?: string;
650
+ /**
651
+ * Inline styles for the trigger button.
652
+ */
653
+ style?: default_2.CSSProperties;
654
+ }
655
+
505
656
  export declare const Expandable: ({ rows, className, innerClassName, btnClassName, lineHeightMultiplier, defaultExpanded, expandSymbol, collapseSymbol, children, mode, }: Props) => JSX.Element;
506
657
 
507
658
  export declare const Input: default_2.ForwardRefExoticComponent<InputProps & default_2.RefAttributes<HTMLInputElement>>;
@@ -565,6 +716,10 @@ declare interface ModalProps extends Omit<DialogRootProps, 'className' | 'style'
565
716
  * @param open - The new open state
566
717
  */
567
718
  onOpenChange?: (open: boolean) => void;
719
+ /**
720
+ * Callback fired when the modal is closed (convenience prop, matches Drawer).
721
+ */
722
+ onClose?: () => void;
568
723
  /**
569
724
  * Modal title displayed at the top
570
725
  */
@@ -778,12 +933,17 @@ declare interface SelectBoxProps {
778
933
  style?: default_2.CSSProperties;
779
934
  }
780
935
 
781
- export declare const Slider: ({ min, max, step, defaultValue, label, onChange, disabled, }: SliderProps) => JSX.Element;
936
+ export declare const Slider: ({ min, max, step, value: valueProp, defaultValue, label, onChange, disabled, }: SliderProps) => JSX.Element;
782
937
 
783
938
  declare interface SliderProps {
784
939
  min?: number;
785
940
  max?: number;
786
941
  step?: number;
942
+ /**
943
+ * Controlled value. When provided, the thumb position is driven by this prop
944
+ * (e.g. for presets). Omit to use uncontrolled mode with defaultValue.
945
+ */
946
+ value?: number;
787
947
  defaultValue?: number;
788
948
  label?: string | default_2.ReactNode;
789
949
  onChange?: (value: number) => void;