@nar-bus/lena-ui-shared 1.3.4 → 1.3.5

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
@@ -16,17 +16,23 @@ import { CSSProperties } from 'react';
16
16
  import { DayPicker } from 'react-day-picker';
17
17
  import * as DialogPrimitive from '@radix-ui/react-dialog';
18
18
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
19
+ import { Feature } from 'geojson';
20
+ import { FeatureCollection } from 'geojson';
19
21
  import { FieldPath } from 'react-hook-form';
20
22
  import { FieldValues } from 'react-hook-form';
21
23
  import { Group } from 'react-resizable-panels';
22
24
  import { JSX } from 'react/jsx-runtime';
25
+ import { default as L_2 } from 'leaflet';
23
26
  import * as LabelPrimitive from '@radix-ui/react-label';
27
+ import { Layer } from 'leaflet';
28
+ import { LeafletMouseEvent } from 'leaflet';
24
29
  import { LucideIcon } from 'lucide-react';
30
+ import { MultiPolygon } from 'geojson';
25
31
  import { NamedExoticComponent } from 'react';
26
32
  import { Panel } from 'react-resizable-panels';
33
+ import { Polygon } from 'geojson';
27
34
  import * as PopoverPrimitive from '@radix-ui/react-popover';
28
35
  import * as ProgressPrimitive from '@radix-ui/react-progress';
29
- import { QueryKey } from '@tanstack/react-query';
30
36
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
31
37
  import * as React_2 from 'react';
32
38
  import { ReactNode } from 'react';
@@ -41,11 +47,15 @@ import * as TabsPrimitive from '@radix-ui/react-tabs';
41
47
  import { ToasterProps } from 'sonner';
42
48
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
43
49
  import * as TogglePrimitive from '@radix-ui/react-toggle';
50
+ import { TooltipOptions } from 'leaflet';
44
51
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
45
52
  import { UseBoundStore } from 'zustand';
53
+ import { useMap } from 'react-leaflet';
46
54
  import { VariantProps } from 'class-variance-authority';
47
55
  import { z } from 'zod';
48
56
 
57
+ declare type AccentPosition = 'left' | 'top';
58
+
49
59
  export declare function Accordion({ ...props }: React_2.ComponentProps<typeof AccordionPrimitive.Root>): JSX.Element;
50
60
 
51
61
  export declare function AccordionContent({ className, children, ...props }: React_2.ComponentProps<typeof AccordionPrimitive.Content>): JSX.Element;
@@ -178,6 +188,28 @@ export declare interface AppSidebarProps {
178
188
  groups?: SidebarNavGroup[];
179
189
  }
180
190
 
191
+ /** Configuration for a single area series */
192
+ export declare interface AreaSeriesConfig {
193
+ /** Data key matching a field in the data array */
194
+ dataKey: string;
195
+ /** Display name (shown in tooltip/legend) */
196
+ name: string;
197
+ /** Stroke color */
198
+ color: string;
199
+ /** Fill gradient colors: [topColor, bottomColor] */
200
+ gradient: GradientPair;
201
+ /** Top gradient stop opacity (default: 0.3) */
202
+ topOpacity?: number;
203
+ /** Bottom gradient stop opacity (default: 0) */
204
+ bottomOpacity?: number;
205
+ /** Stroke width (default: 2) */
206
+ strokeWidth?: number;
207
+ /** Stroke dash pattern (e.g. "6 3") */
208
+ strokeDasharray?: string;
209
+ /** Curve interpolation type (default: "monotone") */
210
+ type?: 'monotone' | 'linear' | 'basis' | 'natural' | 'step';
211
+ }
212
+
181
213
  /**
182
214
  * Operators that use the `values` array instead of single `value`
183
215
  */
@@ -230,6 +262,26 @@ export declare const badgeVariants: (props?: ({
230
262
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
231
263
  } & ClassProp) | undefined) => string;
232
264
 
265
+ /** Configuration for a single bar series */
266
+ export declare interface BarSeriesConfig {
267
+ /** Data key matching a field in the data array */
268
+ dataKey: string;
269
+ /** Display name (shown in tooltip/legend) */
270
+ name: string;
271
+ /** Gradient colors: [topColor, bottomColor] */
272
+ gradient: GradientPair;
273
+ /** Top gradient stop opacity (default: 0.95) */
274
+ topOpacity?: number;
275
+ /** Bottom gradient stop opacity (default: 0.8) */
276
+ bottomOpacity?: number;
277
+ /** Stack ID for stacked bars */
278
+ stackId?: string;
279
+ /** Border radius [topLeft, topRight, bottomLeft, bottomRight] */
280
+ radius?: [number, number, number, number];
281
+ /** Maximum bar width in px (default: 28) */
282
+ maxBarSize?: number;
283
+ }
284
+
233
285
  /**
234
286
  * Boolean cell for displaying true/false values.
235
287
  * Shows check/X icons with consistent styling.
@@ -347,6 +399,29 @@ export declare function CardTitle({ className, ...props }: React_2.ComponentProp
347
399
  */
348
400
  export declare function CellNullState(): JSX.Element;
349
401
 
402
+ /** Configuration for a single centroid label on the map */
403
+ export declare interface CentroidLabelConfig {
404
+ /** Label position [lat, lng] */
405
+ position: [number, number];
406
+ /**
407
+ * HTML content for the label.
408
+ * @security Bu değer doğrudan innerHTML olarak render edilir.
409
+ * Kullanıcı girdisi ASLA doğrudan geçilmemeli — sanitize edin.
410
+ */
411
+ html: string;
412
+ /** Icon size [width, height] (default: [50, 18]) */
413
+ iconSize?: [number, number];
414
+ }
415
+
416
+ /** Renders HTML labels at specified positions using Leaflet divIcon markers */
417
+ export declare function CentroidLabels({ labels }: CentroidLabelsProps): null;
418
+
419
+ /** Props for CentroidLabels component */
420
+ export declare interface CentroidLabelsProps {
421
+ /** Array of label configurations */
422
+ labels: CentroidLabelConfig[];
423
+ }
424
+
350
425
  export declare function Checkbox({ className, ...props }: React_2.ComponentProps<typeof CheckboxPrimitive.Root>): JSX.Element;
351
426
 
352
427
  export declare function CheckboxField<TFieldValues extends FieldValues>({ name, control, label, description, disabled, className, cols, }: CheckboxFieldProps<TFieldValues>): JSX.Element;
@@ -472,6 +547,13 @@ export declare interface CommonLabels {
472
547
  addNew: string;
473
548
  }
474
549
 
550
+ /** Compact number formatter for chart Y-axis (1500→"1,5B" TR / "1.5K" EN) */
551
+ export declare function compactNumber(v: number, locale?: 'tr' | 'en'): string;
552
+
553
+ declare function Content({ children, padding, className }: LenaPanelContentProps): JSX.Element;
554
+
555
+ declare type ContentPadding = 'none' | 'compact' | 'sm' | 'md' | 'lg';
556
+
475
557
  export declare function ContextMenu({ ...props }: React_2.ComponentProps<typeof ContextMenuPrimitive.Root>): JSX.Element;
476
558
 
477
559
  export declare function ContextMenuCheckboxItem({ className, children, checked, ...props }: React_2.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): JSX.Element;
@@ -668,7 +750,7 @@ export declare function createEmptyFilter(field: string, operator?: FilterState[
668
750
 
669
751
  export declare function CRUDTabContent<T extends {
670
752
  id: number;
671
- }>({ isActive, columns, fieldConfig, defaultSortBy, getRowId, allQueryKey, detailKey, listKey, fetchDetail, fetchList, useSearchHook, deleteItem, isDeleting, detailPath, searchPlaceholder, emptyTitle, emptyDescription, entityType, getEntityName, viewLabel: viewLabelProp, deleteLabel: deleteLabelProp, refreshLabel: refreshLabelProp, createLabel: createLabelProp, CreateSheetComponent, hideToolbar, externalCreateSheetOpen, onExternalCreateSheetOpenChange, }: CRUDTabContentProps<T>): JSX.Element;
753
+ }>({ isActive, columns, fieldConfig, defaultSortBy, getRowId, allQueryKey, useSearchHook, deleteItem, isDeleting, detailPath, searchPlaceholder, emptyTitle, emptyDescription, entityType, getEntityName, viewLabel: viewLabelProp, deleteLabel: deleteLabelProp, refreshLabel: refreshLabelProp, createLabel: createLabelProp, CreateSheetComponent, hideToolbar, externalCreateSheetOpen, onExternalCreateSheetOpenChange, }: CRUDTabContentProps<T>): JSX.Element;
672
754
 
673
755
  export declare interface CRUDTabContentProps<T extends {
674
756
  id: number;
@@ -685,14 +767,6 @@ export declare interface CRUDTabContentProps<T extends {
685
767
  getRowId?: (row: T) => string;
686
768
  /** Query key for invalidation */
687
769
  allQueryKey: readonly string[];
688
- /** Detail query key factory */
689
- detailKey: (id: number) => readonly unknown[];
690
- /** List query key factory */
691
- listKey: (params: SearchRequest) => readonly unknown[];
692
- /** Fetch detail function for prefetch */
693
- fetchDetail: (id: number) => Promise<T>;
694
- /** Fetch list function for prefetch */
695
- fetchList: (params: SearchRequest) => Promise<PagedResponse<T>>;
696
770
  /** Search hook factory */
697
771
  useSearchHook: (params: SearchRequest, enabled: boolean) => {
698
772
  data: PagedResponse<T> | undefined;
@@ -750,7 +824,7 @@ export declare interface DataRowProps {
750
824
  size?: 'sm' | 'md';
751
825
  }
752
826
 
753
- 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, toolbarVariant, emptyIcon, emptyTitle, emptyDescription, onRowClick, onRowHover, rowClassName, meta, headerColor, }: DataTableComponentProps<TData>): JSX.Element;
827
+ export declare function DataTable<TData>({ columns, getRowId, data, isLoading, error, pagination, onPageChange, onPageSizeChange, pageSizeOptions, sortBy, sortDirection, onSortChange, searchValue, onSearchChange, searchPlaceholder, searchDebounceMs, fieldConfig, filters, onFiltersChange, enableRowSelection, rowSelection, onRowSelectionChange, bulkActions, rowActions, toolbarStart, toolbarEnd, className, toolbarVariant, emptyIcon, emptyTitle, emptyDescription, onRowClick, rowClassName, meta, headerColor, }: DataTableComponentProps<TData>): JSX.Element;
754
828
 
755
829
  declare interface DataTableActions {
756
830
  setGeneralSearch: (value: string) => void;
@@ -799,7 +873,6 @@ declare interface DataTableComponentProps<TData> {
799
873
  pagination: PaginationInfo;
800
874
  onPageChange: (page: number) => void;
801
875
  onPageSizeChange: (size: number) => void;
802
- onPrefetchPage?: (page: number) => void;
803
876
  pageSizeOptions?: number[];
804
877
  sortBy: string;
805
878
  sortDirection: 'ASC' | 'DESC';
@@ -825,7 +898,6 @@ declare interface DataTableComponentProps<TData> {
825
898
  emptyTitle?: string;
826
899
  emptyDescription?: string;
827
900
  onRowClick?: (row: TData) => void;
828
- onRowHover?: (row: TData) => void;
829
901
  rowClassName?: (row: TData) => string;
830
902
  meta?: Record<string, unknown>;
831
903
  /** Custom header color (CSS color value). Overrides --table-header variable */
@@ -1038,6 +1110,14 @@ declare interface DateRangeFieldProps<TFieldValues extends FieldValues> {
1038
1110
  */
1039
1111
  export declare function dateStringToTimestamp(dateStr: string, endOfDay?: boolean): number;
1040
1112
 
1113
+ export declare const DEFAULT_HOVER_STYLE: {
1114
+ readonly weight: 2.5;
1115
+ readonly color: "var(--map-hover-color)";
1116
+ readonly fillOpacity: 0.9;
1117
+ };
1118
+
1119
+ export declare const DEFAULT_MAP_BG = "var(--map-bg)";
1120
+
1041
1121
  /**
1042
1122
  * Default pagination options
1043
1123
  */
@@ -1055,6 +1135,8 @@ export declare const DEFAULT_PAGINATION: {
1055
1135
  readonly hasPrevious: false;
1056
1136
  };
1057
1137
 
1138
+ export declare const DEFAULT_TILE_URL = "https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png";
1139
+
1058
1140
  /**
1059
1141
  * Default values
1060
1142
  */
@@ -1245,6 +1327,19 @@ declare interface ErrorBoundaryState {
1245
1327
  errorInfo: React.ErrorInfo | null;
1246
1328
  }
1247
1329
 
1330
+ export { Feature }
1331
+
1332
+ export { FeatureCollection }
1333
+
1334
+ /** Style object returned by the feature style function */
1335
+ export declare interface FeatureStyleResult {
1336
+ fillColor: string;
1337
+ weight: number;
1338
+ opacity: number;
1339
+ color: string;
1340
+ fillOpacity: number;
1341
+ }
1342
+
1248
1343
  export declare interface FieldConfig {
1249
1344
  /** API field path - supports dot notation (e.g., 'gatewayModel.id') */
1250
1345
  field: string;
@@ -1372,6 +1467,8 @@ export declare interface FilterState {
1372
1467
  enabled: boolean;
1373
1468
  }
1374
1469
 
1470
+ declare function Footer({ children, className }: LenaPanelFooterProps): JSX.Element;
1471
+
1375
1472
  /**
1376
1473
  * Format backend timestamp to short datetime (e.g., "27 Oca 00:44")
1377
1474
  */
@@ -1532,6 +1629,13 @@ export declare function getStatusColor<T extends string>(value: T | null | undef
1532
1629
  */
1533
1630
  export declare function getTabDirection(tabIds: string[], fromTab: string | null, toTab: string): -1 | 0 | 1;
1534
1631
 
1632
+ /** Gradient stop pair: [topColor, bottomColor] */
1633
+ export declare type GradientPair = [topColor: string, bottomColor: string];
1634
+
1635
+ declare function Header({ children, icon: Icon, iconClassName, subtitle, actions, gradient, className, }: LenaPanelHeaderProps): JSX.Element;
1636
+
1637
+ export declare type HeaderGradient = 'teal' | 'navy' | 'cherry' | 'emerald' | 'amber' | 'violet';
1638
+
1535
1639
  export declare function HeaderQuickSearch({ placeholder, value, onValueChange, open, onOpenChange, loading, shortcutKey, shouldFilter, className, children, }: HeaderQuickSearchProps): JSX.Element;
1536
1640
 
1537
1641
  export declare interface HeaderQuickSearchProps {
@@ -1743,8 +1847,134 @@ declare interface JsonViewerProps {
1743
1847
  className?: string;
1744
1848
  }
1745
1849
 
1850
+ export { L_2 as L }
1851
+
1746
1852
  export declare function Label({ className, ...props }: React_2.ComponentProps<typeof LabelPrimitive.Root>): JSX.Element;
1747
1853
 
1854
+ export { Layer }
1855
+
1856
+ export { LeafletMouseEvent }
1857
+
1858
+ export declare function LenaAreaChart<T extends object>({ data, series, xAxisDataKey, height, showLegend, yAxisWidth, yAxisTickFormatter, tooltipItemColor, margin, className, }: LenaAreaChartProps<T>): JSX.Element;
1859
+
1860
+ /** Props for LenaAreaChart */
1861
+ export declare interface LenaAreaChartProps<T extends object> extends LenaChartBaseProps<T> {
1862
+ /** Area series configurations */
1863
+ series: AreaSeriesConfig[];
1864
+ }
1865
+
1866
+ export declare function LenaBarChart<T extends object>({ data, series, xAxisDataKey, height, showLegend, yAxisWidth, yAxisTickFormatter, tooltipItemColor, margin, barCategoryGap, barGap, className, }: LenaBarChartProps<T>): JSX.Element;
1867
+
1868
+ /** Props for LenaBarChart */
1869
+ export declare interface LenaBarChartProps<T extends object> extends LenaChartBaseProps<T> {
1870
+ /** Bar series configurations */
1871
+ series: BarSeriesConfig[];
1872
+ /** Gap between bar categories (default: "20%") */
1873
+ barCategoryGap?: string;
1874
+ /** Gap between bars in same category */
1875
+ barGap?: number;
1876
+ }
1877
+
1878
+ /** Common props shared by all Lena chart components */
1879
+ export declare interface LenaChartBaseProps<T extends object> {
1880
+ /** Chart data array */
1881
+ data: T[];
1882
+ /** Key in data used for the X axis (category axis) */
1883
+ xAxisDataKey: string;
1884
+ /** Chart height in px (default: 180) */
1885
+ height?: number;
1886
+ /** Show legend below the chart */
1887
+ showLegend?: boolean;
1888
+ /** Y-axis width in px (default: 40) */
1889
+ yAxisWidth?: number;
1890
+ /** Custom tooltip item style color override */
1891
+ tooltipItemColor?: string;
1892
+ /** Chart margin override */
1893
+ margin?: {
1894
+ top?: number;
1895
+ right?: number;
1896
+ left?: number;
1897
+ bottom?: number;
1898
+ };
1899
+ /** Custom Y-axis tick formatter (e.g. 420000 → "420K") */
1900
+ yAxisTickFormatter?: (value: number) => string;
1901
+ /** Additional CSS class on the outer container */
1902
+ className?: string;
1903
+ }
1904
+
1905
+ export declare function LenaChoroplethMap({ geojsonData, getFeatureStyle, onEachFeature, center, zoom, minZoom, maxZoom, tileUrl, height, interactive, background, geojsonKey, children, className, }: LenaChoroplethMapProps): JSX.Element;
1906
+
1907
+ /** Props for LenaChoroplethMap */
1908
+ export declare interface LenaChoroplethMapProps {
1909
+ /** GeoJSON FeatureCollection data */
1910
+ geojsonData: FeatureCollection;
1911
+ /** Style function called for each GeoJSON feature */
1912
+ getFeatureStyle: (feature?: Feature) => FeatureStyleResult;
1913
+ /** Event handler for each feature (tooltip binding, click etc.) */
1914
+ onEachFeature?: (feature: Feature, layer: Layer) => void;
1915
+ /** Map center [lat, lng] (default: Turkey center) */
1916
+ center?: [number, number];
1917
+ /** Initial zoom level (default: 6) */
1918
+ zoom?: number;
1919
+ /** Min zoom level */
1920
+ minZoom?: number;
1921
+ /** Max zoom level */
1922
+ maxZoom?: number;
1923
+ /** Tile layer URL template */
1924
+ tileUrl?: string;
1925
+ /** Map container height (default: '100%') */
1926
+ height?: number | string;
1927
+ /** Enable zoom/drag/scroll controls (default: false) */
1928
+ interactive?: boolean;
1929
+ /** Map background color (default: '#f8fafc') */
1930
+ background?: string;
1931
+ /** GeoJSON key for re-rendering when data/filter changes */
1932
+ geojsonKey?: string | number;
1933
+ /** Additional children rendered inside MapContainer (markers, labels etc.) */
1934
+ children?: ReactNode;
1935
+ /** CSS class for outer container */
1936
+ className?: string;
1937
+ }
1938
+
1939
+ export declare const LenaPanel: typeof _LenaPanel & {
1940
+ Header: typeof Header;
1941
+ Content: typeof Content;
1942
+ Footer: typeof Footer;
1943
+ };
1944
+
1945
+ declare function _LenaPanel({ variant, animation, animationDelay, accentBorder, accentColor, className, children, }: LenaPanelProps): JSX.Element;
1946
+
1947
+ export declare interface LenaPanelContentProps {
1948
+ children: ReactNode;
1949
+ padding?: ContentPadding;
1950
+ className?: string;
1951
+ }
1952
+
1953
+ export declare interface LenaPanelFooterProps {
1954
+ children: ReactNode;
1955
+ className?: string;
1956
+ }
1957
+
1958
+ export declare interface LenaPanelHeaderProps {
1959
+ children: ReactNode;
1960
+ icon?: LucideIcon;
1961
+ iconClassName?: string;
1962
+ subtitle?: string;
1963
+ actions?: ReactNode;
1964
+ gradient?: HeaderGradient;
1965
+ className?: string;
1966
+ }
1967
+
1968
+ export declare interface LenaPanelProps {
1969
+ variant?: PanelVariant;
1970
+ animation?: PanelAnimation;
1971
+ animationDelay?: number;
1972
+ accentBorder?: AccentPosition;
1973
+ accentColor?: string;
1974
+ className?: string;
1975
+ children: ReactNode;
1976
+ }
1977
+
1748
1978
  export declare interface LenaUILabels {
1749
1979
  dataTable: DataTableLabels;
1750
1980
  form: FormLabels;
@@ -1818,14 +2048,41 @@ export declare interface LocationMapProps {
1818
2048
  className?: string;
1819
2049
  }
1820
2050
 
2051
+ export declare const MAP_TOOLTIP_OPTIONS: Partial<TooltipOptions>;
2052
+
2053
+ /** Fixes Leaflet map sizing when rendered inside hidden tabs or collapsible panels */
2054
+ export declare function MapSizeInvalidator(): null;
2055
+
1821
2056
  export declare interface MetaInfo {
1822
2057
  timestamp: string;
1823
2058
  version: string;
1824
2059
  requestId: string;
1825
2060
  }
1826
2061
 
2062
+ export declare function MetricCard({ title, value, unit, trend, status, icon, sparklineData, className, animationDelay, isLoading, }: MetricCardProps): JSX.Element;
2063
+
2064
+ export declare interface MetricCardProps {
2065
+ title: string;
2066
+ value: string | number;
2067
+ unit?: string;
2068
+ trend?: {
2069
+ value: number;
2070
+ direction: 'up' | 'down' | 'neutral';
2071
+ };
2072
+ status?: MetricStatus;
2073
+ icon?: ReactNode;
2074
+ sparklineData?: number[];
2075
+ className?: string;
2076
+ animationDelay?: number;
2077
+ isLoading?: boolean;
2078
+ }
2079
+
2080
+ export declare type MetricStatus = 'online' | 'warning' | 'error' | 'neutral';
2081
+
1827
2082
  export declare type MountStrategy = 'eager' | 'lazy-persist' | 'lazy-remount';
1828
2083
 
2084
+ export { MultiPolygon }
2085
+
1829
2086
  export declare function MultiSelectField<TFieldValues extends FieldValues>({ name, control, label, description, required, placeholder: placeholderProp, searchPlaceholder: searchPlaceholderProp, emptyText: emptyTextProp, options, maxItems, disabled, className, cols, errorHint, }: MultiSelectFieldProps<TFieldValues>): JSX.Element;
1830
2087
 
1831
2088
  declare interface MultiSelectFieldProps<TFieldValues extends FieldValues> {
@@ -1922,7 +2179,7 @@ export declare interface OverviewPanelTopBarProps {
1922
2179
  segments: string[];
1923
2180
  actions?: ReactNode;
1924
2181
  className?: string;
1925
- variant?: 'default' | 'navy' | 'cherry' | 'emerald' | 'amber';
2182
+ variant?: 'default' | 'navy' | 'cherry' | 'emerald' | 'amber' | 'teal';
1926
2183
  }
1927
2184
 
1928
2185
  export declare interface PagedResponse<T> {
@@ -1980,6 +2237,10 @@ export declare function PaginationNext({ className, ...props }: React_2.Componen
1980
2237
 
1981
2238
  export declare function PaginationPrevious({ className, ...props }: React_2.ComponentProps<typeof PaginationLink>): JSX.Element;
1982
2239
 
2240
+ declare type PanelAnimation = 'slide-up' | 'slide-down' | 'fade' | 'none';
2241
+
2242
+ declare type PanelVariant = 'elevated' | 'flat' | 'ghost';
2243
+
1983
2244
  /**
1984
2245
  * Parse backend timestamp format (YYYYMMDDHHmmssSSS) to Date
1985
2246
  * Example: 20260127004431907 -> Date(2026, 0, 27, 0, 44, 31)
@@ -2007,6 +2268,8 @@ declare interface PasswordFieldProps<TFieldValues extends FieldValues> {
2007
2268
  errorHint?: string;
2008
2269
  }
2009
2270
 
2271
+ export { Polygon }
2272
+
2010
2273
  export declare function Popover({ ...props }: React_2.ComponentProps<typeof PopoverPrimitive.Root>): JSX.Element;
2011
2274
 
2012
2275
  export declare function PopoverContent({ className, align, sideOffset, ...props }: React_2.ComponentProps<typeof PopoverPrimitive.Content>): JSX.Element;
@@ -2644,7 +2907,7 @@ export declare function Table({ className, ...props }: React_2.ComponentProps<"t
2644
2907
 
2645
2908
  export declare const TABLE_CELL_CLASSES = "px-2.5 py-1.5 text-xs";
2646
2909
 
2647
- export declare const TABLE_CONTAINER_CLASSES = "rounded-lg border border-border/80 bg-card overflow-hidden shadow-sm";
2910
+ export declare const TABLE_CONTAINER_CLASSES = "isolate rounded-lg border border-border/80 bg-card overflow-clip shadow-sm";
2648
2911
 
2649
2912
  export declare const TABLE_HEADER_CLASSES = "px-2 py-0.5 text-xs font-semibold uppercase tracking-wider transition-colors";
2650
2913
 
@@ -2757,7 +3020,7 @@ declare interface TextFieldProps<TFieldValues extends FieldValues> {
2757
3020
  suggestions?: string[];
2758
3021
  }
2759
3022
 
2760
- export declare function Timeline({ items, className, relativeTime, maxItems, emptyMessage, animated, animationDelay, }: TimelineProps): JSX.Element;
3023
+ export declare function Timeline({ items, className, relativeTime, maxItems, emptyMessage, animated, animationDelay, variant, formatDate: formatDateProp, }: TimelineProps): JSX.Element;
2761
3024
 
2762
3025
  export declare interface TimelineItem {
2763
3026
  id: string | number;
@@ -2783,6 +3046,10 @@ declare interface TimelineProps {
2783
3046
  animated?: boolean;
2784
3047
  /** Animation delay offset in ms */
2785
3048
  animationDelay?: number;
3049
+ /** Timeline display variant */
3050
+ variant?: 'default' | 'activity';
3051
+ /** Custom date formatter (overrides built-in relative/absolute) */
3052
+ formatDate?: (date: string | Date | number) => string;
2786
3053
  }
2787
3054
 
2788
3055
  /**
@@ -2851,6 +3118,10 @@ declare interface TreeNodeOperation {
2851
3118
 
2852
3119
  export declare const trLabels: LenaUILabels;
2853
3120
 
3121
+ export declare const TURKEY_CENTER: [number, number];
3122
+
3123
+ export declare const TURKEY_ZOOM = 6;
3124
+
2854
3125
  export declare function UnderConstructionPage({ title, description, homeLabel, onGoHome, }: UnderConstructionPageProps): JSX.Element;
2855
3126
 
2856
3127
  export declare interface UnderConstructionPageProps {
@@ -3062,6 +3333,8 @@ export declare interface UseLazyTabsReturn {
3062
3333
  */
3063
3334
  export declare function useLenaLabels<K extends keyof LenaUILabels>(namespace: K, overrides?: Partial<LenaUILabels[K]>): LenaUILabels[K];
3064
3335
 
3336
+ export { useMap }
3337
+
3065
3338
  /**
3066
3339
  * Hook specifically for numeric ID params (most common case)
3067
3340
  * Returns validated numeric ID or redirects
@@ -3173,47 +3446,6 @@ export declare function useOptimisticPageResponse<T extends {
3173
3446
  deleteItem: (id: number | string) => void;
3174
3447
  };
3175
3448
 
3176
- /**
3177
- * Hook for prefetching list and detail data on hover.
3178
- * Improves perceived performance by loading data before user navigates.
3179
- *
3180
- * @example
3181
- * ```tsx
3182
- * const { prefetchDetail, prefetchPage } = usePrefetch({
3183
- * detailKey: simCardKeys.detail,
3184
- * listKey: simCardKeys.list,
3185
- * fetchDetail: getSimCard,
3186
- * fetchList: searchSimCards,
3187
- * searchParams: table.searchRequest,
3188
- * });
3189
- *
3190
- * <DataTable
3191
- * onRowHover={(row) => prefetchDetail(row.id)}
3192
- * onPrefetchPage={prefetchPage}
3193
- * />
3194
- * ```
3195
- */
3196
- export declare function usePrefetch<TData>({ detailKey, listKey, fetchDetail, fetchList, searchParams, staleTime, }: UsePrefetchOptions<TData>): {
3197
- prefetchDetail: (id: number) => void;
3198
- prefetchPage: (page: number) => void;
3199
- clearPrefetchCache: () => void;
3200
- };
3201
-
3202
- declare interface UsePrefetchOptions<TData> {
3203
- /** Query key factory for detail queries */
3204
- detailKey: (id: number) => QueryKey;
3205
- /** Query key factory for list queries */
3206
- listKey: (params: SearchRequest) => QueryKey;
3207
- /** Function to fetch detail data */
3208
- fetchDetail?: (id: number) => Promise<TData>;
3209
- /** Function to fetch list data */
3210
- fetchList?: (params: SearchRequest) => Promise<unknown>;
3211
- /** Current search params (for pagination prefetch) */
3212
- searchParams?: SearchRequest;
3213
- /** Stale time for prefetched data (default: 30s) */
3214
- staleTime?: number;
3215
- }
3216
-
3217
3449
  /**
3218
3450
  * useTabUrlSync — Synchronizes active tab state with URL search params.
3219
3451
  *