lucent-ui 0.28.0 → 0.30.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/dist/index.d.ts CHANGED
@@ -559,6 +559,8 @@ export declare interface DataTableColumn<T> {
559
559
  sortable?: boolean;
560
560
  /** Adds a searchable, multi-select dropdown filter above the table for this column */
561
561
  filterable?: boolean;
562
+ /** Render a custom filter trigger in the column header (e.g. an icon that opens an external filter). */
563
+ headerFilter?: ReactNode;
562
564
  width?: string;
563
565
  align?: 'left' | 'center' | 'right';
564
566
  }
@@ -609,7 +611,7 @@ export declare interface DateRange {
609
611
  end: Date;
610
612
  }
611
613
 
612
- export declare function DateRangePicker({ value: controlledValue, defaultValue, onChange, placeholder, disabled, min, max, size, label, helperText, errorText, style, }: DateRangePickerProps): JSX_2.Element;
614
+ export declare function DateRangePicker({ value: controlledValue, defaultValue, onChange, placeholder, disabled, min, max, size, label, helperText, errorText, trigger, style, }: DateRangePickerProps): JSX_2.Element;
613
615
 
614
616
  export declare interface DateRangePickerProps {
615
617
  value?: DateRange;
@@ -623,6 +625,8 @@ export declare interface DateRangePickerProps {
623
625
  label?: string;
624
626
  helperText?: string;
625
627
  errorText?: string;
628
+ /** Custom trigger element. When provided, replaces the default input-style button. */
629
+ trigger?: ReactNode;
626
630
  style?: CSSProperties;
627
631
  }
628
632
 
@@ -740,6 +744,111 @@ export declare interface FileUploadProps {
740
744
  style?: CSSProperties;
741
745
  }
742
746
 
747
+ export declare function FilterDateRange({ label, value, defaultValue, onChange, variant, size, min, max, disabled, style, }: FilterDateRangeProps): JSX_2.Element;
748
+
749
+ export declare interface FilterDateRangeProps {
750
+ /** Label shown on the trigger button when no range is selected. */
751
+ label?: string;
752
+ value?: DateRange;
753
+ defaultValue?: DateRange;
754
+ onChange?: (range: DateRange) => void;
755
+ /** Button style. "outline" switches to "secondary" when a range is selected. Default: "secondary". */
756
+ variant?: FilterDateRangeVariant;
757
+ size?: FilterDateRangeSize;
758
+ min?: Date;
759
+ max?: Date;
760
+ disabled?: boolean;
761
+ style?: CSSProperties;
762
+ }
763
+
764
+ export declare type FilterDateRangeSize = 'sm' | 'md' | 'lg';
765
+
766
+ export declare type FilterDateRangeVariant = 'secondary' | 'outline';
767
+
768
+ export declare function FilterMultiSelect({ label, options, value: controlledValue, defaultValue, onChange, variant, size, disabled, icon, style, }: FilterMultiSelectProps): JSX_2.Element;
769
+
770
+ export declare interface FilterMultiSelectOption {
771
+ value: string;
772
+ label: string;
773
+ /** Hex color — renders a Chip with swatch dot instead of plain text. */
774
+ swatch?: string;
775
+ disabled?: boolean;
776
+ }
777
+
778
+ export declare interface FilterMultiSelectProps {
779
+ /** Label shown on the trigger button. */
780
+ label: string;
781
+ options: FilterMultiSelectOption[];
782
+ /** Controlled selected values. */
783
+ value?: string[];
784
+ /** Initial values for uncontrolled usage. */
785
+ defaultValue?: string[];
786
+ onChange?: (values: string[]) => void;
787
+ /** Button style. "outline" switches to "secondary" when items are selected. Default: "secondary". */
788
+ variant?: FilterMultiSelectVariant;
789
+ size?: FilterMultiSelectSize;
790
+ disabled?: boolean;
791
+ /** Icon rendered before the label in the trigger button. */
792
+ icon?: ReactNode;
793
+ style?: CSSProperties;
794
+ }
795
+
796
+ export declare type FilterMultiSelectSize = 'xs' | 'sm' | 'md' | 'lg';
797
+
798
+ export declare type FilterMultiSelectVariant = 'secondary' | 'outline' | 'ghost';
799
+
800
+ export declare function FilterSearch({ value: controlledValue, defaultValue, onChange, placeholder, variant, size, width, disabled, style, }: FilterSearchProps): JSX_2.Element;
801
+
802
+ export declare interface FilterSearchProps {
803
+ /** Controlled search value. */
804
+ value?: string;
805
+ /** Initial value for uncontrolled usage. */
806
+ defaultValue?: string;
807
+ onChange?: (value: string) => void;
808
+ placeholder?: string;
809
+ /** Button style when collapsed. Default: "secondary". */
810
+ variant?: FilterSearchVariant;
811
+ size?: FilterSearchSize;
812
+ /** Width of the expanded input. Default: 260. */
813
+ width?: number;
814
+ disabled?: boolean;
815
+ style?: CSSProperties;
816
+ }
817
+
818
+ export declare type FilterSearchSize = 'sm' | 'md' | 'lg';
819
+
820
+ export declare type FilterSearchVariant = 'secondary' | 'outline';
821
+
822
+ export declare function FilterSelect({ label, options, value: controlledValue, defaultValue, onChange, variant, size, disabled, icon, style, }: FilterSelectProps): JSX_2.Element;
823
+
824
+ export declare interface FilterSelectOption {
825
+ value: string;
826
+ label: string;
827
+ disabled?: boolean;
828
+ }
829
+
830
+ export declare interface FilterSelectProps {
831
+ /** Label shown on the trigger button when no value is selected. */
832
+ label: string;
833
+ options: FilterSelectOption[];
834
+ /** Controlled selected value. */
835
+ value?: string;
836
+ /** Initial value for uncontrolled usage. */
837
+ defaultValue?: string;
838
+ onChange?: (value: string | undefined) => void;
839
+ /** Button style. "outline" switches to "secondary" when a value is selected. Default: "secondary". */
840
+ variant?: FilterSelectVariant;
841
+ size?: FilterSelectSize;
842
+ disabled?: boolean;
843
+ /** Icon rendered before the label in the trigger button. */
844
+ icon?: ReactNode;
845
+ style?: CSSProperties;
846
+ }
847
+
848
+ export declare type FilterSelectSize = 'sm' | 'md' | 'lg';
849
+
850
+ export declare type FilterSelectVariant = 'secondary' | 'outline';
851
+
743
852
  export declare const flatShadow: ShadowPreset;
744
853
 
745
854
  export declare function FormField({ label, htmlFor, required, helperText, errorMessage, children, style, }: FormFieldProps): JSX_2.Element;
@@ -1768,6 +1877,8 @@ export declare interface TimelineItem {
1768
1877
  id: string;
1769
1878
  title: ReactNode;
1770
1879
  description?: ReactNode;
1880
+ /** Rich nested content — comment cards, embedded blocks, etc. */
1881
+ content?: ReactNode;
1771
1882
  date?: string;
1772
1883
  status?: TimelineItemStatus;
1773
1884
  icon?: ReactNode;