lucent-ui 0.29.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.cjs +64 -43
- package/dist/index.d.ts +109 -0
- package/dist/index.js +2235 -1848
- package/dist-server/server/registry.js +8 -0
- package/dist-server/src/components/molecules/FilterDateRange/FilterDateRange.manifest.js +46 -0
- package/dist-server/src/components/molecules/FilterMultiSelect/FilterMultiSelect.manifest.js +66 -0
- package/dist-server/src/components/molecules/FilterSearch/FilterSearch.manifest.js +37 -0
- package/dist-server/src/components/molecules/FilterSelect/FilterSelect.manifest.js +58 -0
- package/dist-server/src/components/molecules/Timeline/Timeline.manifest.js +23 -9
- package/dist-server/src/manifest/recipes/search-filter-bar.recipe.js +86 -161
- package/package.json +1 -1
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
|
}
|
|
@@ -742,6 +744,111 @@ export declare interface FileUploadProps {
|
|
|
742
744
|
style?: CSSProperties;
|
|
743
745
|
}
|
|
744
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
|
+
|
|
745
852
|
export declare const flatShadow: ShadowPreset;
|
|
746
853
|
|
|
747
854
|
export declare function FormField({ label, htmlFor, required, helperText, errorMessage, children, style, }: FormFieldProps): JSX_2.Element;
|
|
@@ -1770,6 +1877,8 @@ export declare interface TimelineItem {
|
|
|
1770
1877
|
id: string;
|
|
1771
1878
|
title: ReactNode;
|
|
1772
1879
|
description?: ReactNode;
|
|
1880
|
+
/** Rich nested content — comment cards, embedded blocks, etc. */
|
|
1881
|
+
content?: ReactNode;
|
|
1773
1882
|
date?: string;
|
|
1774
1883
|
status?: TimelineItemStatus;
|
|
1775
1884
|
icon?: ReactNode;
|