@nar-bus/lena-ui-shared 1.3.4 → 1.3.6
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 +293 -59
- package/dist/index.js +4467 -3860
- package/dist/index.js.map +1 -1
- package/dist/theme.css +103 -8
- package/package.json +19 -3
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;
|
|
@@ -62,7 +72,7 @@ export declare interface ActiveFiltersBarProps {
|
|
|
62
72
|
onFiltersChange: (filters: FilterState[]) => void;
|
|
63
73
|
}
|
|
64
74
|
|
|
65
|
-
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;
|
|
75
|
+
export declare function AdvancedJsonEditor({ value, onChange, onSave, title, icon: Icon, defaultOpen, maxViewHeight, rows, placeholder, defaultMode, allowModeSwitch, schema, editable, disabled, disabledReason, isSaving, showLineNumbers, showValidation, showStats, showToolbarActions, }: AdvancedJsonEditorProps): JSX.Element;
|
|
66
76
|
|
|
67
77
|
export declare interface AdvancedJsonEditorProps {
|
|
68
78
|
value: string;
|
|
@@ -84,6 +94,7 @@ export declare interface AdvancedJsonEditorProps {
|
|
|
84
94
|
showLineNumbers?: boolean;
|
|
85
95
|
showValidation?: boolean;
|
|
86
96
|
showStats?: boolean;
|
|
97
|
+
showToolbarActions?: boolean;
|
|
87
98
|
}
|
|
88
99
|
|
|
89
100
|
export declare function Alert({ className, variant, ...props }: React_2.ComponentProps<"div"> & VariantProps<typeof alertVariants>): JSX.Element;
|
|
@@ -178,6 +189,28 @@ export declare interface AppSidebarProps {
|
|
|
178
189
|
groups?: SidebarNavGroup[];
|
|
179
190
|
}
|
|
180
191
|
|
|
192
|
+
/** Configuration for a single area series */
|
|
193
|
+
export declare interface AreaSeriesConfig {
|
|
194
|
+
/** Data key matching a field in the data array */
|
|
195
|
+
dataKey: string;
|
|
196
|
+
/** Display name (shown in tooltip/legend) */
|
|
197
|
+
name: string;
|
|
198
|
+
/** Stroke color */
|
|
199
|
+
color: string;
|
|
200
|
+
/** Fill gradient colors: [topColor, bottomColor] */
|
|
201
|
+
gradient: GradientPair;
|
|
202
|
+
/** Top gradient stop opacity (default: 0.3) */
|
|
203
|
+
topOpacity?: number;
|
|
204
|
+
/** Bottom gradient stop opacity (default: 0) */
|
|
205
|
+
bottomOpacity?: number;
|
|
206
|
+
/** Stroke width (default: 2) */
|
|
207
|
+
strokeWidth?: number;
|
|
208
|
+
/** Stroke dash pattern (e.g. "6 3") */
|
|
209
|
+
strokeDasharray?: string;
|
|
210
|
+
/** Curve interpolation type (default: "monotone") */
|
|
211
|
+
type?: 'monotone' | 'linear' | 'basis' | 'natural' | 'step';
|
|
212
|
+
}
|
|
213
|
+
|
|
181
214
|
/**
|
|
182
215
|
* Operators that use the `values` array instead of single `value`
|
|
183
216
|
*/
|
|
@@ -230,6 +263,26 @@ export declare const badgeVariants: (props?: ({
|
|
|
230
263
|
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
231
264
|
} & ClassProp) | undefined) => string;
|
|
232
265
|
|
|
266
|
+
/** Configuration for a single bar series */
|
|
267
|
+
export declare interface BarSeriesConfig {
|
|
268
|
+
/** Data key matching a field in the data array */
|
|
269
|
+
dataKey: string;
|
|
270
|
+
/** Display name (shown in tooltip/legend) */
|
|
271
|
+
name: string;
|
|
272
|
+
/** Gradient colors: [topColor, bottomColor] */
|
|
273
|
+
gradient: GradientPair;
|
|
274
|
+
/** Top gradient stop opacity (default: 0.95) */
|
|
275
|
+
topOpacity?: number;
|
|
276
|
+
/** Bottom gradient stop opacity (default: 0.8) */
|
|
277
|
+
bottomOpacity?: number;
|
|
278
|
+
/** Stack ID for stacked bars */
|
|
279
|
+
stackId?: string;
|
|
280
|
+
/** Border radius [topLeft, topRight, bottomLeft, bottomRight] */
|
|
281
|
+
radius?: [number, number, number, number];
|
|
282
|
+
/** Maximum bar width in px (default: 28) */
|
|
283
|
+
maxBarSize?: number;
|
|
284
|
+
}
|
|
285
|
+
|
|
233
286
|
/**
|
|
234
287
|
* Boolean cell for displaying true/false values.
|
|
235
288
|
* Shows check/X icons with consistent styling.
|
|
@@ -347,6 +400,29 @@ export declare function CardTitle({ className, ...props }: React_2.ComponentProp
|
|
|
347
400
|
*/
|
|
348
401
|
export declare function CellNullState(): JSX.Element;
|
|
349
402
|
|
|
403
|
+
/** Configuration for a single centroid label on the map */
|
|
404
|
+
export declare interface CentroidLabelConfig {
|
|
405
|
+
/** Label position [lat, lng] */
|
|
406
|
+
position: [number, number];
|
|
407
|
+
/**
|
|
408
|
+
* HTML content for the label.
|
|
409
|
+
* @security Bu değer doğrudan innerHTML olarak render edilir.
|
|
410
|
+
* Kullanıcı girdisi ASLA doğrudan geçilmemeli — sanitize edin.
|
|
411
|
+
*/
|
|
412
|
+
html: string;
|
|
413
|
+
/** Icon size [width, height] (default: [50, 18]) */
|
|
414
|
+
iconSize?: [number, number];
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/** Renders HTML labels at specified positions using Leaflet divIcon markers */
|
|
418
|
+
export declare function CentroidLabels({ labels }: CentroidLabelsProps): null;
|
|
419
|
+
|
|
420
|
+
/** Props for CentroidLabels component */
|
|
421
|
+
export declare interface CentroidLabelsProps {
|
|
422
|
+
/** Array of label configurations */
|
|
423
|
+
labels: CentroidLabelConfig[];
|
|
424
|
+
}
|
|
425
|
+
|
|
350
426
|
export declare function Checkbox({ className, ...props }: React_2.ComponentProps<typeof CheckboxPrimitive.Root>): JSX.Element;
|
|
351
427
|
|
|
352
428
|
export declare function CheckboxField<TFieldValues extends FieldValues>({ name, control, label, description, disabled, className, cols, }: CheckboxFieldProps<TFieldValues>): JSX.Element;
|
|
@@ -472,6 +548,13 @@ export declare interface CommonLabels {
|
|
|
472
548
|
addNew: string;
|
|
473
549
|
}
|
|
474
550
|
|
|
551
|
+
/** Compact number formatter for chart Y-axis (1500→"1,5B" TR / "1.5K" EN) */
|
|
552
|
+
export declare function compactNumber(v: number, locale?: 'tr' | 'en'): string;
|
|
553
|
+
|
|
554
|
+
declare function Content({ children, padding, className }: LenaPanelContentProps): JSX.Element;
|
|
555
|
+
|
|
556
|
+
declare type ContentPadding = 'none' | 'compact' | 'sm' | 'md' | 'lg';
|
|
557
|
+
|
|
475
558
|
export declare function ContextMenu({ ...props }: React_2.ComponentProps<typeof ContextMenuPrimitive.Root>): JSX.Element;
|
|
476
559
|
|
|
477
560
|
export declare function ContextMenuCheckboxItem({ className, children, checked, ...props }: React_2.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): JSX.Element;
|
|
@@ -668,7 +751,7 @@ export declare function createEmptyFilter(field: string, operator?: FilterState[
|
|
|
668
751
|
|
|
669
752
|
export declare function CRUDTabContent<T extends {
|
|
670
753
|
id: number;
|
|
671
|
-
}>({ isActive, columns, fieldConfig, defaultSortBy, getRowId, allQueryKey,
|
|
754
|
+
}>({ 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
755
|
|
|
673
756
|
export declare interface CRUDTabContentProps<T extends {
|
|
674
757
|
id: number;
|
|
@@ -685,14 +768,6 @@ export declare interface CRUDTabContentProps<T extends {
|
|
|
685
768
|
getRowId?: (row: T) => string;
|
|
686
769
|
/** Query key for invalidation */
|
|
687
770
|
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
771
|
/** Search hook factory */
|
|
697
772
|
useSearchHook: (params: SearchRequest, enabled: boolean) => {
|
|
698
773
|
data: PagedResponse<T> | undefined;
|
|
@@ -750,7 +825,7 @@ export declare interface DataRowProps {
|
|
|
750
825
|
size?: 'sm' | 'md';
|
|
751
826
|
}
|
|
752
827
|
|
|
753
|
-
export declare function DataTable<TData>({ columns, getRowId, data, isLoading, error, pagination, onPageChange, onPageSizeChange,
|
|
828
|
+
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
829
|
|
|
755
830
|
declare interface DataTableActions {
|
|
756
831
|
setGeneralSearch: (value: string) => void;
|
|
@@ -799,7 +874,6 @@ declare interface DataTableComponentProps<TData> {
|
|
|
799
874
|
pagination: PaginationInfo;
|
|
800
875
|
onPageChange: (page: number) => void;
|
|
801
876
|
onPageSizeChange: (size: number) => void;
|
|
802
|
-
onPrefetchPage?: (page: number) => void;
|
|
803
877
|
pageSizeOptions?: number[];
|
|
804
878
|
sortBy: string;
|
|
805
879
|
sortDirection: 'ASC' | 'DESC';
|
|
@@ -825,7 +899,6 @@ declare interface DataTableComponentProps<TData> {
|
|
|
825
899
|
emptyTitle?: string;
|
|
826
900
|
emptyDescription?: string;
|
|
827
901
|
onRowClick?: (row: TData) => void;
|
|
828
|
-
onRowHover?: (row: TData) => void;
|
|
829
902
|
rowClassName?: (row: TData) => string;
|
|
830
903
|
meta?: Record<string, unknown>;
|
|
831
904
|
/** Custom header color (CSS color value). Overrides --table-header variable */
|
|
@@ -1038,6 +1111,14 @@ declare interface DateRangeFieldProps<TFieldValues extends FieldValues> {
|
|
|
1038
1111
|
*/
|
|
1039
1112
|
export declare function dateStringToTimestamp(dateStr: string, endOfDay?: boolean): number;
|
|
1040
1113
|
|
|
1114
|
+
export declare const DEFAULT_HOVER_STYLE: {
|
|
1115
|
+
readonly weight: 2.5;
|
|
1116
|
+
readonly color: "var(--map-hover-color)";
|
|
1117
|
+
readonly fillOpacity: 0.9;
|
|
1118
|
+
};
|
|
1119
|
+
|
|
1120
|
+
export declare const DEFAULT_MAP_BG = "var(--map-bg)";
|
|
1121
|
+
|
|
1041
1122
|
/**
|
|
1042
1123
|
* Default pagination options
|
|
1043
1124
|
*/
|
|
@@ -1055,6 +1136,8 @@ export declare const DEFAULT_PAGINATION: {
|
|
|
1055
1136
|
readonly hasPrevious: false;
|
|
1056
1137
|
};
|
|
1057
1138
|
|
|
1139
|
+
export declare const DEFAULT_TILE_URL = "https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png";
|
|
1140
|
+
|
|
1058
1141
|
/**
|
|
1059
1142
|
* Default values
|
|
1060
1143
|
*/
|
|
@@ -1245,6 +1328,19 @@ declare interface ErrorBoundaryState {
|
|
|
1245
1328
|
errorInfo: React.ErrorInfo | null;
|
|
1246
1329
|
}
|
|
1247
1330
|
|
|
1331
|
+
export { Feature }
|
|
1332
|
+
|
|
1333
|
+
export { FeatureCollection }
|
|
1334
|
+
|
|
1335
|
+
/** Style object returned by the feature style function */
|
|
1336
|
+
export declare interface FeatureStyleResult {
|
|
1337
|
+
fillColor: string;
|
|
1338
|
+
weight: number;
|
|
1339
|
+
opacity: number;
|
|
1340
|
+
color: string;
|
|
1341
|
+
fillOpacity: number;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1248
1344
|
export declare interface FieldConfig {
|
|
1249
1345
|
/** API field path - supports dot notation (e.g., 'gatewayModel.id') */
|
|
1250
1346
|
field: string;
|
|
@@ -1372,6 +1468,8 @@ export declare interface FilterState {
|
|
|
1372
1468
|
enabled: boolean;
|
|
1373
1469
|
}
|
|
1374
1470
|
|
|
1471
|
+
declare function Footer({ children, className }: LenaPanelFooterProps): JSX.Element;
|
|
1472
|
+
|
|
1375
1473
|
/**
|
|
1376
1474
|
* Format backend timestamp to short datetime (e.g., "27 Oca 00:44")
|
|
1377
1475
|
*/
|
|
@@ -1532,6 +1630,13 @@ export declare function getStatusColor<T extends string>(value: T | null | undef
|
|
|
1532
1630
|
*/
|
|
1533
1631
|
export declare function getTabDirection(tabIds: string[], fromTab: string | null, toTab: string): -1 | 0 | 1;
|
|
1534
1632
|
|
|
1633
|
+
/** Gradient stop pair: [topColor, bottomColor] */
|
|
1634
|
+
export declare type GradientPair = [topColor: string, bottomColor: string];
|
|
1635
|
+
|
|
1636
|
+
declare function Header({ children, icon: Icon, iconClassName, subtitle, actions, gradient, className, }: LenaPanelHeaderProps): JSX.Element;
|
|
1637
|
+
|
|
1638
|
+
export declare type HeaderGradient = 'teal' | 'navy' | 'cherry' | 'emerald' | 'amber' | 'violet';
|
|
1639
|
+
|
|
1535
1640
|
export declare function HeaderQuickSearch({ placeholder, value, onValueChange, open, onOpenChange, loading, shortcutKey, shouldFilter, className, children, }: HeaderQuickSearchProps): JSX.Element;
|
|
1536
1641
|
|
|
1537
1642
|
export declare interface HeaderQuickSearchProps {
|
|
@@ -1694,7 +1799,7 @@ export declare interface JsonTextEditorProps {
|
|
|
1694
1799
|
disabled?: boolean;
|
|
1695
1800
|
}
|
|
1696
1801
|
|
|
1697
|
-
export declare function JsonToolbar({ mode, onModeChange, onFormat, onCopy, isValid, allowModeSwitch, copied, }: JsonToolbarProps): JSX.Element;
|
|
1802
|
+
export declare function JsonToolbar({ mode, onModeChange, onFormat, onCopy, isValid, allowModeSwitch, copied, showActions, }: JsonToolbarProps): JSX.Element;
|
|
1698
1803
|
|
|
1699
1804
|
export declare interface JsonToolbarProps {
|
|
1700
1805
|
mode: EditorMode;
|
|
@@ -1704,6 +1809,7 @@ export declare interface JsonToolbarProps {
|
|
|
1704
1809
|
isValid: boolean;
|
|
1705
1810
|
allowModeSwitch?: boolean;
|
|
1706
1811
|
copied?: boolean;
|
|
1812
|
+
showActions?: boolean;
|
|
1707
1813
|
}
|
|
1708
1814
|
|
|
1709
1815
|
export declare function JsonTreeEditor({ value, onChange, maxHeight, disabled, }: JsonTreeEditorProps): JSX.Element;
|
|
@@ -1743,8 +1849,134 @@ declare interface JsonViewerProps {
|
|
|
1743
1849
|
className?: string;
|
|
1744
1850
|
}
|
|
1745
1851
|
|
|
1852
|
+
export { L_2 as L }
|
|
1853
|
+
|
|
1746
1854
|
export declare function Label({ className, ...props }: React_2.ComponentProps<typeof LabelPrimitive.Root>): JSX.Element;
|
|
1747
1855
|
|
|
1856
|
+
export { Layer }
|
|
1857
|
+
|
|
1858
|
+
export { LeafletMouseEvent }
|
|
1859
|
+
|
|
1860
|
+
export declare function LenaAreaChart<T extends object>({ data, series, xAxisDataKey, height, showLegend, yAxisWidth, yAxisTickFormatter, tooltipItemColor, margin, className, }: LenaAreaChartProps<T>): JSX.Element;
|
|
1861
|
+
|
|
1862
|
+
/** Props for LenaAreaChart */
|
|
1863
|
+
export declare interface LenaAreaChartProps<T extends object> extends LenaChartBaseProps<T> {
|
|
1864
|
+
/** Area series configurations */
|
|
1865
|
+
series: AreaSeriesConfig[];
|
|
1866
|
+
}
|
|
1867
|
+
|
|
1868
|
+
export declare function LenaBarChart<T extends object>({ data, series, xAxisDataKey, height, showLegend, yAxisWidth, yAxisTickFormatter, tooltipItemColor, margin, barCategoryGap, barGap, className, }: LenaBarChartProps<T>): JSX.Element;
|
|
1869
|
+
|
|
1870
|
+
/** Props for LenaBarChart */
|
|
1871
|
+
export declare interface LenaBarChartProps<T extends object> extends LenaChartBaseProps<T> {
|
|
1872
|
+
/** Bar series configurations */
|
|
1873
|
+
series: BarSeriesConfig[];
|
|
1874
|
+
/** Gap between bar categories (default: "20%") */
|
|
1875
|
+
barCategoryGap?: string;
|
|
1876
|
+
/** Gap between bars in same category */
|
|
1877
|
+
barGap?: number;
|
|
1878
|
+
}
|
|
1879
|
+
|
|
1880
|
+
/** Common props shared by all Lena chart components */
|
|
1881
|
+
export declare interface LenaChartBaseProps<T extends object> {
|
|
1882
|
+
/** Chart data array */
|
|
1883
|
+
data: T[];
|
|
1884
|
+
/** Key in data used for the X axis (category axis) */
|
|
1885
|
+
xAxisDataKey: string;
|
|
1886
|
+
/** Chart height in px (default: 180) */
|
|
1887
|
+
height?: number;
|
|
1888
|
+
/** Show legend below the chart */
|
|
1889
|
+
showLegend?: boolean;
|
|
1890
|
+
/** Y-axis width in px (default: 40) */
|
|
1891
|
+
yAxisWidth?: number;
|
|
1892
|
+
/** Custom tooltip item style color override */
|
|
1893
|
+
tooltipItemColor?: string;
|
|
1894
|
+
/** Chart margin override */
|
|
1895
|
+
margin?: {
|
|
1896
|
+
top?: number;
|
|
1897
|
+
right?: number;
|
|
1898
|
+
left?: number;
|
|
1899
|
+
bottom?: number;
|
|
1900
|
+
};
|
|
1901
|
+
/** Custom Y-axis tick formatter (e.g. 420000 → "420K") */
|
|
1902
|
+
yAxisTickFormatter?: (value: number) => string;
|
|
1903
|
+
/** Additional CSS class on the outer container */
|
|
1904
|
+
className?: string;
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
export declare function LenaChoroplethMap({ geojsonData, getFeatureStyle, onEachFeature, center, zoom, minZoom, maxZoom, tileUrl, height, interactive, background, geojsonKey, children, className, }: LenaChoroplethMapProps): JSX.Element;
|
|
1908
|
+
|
|
1909
|
+
/** Props for LenaChoroplethMap */
|
|
1910
|
+
export declare interface LenaChoroplethMapProps {
|
|
1911
|
+
/** GeoJSON FeatureCollection data */
|
|
1912
|
+
geojsonData: FeatureCollection;
|
|
1913
|
+
/** Style function called for each GeoJSON feature */
|
|
1914
|
+
getFeatureStyle: (feature?: Feature) => FeatureStyleResult;
|
|
1915
|
+
/** Event handler for each feature (tooltip binding, click etc.) */
|
|
1916
|
+
onEachFeature?: (feature: Feature, layer: Layer) => void;
|
|
1917
|
+
/** Map center [lat, lng] (default: Turkey center) */
|
|
1918
|
+
center?: [number, number];
|
|
1919
|
+
/** Initial zoom level (default: 6) */
|
|
1920
|
+
zoom?: number;
|
|
1921
|
+
/** Min zoom level */
|
|
1922
|
+
minZoom?: number;
|
|
1923
|
+
/** Max zoom level */
|
|
1924
|
+
maxZoom?: number;
|
|
1925
|
+
/** Tile layer URL template */
|
|
1926
|
+
tileUrl?: string;
|
|
1927
|
+
/** Map container height (default: '100%') */
|
|
1928
|
+
height?: number | string;
|
|
1929
|
+
/** Enable zoom/drag/scroll controls (default: false) */
|
|
1930
|
+
interactive?: boolean;
|
|
1931
|
+
/** Map background color (default: '#f8fafc') */
|
|
1932
|
+
background?: string;
|
|
1933
|
+
/** GeoJSON key for re-rendering when data/filter changes */
|
|
1934
|
+
geojsonKey?: string | number;
|
|
1935
|
+
/** Additional children rendered inside MapContainer (markers, labels etc.) */
|
|
1936
|
+
children?: ReactNode;
|
|
1937
|
+
/** CSS class for outer container */
|
|
1938
|
+
className?: string;
|
|
1939
|
+
}
|
|
1940
|
+
|
|
1941
|
+
export declare const LenaPanel: typeof _LenaPanel & {
|
|
1942
|
+
Header: typeof Header;
|
|
1943
|
+
Content: typeof Content;
|
|
1944
|
+
Footer: typeof Footer;
|
|
1945
|
+
};
|
|
1946
|
+
|
|
1947
|
+
declare function _LenaPanel({ variant, animation, animationDelay, accentBorder, accentColor, className, children, }: LenaPanelProps): JSX.Element;
|
|
1948
|
+
|
|
1949
|
+
export declare interface LenaPanelContentProps {
|
|
1950
|
+
children: ReactNode;
|
|
1951
|
+
padding?: ContentPadding;
|
|
1952
|
+
className?: string;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
export declare interface LenaPanelFooterProps {
|
|
1956
|
+
children: ReactNode;
|
|
1957
|
+
className?: string;
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1960
|
+
export declare interface LenaPanelHeaderProps {
|
|
1961
|
+
children: ReactNode;
|
|
1962
|
+
icon?: LucideIcon;
|
|
1963
|
+
iconClassName?: string;
|
|
1964
|
+
subtitle?: string;
|
|
1965
|
+
actions?: ReactNode;
|
|
1966
|
+
gradient?: HeaderGradient;
|
|
1967
|
+
className?: string;
|
|
1968
|
+
}
|
|
1969
|
+
|
|
1970
|
+
export declare interface LenaPanelProps {
|
|
1971
|
+
variant?: PanelVariant;
|
|
1972
|
+
animation?: PanelAnimation;
|
|
1973
|
+
animationDelay?: number;
|
|
1974
|
+
accentBorder?: AccentPosition;
|
|
1975
|
+
accentColor?: string;
|
|
1976
|
+
className?: string;
|
|
1977
|
+
children: ReactNode;
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1748
1980
|
export declare interface LenaUILabels {
|
|
1749
1981
|
dataTable: DataTableLabels;
|
|
1750
1982
|
form: FormLabels;
|
|
@@ -1818,14 +2050,41 @@ export declare interface LocationMapProps {
|
|
|
1818
2050
|
className?: string;
|
|
1819
2051
|
}
|
|
1820
2052
|
|
|
2053
|
+
export declare const MAP_TOOLTIP_OPTIONS: Partial<TooltipOptions>;
|
|
2054
|
+
|
|
2055
|
+
/** Fixes Leaflet map sizing when rendered inside hidden tabs or collapsible panels */
|
|
2056
|
+
export declare function MapSizeInvalidator(): null;
|
|
2057
|
+
|
|
1821
2058
|
export declare interface MetaInfo {
|
|
1822
2059
|
timestamp: string;
|
|
1823
2060
|
version: string;
|
|
1824
2061
|
requestId: string;
|
|
1825
2062
|
}
|
|
1826
2063
|
|
|
2064
|
+
export declare function MetricCard({ title, value, unit, trend, status, icon, sparklineData, className, animationDelay, isLoading, }: MetricCardProps): JSX.Element;
|
|
2065
|
+
|
|
2066
|
+
export declare interface MetricCardProps {
|
|
2067
|
+
title: string;
|
|
2068
|
+
value: string | number;
|
|
2069
|
+
unit?: string;
|
|
2070
|
+
trend?: {
|
|
2071
|
+
value: number;
|
|
2072
|
+
direction: 'up' | 'down' | 'neutral';
|
|
2073
|
+
};
|
|
2074
|
+
status?: MetricStatus;
|
|
2075
|
+
icon?: ReactNode;
|
|
2076
|
+
sparklineData?: number[];
|
|
2077
|
+
className?: string;
|
|
2078
|
+
animationDelay?: number;
|
|
2079
|
+
isLoading?: boolean;
|
|
2080
|
+
}
|
|
2081
|
+
|
|
2082
|
+
export declare type MetricStatus = 'online' | 'warning' | 'error' | 'neutral';
|
|
2083
|
+
|
|
1827
2084
|
export declare type MountStrategy = 'eager' | 'lazy-persist' | 'lazy-remount';
|
|
1828
2085
|
|
|
2086
|
+
export { MultiPolygon }
|
|
2087
|
+
|
|
1829
2088
|
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
2089
|
|
|
1831
2090
|
declare interface MultiSelectFieldProps<TFieldValues extends FieldValues> {
|
|
@@ -1922,7 +2181,7 @@ export declare interface OverviewPanelTopBarProps {
|
|
|
1922
2181
|
segments: string[];
|
|
1923
2182
|
actions?: ReactNode;
|
|
1924
2183
|
className?: string;
|
|
1925
|
-
variant?: 'default' | 'navy' | 'cherry' | 'emerald' | 'amber';
|
|
2184
|
+
variant?: 'default' | 'navy' | 'cherry' | 'emerald' | 'amber' | 'teal';
|
|
1926
2185
|
}
|
|
1927
2186
|
|
|
1928
2187
|
export declare interface PagedResponse<T> {
|
|
@@ -1980,6 +2239,10 @@ export declare function PaginationNext({ className, ...props }: React_2.Componen
|
|
|
1980
2239
|
|
|
1981
2240
|
export declare function PaginationPrevious({ className, ...props }: React_2.ComponentProps<typeof PaginationLink>): JSX.Element;
|
|
1982
2241
|
|
|
2242
|
+
declare type PanelAnimation = 'slide-up' | 'slide-down' | 'fade' | 'none';
|
|
2243
|
+
|
|
2244
|
+
declare type PanelVariant = 'elevated' | 'flat' | 'ghost';
|
|
2245
|
+
|
|
1983
2246
|
/**
|
|
1984
2247
|
* Parse backend timestamp format (YYYYMMDDHHmmssSSS) to Date
|
|
1985
2248
|
* Example: 20260127004431907 -> Date(2026, 0, 27, 0, 44, 31)
|
|
@@ -2007,6 +2270,8 @@ declare interface PasswordFieldProps<TFieldValues extends FieldValues> {
|
|
|
2007
2270
|
errorHint?: string;
|
|
2008
2271
|
}
|
|
2009
2272
|
|
|
2273
|
+
export { Polygon }
|
|
2274
|
+
|
|
2010
2275
|
export declare function Popover({ ...props }: React_2.ComponentProps<typeof PopoverPrimitive.Root>): JSX.Element;
|
|
2011
2276
|
|
|
2012
2277
|
export declare function PopoverContent({ className, align, sideOffset, ...props }: React_2.ComponentProps<typeof PopoverPrimitive.Content>): JSX.Element;
|
|
@@ -2644,7 +2909,7 @@ export declare function Table({ className, ...props }: React_2.ComponentProps<"t
|
|
|
2644
2909
|
|
|
2645
2910
|
export declare const TABLE_CELL_CLASSES = "px-2.5 py-1.5 text-xs";
|
|
2646
2911
|
|
|
2647
|
-
export declare const TABLE_CONTAINER_CLASSES = "rounded-lg border border-border/80 bg-card overflow-
|
|
2912
|
+
export declare const TABLE_CONTAINER_CLASSES = "isolate rounded-lg border border-border/80 bg-card overflow-clip shadow-sm";
|
|
2648
2913
|
|
|
2649
2914
|
export declare const TABLE_HEADER_CLASSES = "px-2 py-0.5 text-xs font-semibold uppercase tracking-wider transition-colors";
|
|
2650
2915
|
|
|
@@ -2757,7 +3022,7 @@ declare interface TextFieldProps<TFieldValues extends FieldValues> {
|
|
|
2757
3022
|
suggestions?: string[];
|
|
2758
3023
|
}
|
|
2759
3024
|
|
|
2760
|
-
export declare function Timeline({ items, className, relativeTime, maxItems, emptyMessage, animated, animationDelay, }: TimelineProps): JSX.Element;
|
|
3025
|
+
export declare function Timeline({ items, className, relativeTime, maxItems, emptyMessage, animated, animationDelay, variant, formatDate: formatDateProp, }: TimelineProps): JSX.Element;
|
|
2761
3026
|
|
|
2762
3027
|
export declare interface TimelineItem {
|
|
2763
3028
|
id: string | number;
|
|
@@ -2783,6 +3048,10 @@ declare interface TimelineProps {
|
|
|
2783
3048
|
animated?: boolean;
|
|
2784
3049
|
/** Animation delay offset in ms */
|
|
2785
3050
|
animationDelay?: number;
|
|
3051
|
+
/** Timeline display variant */
|
|
3052
|
+
variant?: 'default' | 'activity';
|
|
3053
|
+
/** Custom date formatter (overrides built-in relative/absolute) */
|
|
3054
|
+
formatDate?: (date: string | Date | number) => string;
|
|
2786
3055
|
}
|
|
2787
3056
|
|
|
2788
3057
|
/**
|
|
@@ -2851,6 +3120,10 @@ declare interface TreeNodeOperation {
|
|
|
2851
3120
|
|
|
2852
3121
|
export declare const trLabels: LenaUILabels;
|
|
2853
3122
|
|
|
3123
|
+
export declare const TURKEY_CENTER: [number, number];
|
|
3124
|
+
|
|
3125
|
+
export declare const TURKEY_ZOOM = 6;
|
|
3126
|
+
|
|
2854
3127
|
export declare function UnderConstructionPage({ title, description, homeLabel, onGoHome, }: UnderConstructionPageProps): JSX.Element;
|
|
2855
3128
|
|
|
2856
3129
|
export declare interface UnderConstructionPageProps {
|
|
@@ -3062,6 +3335,8 @@ export declare interface UseLazyTabsReturn {
|
|
|
3062
3335
|
*/
|
|
3063
3336
|
export declare function useLenaLabels<K extends keyof LenaUILabels>(namespace: K, overrides?: Partial<LenaUILabels[K]>): LenaUILabels[K];
|
|
3064
3337
|
|
|
3338
|
+
export { useMap }
|
|
3339
|
+
|
|
3065
3340
|
/**
|
|
3066
3341
|
* Hook specifically for numeric ID params (most common case)
|
|
3067
3342
|
* Returns validated numeric ID or redirects
|
|
@@ -3173,47 +3448,6 @@ export declare function useOptimisticPageResponse<T extends {
|
|
|
3173
3448
|
deleteItem: (id: number | string) => void;
|
|
3174
3449
|
};
|
|
3175
3450
|
|
|
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
3451
|
/**
|
|
3218
3452
|
* useTabUrlSync — Synchronizes active tab state with URL search params.
|
|
3219
3453
|
*
|