@factorialco/f0-react 7.23.0 → 7.24.1
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/{ChatPdfThumbnail-BBAjTpRO.js → ChatPdfThumbnail-DzeBhA18.js} +1 -1
- package/dist/{ChatPostComposerDialog-CzzBwu4c.js → ChatPostComposerDialog-DDLVT6WW.js} +3 -3
- package/dist/{DocumentToolbar-CLmAa1CS.js → DocumentToolbar-5oxgBa7d.js} +2 -2
- package/dist/{DocxViewer-17wM_5Ub.js → DocxViewer-r1GX7pUj.js} +2 -2
- package/dist/{F0AiProcessingOverlay-Crv3v_qi.js → F0AiProcessingOverlay-nojpvoxK.js} +285 -285
- package/dist/{F0CanvasPanel-B2aaoYnV.js → F0CanvasPanel-DnlpQoxW.js} +639 -638
- package/dist/F0Map-BK43p1Ck.js +2499 -0
- package/dist/{F0VideoPlayer-aMaViir7.js → F0VideoPlayer-DKPfOJBp.js} +79 -79
- package/dist/{MapProvider-cgH29EcL.js → MapProvider-bLF59EA-.js} +8174 -8124
- package/dist/{SheetViewer-DRvoh1Ht.js → SheetViewer-C9Ca3S1F.js} +2 -2
- package/dist/{TextViewer-t6wTzXs4.js → TextViewer-B_O1q-K3.js} +2 -2
- package/dist/ai.d.ts +18 -8
- package/dist/ai.js +2 -2
- package/dist/component-status.d.ts +8 -8
- package/dist/component-status.js +2 -2
- package/dist/{experimental-7owBUBms.js → experimental-FF0XQX9W.js} +11859 -13903
- package/dist/experimental.d.ts +363 -88
- package/dist/experimental.js +291 -284
- package/dist/f0.d.ts +178 -8
- package/dist/f0.js +6005 -6007
- package/dist/i18n-provider-defaults.d.ts +18 -8
- package/dist/i18n-provider-defaults.js +11 -1
- package/dist/index-BUqW79F1.js +4 -0
- package/dist/index-BWwc7G48.js +410 -0
- package/dist/{index-CyVOH26Y.js → index-CCea6fTM.js} +1 -1
- package/dist/index-DjrijFLO.js +256 -0
- package/dist/{index-zELO6ifF.js → index-P0wMW0hA.js} +31 -31
- package/dist/{pdfWorker-tk-Ol5j0.js → pdfWorker-DHOTMIrl.js} +3 -3
- package/dist/styles.css +1 -1
- package/dist/{tooltip-BElsa4MF.js → tooltip-CrXp1Uaz.js} +2 -2
- package/package.json +1 -1
- package/dist/index-C2NRpdhB.js +0 -4
- package/dist/index-DnEPnn6A.js +0 -255
- /package/dist/{experimental.css → maplibre-gl.css} +0 -0
package/dist/experimental.d.ts
CHANGED
|
@@ -2,16 +2,16 @@ import { AiCalloutAction as AiCalloutAction_2 } from './types';
|
|
|
2
2
|
import { AiCalloutFinding as AiCalloutFinding_2 } from './types';
|
|
3
3
|
import { AiCalloutStatus as AiCalloutStatus_2 } from './types';
|
|
4
4
|
import { AlertAvatarProps as AlertAvatarProps_2 } from './F0AvatarAlert';
|
|
5
|
-
import { AlertTagCellValue } from './
|
|
6
|
-
import { AlertTagCellValue as AlertTagCellValue_2 } from './
|
|
7
|
-
import { AmountCellValue } from './
|
|
8
|
-
import { AmountCellValue as AmountCellValue_2 } from './
|
|
5
|
+
import { AlertTagCellValue } from './experimental';
|
|
6
|
+
import { AlertTagCellValue as AlertTagCellValue_2 } from './types/alertTag';
|
|
7
|
+
import { AmountCellValue } from './experimental';
|
|
8
|
+
import { AmountCellValue as AmountCellValue_2 } from './types/amount';
|
|
9
9
|
import { AnchorHTMLAttributes } from 'react';
|
|
10
10
|
import { AreaChartWidgetProps } from './AreaChartWidget';
|
|
11
11
|
import { AriaAttributes } from 'react';
|
|
12
12
|
import { AutoFill as AutoFill_2 } from 'react';
|
|
13
|
-
import { AvatarListCellValue } from './
|
|
14
|
-
import { AvatarListCellValue as AvatarListCellValue_2 } from './
|
|
13
|
+
import { AvatarListCellValue } from './experimental';
|
|
14
|
+
import { AvatarListCellValue as AvatarListCellValue_2 } from './types/avatarList';
|
|
15
15
|
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
16
16
|
import { BarChartProps } from './experimental';
|
|
17
17
|
import { BarSeriesCellValue } from './types/barSeries';
|
|
@@ -23,8 +23,8 @@ import { ChartConfig } from './experimental';
|
|
|
23
23
|
import { ChartConfig as ChartConfig_2 } from './utils/types';
|
|
24
24
|
import { ChartPropsBase } from './utils/types';
|
|
25
25
|
import { ClassValue } from 'cva';
|
|
26
|
-
import { CompanyCellValue } from './
|
|
27
|
-
import { CompanyCellValue as CompanyCellValue_2 } from './
|
|
26
|
+
import { CompanyCellValue } from './experimental';
|
|
27
|
+
import { CompanyCellValue as CompanyCellValue_2 } from './types/company';
|
|
28
28
|
import { CompanyItemProps } from './types';
|
|
29
29
|
import { ComponentProps } from 'react';
|
|
30
30
|
import { CompoundCellValue } from './types/compound';
|
|
@@ -32,14 +32,14 @@ import { Context } from 'react';
|
|
|
32
32
|
import { CountCellValue } from './types/count';
|
|
33
33
|
import { CountryCellValue } from './types/country';
|
|
34
34
|
import { DataAttributes as DataAttributes_2 } from './experimental';
|
|
35
|
-
import { DateCellValue } from './
|
|
36
|
-
import { DateCellValue as DateCellValue_2 } from './
|
|
35
|
+
import { DateCellValue } from './experimental';
|
|
36
|
+
import { DateCellValue as DateCellValue_2 } from './types/date';
|
|
37
37
|
import { DateFilterOptions } from './DateFilter/DateFilter';
|
|
38
38
|
import { default as default_2 } from 'react';
|
|
39
39
|
import { DeltaCellValue } from './types/delta';
|
|
40
40
|
import { Dispatch } from 'react';
|
|
41
|
-
import { DotTagCellValue } from './
|
|
42
|
-
import { DotTagCellValue as DotTagCellValue_2 } from './
|
|
41
|
+
import { DotTagCellValue } from './experimental';
|
|
42
|
+
import { DotTagCellValue as DotTagCellValue_2 } from './types/dotTag';
|
|
43
43
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
44
44
|
import { EmployeeItemProps } from './types';
|
|
45
45
|
import { F0CommandPaletteProviderProps as F0CommandPaletteProviderProps_2 } from './types';
|
|
@@ -56,10 +56,10 @@ import { F0TagRawProps as F0TagRawProps_2 } from './types';
|
|
|
56
56
|
import { F0TagTeamProps } from './types';
|
|
57
57
|
import { f1Colors } from '@factorialco/f0-core';
|
|
58
58
|
import { FC } from 'react';
|
|
59
|
-
import { FileCellValue } from './
|
|
60
|
-
import { FileCellValue as FileCellValue_2 } from './
|
|
61
|
-
import { FolderCellValue } from './
|
|
62
|
-
import { FolderCellValue as FolderCellValue_2 } from './
|
|
59
|
+
import { FileCellValue } from './experimental';
|
|
60
|
+
import { FileCellValue as FileCellValue_2 } from './types/file';
|
|
61
|
+
import { FolderCellValue } from './experimental';
|
|
62
|
+
import { FolderCellValue as FolderCellValue_2 } from './types/folder';
|
|
63
63
|
import { ForwardedRef } from 'react';
|
|
64
64
|
import { ForwardRefExoticComponent } from 'react';
|
|
65
65
|
import { HourDistributionCellValue } from './types/hourDistribution';
|
|
@@ -77,19 +77,19 @@ import { LineChartConfig } from './experimental';
|
|
|
77
77
|
import { LineChartProps } from './experimental';
|
|
78
78
|
import { LineChartPropsBase } from './utils/types';
|
|
79
79
|
import { LongTextCellValue } from './types/longText';
|
|
80
|
-
import { NumberCellValue } from './
|
|
81
|
-
import { NumberCellValue as NumberCellValue_2 } from './
|
|
80
|
+
import { NumberCellValue } from './experimental';
|
|
81
|
+
import { NumberCellValue as NumberCellValue_2 } from './types/number';
|
|
82
82
|
import { NumberFilterOptions } from './NumberFilter/NumberFilter';
|
|
83
83
|
import { Observable } from 'zen-observable-ts';
|
|
84
84
|
import { PercentageCellValue } from './types/percentage';
|
|
85
|
-
import { PersonCellValue } from './
|
|
86
|
-
import { PersonCellValue as PersonCellValue_2 } from './
|
|
85
|
+
import { PersonCellValue } from './experimental';
|
|
86
|
+
import { PersonCellValue as PersonCellValue_2 } from './types/person';
|
|
87
87
|
import { PieChartProps } from './PieChart';
|
|
88
88
|
import { PieChartProps as PieChartProps_2 } from './experimental';
|
|
89
89
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
90
90
|
import { PopoverProps } from '@radix-ui/react-popover';
|
|
91
|
-
import { ProgressBarCellValue } from './
|
|
92
|
-
import { ProgressBarCellValue as ProgressBarCellValue_2 } from './
|
|
91
|
+
import { ProgressBarCellValue } from './experimental';
|
|
92
|
+
import { ProgressBarCellValue as ProgressBarCellValue_2 } from './types/progressBar';
|
|
93
93
|
import { ProgressSeriesCellValue } from './types/progressSeries';
|
|
94
94
|
import { Props as Props_5 } from './types';
|
|
95
95
|
import { PropsWithChildren } from 'react';
|
|
@@ -103,29 +103,29 @@ import { RefAttributes } from 'react';
|
|
|
103
103
|
import { RefObject } from 'react';
|
|
104
104
|
import { ScrollAreaProps } from '@radix-ui/react-scroll-area';
|
|
105
105
|
import { SearchFilterOptions } from './SearchFilter/SearchFilter';
|
|
106
|
-
import { StatusCellValue } from './
|
|
107
|
-
import { StatusCellValue as StatusCellValue_2 } from './
|
|
106
|
+
import { StatusCellValue } from './experimental';
|
|
107
|
+
import { StatusCellValue as StatusCellValue_2 } from './types/status';
|
|
108
108
|
import { SummaryCellValue } from './types/summary';
|
|
109
109
|
import { SVGProps } from 'react';
|
|
110
110
|
import { TagAlertProps } from './experimental';
|
|
111
111
|
import { TagBalanceProps } from './experimental';
|
|
112
|
-
import { TagCellValue } from './
|
|
113
|
-
import { TagCellValue as TagCellValue_2 } from './
|
|
112
|
+
import { TagCellValue } from './experimental';
|
|
113
|
+
import { TagCellValue as TagCellValue_2 } from './types/tag';
|
|
114
114
|
import { TagDotProps } from './experimental';
|
|
115
|
-
import { TagListCellValue } from './
|
|
116
|
-
import { TagListCellValue as TagListCellValue_2 } from './
|
|
115
|
+
import { TagListCellValue } from './experimental';
|
|
116
|
+
import { TagListCellValue as TagListCellValue_2 } from './types/tagList';
|
|
117
117
|
import { TagListProps } from './experimental';
|
|
118
118
|
import { TagRawProps } from './experimental';
|
|
119
119
|
import { TagStatusProps } from './experimental';
|
|
120
120
|
import { TagType } from './experimental';
|
|
121
|
-
import { TeamCellValue } from './
|
|
122
|
-
import { TeamCellValue as TeamCellValue_2 } from './
|
|
121
|
+
import { TeamCellValue } from './experimental';
|
|
122
|
+
import { TeamCellValue as TeamCellValue_2 } from './types/team';
|
|
123
123
|
import { TeamItemProps } from './types';
|
|
124
124
|
import { TextareaHTMLAttributes } from 'react';
|
|
125
|
-
import { TextCellValue } from './
|
|
126
|
-
import { TextCellValue as TextCellValue_2 } from './
|
|
125
|
+
import { TextCellValue } from './experimental';
|
|
126
|
+
import { TextCellValue as TextCellValue_2 } from './types/text';
|
|
127
127
|
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
128
|
-
import { ValueDisplayRendererContext
|
|
128
|
+
import { ValueDisplayRendererContext } from './experimental';
|
|
129
129
|
import { VariantProps } from 'cva';
|
|
130
130
|
import { VerticalBarChartProps } from './experimental';
|
|
131
131
|
import { VirtualItem } from '@tanstack/react-virtual';
|
|
@@ -2378,22 +2378,22 @@ declare type CardPropertyDefinition<T> = PropertyDefinition_2<T> & {
|
|
|
2378
2378
|
};
|
|
2379
2379
|
|
|
2380
2380
|
declare const cardPropertyRenderers: {
|
|
2381
|
-
readonly text: (args:
|
|
2382
|
-
readonly number: (args:
|
|
2383
|
-
readonly date: (args:
|
|
2384
|
-
readonly amount: (args:
|
|
2385
|
-
readonly person: (args:
|
|
2386
|
-
readonly company: (args:
|
|
2387
|
-
readonly team: (args:
|
|
2388
|
-
readonly status: (args:
|
|
2389
|
-
readonly tag: (args:
|
|
2390
|
-
readonly avatarList: (args:
|
|
2391
|
-
readonly tagList: (args:
|
|
2392
|
-
readonly alertTag: (args:
|
|
2393
|
-
readonly dotTag: (args:
|
|
2394
|
-
readonly file: (args:
|
|
2395
|
-
readonly folder: (args:
|
|
2396
|
-
readonly progressBar: (args:
|
|
2381
|
+
readonly text: (args: TextCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2382
|
+
readonly number: (args: NumberCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2383
|
+
readonly date: (args: DateCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2384
|
+
readonly amount: (args: AmountCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2385
|
+
readonly person: (args: PersonCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2386
|
+
readonly company: (args: CompanyCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2387
|
+
readonly team: (args: TeamCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2388
|
+
readonly status: (args: StatusCellValue) => default_2.JSX.Element;
|
|
2389
|
+
readonly tag: (args: TagCellValue) => default_2.JSX.Element;
|
|
2390
|
+
readonly avatarList: (args: AvatarListCellValue, meta: ValueDisplayRendererContext) => default_2.JSX.Element;
|
|
2391
|
+
readonly tagList: (args: TagListCellValue) => default_2.JSX.Element;
|
|
2392
|
+
readonly alertTag: (args: AlertTagCellValue) => default_2.JSX.Element;
|
|
2393
|
+
readonly dotTag: (args: DotTagCellValue) => default_2.JSX.Element;
|
|
2394
|
+
readonly file: (args: FileCellValue) => default_2.JSX.Element;
|
|
2395
|
+
readonly folder: (args: FolderCellValue) => default_2.JSX.Element;
|
|
2396
|
+
readonly progressBar: (args: ProgressBarCellValue, _meta: ValueDisplayRendererContext) => default_2.JSX.Element | null;
|
|
2397
2397
|
};
|
|
2398
2398
|
|
|
2399
2399
|
declare type CardPropertyType = keyof typeof cardPropertyRenderers;
|
|
@@ -3567,6 +3567,7 @@ declare type CollectionVisualizations<Record extends RecordType, Filters extends
|
|
|
3567
3567
|
card: VisualizacionTypeDefinition<CardCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
|
|
3568
3568
|
kanban: VisualizacionTypeDefinition<KanbanCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
|
|
3569
3569
|
graph: VisualizacionTypeDefinition<GraphCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>, GraphVisualizationSettings>;
|
|
3570
|
+
map: VisualizacionTypeDefinition<MapCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
|
|
3570
3571
|
};
|
|
3571
3572
|
|
|
3572
3573
|
declare const collectionVisualizations: CollectionVisualizations<RecordType, FiltersDefinition, SortingsDefinition, SummariesDefinition, ItemActionsDefinition<RecordType>, NavigationFiltersDefinition, GroupingDefinition<RecordType>>;
|
|
@@ -5499,6 +5500,7 @@ declare const defaultTranslations: {
|
|
|
5499
5500
|
readonly list: "List";
|
|
5500
5501
|
readonly kanban: "Kanban";
|
|
5501
5502
|
readonly graph: "Graph";
|
|
5503
|
+
readonly map: "Map";
|
|
5502
5504
|
readonly pagination: {
|
|
5503
5505
|
readonly of: "of";
|
|
5504
5506
|
};
|
|
@@ -5506,6 +5508,11 @@ declare const defaultTranslations: {
|
|
|
5506
5508
|
readonly reset: "Reset to default";
|
|
5507
5509
|
readonly viewSelectorLabel: "Select view";
|
|
5508
5510
|
};
|
|
5511
|
+
readonly map: {
|
|
5512
|
+
readonly notOnMap: "Not on map";
|
|
5513
|
+
readonly onMap: "On map";
|
|
5514
|
+
readonly notOnMapCount: "{{count}} not on map";
|
|
5515
|
+
};
|
|
5509
5516
|
readonly table: {
|
|
5510
5517
|
readonly seeMoreChildren: "See more";
|
|
5511
5518
|
readonly settings: {
|
|
@@ -6398,11 +6405,15 @@ declare const defaultTranslations: {
|
|
|
6398
6405
|
readonly loadError: "Couldn't load the map.";
|
|
6399
6406
|
readonly retry: "Retry";
|
|
6400
6407
|
readonly currentLocation: "Your location";
|
|
6408
|
+
readonly panel: "Map panel";
|
|
6409
|
+
readonly detailPanel: "Map detail panel";
|
|
6401
6410
|
readonly controls: {
|
|
6402
6411
|
readonly zoomIn: "Zoom in";
|
|
6403
6412
|
readonly zoomOut: "Zoom out";
|
|
6404
6413
|
readonly fit: "Fit to markers";
|
|
6405
6414
|
readonly locate: "My location";
|
|
6415
|
+
readonly showPanel: "Show panel";
|
|
6416
|
+
readonly hidePanel: "Hide panel";
|
|
6406
6417
|
};
|
|
6407
6418
|
};
|
|
6408
6419
|
readonly wizard: {
|
|
@@ -10178,6 +10189,17 @@ export declare interface F0MapProps extends WithDataTestIdProps {
|
|
|
10178
10189
|
* grown pin) stays driven by `selectedMarkerId`.
|
|
10179
10190
|
*/
|
|
10180
10191
|
highlightedId?: string | null;
|
|
10192
|
+
/**
|
|
10193
|
+
* Region covered by the consumer's own chrome, in screen px - a panel opened
|
|
10194
|
+
* over the map. Camera moves land their target in the free area, and a
|
|
10195
|
+
* change replays the last move. The map's own panels are folded in already.
|
|
10196
|
+
*/
|
|
10197
|
+
viewportInset?: F0MapViewportInset;
|
|
10198
|
+
/**
|
|
10199
|
+
* Re-center a clicked marker in the free area, at the current zoom. Defaults
|
|
10200
|
+
* to `false`. The `focusMarker` handle is the one that also zooms in.
|
|
10201
|
+
*/
|
|
10202
|
+
centerOnMarkerClick?: boolean;
|
|
10181
10203
|
/**
|
|
10182
10204
|
* Frame all markers on load. Defaults to `true` when no `initialViewport` is
|
|
10183
10205
|
* given, `false` otherwise (an explicit viewport wins).
|
|
@@ -10222,11 +10244,33 @@ export declare interface F0MapProps extends WithDataTestIdProps {
|
|
|
10222
10244
|
showCurrentLocation?: boolean;
|
|
10223
10245
|
/**
|
|
10224
10246
|
* Edge-to-edge presentation. `false` (default) frames the map as a card -
|
|
10225
|
-
* large rounded corners
|
|
10226
|
-
*
|
|
10227
|
-
*
|
|
10247
|
+
* large rounded corners and a secondary border. `true` drops the frame so the
|
|
10248
|
+
* map bleeds to its container's edges. The controls sit 8px off the edges
|
|
10249
|
+
* either way.
|
|
10228
10250
|
*/
|
|
10229
10251
|
fullScreen?: boolean;
|
|
10252
|
+
/** Shows the side panel's toggle in the top-left corner. */
|
|
10253
|
+
onSidebarToggle?: () => void;
|
|
10254
|
+
/** Whether the side panel is open. Defaults to `false`. */
|
|
10255
|
+
sidebarExpanded?: boolean;
|
|
10256
|
+
/** A control beside the toggle while the panel is closed, e.g. a count that opens it. */
|
|
10257
|
+
sidebarToggleAddon?: ReactNode;
|
|
10258
|
+
/** A control at the start of the open panel's header row, opposite its toggle. */
|
|
10259
|
+
sidebarHeaderStart?: ReactNode;
|
|
10260
|
+
/** Side panel content, edge to edge: it brings its own insets and scrolling. */
|
|
10261
|
+
sidebar?: ReactNode;
|
|
10262
|
+
/** A second panel, opened beside the side panel while `detailOpen`. */
|
|
10263
|
+
detail?: ReactNode;
|
|
10264
|
+
/**
|
|
10265
|
+
* Whether the detail panel is open. Defaults to `false`. While it is, Escape
|
|
10266
|
+
* ends the selection, which is what closes it.
|
|
10267
|
+
*/
|
|
10268
|
+
detailOpen?: boolean;
|
|
10269
|
+
/**
|
|
10270
|
+
* Clear the selection on a background click. Defaults to `true`. Turn it off
|
|
10271
|
+
* when the selection opens something that must be dismissed deliberately.
|
|
10272
|
+
*/
|
|
10273
|
+
clearSelectionOnBackgroundClick?: boolean;
|
|
10230
10274
|
/**
|
|
10231
10275
|
* Map projection. `"mercator"` (default) is the flat web map; `"globe"`
|
|
10232
10276
|
* renders the world as a 3D sphere at low zoom and eases into mercator as you
|
|
@@ -10256,6 +10300,52 @@ export declare interface F0MapRoute extends F0MapLineStyle {
|
|
|
10256
10300
|
coordinates: [number, number][];
|
|
10257
10301
|
}
|
|
10258
10302
|
|
|
10303
|
+
/**
|
|
10304
|
+
* A map side panel on the overlay material. Stays mounted and transitions out
|
|
10305
|
+
* of frame (the map clips it), `inert` while away. A CSS transition, so no
|
|
10306
|
+
* ancestor `MotionConfig` can override it (`ApplicationFrame` sets one).
|
|
10307
|
+
*/
|
|
10308
|
+
export declare const F0MapSidebar: ({ children, open, offsetX, offsetY, width, entrance, headerStart, headerEnd, ariaLabel, dataTestId, }: F0MapSidebarProps) => JSX_2.Element;
|
|
10309
|
+
|
|
10310
|
+
export declare interface F0MapSidebarProps extends WithDataTestIdProps {
|
|
10311
|
+
/** Content, edge to edge: it brings its own insets and scrolling. */
|
|
10312
|
+
children?: ReactNode;
|
|
10313
|
+
open: boolean;
|
|
10314
|
+
/** Distance from the map's left edge, in px. */
|
|
10315
|
+
offsetX: number;
|
|
10316
|
+
/** Distance from the map's top edge, in px. Defaults to the shared inset. */
|
|
10317
|
+
offsetY?: number;
|
|
10318
|
+
/** Panel width, in px. */
|
|
10319
|
+
width: number;
|
|
10320
|
+
/**
|
|
10321
|
+
* `"slide"` (default) travels in from the map's edge. `"grow"` scales into
|
|
10322
|
+
* place, for a panel opening beside another it would otherwise cross.
|
|
10323
|
+
*/
|
|
10324
|
+
entrance?: "slide" | "grow";
|
|
10325
|
+
/** A control at the start of the panel's header row; takes the room left. */
|
|
10326
|
+
headerStart?: ReactNode;
|
|
10327
|
+
/** A control at the far end of that row. */
|
|
10328
|
+
headerEnd?: ReactNode;
|
|
10329
|
+
/** Defaults to the map's panel label. */
|
|
10330
|
+
ariaLabel?: string;
|
|
10331
|
+
}
|
|
10332
|
+
|
|
10333
|
+
/**
|
|
10334
|
+
* Opens and closes the map's side panel, with the application sidebar's icon.
|
|
10335
|
+
* Presentational, like `F0MapControls`: `F0Map` positions it and owns the state.
|
|
10336
|
+
*/
|
|
10337
|
+
export declare const F0MapSidebarToggle: ForwardRefExoticComponent<F0MapSidebarToggleProps & RefAttributes<HTMLButtonElement>>;
|
|
10338
|
+
|
|
10339
|
+
export declare interface F0MapSidebarToggleProps extends WithDataTestIdProps {
|
|
10340
|
+
/** Whether the panel this button controls is currently open. */
|
|
10341
|
+
expanded: boolean;
|
|
10342
|
+
onToggle: () => void;
|
|
10343
|
+
/** Overrides the default show / hide label. */
|
|
10344
|
+
label?: string;
|
|
10345
|
+
/** Drop the overlay card, for the toggle inside a panel. */
|
|
10346
|
+
bare?: boolean;
|
|
10347
|
+
}
|
|
10348
|
+
|
|
10259
10349
|
/**
|
|
10260
10350
|
* Loading placeholder: a plain pulsing surface in the shared `Skeleton`
|
|
10261
10351
|
* component's tone. Shown while a consumer is still fetching what the map
|
|
@@ -10299,6 +10389,25 @@ export declare interface F0MapViewport {
|
|
|
10299
10389
|
zoom?: number;
|
|
10300
10390
|
}
|
|
10301
10391
|
|
|
10392
|
+
/**
|
|
10393
|
+
* Region of the map (in screen px) covered by external chrome - typically a
|
|
10394
|
+
* side panel the consumer opens over it. Every camera move (fit, focus, reveal)
|
|
10395
|
+
* shifts its target so the point lands centred in the *free* area beside the
|
|
10396
|
+
* panel instead of behind it. The side is encoded by which key is set: a
|
|
10397
|
+
* right-hand panel sets `right`, a left-hand one or RTL sets `left`.
|
|
10398
|
+
*
|
|
10399
|
+
* The consumer supplies the value - `F0Map` has no notion of the panel. For a
|
|
10400
|
+
* fixed-width drawer pass its width while it is open (e.g. `{ right: 480 }`)
|
|
10401
|
+
* and `undefined` / `{}` while it is closed. Omitted or `0` on every side
|
|
10402
|
+
* behaves exactly as if there were no inset.
|
|
10403
|
+
*/
|
|
10404
|
+
export declare interface F0MapViewportInset {
|
|
10405
|
+
top?: number;
|
|
10406
|
+
right?: number;
|
|
10407
|
+
bottom?: number;
|
|
10408
|
+
left?: number;
|
|
10409
|
+
}
|
|
10410
|
+
|
|
10302
10411
|
/**
|
|
10303
10412
|
* Makes a meeting available to the app and renders its surface.
|
|
10304
10413
|
*
|
|
@@ -14005,6 +14114,105 @@ export declare type LocationPart = (typeof locationParts)[number];
|
|
|
14005
14114
|
/** Every part the manual entry block renders, in the order it renders them */
|
|
14006
14115
|
export declare const locationParts: readonly ["country", "addressLine1", "addressLine2", "city", "state", "postalCode"];
|
|
14007
14116
|
|
|
14117
|
+
declare type MapCollectionProps<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>> = CollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, MapVisualizationOptions<Record, Filters, Sortings>>;
|
|
14118
|
+
|
|
14119
|
+
/** Selection handles handed to the panels, so their content can drive the map. */
|
|
14120
|
+
declare type MapSidebarApi<R extends RecordType> = {
|
|
14121
|
+
/** Select a record (or clear with `null`), flying to its marker if it has one. */
|
|
14122
|
+
select: (record: R | null) => void;
|
|
14123
|
+
selectedRecordId: string | null;
|
|
14124
|
+
/**
|
|
14125
|
+
* What the map did with a record: `"placed"`, `"unplaced"` (no reason
|
|
14126
|
+
* given), or the `MapUnplaced` kind. Per record, so it also answers in the
|
|
14127
|
+
* search's flat list.
|
|
14128
|
+
*/
|
|
14129
|
+
placement: (record: R) => "placed" | "unplaced" | MapUnplaced["kind"];
|
|
14130
|
+
};
|
|
14131
|
+
|
|
14132
|
+
/**
|
|
14133
|
+
* Why a record has no position, returned from `coordinates` instead of one.
|
|
14134
|
+
* `incomplete`: it should have a location and doesn't (an unfilled or
|
|
14135
|
+
* ungeocodable address) - the case somebody can fix.
|
|
14136
|
+
*/
|
|
14137
|
+
export declare type MapUnplaced = {
|
|
14138
|
+
kind: "incomplete";
|
|
14139
|
+
};
|
|
14140
|
+
|
|
14141
|
+
/**
|
|
14142
|
+
* Options for the map visualization: records projected onto coordinates. Only
|
|
14143
|
+
* reading a record's position is required; how markers look and behave is
|
|
14144
|
+
* `F0Map`'s concern.
|
|
14145
|
+
*/
|
|
14146
|
+
export declare type MapVisualizationOptions<R extends RecordType, _Filters extends FiltersDefinition, _Sortings extends SortingsDefinition> = {
|
|
14147
|
+
/**
|
|
14148
|
+
* A record's `[longitude, latitude]`. `null` or a `MapUnplaced` draws no
|
|
14149
|
+
* marker, and the record is listed under "Not on map" instead. No geocoding
|
|
14150
|
+
* happens here: resolve coordinates server-side.
|
|
14151
|
+
*/
|
|
14152
|
+
coordinates: (record: R) => [number, number] | null | MapUnplaced;
|
|
14153
|
+
/** Label beside the marker. Omitted means an unlabelled pin. */
|
|
14154
|
+
label?: (record: R) => string;
|
|
14155
|
+
/** Marker variant per record. Defaults to `default`. */
|
|
14156
|
+
marker?: (record: R) => F0MapMarkerVariantProps;
|
|
14157
|
+
/** A record's id. Defaults to `String(record.id)`, like the graph view. */
|
|
14158
|
+
getRecordId?: (record: R) => string;
|
|
14159
|
+
/**
|
|
14160
|
+
* Controlled selection, `null` for none. Pass it whenever something outside
|
|
14161
|
+
* the map can end the selection, like closing the panel `onSelect` opened.
|
|
14162
|
+
*/
|
|
14163
|
+
selectedRecordId?: string | null;
|
|
14164
|
+
/**
|
|
14165
|
+
* Fired when the selection changes: a marker click, a reveal, a panel row,
|
|
14166
|
+
* or `null` when it clears. If it opens your own chrome over the map, report
|
|
14167
|
+
* the region it covers through `viewportInset`.
|
|
14168
|
+
*/
|
|
14169
|
+
onSelect?: (record: R | null) => void;
|
|
14170
|
+
/**
|
|
14171
|
+
* Flies to a record and selects it, e.g. from an external search. Pair it
|
|
14172
|
+
* with the collection's `searchSelectionNonce` so a repeat pick flies again.
|
|
14173
|
+
*/
|
|
14174
|
+
revealRecordId?: string | null;
|
|
14175
|
+
/** Region covered by your own chrome. The map's own panels are folded in. */
|
|
14176
|
+
viewportInset?: F0MapViewportInset;
|
|
14177
|
+
/** Initial camera. Defaults to framing every marker. */
|
|
14178
|
+
initialViewport?: F0MapViewport;
|
|
14179
|
+
/** Show the navigation controls (locate / fit / zoom). Defaults to `true`. */
|
|
14180
|
+
showControls?: boolean;
|
|
14181
|
+
/** Fired with the side panel's new open state. */
|
|
14182
|
+
onSidebarToggle?: (expanded: boolean) => void;
|
|
14183
|
+
/** Map projection. Defaults to `"mercator"`. */
|
|
14184
|
+
projection?: F0MapProjection;
|
|
14185
|
+
/**
|
|
14186
|
+
* Rendering engine. Defaults to the one the app sets on `F0Provider`, so a
|
|
14187
|
+
* product that configures Google gets it here too; set it only to override
|
|
14188
|
+
* that for this view.
|
|
14189
|
+
*/
|
|
14190
|
+
provider?: F0MapProvider;
|
|
14191
|
+
/**
|
|
14192
|
+
* Records to request in the one page the map loads, capped at the map's
|
|
14193
|
+
* recommended marker ceiling.
|
|
14194
|
+
*/
|
|
14195
|
+
markerLimit?: number;
|
|
14196
|
+
/** Accessible label for the map region. */
|
|
14197
|
+
ariaLabel?: string;
|
|
14198
|
+
/**
|
|
14199
|
+
* Rows of the side panel, for the records of one section ("Not on map",
|
|
14200
|
+
* then "On map") or for the matches of the panel's search. They are the
|
|
14201
|
+
* records the map is drawing, from the same load. Return rows only: the
|
|
14202
|
+
* panel owns the scrolling. `select` drives the same selection a marker
|
|
14203
|
+
* click does.
|
|
14204
|
+
*/
|
|
14205
|
+
sidebar?: (records: R[], api: MapSidebarApi<R>) => ReactNode;
|
|
14206
|
+
/**
|
|
14207
|
+
* Text the panel's search matches a record against. Given it, the panel's
|
|
14208
|
+
* header offers a search over the records the panel holds; the toolbar's
|
|
14209
|
+
* search still narrows the whole view.
|
|
14210
|
+
*/
|
|
14211
|
+
sidebarSearchText?: (record: R) => string;
|
|
14212
|
+
/** Detail panel for the selected record, beside the side panel. */
|
|
14213
|
+
detail?: (record: R, api: MapSidebarApi<R>) => ReactNode;
|
|
14214
|
+
};
|
|
14215
|
+
|
|
14008
14216
|
declare const markerColors: readonly ["neutral", "grey", "radical", "malibu", "viridian", "flubber", "grass", "camel", "indigo", "lilac", "orange", "purple", "yellow", "red", "army", "smoke", "barbie"];
|
|
14009
14217
|
|
|
14010
14218
|
export declare const MAX_EXPANDED_ACTIONS = 2;
|
|
@@ -15333,6 +15541,61 @@ declare type OneFilterPickerRootProps<Definition extends FiltersDefinition> = {
|
|
|
15333
15541
|
onPresetAction?: () => void;
|
|
15334
15542
|
};
|
|
15335
15543
|
|
|
15544
|
+
/**
|
|
15545
|
+
* A compact row in a list of things: `OnePersonListItem`'s anatomy without the
|
|
15546
|
+
* person assumption, so it serves workplaces, teams, companies or files alike.
|
|
15547
|
+
*
|
|
15548
|
+
* @experimental This is an experimental component use it at your own risk
|
|
15549
|
+
*/
|
|
15550
|
+
export declare const OneListItem: WithDataTestIdReturnType_3<default_2.ForwardRefExoticComponent<OneListItemProps & default_2.RefAttributes<HTMLDivElement>> & {
|
|
15551
|
+
Skeleton: () => default_2.JSX.Element;
|
|
15552
|
+
}>;
|
|
15553
|
+
|
|
15554
|
+
export declare type OneListItemProps = {
|
|
15555
|
+
/** Any avatar variant, so the item can stand for whatever the list is of. */
|
|
15556
|
+
avatar?: AvatarVariant;
|
|
15557
|
+
title: string;
|
|
15558
|
+
description?: string;
|
|
15559
|
+
/** Facts under the title, rendered inline and separated by a middot. */
|
|
15560
|
+
bottomTags?: Omit<F0TagRawProps, "noBorder">[];
|
|
15561
|
+
/** Fields under the subtitle, with `F0Card`'s metadata shape and renderers. */
|
|
15562
|
+
metadata?: CardMetadata[];
|
|
15563
|
+
rightTag?: Props_4;
|
|
15564
|
+
/**
|
|
15565
|
+
* An icon at the row's right edge for a fact about the item (not an action,
|
|
15566
|
+
* so not a button), explained by its tooltip.
|
|
15567
|
+
*/
|
|
15568
|
+
rightIcon?: {
|
|
15569
|
+
icon: IconType;
|
|
15570
|
+
tooltip: string;
|
|
15571
|
+
tooltipDescription?: string;
|
|
15572
|
+
};
|
|
15573
|
+
actions?: {
|
|
15574
|
+
primary?: {
|
|
15575
|
+
icon?: IconType;
|
|
15576
|
+
label: string;
|
|
15577
|
+
onClick: () => void;
|
|
15578
|
+
};
|
|
15579
|
+
secondary?: {
|
|
15580
|
+
icon: IconType;
|
|
15581
|
+
/** Accessible name - the button shows only its icon. */
|
|
15582
|
+
label?: string;
|
|
15583
|
+
onClick: () => void;
|
|
15584
|
+
};
|
|
15585
|
+
};
|
|
15586
|
+
/** Tooltip beside the title, for a caveat that doesn't fit in the row. */
|
|
15587
|
+
info?: string;
|
|
15588
|
+
onClick: () => void;
|
|
15589
|
+
withPointerCursor?: boolean;
|
|
15590
|
+
/** The row currently acted on, e.g. open in a detail view. Sets `aria-current`. */
|
|
15591
|
+
selected?: boolean;
|
|
15592
|
+
};
|
|
15593
|
+
|
|
15594
|
+
/** Shared by the item and its skeleton, so both occupy the same box. */
|
|
15595
|
+
export declare const oneListItemRowClassName = "flex w-full flex-row flex-wrap items-start gap-2 rounded-md border p-2 focus:outline focus:outline-1 focus:outline-offset-1 focus:outline-f1-border-selected-bold";
|
|
15596
|
+
|
|
15597
|
+
export declare const OneListItemSkeleton: () => default_2.JSX.Element;
|
|
15598
|
+
|
|
15336
15599
|
/**
|
|
15337
15600
|
* @experimental This is an experimental component use it at your own risk
|
|
15338
15601
|
*/
|
|
@@ -16077,6 +16340,13 @@ export declare interface ReactionsProps {
|
|
|
16077
16340
|
};
|
|
16078
16341
|
}
|
|
16079
16342
|
|
|
16343
|
+
/**
|
|
16344
|
+
* Soft ceiling for marker count. Markers are DOM elements with JS screen-space
|
|
16345
|
+
* clustering - designed for workplace-scale datasets. Beyond this, pan/zoom
|
|
16346
|
+
* starts to stutter; thousands of points need a GL-native clustering path.
|
|
16347
|
+
*/
|
|
16348
|
+
export declare const RECOMMENDED_MAX_MARKERS = 200;
|
|
16349
|
+
|
|
16080
16350
|
/**
|
|
16081
16351
|
* Utility type to get all possible paths through an object using dot notation
|
|
16082
16352
|
* @template T - The object type to traverse
|
|
@@ -18648,7 +18918,7 @@ declare type VacancyProfile = {
|
|
|
18648
18918
|
vacancyType?: string;
|
|
18649
18919
|
};
|
|
18650
18920
|
|
|
18651
|
-
declare type
|
|
18921
|
+
declare type ValueDisplayRendererContext_2 = {
|
|
18652
18922
|
visualization: ValueDisplayVisualizationType;
|
|
18653
18923
|
i18n: TranslationsType;
|
|
18654
18924
|
tableAlign?: ValueDisplayTableAlignment;
|
|
@@ -18666,34 +18936,34 @@ declare type ValueDisplayRendererDefinition = {
|
|
|
18666
18936
|
}[keyof typeof valueDisplayRenderers];
|
|
18667
18937
|
|
|
18668
18938
|
declare const valueDisplayRenderers: {
|
|
18669
|
-
readonly text: (args:
|
|
18670
|
-
readonly longText: (args: LongTextCellValue, meta:
|
|
18671
|
-
readonly number: (args:
|
|
18672
|
-
readonly date: (args:
|
|
18673
|
-
readonly amount: (args:
|
|
18674
|
-
readonly compound: (args: CompoundCellValue, meta:
|
|
18675
|
-
readonly avatarList: (args:
|
|
18676
|
-
readonly status: (args:
|
|
18677
|
-
readonly alertTag: (args:
|
|
18678
|
-
readonly person: (args:
|
|
18679
|
-
readonly percentage: (args: PercentageCellValue, meta:
|
|
18680
|
-
readonly progressBar: (args:
|
|
18681
|
-
readonly progressSeries: (args: ProgressSeriesCellValue, meta:
|
|
18682
|
-
readonly barSeries: (args: BarSeriesCellValue, meta:
|
|
18683
|
-
readonly categoryBarChart: (args: CategoryBarChartCellValue, meta:
|
|
18684
|
-
readonly hourDistribution: (args: HourDistributionCellValue, meta:
|
|
18685
|
-
readonly company: (args:
|
|
18686
|
-
readonly team: (args:
|
|
18687
|
-
readonly tag: (args:
|
|
18688
|
-
readonly dotTag: (args:
|
|
18689
|
-
readonly tagList: (args:
|
|
18690
|
-
readonly icon: (args: IconCellValue, meta:
|
|
18691
|
-
readonly file: (args:
|
|
18692
|
-
readonly folder: (args:
|
|
18693
|
-
readonly country: (args: CountryCellValue, context:
|
|
18939
|
+
readonly text: (args: TextCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18940
|
+
readonly longText: (args: LongTextCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18941
|
+
readonly number: (args: NumberCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18942
|
+
readonly date: (args: DateCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18943
|
+
readonly amount: (args: AmountCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18944
|
+
readonly compound: (args: CompoundCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18945
|
+
readonly avatarList: (args: AvatarListCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18946
|
+
readonly status: (args: StatusCellValue_2) => JSX_2.Element;
|
|
18947
|
+
readonly alertTag: (args: AlertTagCellValue_2) => JSX_2.Element;
|
|
18948
|
+
readonly person: (args: PersonCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18949
|
+
readonly percentage: (args: PercentageCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element | null;
|
|
18950
|
+
readonly progressBar: (args: ProgressBarCellValue_2, _meta: ValueDisplayRendererContext_2) => JSX_2.Element | null;
|
|
18951
|
+
readonly progressSeries: (args: ProgressSeriesCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18952
|
+
readonly barSeries: (args: BarSeriesCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18953
|
+
readonly categoryBarChart: (args: CategoryBarChartCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18954
|
+
readonly hourDistribution: (args: HourDistributionCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18955
|
+
readonly company: (args: CompanyCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18956
|
+
readonly team: (args: TeamCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18957
|
+
readonly tag: (args: TagCellValue_2) => JSX_2.Element;
|
|
18958
|
+
readonly dotTag: (args: DotTagCellValue_2) => JSX_2.Element;
|
|
18959
|
+
readonly tagList: (args: TagListCellValue_2) => JSX_2.Element;
|
|
18960
|
+
readonly icon: (args: IconCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18961
|
+
readonly file: (args: FileCellValue_2) => JSX_2.Element;
|
|
18962
|
+
readonly folder: (args: FolderCellValue_2) => JSX_2.Element;
|
|
18963
|
+
readonly country: (args: CountryCellValue, context: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18694
18964
|
readonly delta: (args: DeltaCellValue) => JSX_2.Element;
|
|
18695
|
-
readonly summary: (args: SummaryCellValue, meta:
|
|
18696
|
-
readonly count: (args: CountCellValue, meta:
|
|
18965
|
+
readonly summary: (args: SummaryCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18966
|
+
readonly count: (args: CountCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
|
|
18697
18967
|
};
|
|
18698
18968
|
|
|
18699
18969
|
declare type ValueDisplayTableAlignment = "left" | "right";
|
|
@@ -18870,6 +19140,11 @@ declare type Visualization<R extends RecordType, Filters extends FiltersDefiniti
|
|
|
18870
19140
|
type: "graph";
|
|
18871
19141
|
/** Configuration options for graph visualization */
|
|
18872
19142
|
options: GraphVisualizationOptions<R, Filters, Sortings>;
|
|
19143
|
+
} & VisualizationFilterOverrides<Filters, Sortings> & VisualizationLabelOverrides) | ({
|
|
19144
|
+
/** Map-based visualization type */
|
|
19145
|
+
type: "map";
|
|
19146
|
+
/** Configuration options for map visualization */
|
|
19147
|
+
options: MapVisualizationOptions<R, Filters, Sortings>;
|
|
18873
19148
|
} & VisualizationFilterOverrides<Filters, Sortings> & VisualizationLabelOverrides) | ({
|
|
18874
19149
|
/** Human-readable label for the visualization */
|
|
18875
19150
|
label: string;
|
|
@@ -19587,9 +19862,11 @@ declare module "@tiptap/core" {
|
|
|
19587
19862
|
|
|
19588
19863
|
declare module "@tiptap/core" {
|
|
19589
19864
|
interface Commands<ReturnType> {
|
|
19590
|
-
|
|
19591
|
-
|
|
19592
|
-
|
|
19865
|
+
enhanceHighlight: {
|
|
19866
|
+
setEnhanceHighlight: (from: number, to: number, options?: {
|
|
19867
|
+
placeholder?: string;
|
|
19868
|
+
}) => ReturnType;
|
|
19869
|
+
clearEnhanceHighlight: () => ReturnType;
|
|
19593
19870
|
};
|
|
19594
19871
|
}
|
|
19595
19872
|
}
|
|
@@ -19597,11 +19874,9 @@ declare module "@tiptap/core" {
|
|
|
19597
19874
|
|
|
19598
19875
|
declare module "@tiptap/core" {
|
|
19599
19876
|
interface Commands<ReturnType> {
|
|
19600
|
-
|
|
19601
|
-
|
|
19602
|
-
|
|
19603
|
-
}) => ReturnType;
|
|
19604
|
-
clearEnhanceHighlight: () => ReturnType;
|
|
19877
|
+
fontSize: {
|
|
19878
|
+
setFontSize: (fontSize: string) => ReturnType;
|
|
19879
|
+
unsetFontSize: () => ReturnType;
|
|
19605
19880
|
};
|
|
19606
19881
|
}
|
|
19607
19882
|
}
|