@unovis/angular 1.6.0-pre.2 → 1.6.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/lib/bundles/unovis-angular.umd.js +317 -22
- package/dist/lib/bundles/unovis-angular.umd.js.map +1 -1
- package/dist/lib/components/axis/axis.component.d.ts +7 -1
- package/dist/lib/components/brush/brush.component.d.ts +1 -1
- package/dist/lib/components/crosshair/crosshair.component.d.ts +21 -8
- package/dist/lib/components/graph/graph.component.d.ts +9 -1
- package/dist/lib/components/nested-donut/nested-donut.component.d.ts +1 -1
- package/dist/lib/components/plotband/plotband.component.d.ts +81 -0
- package/dist/lib/components/plotband/plotband.module.d.ts +7 -0
- package/dist/lib/components/plotline/plotline.component.d.ts +87 -0
- package/dist/lib/components/plotline/plotline.module.d.ts +7 -0
- package/dist/lib/components/timeline/timeline.component.d.ts +65 -15
- package/dist/lib/components.d.ts +6 -0
- package/dist/lib/esm2015/components/axis/axis.component.js +10 -4
- package/dist/lib/esm2015/components/brush/brush.component.js +1 -1
- package/dist/lib/esm2015/components/crosshair/crosshair.component.js +8 -4
- package/dist/lib/esm2015/components/graph/graph.component.js +8 -4
- package/dist/lib/esm2015/components/nested-donut/nested-donut.component.js +1 -1
- package/dist/lib/esm2015/components/plotband/plotband.component.js +61 -0
- package/dist/lib/esm2015/components/plotband/plotband.module.js +18 -0
- package/dist/lib/esm2015/components/plotline/plotline.component.js +63 -0
- package/dist/lib/esm2015/components/plotline/plotline.module.js +18 -0
- package/dist/lib/esm2015/components/timeline/timeline.component.js +55 -11
- package/dist/lib/esm2015/components.js +7 -1
- package/dist/lib/esm2015/html-components/bullet-legend/bullet-legend.component.js +6 -4
- package/dist/lib/esm2015/html-components/rolling-pin-legend/rolling-pin-legend.component.js +48 -0
- package/dist/lib/esm2015/html-components/rolling-pin-legend/rolling-pin-legend.module.js +18 -0
- package/dist/lib/fesm2015/unovis-angular.js +289 -24
- package/dist/lib/fesm2015/unovis-angular.js.map +1 -1
- package/dist/lib/html-components/bullet-legend/bullet-legend.component.d.ts +3 -1
- package/dist/lib/html-components/rolling-pin-legend/rolling-pin-legend.component.d.ts +24 -0
- package/dist/lib/html-components/rolling-pin-legend/rolling-pin-legend.module.d.ts +7 -0
- package/dist/lib/package.json +2 -2
- package/package.json +2 -2
|
@@ -61,6 +61,10 @@ export declare class VisAxisComponent<Datum> implements AxisConfigInterface<Datu
|
|
|
61
61
|
labelFontSize?: string | null;
|
|
62
62
|
/** Distance between the axis and the label in pixels. Default: `8` */
|
|
63
63
|
labelMargin?: number;
|
|
64
|
+
/** Label text fit mode: `FitMode.Wrap` or `FitMode.Trim`. Default: `FitMode.Wrap`. */
|
|
65
|
+
labelTextFitMode?: FitMode | string;
|
|
66
|
+
/** Label text trim mode: `TrimMode.Start`, `TrimMode.Middle` or `TrimMode.End`. Default: `TrimMode.Middle` */
|
|
67
|
+
labelTextTrimType?: TrimMode | string;
|
|
64
68
|
/** Font color of the axis label as CSS string. Default: `null` */
|
|
65
69
|
labelColor?: string | null;
|
|
66
70
|
/** Sets whether to draw the grid lines or not. Default: `true` */
|
|
@@ -71,6 +75,8 @@ export declare class VisAxisComponent<Datum> implements AxisConfigInterface<Datu
|
|
|
71
75
|
domainLine?: boolean;
|
|
72
76
|
/** Draw only the min and max axis ticks. Default: `false` */
|
|
73
77
|
minMaxTicksOnly?: boolean;
|
|
78
|
+
/** Show grid lines for the min and max axis ticks. Default: `false` */
|
|
79
|
+
minMaxTicksOnlyShowGridLines?: boolean;
|
|
74
80
|
/** Draw only the min and max axis ticks, when the chart
|
|
75
81
|
* width is less than the specified value.
|
|
76
82
|
* Default: `250` */
|
|
@@ -113,5 +119,5 @@ export declare class VisAxisComponent<Datum> implements AxisConfigInterface<Datu
|
|
|
113
119
|
ngOnChanges(changes: SimpleChanges): void;
|
|
114
120
|
private getConfig;
|
|
115
121
|
static ɵfac: i0.ɵɵFactoryDeclaration<VisAxisComponent<any>, never>;
|
|
116
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<VisAxisComponent<any>, "vis-axis", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "position": "position"; "type": "type"; "fullSize": "fullSize"; "label": "label"; "labelFontSize": "labelFontSize"; "labelMargin": "labelMargin"; "labelColor": "labelColor"; "gridLine": "gridLine"; "tickLine": "tickLine"; "domainLine": "domainLine"; "minMaxTicksOnly": "minMaxTicksOnly"; "minMaxTicksOnlyWhenWidthIsLess": "minMaxTicksOnlyWhenWidthIsLess"; "tickFormat": "tickFormat"; "tickValues": "tickValues"; "numTicks": "numTicks"; "tickTextFitMode": "tickTextFitMode"; "tickTextWidth": "tickTextWidth"; "tickTextSeparator": "tickTextSeparator"; "tickTextForceWordBreak": "tickTextForceWordBreak"; "tickTextTrimType": "tickTextTrimType"; "tickTextFontSize": "tickTextFontSize"; "tickTextAlign": "tickTextAlign"; "tickTextColor": "tickTextColor"; "tickTextAngle": "tickTextAngle"; "tickTextHideOverlapping": "tickTextHideOverlapping"; "tickPadding": "tickPadding"; "data": "data"; }, {}, never, never>;
|
|
122
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisAxisComponent<any>, "vis-axis", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "position": "position"; "type": "type"; "fullSize": "fullSize"; "label": "label"; "labelFontSize": "labelFontSize"; "labelMargin": "labelMargin"; "labelTextFitMode": "labelTextFitMode"; "labelTextTrimType": "labelTextTrimType"; "labelColor": "labelColor"; "gridLine": "gridLine"; "tickLine": "tickLine"; "domainLine": "domainLine"; "minMaxTicksOnly": "minMaxTicksOnly"; "minMaxTicksOnlyShowGridLines": "minMaxTicksOnlyShowGridLines"; "minMaxTicksOnlyWhenWidthIsLess": "minMaxTicksOnlyWhenWidthIsLess"; "tickFormat": "tickFormat"; "tickValues": "tickValues"; "numTicks": "numTicks"; "tickTextFitMode": "tickTextFitMode"; "tickTextWidth": "tickTextWidth"; "tickTextSeparator": "tickTextSeparator"; "tickTextForceWordBreak": "tickTextForceWordBreak"; "tickTextTrimType": "tickTextTrimType"; "tickTextFontSize": "tickTextFontSize"; "tickTextAlign": "tickTextAlign"; "tickTextColor": "tickTextColor"; "tickTextAngle": "tickTextAngle"; "tickTextHideOverlapping": "tickTextHideOverlapping"; "tickPadding": "tickPadding"; "data": "data"; }, {}, never, never>;
|
|
117
123
|
}
|
|
@@ -69,7 +69,7 @@ export declare class VisBrushComponent<Datum> implements BrushConfigInterface<Da
|
|
|
69
69
|
/** Allow dragging the selected area as a whole in order to change the selected range. Default: `false` */
|
|
70
70
|
draggable?: boolean;
|
|
71
71
|
/** Position of the handle: `Arrangement.Inside` or `Arrangement.Outside`. Default: `Arrangement.Inside` */
|
|
72
|
-
handlePosition?: Arrangement | string;
|
|
72
|
+
handlePosition?: Arrangement.Inside | Arrangement.Outside | string;
|
|
73
73
|
/** Constraint Brush selection to a minimal length in data units. Default: `undefined` */
|
|
74
74
|
selectionMinLength?: number;
|
|
75
75
|
data: Datum[];
|
|
@@ -80,9 +80,11 @@ export declare class VisCrosshairComponent<Datum> implements CrosshairConfigInte
|
|
|
80
80
|
baseline?: NumericAccessor<Datum>;
|
|
81
81
|
/** An instance of the Tooltip component to be used with Crosshair. Default: `undefined` */
|
|
82
82
|
tooltip?: Tooltip | undefined;
|
|
83
|
-
/** Tooltip template accessor. The function is supposed to return either a valid HTML string or an HTMLElement.
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
/** Tooltip template accessor. The function is supposed to return either a valid HTML string or an HTMLElement.
|
|
84
|
+
* When `snapToData` is `false`, `datum` will be `undefined` but `data` and `leftNearestDatumIndex` will be provided.
|
|
85
|
+
* Default: `d => ''` */
|
|
86
|
+
template?: (datum: Datum, x: number | Date, data: Datum[], leftNearestDatumIndex: number) => string | HTMLElement;
|
|
87
|
+
/** Hide Crosshair when the corresponding datum element is far from mouse pointer. Default: `true` */
|
|
86
88
|
hideWhenFarFromPointer?: boolean;
|
|
87
89
|
/** Distance in pixels to check in the hideWhenFarFromPointer condition. Default: `100` */
|
|
88
90
|
hideWhenFarFromPointerDistance?: number;
|
|
@@ -92,11 +94,22 @@ export declare class VisCrosshairComponent<Datum> implements CrosshairConfigInte
|
|
|
92
94
|
* Default: `true` */
|
|
93
95
|
snapToData?: boolean;
|
|
94
96
|
/** Custom function for setting up the crosshair circles, usually needed when `snapToData` is set to `false`.
|
|
95
|
-
* The function receives the horizontal position of the crosshair (in the data space, not in pixels), the data array
|
|
96
|
-
*
|
|
97
|
-
* It has to return an array of the CrosshairCircle objects: `{ y: number; color: string; opacity?: number }[]`.
|
|
97
|
+
* The function receives the horizontal position of the crosshair (in the data space, not in pixels), the data array,
|
|
98
|
+
* the `yScale` instance to help you calculate the correct vertical position of the circles, and the nearest datum index.
|
|
99
|
+
* It has to return an array of the `CrosshairCircle` objects: `{ y: number; color: string; opacity?: number }[]`.
|
|
98
100
|
* Default: `undefined` */
|
|
99
|
-
getCircles?: (x: number | Date
|
|
101
|
+
getCircles?: (x: number | Date, data: Datum[], yScale: ContinuousScale, leftNearestDatumIndex: number) => CrosshairCircle[];
|
|
102
|
+
/** Callback function that is called when the crosshair is moved:
|
|
103
|
+
* - `x` is the horizontal position of the crosshair in the data space;
|
|
104
|
+
* - `datum` is the nearest datum to the crosshair;
|
|
105
|
+
* - `datumIndex` is the index of the nearest datum.
|
|
106
|
+
* - `event` is the event that triggered the crosshair move (mouse or wheel).
|
|
107
|
+
*
|
|
108
|
+
* When the mouse goes out of the container and on wheel events, all the arguments are `undefined` except for `event`.
|
|
109
|
+
* Default: `undefined` */
|
|
110
|
+
onCrosshairMove?: (x?: number | Date, datum?: Datum, datumIndex?: number, event?: MouseEvent | WheelEvent) => void;
|
|
111
|
+
/** Force the crosshair to show at a specific position. Default: `undefined` */
|
|
112
|
+
forceShowAt?: number | Date;
|
|
100
113
|
data: Datum[];
|
|
101
114
|
component: Crosshair<Datum> | undefined;
|
|
102
115
|
componentContainer: ContainerCore | undefined;
|
|
@@ -104,5 +117,5 @@ export declare class VisCrosshairComponent<Datum> implements CrosshairConfigInte
|
|
|
104
117
|
ngOnChanges(changes: SimpleChanges): void;
|
|
105
118
|
private getConfig;
|
|
106
119
|
static ɵfac: i0.ɵɵFactoryDeclaration<VisCrosshairComponent<any>, never>;
|
|
107
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<VisCrosshairComponent<any>, "vis-crosshair", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "y": "y"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "strokeColor": "strokeColor"; "strokeWidth": "strokeWidth"; "yStacked": "yStacked"; "baseline": "baseline"; "tooltip": "tooltip"; "template": "template"; "hideWhenFarFromPointer": "hideWhenFarFromPointer"; "hideWhenFarFromPointerDistance": "hideWhenFarFromPointerDistance"; "snapToData": "snapToData"; "getCircles": "getCircles"; "data": "data"; }, {}, never, never>;
|
|
120
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisCrosshairComponent<any>, "vis-crosshair", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "y": "y"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "strokeColor": "strokeColor"; "strokeWidth": "strokeWidth"; "yStacked": "yStacked"; "baseline": "baseline"; "tooltip": "tooltip"; "template": "template"; "hideWhenFarFromPointer": "hideWhenFarFromPointer"; "hideWhenFarFromPointerDistance": "hideWhenFarFromPointerDistance"; "snapToData": "snapToData"; "getCircles": "getCircles"; "onCrosshairMove": "onCrosshairMove"; "forceShowAt": "forceShowAt"; "data": "data"; }, {}, never, never>;
|
|
108
121
|
}
|
|
@@ -105,6 +105,14 @@ export declare class VisGraphComponent<N extends GraphInputNode, L extends Graph
|
|
|
105
105
|
* Only for `GraphLayoutType.Parallel` and `GraphLayoutType.ParallelHorizontal` layouts.
|
|
106
106
|
* Default: `1` */
|
|
107
107
|
layoutParallelSubGroupsPerRow?: number;
|
|
108
|
+
/** Spacing between nodes, dynamic by default.
|
|
109
|
+
* Only for `GraphLayoutType.Parallel` and `GraphLayoutType.ParallelHorizontal` layouts.
|
|
110
|
+
* Default: `undefined` */
|
|
111
|
+
layoutParallelNodeSpacing?: number | [number, number];
|
|
112
|
+
/** Spacing between sub-groups.
|
|
113
|
+
* Only for `GraphLayoutType.Parallel` and `GraphLayoutType.ParallelHorizontal` layouts.
|
|
114
|
+
* Default: `40` */
|
|
115
|
+
layoutParallelSubGroupSpacing?: number;
|
|
108
116
|
/** Spacing between groups.
|
|
109
117
|
* Only for `GraphLayoutType.Parallel` and `GraphLayoutType.ParallelHorizontal` layouts.
|
|
110
118
|
* Default: `undefined` */
|
|
@@ -284,5 +292,5 @@ export declare class VisGraphComponent<N extends GraphInputNode, L extends Graph
|
|
|
284
292
|
ngOnChanges(changes: SimpleChanges): void;
|
|
285
293
|
private getConfig;
|
|
286
294
|
static ɵfac: i0.ɵɵFactoryDeclaration<VisGraphComponent<any, any>, never>;
|
|
287
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<VisGraphComponent<any, any>, "vis-graph", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "zoomScaleExtent": "zoomScaleExtent"; "disableZoom": "disableZoom"; "zoomEventFilter": "zoomEventFilter"; "disableDrag": "disableDrag"; "disableBrush": "disableBrush"; "zoomThrottledUpdateNodeThreshold": "zoomThrottledUpdateNodeThreshold"; "fitViewPadding": "fitViewPadding"; "fitViewAlign": "fitViewAlign"; "layoutType": "layoutType"; "layoutAutofit": "layoutAutofit"; "layoutAutofitTolerance": "layoutAutofitTolerance"; "layoutNonConnectedAside": "layoutNonConnectedAside"; "layoutNodeGroup": "layoutNodeGroup"; "layoutGroupOrder": "layoutGroupOrder"; "layoutParallelNodesPerColumn": "layoutParallelNodesPerColumn"; "layoutParallelNodeSubGroup": "layoutParallelNodeSubGroup"; "layoutParallelSubGroupsPerRow": "layoutParallelSubGroupsPerRow"; "layoutParallelGroupSpacing": "layoutParallelGroupSpacing"; "layoutParallelSortConnectionsByGroup": "layoutParallelSortConnectionsByGroup"; "forceLayoutSettings": "forceLayoutSettings"; "dagreLayoutSettings": "dagreLayoutSettings"; "layoutElkSettings": "layoutElkSettings"; "layoutElkNodeGroups": "layoutElkNodeGroups"; "layoutElkGetNodeShape": "layoutElkGetNodeShape"; "linkWidth": "linkWidth"; "linkStyle": "linkStyle"; "linkBandWidth": "linkBandWidth"; "linkArrow": "linkArrow"; "linkStroke": "linkStroke"; "linkDisabled": "linkDisabled"; "linkFlow": "linkFlow"; "linkFlowAnimDuration": "linkFlowAnimDuration"; "linkFlowParticleSize": "linkFlowParticleSize"; "linkFlowParticleSpeed": "linkFlowParticleSpeed"; "linkLabel": "linkLabel"; "linkLabelShiftFromCenter": "linkLabelShiftFromCenter"; "linkNeighborSpacing": "linkNeighborSpacing"; "linkCurvature": "linkCurvature"; "linkHighlightOnHover": "linkHighlightOnHover"; "linkSourcePointOffset": "linkSourcePointOffset"; "linkTargetPointOffset": "linkTargetPointOffset"; "selectedLinkId": "selectedLinkId"; "nodeSize": "nodeSize"; "nodeStrokeWidth": "nodeStrokeWidth"; "nodeShape": "nodeShape"; "nodeGaugeValue": "nodeGaugeValue"; "nodeGaugeFill": "nodeGaugeFill"; "nodeGaugeAnimDuration": "nodeGaugeAnimDuration"; "nodeIcon": "nodeIcon"; "nodeIconSize": "nodeIconSize"; "nodeLabel": "nodeLabel"; "nodeLabelTrim": "nodeLabelTrim"; "nodeLabelTrimMode": "nodeLabelTrimMode"; "nodeLabelTrimLength": "nodeLabelTrimLength"; "nodeSubLabel": "nodeSubLabel"; "nodeSubLabelTrim": "nodeSubLabelTrim"; "nodeSubLabelTrimMode": "nodeSubLabelTrimMode"; "nodeSubLabelTrimLength": "nodeSubLabelTrimLength"; "nodeSideLabels": "nodeSideLabels"; "nodeBottomIcon": "nodeBottomIcon"; "nodeDisabled": "nodeDisabled"; "nodeFill": "nodeFill"; "nodeStroke": "nodeStroke"; "nodeSort": "nodeSort"; "nodeEnterPosition": "nodeEnterPosition"; "nodeEnterScale": "nodeEnterScale"; "nodeExitPosition": "nodeExitPosition"; "nodeExitScale": "nodeExitScale"; "nodeEnterCustomRenderFunction": "nodeEnterCustomRenderFunction"; "nodeUpdateCustomRenderFunction": "nodeUpdateCustomRenderFunction"; "nodePartialUpdateCustomRenderFunction": "nodePartialUpdateCustomRenderFunction"; "nodeExitCustomRenderFunction": "nodeExitCustomRenderFunction"; "nodeOnZoomCustomRenderFunction": "nodeOnZoomCustomRenderFunction"; "nodeSelectionHighlightMode": "nodeSelectionHighlightMode"; "selectedNodeId": "selectedNodeId"; "selectedNodeIds": "selectedNodeIds"; "panels": "panels"; "onNodeDragStart": "onNodeDragStart"; "onNodeDrag": "onNodeDrag"; "onNodeDragEnd": "onNodeDragEnd"; "onZoom": "onZoom"; "onZoomStart": "onZoomStart"; "onZoomEnd": "onZoomEnd"; "onLayoutCalculated": "onLayoutCalculated"; "onNodeSelectionBrush": "onNodeSelectionBrush"; "onNodeSelectionDrag": "onNodeSelectionDrag"; "onRenderComplete": "onRenderComplete"; "shouldDataUpdate": "shouldDataUpdate"; "data": "data"; }, {}, never, never>;
|
|
295
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisGraphComponent<any, any>, "vis-graph", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "zoomScaleExtent": "zoomScaleExtent"; "disableZoom": "disableZoom"; "zoomEventFilter": "zoomEventFilter"; "disableDrag": "disableDrag"; "disableBrush": "disableBrush"; "zoomThrottledUpdateNodeThreshold": "zoomThrottledUpdateNodeThreshold"; "fitViewPadding": "fitViewPadding"; "fitViewAlign": "fitViewAlign"; "layoutType": "layoutType"; "layoutAutofit": "layoutAutofit"; "layoutAutofitTolerance": "layoutAutofitTolerance"; "layoutNonConnectedAside": "layoutNonConnectedAside"; "layoutNodeGroup": "layoutNodeGroup"; "layoutGroupOrder": "layoutGroupOrder"; "layoutParallelNodesPerColumn": "layoutParallelNodesPerColumn"; "layoutParallelNodeSubGroup": "layoutParallelNodeSubGroup"; "layoutParallelSubGroupsPerRow": "layoutParallelSubGroupsPerRow"; "layoutParallelNodeSpacing": "layoutParallelNodeSpacing"; "layoutParallelSubGroupSpacing": "layoutParallelSubGroupSpacing"; "layoutParallelGroupSpacing": "layoutParallelGroupSpacing"; "layoutParallelSortConnectionsByGroup": "layoutParallelSortConnectionsByGroup"; "forceLayoutSettings": "forceLayoutSettings"; "dagreLayoutSettings": "dagreLayoutSettings"; "layoutElkSettings": "layoutElkSettings"; "layoutElkNodeGroups": "layoutElkNodeGroups"; "layoutElkGetNodeShape": "layoutElkGetNodeShape"; "linkWidth": "linkWidth"; "linkStyle": "linkStyle"; "linkBandWidth": "linkBandWidth"; "linkArrow": "linkArrow"; "linkStroke": "linkStroke"; "linkDisabled": "linkDisabled"; "linkFlow": "linkFlow"; "linkFlowAnimDuration": "linkFlowAnimDuration"; "linkFlowParticleSize": "linkFlowParticleSize"; "linkFlowParticleSpeed": "linkFlowParticleSpeed"; "linkLabel": "linkLabel"; "linkLabelShiftFromCenter": "linkLabelShiftFromCenter"; "linkNeighborSpacing": "linkNeighborSpacing"; "linkCurvature": "linkCurvature"; "linkHighlightOnHover": "linkHighlightOnHover"; "linkSourcePointOffset": "linkSourcePointOffset"; "linkTargetPointOffset": "linkTargetPointOffset"; "selectedLinkId": "selectedLinkId"; "nodeSize": "nodeSize"; "nodeStrokeWidth": "nodeStrokeWidth"; "nodeShape": "nodeShape"; "nodeGaugeValue": "nodeGaugeValue"; "nodeGaugeFill": "nodeGaugeFill"; "nodeGaugeAnimDuration": "nodeGaugeAnimDuration"; "nodeIcon": "nodeIcon"; "nodeIconSize": "nodeIconSize"; "nodeLabel": "nodeLabel"; "nodeLabelTrim": "nodeLabelTrim"; "nodeLabelTrimMode": "nodeLabelTrimMode"; "nodeLabelTrimLength": "nodeLabelTrimLength"; "nodeSubLabel": "nodeSubLabel"; "nodeSubLabelTrim": "nodeSubLabelTrim"; "nodeSubLabelTrimMode": "nodeSubLabelTrimMode"; "nodeSubLabelTrimLength": "nodeSubLabelTrimLength"; "nodeSideLabels": "nodeSideLabels"; "nodeBottomIcon": "nodeBottomIcon"; "nodeDisabled": "nodeDisabled"; "nodeFill": "nodeFill"; "nodeStroke": "nodeStroke"; "nodeSort": "nodeSort"; "nodeEnterPosition": "nodeEnterPosition"; "nodeEnterScale": "nodeEnterScale"; "nodeExitPosition": "nodeExitPosition"; "nodeExitScale": "nodeExitScale"; "nodeEnterCustomRenderFunction": "nodeEnterCustomRenderFunction"; "nodeUpdateCustomRenderFunction": "nodeUpdateCustomRenderFunction"; "nodePartialUpdateCustomRenderFunction": "nodePartialUpdateCustomRenderFunction"; "nodeExitCustomRenderFunction": "nodeExitCustomRenderFunction"; "nodeOnZoomCustomRenderFunction": "nodeOnZoomCustomRenderFunction"; "nodeSelectionHighlightMode": "nodeSelectionHighlightMode"; "selectedNodeId": "selectedNodeId"; "selectedNodeIds": "selectedNodeIds"; "panels": "panels"; "onNodeDragStart": "onNodeDragStart"; "onNodeDrag": "onNodeDrag"; "onNodeDragEnd": "onNodeDragEnd"; "onZoom": "onZoom"; "onZoomStart": "onZoomStart"; "onZoomEnd": "onZoomEnd"; "onLayoutCalculated": "onLayoutCalculated"; "onNodeSelectionBrush": "onNodeSelectionBrush"; "onNodeSelectionDrag": "onNodeSelectionDrag"; "onRenderComplete": "onRenderComplete"; "shouldDataUpdate": "shouldDataUpdate"; "data": "data"; }, {}, never, never>;
|
|
288
296
|
}
|
|
@@ -69,7 +69,7 @@ export declare class VisNestedDonutComponent<Datum> implements NestedDonutConfig
|
|
|
69
69
|
showBackground?: boolean;
|
|
70
70
|
/** Sort function for segments. Default `undefined` */
|
|
71
71
|
sort?: (a: NestedDonutSegment<Datum>, b: NestedDonutSegment<Datum>) => number;
|
|
72
|
-
/** Array of accessor functions to defined the nested groups */
|
|
72
|
+
/** Array of accessor functions to defined the nested groups. Default: `[]` */
|
|
73
73
|
layers: StringAccessor<Datum>[];
|
|
74
74
|
/** Configuration properties for individual layers. Accepts an accessor or constant of type:
|
|
75
75
|
* {
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { AfterViewInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Plotband, PlotbandConfigInterface, ContainerCore, VisEventType, VisEventCallback, AxisType, PlotbandLabelPosition, PlotbandLabelOrientation } from '@unovis/ts';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class VisPlotbandComponent<Datum> implements PlotbandConfigInterface<Datum>, AfterViewInit {
|
|
5
|
+
/** Duration of the animation in milliseconds. */
|
|
6
|
+
duration?: number;
|
|
7
|
+
/** Events configuration. An object containing properties in the following format:
|
|
8
|
+
*
|
|
9
|
+
* ```
|
|
10
|
+
* {
|
|
11
|
+
* \[selectorString]: {
|
|
12
|
+
* \[eventType]: callbackFunction
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
* e.g.:
|
|
17
|
+
* ```
|
|
18
|
+
* {
|
|
19
|
+
* \[Area.selectors.area]: {
|
|
20
|
+
* click: (d) => console.log("Clicked Area", d)
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ``` */
|
|
24
|
+
events?: {
|
|
25
|
+
[selector: string]: {
|
|
26
|
+
[eventType in VisEventType]?: VisEventCallback;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/** You can set every SVG and HTML visualization object to have a custom DOM attributes, which is useful
|
|
30
|
+
* when you want to do unit or end-to-end testing. Attributes configuration object has the following structure:
|
|
31
|
+
*
|
|
32
|
+
* ```
|
|
33
|
+
* {
|
|
34
|
+
* \[selectorString]: {
|
|
35
|
+
* \[attributeName]: attribute constant value or accessor function
|
|
36
|
+
* }
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
* e.g.:
|
|
40
|
+
* ```
|
|
41
|
+
* {
|
|
42
|
+
* \[Area.selectors.area]: {
|
|
43
|
+
* "test-value": d => d.value
|
|
44
|
+
* }
|
|
45
|
+
* }
|
|
46
|
+
* ``` */
|
|
47
|
+
attributes?: {
|
|
48
|
+
[selector: string]: {
|
|
49
|
+
[attr: string]: string | number | boolean | ((datum: any) => string | number | boolean);
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
/** Axis to draw the plotband on. */
|
|
53
|
+
axis?: AxisType;
|
|
54
|
+
/** Start coordinate for the plotband. */
|
|
55
|
+
from?: number | null | undefined;
|
|
56
|
+
/** End coordinate for the plotband. */
|
|
57
|
+
to?: number | null | undefined;
|
|
58
|
+
/** Optional text to display on the plotband */
|
|
59
|
+
labelText?: string;
|
|
60
|
+
/** Position of the label relative to the plotband area (e.g., 'top-left-outside').
|
|
61
|
+
* Can be customized with a string. */
|
|
62
|
+
labelPosition?: PlotbandLabelPosition;
|
|
63
|
+
/** Horizontal offset (in pixels) for positioning the label. */
|
|
64
|
+
labelOffsetX?: number;
|
|
65
|
+
/** Vertical offset (in pixels) for positioning the label. */
|
|
66
|
+
labelOffsetY?: number;
|
|
67
|
+
/** Orientation of the label text. */
|
|
68
|
+
labelOrientation?: PlotbandLabelOrientation;
|
|
69
|
+
/** Optional color for the label text */
|
|
70
|
+
labelColor?: string;
|
|
71
|
+
/** Font size (in pixels) for the label text.
|
|
72
|
+
* Uses the CSS variable `--vis-plotband-label-font-size` by default, which resolves to `12px`. */
|
|
73
|
+
labelSize?: number;
|
|
74
|
+
component: Plotband<Datum> | undefined;
|
|
75
|
+
componentContainer: ContainerCore | undefined;
|
|
76
|
+
ngAfterViewInit(): void;
|
|
77
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
78
|
+
private getConfig;
|
|
79
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VisPlotbandComponent<any>, never>;
|
|
80
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisPlotbandComponent<any>, "vis-plotband", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "axis": "axis"; "from": "from"; "to": "to"; "labelText": "labelText"; "labelPosition": "labelPosition"; "labelOffsetX": "labelOffsetX"; "labelOffsetY": "labelOffsetY"; "labelOrientation": "labelOrientation"; "labelColor": "labelColor"; "labelSize": "labelSize"; }, {}, never, never>;
|
|
81
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./plotband.component";
|
|
3
|
+
export declare class VisPlotbandModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VisPlotbandModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<VisPlotbandModule, [typeof i1.VisPlotbandComponent], never, [typeof i1.VisPlotbandComponent]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<VisPlotbandModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { AfterViewInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Plotline, PlotlineConfigInterface, ContainerCore, VisEventType, VisEventCallback, AxisType, PlotlineLineStylePresets, PlotlineLabelPosition, PlotlineLabelOrientation } from '@unovis/ts';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class VisPlotlineComponent<Datum> implements PlotlineConfigInterface<Datum>, AfterViewInit {
|
|
5
|
+
/** Duration of the animation in milliseconds. */
|
|
6
|
+
duration?: number;
|
|
7
|
+
/** Events configuration. An object containing properties in the following format:
|
|
8
|
+
*
|
|
9
|
+
* ```
|
|
10
|
+
* {
|
|
11
|
+
* \[selectorString]: {
|
|
12
|
+
* \[eventType]: callbackFunction
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
* e.g.:
|
|
17
|
+
* ```
|
|
18
|
+
* {
|
|
19
|
+
* \[Area.selectors.area]: {
|
|
20
|
+
* click: (d) => console.log("Clicked Area", d)
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ``` */
|
|
24
|
+
events?: {
|
|
25
|
+
[selector: string]: {
|
|
26
|
+
[eventType in VisEventType]?: VisEventCallback;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/** You can set every SVG and HTML visualization object to have a custom DOM attributes, which is useful
|
|
30
|
+
* when you want to do unit or end-to-end testing. Attributes configuration object has the following structure:
|
|
31
|
+
*
|
|
32
|
+
* ```
|
|
33
|
+
* {
|
|
34
|
+
* \[selectorString]: {
|
|
35
|
+
* \[attributeName]: attribute constant value or accessor function
|
|
36
|
+
* }
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
* e.g.:
|
|
40
|
+
* ```
|
|
41
|
+
* {
|
|
42
|
+
* \[Area.selectors.area]: {
|
|
43
|
+
* "test-value": d => d.value
|
|
44
|
+
* }
|
|
45
|
+
* }
|
|
46
|
+
* ``` */
|
|
47
|
+
attributes?: {
|
|
48
|
+
[selector: string]: {
|
|
49
|
+
[attr: string]: string | number | boolean | ((datum: any) => string | number | boolean);
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
/** Line width in pixels.
|
|
53
|
+
* Uses CSS variable: `--vis-plotline-width`. */
|
|
54
|
+
lineWidth?: number;
|
|
55
|
+
/** Plotline direction type.
|
|
56
|
+
* Should be either `AxisType.X` or `AxisType.Y`. */
|
|
57
|
+
axis?: AxisType | string;
|
|
58
|
+
/** Value to draw the plotline at. */
|
|
59
|
+
value?: number | null | undefined;
|
|
60
|
+
/** Line style of the plotline.
|
|
61
|
+
* Can be a named preset or an array of numbers representing `stroke-dasharray`.
|
|
62
|
+
* Uses CSS variable: `--vis-plotline-dasharray`. */
|
|
63
|
+
lineStyle?: PlotlineLineStylePresets | number[];
|
|
64
|
+
/** Label text to display on the plotline. */
|
|
65
|
+
labelText?: string;
|
|
66
|
+
/** Position of the label relative to the plotline. */
|
|
67
|
+
labelPosition?: PlotlineLabelPosition;
|
|
68
|
+
/** Horizontal offset of the label in pixels. */
|
|
69
|
+
labelOffsetX?: number;
|
|
70
|
+
/** Vertical offset of the label in pixels. */
|
|
71
|
+
labelOffsetY?: number;
|
|
72
|
+
/** Orientation of the label: horizontal or vertical. */
|
|
73
|
+
labelOrientation?: PlotlineLabelOrientation;
|
|
74
|
+
/** Color of the label text.
|
|
75
|
+
* Uses CSS variable: `--vis-plotline-label-color`. */
|
|
76
|
+
labelColor?: string;
|
|
77
|
+
/** Font size of the label text in pixels.
|
|
78
|
+
* Uses CSS variable: `--vis-plotline-label-font-size`. */
|
|
79
|
+
labelSize?: number;
|
|
80
|
+
component: Plotline<Datum> | undefined;
|
|
81
|
+
componentContainer: ContainerCore | undefined;
|
|
82
|
+
ngAfterViewInit(): void;
|
|
83
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
84
|
+
private getConfig;
|
|
85
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VisPlotlineComponent<any>, never>;
|
|
86
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisPlotlineComponent<any>, "vis-plotline", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "lineWidth": "lineWidth"; "axis": "axis"; "value": "value"; "lineStyle": "lineStyle"; "labelText": "labelText"; "labelPosition": "labelPosition"; "labelOffsetX": "labelOffsetX"; "labelOffsetY": "labelOffsetY"; "labelOrientation": "labelOrientation"; "labelColor": "labelColor"; "labelSize": "labelSize"; }, {}, never, never>;
|
|
87
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./plotline.component";
|
|
3
|
+
export declare class VisPlotlineModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VisPlotlineModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<VisPlotlineModule, [typeof i1.VisPlotlineComponent], never, [typeof i1.VisPlotlineComponent]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<VisPlotlineModule>;
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AfterViewInit, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { Timeline, TimelineConfigInterface, ContainerCore, VisEventType, VisEventCallback, NumericAccessor, ColorAccessor, ContinuousScale, StringAccessor } from '@unovis/ts';
|
|
2
|
+
import { Timeline, TimelineConfigInterface, ContainerCore, VisEventType, VisEventCallback, NumericAccessor, ColorAccessor, ContinuousScale, StringAccessor, GenericAccessor, Arrangement, TimelineRowLabel, TimelineRowIcon, TextAlign, TimelineArrow, TimelineLineRenderState } from '@unovis/ts';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class VisTimelineComponent<Datum> implements TimelineConfigInterface<Datum>, AfterViewInit {
|
|
5
5
|
/** Animation duration of the data update transitions in milliseconds. Default: `600` */
|
|
@@ -68,30 +68,80 @@ export declare class VisTimelineComponent<Datum> implements TimelineConfigInterf
|
|
|
68
68
|
* the scales of the chart.
|
|
69
69
|
* Default: `false` */
|
|
70
70
|
excludeFromDomainCalculation?: boolean;
|
|
71
|
+
/** */
|
|
72
|
+
type?: StringAccessor<Datum>;
|
|
73
|
+
/** */
|
|
74
|
+
length?: NumericAccessor<Datum>;
|
|
75
|
+
/** */
|
|
76
|
+
cursor?: StringAccessor<Datum>;
|
|
77
|
+
/** Timeline item row accessor function. Records with the `lineRow` will be plotted in one row. Default: `undefined` */
|
|
78
|
+
lineRow?: StringAccessor<Datum>;
|
|
79
|
+
/** Timeline item duration accessor function. Default: `undefined`. Falls back to the deprecated `length` property */
|
|
80
|
+
lineDuration?: NumericAccessor<Datum>;
|
|
71
81
|
/** Width of the timeline items. Default: `8` */
|
|
72
82
|
lineWidth?: NumericAccessor<Datum>;
|
|
73
83
|
/** Display rounded ends for timeline items. Default: `true` */
|
|
74
84
|
lineCap?: boolean;
|
|
85
|
+
/** Provide a href to an SVG defined in container's `svgDefs` to display an icon at the start of the line. Default: undefined */
|
|
86
|
+
lineStartIcon?: StringAccessor<Datum>;
|
|
87
|
+
/** Line start icon color accessor function. Default: `undefined` */
|
|
88
|
+
lineStartIconColor?: StringAccessor<Datum>;
|
|
89
|
+
/** Line start icon size accessor function. Default: `undefined` */
|
|
90
|
+
lineStartIconSize?: NumericAccessor<Datum>;
|
|
91
|
+
/** Line start icon arrangement configuration. Controls how the icon is positioned relative to the line.
|
|
92
|
+
* Accepts values from the Arrangement enum: `Arrangement.Start`, `Arrangement.Middle`, `Arrangement.End` or a string equivalent.
|
|
93
|
+
* Default: `Arrangement.Inside` */
|
|
94
|
+
lineStartIconArrangement?: GenericAccessor<Arrangement | any, Datum>;
|
|
95
|
+
/** Provide a href to an SVG defined in container's `svgDefs` to display an icon at the end of the line. Default: undefined */
|
|
96
|
+
lineEndIcon?: StringAccessor<Datum>;
|
|
97
|
+
/** Line end icon color accessor function. Default: `undefined` */
|
|
98
|
+
lineEndIconColor?: StringAccessor<Datum>;
|
|
99
|
+
/** Line end icon size accessor function. Default: `undefined` */
|
|
100
|
+
lineEndIconSize?: NumericAccessor<Datum>;
|
|
101
|
+
/** Line end icon arrangement configuration. Controls how the icon is positioned relative to the line.
|
|
102
|
+
* Accepts values from the Arrangement enum: `Arrangement.Start`, `Arrangement.Middle`, `Arrangement.End` or a string equivalent.
|
|
103
|
+
* Default: `Arrangement.Inside` */
|
|
104
|
+
lineEndIconArrangement?: GenericAccessor<Arrangement | any, Datum>;
|
|
105
|
+
/** Configurable Timeline item cursor when hovering over. Default: `undefined` */
|
|
106
|
+
lineCursor?: StringAccessor<Datum>;
|
|
107
|
+
/** Sets the minimum line length to 1 pixel for better visibility of small values.
|
|
108
|
+
* When `lineCap` is set to `true`, the segment will be rendered as a circle.
|
|
109
|
+
* Default: `false` */
|
|
110
|
+
showEmptySegments?: boolean;
|
|
111
|
+
/** Center small segments when `showEmptySegments` and `lineCap` are set to `true`.
|
|
112
|
+
* Default: `true` */
|
|
113
|
+
showEmptySegmentsCorrectPosition?: boolean;
|
|
75
114
|
/** Timeline row height. Default: `22` */
|
|
76
115
|
rowHeight?: number;
|
|
77
|
-
/**
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
type?: StringAccessor<Datum>;
|
|
81
|
-
/** Configurable Timeline item cursor when hovering over. Default: `null` */
|
|
82
|
-
cursor?: StringAccessor<Datum>;
|
|
83
|
-
/** Show item type labels when set to `true`. Default: `false` */
|
|
116
|
+
/** Alternating row colors. Default: `true` */
|
|
117
|
+
alternatingRowColors?: boolean;
|
|
118
|
+
/** */
|
|
84
119
|
showLabels?: boolean;
|
|
85
|
-
/**
|
|
120
|
+
/** */
|
|
86
121
|
labelWidth?: number;
|
|
87
|
-
/**
|
|
122
|
+
/** */
|
|
88
123
|
maxLabelWidth?: number;
|
|
89
|
-
/**
|
|
90
|
-
|
|
124
|
+
/** Show row labels when set to `true`. Default: `false`. Falls back to deprecated `showLabels` */
|
|
125
|
+
showRowLabels?: boolean;
|
|
126
|
+
/** Row label style as an object with the `{ [property-name]: value }` format. Default: `undefined` */
|
|
127
|
+
rowLabelStyle?: GenericAccessor<Record<string, string>, TimelineRowLabel<Datum>>;
|
|
128
|
+
/** Row label formatter function. Default: `undefined` */
|
|
129
|
+
rowLabelFormatter?: (key: string, items: Datum[], i: number) => string;
|
|
130
|
+
/** Provide an icon href to be displayed before the row label. Default: `undefined` */
|
|
131
|
+
rowIcon?: (key: string, items: Datum[], i: number) => TimelineRowIcon | undefined;
|
|
132
|
+
/** Fixed label width in pixels. Labels longer than the specified value will be trimmed. Default: `undefined`. Falls back to deprecated `labelWidth`. */
|
|
133
|
+
rowLabelWidth?: number;
|
|
134
|
+
/** Maximum label width in pixels. Labels longer than the specified value will be trimmed. Default: `undefined`. Falls back to deprecated `maxLabelWidth`. */
|
|
135
|
+
rowMaxLabelWidth?: number;
|
|
136
|
+
/** Text alignment for labels: `TextAlign.Left`, `TextAlign.Center` or `TextAlign.Right`. Default: `TextAlign.Right` */
|
|
137
|
+
rowLabelTextAlign?: TextAlign | any;
|
|
138
|
+
arrows?: TimelineArrow[];
|
|
139
|
+
/** Control the animation by specify the initial position for new lines as [x, y]. Default: `undefined` */
|
|
140
|
+
animationLineEnterPosition?: [number | undefined | null, number | undefined | null] | ((d: Datum & TimelineLineRenderState, i: number, data: (Datum & TimelineLineRenderState)[]) => [number | undefined, number | undefined]) | undefined;
|
|
141
|
+
/** Control the animation by specify the destination position for exiting lines as [x, y]. Default: `undefined` */
|
|
142
|
+
animationLineExitPosition?: [number | undefined | null, number | undefined | null] | ((d: Datum & TimelineLineRenderState, i: number, data: (Datum & TimelineLineRenderState)[]) => [number | undefined, number | undefined]) | undefined;
|
|
91
143
|
/** Scrolling callback function: `(scrollTop: number) => void`. Default: `undefined` */
|
|
92
144
|
onScroll?: (scrollTop: number) => void;
|
|
93
|
-
/** Sets the minimum line length to 1 pixel for better visibility of small values. Default: `false` */
|
|
94
|
-
showEmptySegments?: boolean;
|
|
95
145
|
data: Datum[];
|
|
96
146
|
component: Timeline<Datum> | undefined;
|
|
97
147
|
componentContainer: ContainerCore | undefined;
|
|
@@ -99,5 +149,5 @@ export declare class VisTimelineComponent<Datum> implements TimelineConfigInterf
|
|
|
99
149
|
ngOnChanges(changes: SimpleChanges): void;
|
|
100
150
|
private getConfig;
|
|
101
151
|
static ɵfac: i0.ɵɵFactoryDeclaration<VisTimelineComponent<any>, never>;
|
|
102
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<VisTimelineComponent<any>, "vis-timeline", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "lineWidth": "lineWidth"; "lineCap": "lineCap"; "
|
|
152
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisTimelineComponent<any>, "vis-timeline", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "type": "type"; "length": "length"; "cursor": "cursor"; "lineRow": "lineRow"; "lineDuration": "lineDuration"; "lineWidth": "lineWidth"; "lineCap": "lineCap"; "lineStartIcon": "lineStartIcon"; "lineStartIconColor": "lineStartIconColor"; "lineStartIconSize": "lineStartIconSize"; "lineStartIconArrangement": "lineStartIconArrangement"; "lineEndIcon": "lineEndIcon"; "lineEndIconColor": "lineEndIconColor"; "lineEndIconSize": "lineEndIconSize"; "lineEndIconArrangement": "lineEndIconArrangement"; "lineCursor": "lineCursor"; "showEmptySegments": "showEmptySegments"; "showEmptySegmentsCorrectPosition": "showEmptySegmentsCorrectPosition"; "rowHeight": "rowHeight"; "alternatingRowColors": "alternatingRowColors"; "showLabels": "showLabels"; "labelWidth": "labelWidth"; "maxLabelWidth": "maxLabelWidth"; "showRowLabels": "showRowLabels"; "rowLabelStyle": "rowLabelStyle"; "rowLabelFormatter": "rowLabelFormatter"; "rowIcon": "rowIcon"; "rowLabelWidth": "rowLabelWidth"; "rowMaxLabelWidth": "rowMaxLabelWidth"; "rowLabelTextAlign": "rowLabelTextAlign"; "arrows": "arrows"; "animationLineEnterPosition": "animationLineEnterPosition"; "animationLineExitPosition": "animationLineExitPosition"; "onScroll": "onScroll"; "data": "data"; }, {}, never, never>;
|
|
103
153
|
}
|
package/dist/lib/components.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export { VisLineComponent } from './components/line/line.component';
|
|
|
23
23
|
export { VisLineModule } from './components/line/line.module';
|
|
24
24
|
export { VisNestedDonutComponent } from './components/nested-donut/nested-donut.component';
|
|
25
25
|
export { VisNestedDonutModule } from './components/nested-donut/nested-donut.module';
|
|
26
|
+
export { VisPlotlineComponent } from './components/plotline/plotline.component';
|
|
27
|
+
export { VisPlotlineModule } from './components/plotline/plotline.module';
|
|
26
28
|
export { VisSankeyComponent } from './components/sankey/sankey.component';
|
|
27
29
|
export { VisSankeyModule } from './components/sankey/sankey.module';
|
|
28
30
|
export { VisScatterComponent } from './components/scatter/scatter.component';
|
|
@@ -35,11 +37,15 @@ export { VisXYLabelsComponent } from './components/xy-labels/xy-labels.component
|
|
|
35
37
|
export { VisXYLabelsModule } from './components/xy-labels/xy-labels.module';
|
|
36
38
|
export { VisTopoJSONMapComponent } from './components/topojson-map/topojson-map.component';
|
|
37
39
|
export { VisTopoJSONMapModule } from './components/topojson-map/topojson-map.module';
|
|
40
|
+
export { VisPlotbandComponent } from './components/plotband/plotband.component';
|
|
41
|
+
export { VisPlotbandModule } from './components/plotband/plotband.module';
|
|
38
42
|
export { VisLeafletMapComponent } from './html-components/leaflet-map/leaflet-map.component';
|
|
39
43
|
export { VisLeafletMapModule } from './html-components/leaflet-map/leaflet-map.module';
|
|
40
44
|
export { VisLeafletFlowMapComponent } from './html-components/leaflet-flow-map/leaflet-flow-map.component';
|
|
41
45
|
export { VisLeafletFlowMapModule } from './html-components/leaflet-flow-map/leaflet-flow-map.module';
|
|
42
46
|
export { VisBulletLegendComponent } from './html-components/bullet-legend/bullet-legend.component';
|
|
43
47
|
export { VisBulletLegendModule } from './html-components/bullet-legend/bullet-legend.module';
|
|
48
|
+
export { VisRollingPinLegendComponent } from './html-components/rolling-pin-legend/rolling-pin-legend.component';
|
|
49
|
+
export { VisRollingPinLegendModule } from './html-components/rolling-pin-legend/rolling-pin-legend.module';
|
|
44
50
|
export { VisTooltipComponent } from './components/tooltip/tooltip.component';
|
|
45
51
|
export { VisTooltipModule } from './components/tooltip/tooltip.module';
|
|
@@ -21,8 +21,8 @@ export class VisAxisComponent {
|
|
|
21
21
|
(_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
|
|
22
22
|
}
|
|
23
23
|
getConfig() {
|
|
24
|
-
const { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding } = this;
|
|
25
|
-
const config = { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding };
|
|
24
|
+
const { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding } = this;
|
|
25
|
+
const config = { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding };
|
|
26
26
|
const keys = Object.keys(config);
|
|
27
27
|
keys.forEach(key => { if (config[key] === undefined)
|
|
28
28
|
delete config[key]; });
|
|
@@ -30,7 +30,7 @@ export class VisAxisComponent {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
VisAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", labelColor: "labelColor", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", minMaxTicksOnlyWhenWidthIsLess: "minMaxTicksOnlyWhenWidthIsLess", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickTextColor: "tickTextColor", tickTextAngle: "tickTextAngle", tickTextHideOverlapping: "tickTextHideOverlapping", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
33
|
+
VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", labelTextFitMode: "labelTextFitMode", labelTextTrimType: "labelTextTrimType", labelColor: "labelColor", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", minMaxTicksOnlyShowGridLines: "minMaxTicksOnlyShowGridLines", minMaxTicksOnlyWhenWidthIsLess: "minMaxTicksOnlyWhenWidthIsLess", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickTextColor: "tickTextColor", tickTextAngle: "tickTextAngle", tickTextHideOverlapping: "tickTextHideOverlapping", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{
|
|
@@ -57,6 +57,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
57
57
|
type: Input
|
|
58
58
|
}], labelMargin: [{
|
|
59
59
|
type: Input
|
|
60
|
+
}], labelTextFitMode: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], labelTextTrimType: [{
|
|
63
|
+
type: Input
|
|
60
64
|
}], labelColor: [{
|
|
61
65
|
type: Input
|
|
62
66
|
}], gridLine: [{
|
|
@@ -67,6 +71,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
67
71
|
type: Input
|
|
68
72
|
}], minMaxTicksOnly: [{
|
|
69
73
|
type: Input
|
|
74
|
+
}], minMaxTicksOnlyShowGridLines: [{
|
|
75
|
+
type: Input
|
|
70
76
|
}], minMaxTicksOnlyWhenWidthIsLess: [{
|
|
71
77
|
type: Input
|
|
72
78
|
}], tickFormat: [{
|
|
@@ -100,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
100
106
|
}], data: [{
|
|
101
107
|
type: Input
|
|
102
108
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9heGlzL2F4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQTBJM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FB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Ly8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXhpcyxcbiAgQXhpc0NvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBQb3NpdGlvbixcbiAgQXhpc1R5cGUsXG4gIEZpdE1vZGUsXG4gIFRyaW1Nb2RlLFxuICBUZXh0QWxpZ24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1heGlzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0F4aXNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0F4aXNDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQXhpcyBwb3NpdGlvbjogYFBvc2l0aW9uLlRvcGAsIGBQb3NpdGlvbi5Cb3R0b21gLCBgUG9zaXRpb24uUmlnaHRgIG9yIGBQb3NpdGlvbi5MZWZ0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBQb3NpdGlvbiB8IHN0cmluZ1xuXG4gIC8qKiBBeGlzIHR5cGU6IGBBeGlzVHlwZS5YYCBvciBgQXhpc1R5cGUuWWAgKi9cbiAgQElucHV0KCkgdHlwZT86IEF4aXNUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEV4dGVuZCB0aGUgYXhpcyBkb21haW4gbGluZSB0byBiZSBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZnVsbFNpemU/OiBib29sZWFuXG5cbiAgLyoqIEF4aXMgbGFiZWwuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgYXhpcyBsYWJlbCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXhpcyBhbmQgdGhlIGxhYmVsIGluIHBpeGVscy4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIGxhYmVsTWFyZ2luPzogbnVtYmVyXG5cbiAgLyoqIEZvbnQgY29sb3Igb2YgdGhlIGF4aXMgbGFiZWwgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGxhYmVsQ29sb3I/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFNldHMgd2hldGhlciB0byBkcmF3IHRoZSBncmlkIGxpbmVzIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGdyaWRMaW5lPzogYm9vbGVhblxuXG4gIC8qKiBTZXRzIHdoZXRoZXIgdG8gZHJhdyB0aGUgdGljayBsaW5lcyBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSB0aWNrTGluZT86IGJvb2xlYW5cblxuICAvKiogU2V0cyB3aGV0aGVyIHRvIGRyYXcgdGhlIGRvbWFpbiBsaW5lIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGRvbWFpbkxpbmU/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgb25seSB0aGUgbWluIGFuZCBtYXggYXhpcyB0aWNrcy4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5NYXhUaWNrc09ubHk/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgb25seSB0aGUgbWluIGFuZCBtYXggYXhpcyB0aWNrcywgd2hlbiB0aGUgY2hhcnRcbiAgICogd2lkdGggaXMgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqIERlZmF1bHQ6IGAyNTBgICovXG4gIEBJbnB1dCgpIG1pbk1heFRpY2tzT25seVdoZW5XaWR0aElzTGVzcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIGxhYmVsIGZvcm1hdHRlciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja0Zvcm1hdD86ICgodGljazogbnVtYmVyIHwgRGF0ZSwgaTogbnVtYmVyLCB0aWNrczogbnVtYmVyW10gfCBEYXRlW10pID0+IHN0cmluZylcblxuICAvKiogRXhwbGljaXRseSBzZXQgdGljayB2YWx1ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tWYWx1ZXM/OiBudW1iZXJbXVxuXG4gIC8qKiBTZXQgdGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBheGlzIHRpY2tzICh3aWxsIGJlIHBhc3NlZCB0byBEMydzIGF4aXMgY29uc3RydWN0b3IpLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBudW1UaWNrcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgdGlja1RleHRGaXRNb2RlPzogRml0TW9kZSB8IHN0cmluZ1xuXG4gIC8qKiBNYXhpbXVtIHdpZHRoIGluIHBpeGVscyBmb3IgdGhlIHRpY2sgdGV4dCB0byBiZSB3cmFwcGVkIG9yIHRyaW1tZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0V2lkdGg/OiBudW1iZXJcblxuICAvKiogVGljayB0ZXh0IHdyYXBwaW5nIHNlcGFyYXRvci4gU3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0U2VwYXJhdG9yPzogc3RyaW5nIHwgc3RyaW5nW11cblxuICAvKiogRm9yY2Ugd29yZCBicmVhayBmb3IgdGlja3Mgd2hlbiB0aGV5IGRvbid0IGZpdC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvcmNlV29yZEJyZWFrPzogYm9vbGVhblxuXG4gIC8qKiBUaWNrIHRleHQgdHJpbSBtb2RlOiBgVHJpbU1vZGUuU3RhcnRgLCBgVHJpbU1vZGUuTWlkZGxlYCBvciBgVHJpbU1vZGUuRW5kYC4gRGVmYXVsdDogYFRyaW1Nb2RlLk1pZGRsZWAgKi9cbiAgQElucHV0KCkgdGlja1RleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgdGljayB0ZXh0IGFzIENTUyBzdHJpbmcuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvbnRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBUZXh0IGFsaWdubWVudCBmb3IgdGlja3M6IGBUZXh0QWxpZ24uTGVmdGAsIGBUZXh0QWxpZ24uQ2VudGVyYCBvciBgVGV4dEFsaWduLlJpZ2h0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRBbGlnbj86IFRleHRBbGlnbiB8IHN0cmluZ1xuXG4gIC8qKiBGb250IGNvbG9yIG9mIHRoZSB0aWNrIHRleHQgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0Q29sb3I/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFRleHQgcm90YXRpb24gYW5nbGUgZm9yIHRpY2tzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEFuZ2xlPzogbnVtYmVyXG5cbiAgLyoqIEhpZGUgdGljayBsYWJlbHMgdGhhdCBvdmVybGFwIHdpdGggZWFjaCBvdGhlci5cbiAgICogVG8gZGVmaW5lIG92ZXJsYXBwaW5nLCBhIHNpbXBsZSBib3VuZGluZyBib3ggY29sbGlzaW9uIGRldGVjdGlvbiBhbGdvcml0aG0gaXMgdXNlZC5cbiAgICogV2hpY2ggbWVhbnMgdGhlIHJlc3VsdCB3b24ndCBiZSBhY2N1cmF0ZSB3aGVuIGB0aWNrVGV4dEFuZ2xlYCBpcyBzcGVjaWZpZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0SGlkZU92ZXJsYXBwaW5nPzogYm9vbGVhblxuXG4gIC8qKiBUaGUgc3BhY2luZyBpbiBwaXhlbHMgYmV0d2VlbiB0aGUgdGljayBhbmQgaXQncyBsYWJlbC4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIHRpY2tQYWRkaW5nPzogbnVtYmVyXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IEF4aXM8RGF0dW0+IHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBjb21wb25lbnRDb250YWluZXI6IENvbnRhaW5lckNvcmUgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IEF4aXM8RGF0dW0+KHRoaXMuZ2V0Q29uZmlnKCkpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkgeyB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpIH1cbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4ge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgcG9zaXRpb24sIHR5cGUsIGZ1bGxTaXplLCBsYWJlbCwgbGFiZWxGb250U2l6ZSwgbGFiZWxNYXJnaW4sIGxhYmVsQ29sb3IsIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCBtaW5NYXhUaWNrc09ubHlXaGVuV2lkdGhJc0xlc3MsIHRpY2tGb3JtYXQsIHRpY2tWYWx1ZXMsIG51bVRpY2tzLCB0aWNrVGV4dEZpdE1vZGUsIHRpY2tUZXh0V2lkdGgsIHRpY2tUZXh0U2VwYXJhdG9yLCB0aWNrVGV4dEZvcmNlV29yZEJyZWFrLCB0aWNrVGV4dFRyaW1UeXBlLCB0aWNrVGV4dEZvbnRTaXplLCB0aWNrVGV4dEFsaWduLCB0aWNrVGV4dENvbG9yLCB0aWNrVGV4dEFuZ2xlLCB0aWNrVGV4dEhpZGVPdmVybGFwcGluZywgdGlja1BhZGRpbmcgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHBvc2l0aW9uLCB0eXBlLCBmdWxsU2l6ZSwgbGFiZWwsIGxhYmVsRm9udFNpemUsIGxhYmVsTWFyZ2luLCBsYWJlbENvbG9yLCBncmlkTGluZSwgdGlja0xpbmUsIGRvbWFpbkxpbmUsIG1pbk1heFRpY2tzT25seSwgbWluTWF4VGlja3NPbmx5V2hlbldpZHRoSXNMZXNzLCB0aWNrRm9ybWF0LCB0aWNrVmFsdWVzLCBudW1UaWNrcywgdGlja1RleHRGaXRNb2RlLCB0aWNrVGV4dFdpZHRoLCB0aWNrVGV4dFNlcGFyYXRvciwgdGlja1RleHRGb3JjZVdvcmRCcmVhaywgdGlja1RleHRUcmltVHlwZSwgdGlja1RleHRGb250U2l6ZSwgdGlja1RleHRBbGlnbiwgdGlja1RleHRDb2xvciwgdGlja1RleHRBbmdsZSwgdGlja1RleHRIaWRlT3ZlcmxhcHBpbmcsIHRpY2tQYWRkaW5nIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9heGlzL2F4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQW1KM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FB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QkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsdUJBQXVCO3NCQUEvQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXhpcyxcbiAgQXhpc0NvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBQb3NpdGlvbixcbiAgQXhpc1R5cGUsXG4gIEZpdE1vZGUsXG4gIFRyaW1Nb2RlLFxuICBUZXh0QWxpZ24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1heGlzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0F4aXNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0F4aXNDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQXhpcyBwb3NpdGlvbjogYFBvc2l0aW9uLlRvcGAsIGBQb3NpdGlvbi5Cb3R0b21gLCBgUG9zaXRpb24uUmlnaHRgIG9yIGBQb3NpdGlvbi5MZWZ0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBQb3NpdGlvbiB8IHN0cmluZ1xuXG4gIC8qKiBBeGlzIHR5cGU6IGBBeGlzVHlwZS5YYCBvciBgQXhpc1R5cGUuWWAgKi9cbiAgQElucHV0KCkgdHlwZT86IEF4aXNUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEV4dGVuZCB0aGUgYXhpcyBkb21haW4gbGluZSB0byBiZSBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZnVsbFNpemU/OiBib29sZWFuXG5cbiAgLyoqIEF4aXMgbGFiZWwuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgYXhpcyBsYWJlbCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXhpcyBhbmQgdGhlIGxhYmVsIGluIHBpeGVscy4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIGxhYmVsTWFyZ2luPzogbnVtYmVyXG5cbiAgLyoqIExhYmVsIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgbGFiZWxUZXh0Rml0TW9kZT86IEZpdE1vZGUgfCBzdHJpbmdcblxuICAvKiogTGFiZWwgdGV4dCB0cmltIG1vZGU6IGBUcmltTW9kZS5TdGFydGAsIGBUcmltTW9kZS5NaWRkbGVgIG9yIGBUcmltTW9kZS5FbmRgLiBEZWZhdWx0OiBgVHJpbU1vZGUuTWlkZGxlYCAqL1xuICBASW5wdXQoKSBsYWJlbFRleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgY29sb3Igb2YgdGhlIGF4aXMgbGFiZWwgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGxhYmVsQ29sb3I/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFNldHMgd2hldGhlciB0byBkcmF3IHRoZSBncmlkIGxpbmVzIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGdyaWRMaW5lPzogYm9vbGVhblxuXG4gIC8qKiBTZXRzIHdoZXRoZXIgdG8gZHJhdyB0aGUgdGljayBsaW5lcyBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSB0aWNrTGluZT86IGJvb2xlYW5cblxuICAvKiogU2V0cyB3aGV0aGVyIHRvIGRyYXcgdGhlIGRvbWFpbiBsaW5lIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGRvbWFpbkxpbmU/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgb25seSB0aGUgbWluIGFuZCBtYXggYXhpcyB0aWNrcy4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5NYXhUaWNrc09ubHk/OiBib29sZWFuXG5cbiAgLyoqIFNob3cgZ3JpZCBsaW5lcyBmb3IgdGhlIG1pbiBhbmQgbWF4IGF4aXMgdGlja3MuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgbWluTWF4VGlja3NPbmx5U2hvd0dyaWRMaW5lcz86IGJvb2xlYW5cblxuICAvKiogRHJhdyBvbmx5IHRoZSBtaW4gYW5kIG1heCBheGlzIHRpY2tzLCB3aGVuIHRoZSBjaGFydFxuICAgKiB3aWR0aCBpcyBsZXNzIHRoYW4gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICogRGVmYXVsdDogYDI1MGAgKi9cbiAgQElucHV0KCkgbWluTWF4VGlja3NPbmx5V2hlbldpZHRoSXNMZXNzPzogbnVtYmVyXG5cbiAgLyoqIFRpY2sgbGFiZWwgZm9ybWF0dGVyIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrRm9ybWF0PzogKCh0aWNrOiBudW1iZXIgfCBEYXRlLCBpOiBudW1iZXIsIHRpY2tzOiBudW1iZXJbXSB8IERhdGVbXSkgPT4gc3RyaW5nKVxuXG4gIC8qKiBFeHBsaWNpdGx5IHNldCB0aWNrIHZhbHVlcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1ZhbHVlcz86IG51bWJlcltdXG5cbiAgLyoqIFNldCB0aGUgYXBwcm94aW1hdGUgbnVtYmVyIG9mIGF4aXMgdGlja3MgKHdpbGwgYmUgcGFzc2VkIHRvIEQzJ3MgYXhpcyBjb25zdHJ1Y3RvcikuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG51bVRpY2tzPzogbnVtYmVyXG5cbiAgLyoqIFRpY2sgdGV4dCBmaXQgbW9kZTogYEZpdE1vZGUuV3JhcGAgb3IgYEZpdE1vZGUuVHJpbWAuIERlZmF1bHQ6IGBGaXRNb2RlLldyYXBgLiAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZpdE1vZGU/OiBGaXRNb2RlIHwgc3RyaW5nXG5cbiAgLyoqIE1heGltdW0gd2lkdGggaW4gcGl4ZWxzIGZvciB0aGUgdGljayB0ZXh0IHRvIGJlIHdyYXBwZWQgb3IgdHJpbW1lZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRXaWR0aD86IG51bWJlclxuXG4gIC8qKiBUaWNrIHRleHQgd3JhcHBpbmcgc2VwYXJhdG9yLiBTdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRTZXBhcmF0b3I/OiBzdHJpbmcgfCBzdHJpbmdbXVxuXG4gIC8qKiBGb3JjZSB3b3JkIGJyZWFrIGZvciB0aWNrcyB3aGVuIHRoZXkgZG9uJ3QgZml0LiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0Rm9yY2VXb3JkQnJlYWs/OiBib29sZWFuXG5cbiAgLyoqIFRpY2sgdGV4dCB0cmltIG1vZGU6IGBUcmltTW9kZS5TdGFydGAsIGBUcmltTW9kZS5NaWRkbGVgIG9yIGBUcmltTW9kZS5FbmRgLiBEZWZhdWx0OiBgVHJpbU1vZGUuTWlkZGxlYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dFRyaW1UeXBlPzogVHJpbU1vZGUgfCBzdHJpbmdcblxuICAvKiogRm9udCBzaXplIG9mIHRoZSB0aWNrIHRleHQgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0Rm9udFNpemU/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFRleHQgYWxpZ25tZW50IGZvciB0aWNrczogYFRleHRBbGlnbi5MZWZ0YCwgYFRleHRBbGlnbi5DZW50ZXJgIG9yIGBUZXh0QWxpZ24uUmlnaHRgLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEFsaWduPzogVGV4dEFsaWduIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgY29sb3Igb2YgdGhlIHRpY2sgdGV4dCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRDb2xvcj86IHN0cmluZyB8IG51bGxcblxuICAvKiogVGV4dCByb3RhdGlvbiBhbmdsZSBmb3IgdGlja3MuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0QW5nbGU/OiBudW1iZXJcblxuICAvKiogSGlkZSB0aWNrIGxhYmVscyB0aGF0IG92ZXJsYXAgd2l0aCBlYWNoIG90aGVyLlxuICAgKiBUbyBkZWZpbmUgb3ZlcmxhcHBpbmcsIGEgc2ltcGxlIGJvdW5kaW5nIGJveCBjb2xsaXNpb24gZGV0ZWN0aW9uIGFsZ29yaXRobSBpcyB1c2VkLlxuICAgKiBXaGljaCBtZWFucyB0aGUgcmVzdWx0IHdvbid0IGJlIGFjY3VyYXRlIHdoZW4gYHRpY2tUZXh0QW5nbGVgIGlzIHNwZWNpZmllZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRIaWRlT3ZlcmxhcHBpbmc/OiBib29sZWFuXG5cbiAgLyoqIFRoZSBzcGFjaW5nIGluIHBpeGVscyBiZXR3ZWVuIHRoZSB0aWNrIGFuZCBpdCdzIGxhYmVsLiBEZWZhdWx0OiBgOGAgKi9cbiAgQElucHV0KCkgdGlja1BhZGRpbmc/OiBudW1iZXJcbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXhpczxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXhpczxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBeGlzQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBwb3NpdGlvbiwgdHlwZSwgZnVsbFNpemUsIGxhYmVsLCBsYWJlbEZvbnRTaXplLCBsYWJlbE1hcmdpbiwgbGFiZWxUZXh0Rml0TW9kZSwgbGFiZWxUZXh0VHJpbVR5cGUsIGxhYmVsQ29sb3IsIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCBtaW5NYXhUaWNrc09ubHlTaG93R3JpZExpbmVzLCBtaW5NYXhUaWNrc09ubHlXaGVuV2lkdGhJc0xlc3MsIHRpY2tGb3JtYXQsIHRpY2tWYWx1ZXMsIG51bVRpY2tzLCB0aWNrVGV4dEZpdE1vZGUsIHRpY2tUZXh0V2lkdGgsIHRpY2tUZXh0U2VwYXJhdG9yLCB0aWNrVGV4dEZvcmNlV29yZEJyZWFrLCB0aWNrVGV4dFRyaW1UeXBlLCB0aWNrVGV4dEZvbnRTaXplLCB0aWNrVGV4dEFsaWduLCB0aWNrVGV4dENvbG9yLCB0aWNrVGV4dEFuZ2xlLCB0aWNrVGV4dEhpZGVPdmVybGFwcGluZywgdGlja1BhZGRpbmcgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHBvc2l0aW9uLCB0eXBlLCBmdWxsU2l6ZSwgbGFiZWwsIGxhYmVsRm9udFNpemUsIGxhYmVsTWFyZ2luLCBsYWJlbFRleHRGaXRNb2RlLCBsYWJlbFRleHRUcmltVHlwZSwgbGFiZWxDb2xvciwgZ3JpZExpbmUsIHRpY2tMaW5lLCBkb21haW5MaW5lLCBtaW5NYXhUaWNrc09ubHksIG1pbk1heFRpY2tzT25seVNob3dHcmlkTGluZXMsIG1pbk1heFRpY2tzT25seVdoZW5XaWR0aElzTGVzcywgdGlja0Zvcm1hdCwgdGlja1ZhbHVlcywgbnVtVGlja3MsIHRpY2tUZXh0Rml0TW9kZSwgdGlja1RleHRXaWR0aCwgdGlja1RleHRTZXBhcmF0b3IsIHRpY2tUZXh0Rm9yY2VXb3JkQnJlYWssIHRpY2tUZXh0VHJpbVR5cGUsIHRpY2tUZXh0Rm9udFNpemUsIHRpY2tUZXh0QWxpZ24sIHRpY2tUZXh0Q29sb3IsIHRpY2tUZXh0QW5nbGUsIHRpY2tUZXh0SGlkZU92ZXJsYXBwaW5nLCB0aWNrUGFkZGluZyB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIEF4aXNDb25maWdJbnRlcmZhY2U8RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
|