@nar-bus/lena-ui-shared 1.1.1 → 1.1.4

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
@@ -52,6 +52,14 @@ export declare function AccordionItem({ className, ...props }: React_2.Component
52
52
 
53
53
  export declare function AccordionTrigger({ className, children, ...props }: React_2.ComponentProps<typeof AccordionPrimitive.Trigger>): JSX.Element;
54
54
 
55
+ export declare function ActiveFiltersBar({ fieldConfig, filters, onFiltersChange }: ActiveFiltersBarProps): JSX.Element | null;
56
+
57
+ export declare interface ActiveFiltersBarProps {
58
+ fieldConfig: FieldConfig[];
59
+ filters: FilterState[];
60
+ onFiltersChange: (filters: FilterState[]) => void;
61
+ }
62
+
55
63
  export declare function AdvancedJsonEditor({ value, onChange, onSave, title, icon: Icon, defaultOpen, maxViewHeight, rows, placeholder, defaultMode, allowModeSwitch, schema, editable, disabled, disabledReason, isSaving, showLineNumbers, showValidation, showStats, }: AdvancedJsonEditorProps): JSX.Element;
56
64
 
57
65
  export declare interface AdvancedJsonEditorProps {
@@ -699,7 +707,17 @@ export declare interface CRUDTabContentProps<T extends {
699
707
  onExternalCreateSheetOpenChange?: (open: boolean) => void;
700
708
  }
701
709
 
702
- export declare function DataTable<TData>({ columns, getRowId, data, isLoading, error, pagination, onPageChange, onPageSizeChange, onPrefetchPage, pageSizeOptions, sortBy, sortDirection, onSortChange, searchValue, onSearchChange, searchPlaceholder, searchDebounceMs, fieldConfig, filters, onFiltersChange, enableRowSelection, rowSelection, onRowSelectionChange, bulkActions, rowActions, toolbarStart, toolbarEnd, className, emptyIcon, emptyTitle, emptyDescription, onRowClick, onRowHover, rowClassName, meta, }: DataTableComponentProps<TData>): JSX.Element;
710
+ export declare function DataRow({ label, value, mono, suffix, className }: DataRowProps): JSX.Element;
711
+
712
+ export declare interface DataRowProps {
713
+ label: string;
714
+ value?: ReactNode;
715
+ mono?: boolean;
716
+ suffix?: string;
717
+ className?: string;
718
+ }
719
+
720
+ export declare function DataTable<TData>({ columns, getRowId, data, isLoading, error, pagination, onPageChange, onPageSizeChange, onPrefetchPage, pageSizeOptions, sortBy, sortDirection, onSortChange, searchValue, onSearchChange, searchPlaceholder, searchDebounceMs, fieldConfig, filters, onFiltersChange, enableRowSelection, rowSelection, onRowSelectionChange, bulkActions, rowActions, toolbarStart, toolbarEnd, className, emptyIcon, emptyTitle, emptyDescription, onRowClick, onRowHover, rowClassName, meta, headerColor, }: DataTableComponentProps<TData>): JSX.Element;
703
721
 
704
722
  declare interface DataTableActions {
705
723
  setGeneralSearch: (value: string) => void;
@@ -775,6 +793,8 @@ declare interface DataTableComponentProps<TData> {
775
793
  onRowHover?: (row: TData) => void;
776
794
  rowClassName?: (row: TData) => string;
777
795
  meta?: Record<string, unknown>;
796
+ /** Custom header color (CSS color value). Overrides --table-header variable */
797
+ headerColor?: string;
778
798
  }
779
799
 
780
800
  /** Customization props */
@@ -889,7 +909,7 @@ declare interface DateCellProps {
889
909
  showTooltip?: boolean;
890
910
  }
891
911
 
892
- export declare function DateField<TFieldValues extends FieldValues>({ name, control, label, description, required, placeholder, minDate, maxDate, disabledDates, dateFormat, disabled, className, cols, clearable, errorHint, }: DateFieldProps<TFieldValues>): JSX.Element;
912
+ export declare function DateField<TFieldValues extends FieldValues>({ name, control, label, description, required, placeholder, minDate, maxDate, disabledDates, dateFormat, disabled, className, cols, clearable, errorHint, showTime, minuteStep, }: DateFieldProps<TFieldValues>): JSX.Element;
893
913
 
894
914
  declare interface DateFieldProps<TFieldValues extends FieldValues> {
895
915
  name: FieldPath<TFieldValues>;
@@ -907,6 +927,10 @@ declare interface DateFieldProps<TFieldValues extends FieldValues> {
907
927
  cols?: 1 | 2 | 3 | 4 | 6 | 12;
908
928
  clearable?: boolean;
909
929
  errorHint?: string;
930
+ /** Show hour/minute time selectors alongside the calendar */
931
+ showTime?: boolean;
932
+ /** Minute step interval (default: 5). Only used when showTime is true. */
933
+ minuteStep?: number;
910
934
  }
911
935
 
912
936
  declare type DateInput = number | string | Date | null | undefined;
@@ -1177,8 +1201,40 @@ declare interface FileFieldProps<TFieldValues extends FieldValues> {
1177
1201
  errorHint?: string;
1178
1202
  }
1179
1203
 
1204
+ export declare function FilterFieldRow({ fieldConfig, filter, onFilterChange }: FilterFieldRowProps): JSX.Element;
1205
+
1206
+ export declare interface FilterFieldRowProps {
1207
+ fieldConfig: FieldConfig;
1208
+ filter: FilterState | undefined;
1209
+ onFilterChange: (filter: FilterState | null) => void;
1210
+ }
1211
+
1180
1212
  export declare type FilterOperator = 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUALS' | 'LESS_THAN' | 'LESS_THAN_OR_EQUALS' | 'IN' | 'NOT_IN' | 'BETWEEN' | 'IS_NULL' | 'IS_NOT_NULL';
1181
1213
 
1214
+ declare interface FilterPanelLabels {
1215
+ title: string;
1216
+ apply: string;
1217
+ clearAll: string;
1218
+ clearChip: string;
1219
+ activeFilter: string;
1220
+ empty: string;
1221
+ notEmpty: string;
1222
+ select: string;
1223
+ yes: string;
1224
+ no: string;
1225
+ operators: Record<string, string>;
1226
+ }
1227
+
1228
+ export declare function FilterSidePanel({ open, onClose, fieldConfig, filters, onFiltersChange, }: FilterSidePanelProps): JSX.Element;
1229
+
1230
+ export declare interface FilterSidePanelProps {
1231
+ open: boolean;
1232
+ onClose: () => void;
1233
+ fieldConfig: FieldConfig[];
1234
+ filters: FilterState[];
1235
+ onFiltersChange: (filters: FilterState[]) => void;
1236
+ }
1237
+
1182
1238
  export declare interface FilterState {
1183
1239
  /** Unique filter ID (UI only, for React keys) */
1184
1240
  id: string;
@@ -1382,6 +1438,14 @@ declare interface InfoCardProps {
1382
1438
  className?: string;
1383
1439
  }
1384
1440
 
1441
+ export declare function InfoSection({ title, children, className }: InfoSectionProps): JSX.Element;
1442
+
1443
+ export declare interface InfoSectionProps {
1444
+ title: string;
1445
+ children: ReactNode;
1446
+ className?: string;
1447
+ }
1448
+
1385
1449
  export declare function Input({ className, type, ...props }: React_2.ComponentProps<"input">): JSX.Element;
1386
1450
 
1387
1451
  /**
@@ -1499,6 +1563,7 @@ export declare interface LenaUILabels {
1499
1563
  jsonEditor: JsonEditorLabels;
1500
1564
  common: CommonLabels;
1501
1565
  deleteDialog: DeleteDialogLabels;
1566
+ filterPanel: FilterPanelLabels;
1502
1567
  }
1503
1568
 
1504
1569
  /**
@@ -1619,6 +1684,11 @@ declare interface NumberFieldProps<TFieldValues extends FieldValues> {
1619
1684
  */
1620
1685
  export declare const OPERATOR_LABELS: Record<FilterOperator, string>;
1621
1686
 
1687
+ /**
1688
+ * Short symbolic representations of filter operators
1689
+ */
1690
+ export declare const OPERATOR_SYMBOLS: Record<FilterOperator, string>;
1691
+
1622
1692
  /**
1623
1693
  * Available operators grouped by field type
1624
1694
  * Matches backend GenericSpecification supported operations
@@ -1639,6 +1709,30 @@ export declare type OptimisticAction<T> = {
1639
1709
  id: number | string;
1640
1710
  };
1641
1711
 
1712
+ export declare function OverviewPanel({ children, className }: OverviewPanelProps): JSX.Element;
1713
+
1714
+ export declare function OverviewPanelGrid({ children, columns, className }: OverviewPanelGridProps): JSX.Element;
1715
+
1716
+ export declare interface OverviewPanelGridProps {
1717
+ children: ReactNode;
1718
+ columns?: string;
1719
+ className?: string;
1720
+ }
1721
+
1722
+ export declare interface OverviewPanelProps {
1723
+ children: ReactNode;
1724
+ className?: string;
1725
+ }
1726
+
1727
+ export declare function OverviewPanelTopBar({ icon: Icon, segments, actions, className }: OverviewPanelTopBarProps): JSX.Element;
1728
+
1729
+ export declare interface OverviewPanelTopBarProps {
1730
+ icon: LucideIcon;
1731
+ segments: string[];
1732
+ actions?: ReactNode;
1733
+ className?: string;
1734
+ }
1735
+
1642
1736
  export declare interface PagedResponse<T> {
1643
1737
  status: number;
1644
1738
  success: boolean;
@@ -2082,7 +2176,7 @@ export declare interface SidebarNavItem {
2082
2176
  children?: SidebarNavItem[];
2083
2177
  }
2084
2178
 
2085
- export declare function SimpleDataTable<TData>({ columns, data, getRowId, isLoading, error, meta, enableSearch, searchPlaceholder, searchColumn, emptyIcon, emptyTitle, emptyDescription, onRowClick, rowClassName, className, loadingRows, }: SimpleDataTableProps<TData>): JSX.Element;
2179
+ export declare function SimpleDataTable<TData>({ columns, data, getRowId, isLoading, error, meta, enableSearch, searchPlaceholder, searchColumn, emptyIcon, emptyTitle, emptyDescription, onRowClick, rowClassName, className, loadingRows, headerColor, }: SimpleDataTableProps<TData>): JSX.Element;
2086
2180
 
2087
2181
  declare interface SimpleDataTableProps<TData> {
2088
2182
  /** Column definitions */
@@ -2117,6 +2211,8 @@ declare interface SimpleDataTableProps<TData> {
2117
2211
  className?: string;
2118
2212
  /** Number of skeleton rows for loading state */
2119
2213
  loadingRows?: number;
2214
+ /** Custom header color (CSS color value). Overrides --table-header variable */
2215
+ headerColor?: string;
2120
2216
  }
2121
2217
 
2122
2218
  export declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): JSX.Element;
@@ -2543,8 +2639,8 @@ export declare interface UnifiedTabsProps {
2543
2639
  onTabChange: (tabId: string) => void;
2544
2640
  /** Tab content - use TabsContent for overflow variant, conditional render for simple */
2545
2641
  children: React.ReactNode;
2546
- /** Tab variant: 'simple' for list pages, 'overflow' for detail pages */
2547
- variant?: 'simple' | 'overflow';
2642
+ /** Tab variant: 'simple' for list pages, 'overflow' for detail pages, 'segmented' for iOS-style segmented control */
2643
+ variant?: 'simple' | 'overflow' | 'segmented';
2548
2644
  /** Dynamic count getter - overrides static count in TabConfig */
2549
2645
  getTabCount?: (tabId: string) => number | undefined;
2550
2646
  /** Additional CSS classes for the container */