@theseam/ui-common 2.0.0 → 2.0.1-beta.101
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/ai/index.d.ts +363 -1
- package/carousel/index.d.ts +21 -1
- package/data-filters/index.d.ts +29 -7
- package/datatable/index.d.ts +299 -3
- package/datatable-alterations-display/index.d.ts +61 -1
- package/fesm2022/theseam-ui-common-ai.mjs +1368 -1
- package/fesm2022/theseam-ui-common-ai.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-carousel.mjs +48 -1
- package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-filters.mjs +104 -16
- package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +197 -1
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable.mjs +674 -10
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-file-input.mjs +156 -1
- package/fesm2022/theseam-ui-common-file-input.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-google-maps.mjs +299 -218
- package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-icon.mjs +72 -1
- package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-types.mjs +4 -0
- package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tooltip.mjs +110 -1
- package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-utils.mjs +109 -18
- package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-widget.mjs +23 -1
- package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
- package/file-input/index.d.ts +78 -1
- package/google-maps/index.d.ts +35 -23
- package/icon/index.d.ts +33 -3
- package/package.json +3 -3
- package/tooltip/index.d.ts +40 -2
- package/utils/index.d.ts +38 -6
- package/widget/index.d.ts +17 -2
package/file-input/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as _angular_core from '@angular/core';
|
|
|
4
4
|
import { AfterViewInit } from '@angular/core';
|
|
5
5
|
import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome-common-types';
|
|
6
6
|
import { ControlValueAccessor } from '@angular/forms';
|
|
7
|
+
import { ComponentHarness } from '@angular/cdk/testing';
|
|
7
8
|
|
|
8
9
|
/** Tagged union describing where a file item's bytes (or asset pointer) live. */
|
|
9
10
|
type SeamFileItemSource = {
|
|
@@ -186,5 +187,81 @@ declare class TheSeamFileFieldComponent implements ControlValueAccessor {
|
|
|
186
187
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TheSeamFileFieldComponent, "seam-file-field", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "previewMode": { "alias": "previewMode"; "required": false; "isSignal": true; }; "showTileName": { "alias": "showTileName"; "required": false; "isSignal": true; }; "promptText": { "alias": "promptText"; "required": false; "isSignal": true; }; "promptSuffix": { "alias": "promptSuffix"; "required": false; "isSignal": true; }; "replaceText": { "alias": "replaceText"; "required": false; "isSignal": true; }; "hideErrors": { "alias": "hideErrors"; "required": false; "isSignal": true; }; }, { "rejected": "rejected"; }, never, never, true, never>;
|
|
187
188
|
}
|
|
188
189
|
|
|
189
|
-
|
|
190
|
+
/**
|
|
191
|
+
* Test harness for an element with `[seamFileDropZone]` attached.
|
|
192
|
+
*
|
|
193
|
+
* Usage:
|
|
194
|
+
* ```ts
|
|
195
|
+
* const harness = await loader.getHarness(TheSeamFileDropZoneHarness)
|
|
196
|
+
* await harness.dropFiles([new File(['x'], 'x.txt')])
|
|
197
|
+
* expect(await harness.isOver()).toBe(false)
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
declare class TheSeamFileDropZoneHarness extends ComponentHarness {
|
|
201
|
+
static hostSelector: string;
|
|
202
|
+
isOver(): Promise<boolean>;
|
|
203
|
+
dropFiles(files: File[]): Promise<void>;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Test harness for `<seam-file-input>`.
|
|
208
|
+
*/
|
|
209
|
+
declare class TheSeamFileInputHarness extends ComponentHarness {
|
|
210
|
+
static hostSelector: string;
|
|
211
|
+
private _zone;
|
|
212
|
+
private _prompt;
|
|
213
|
+
private _errors;
|
|
214
|
+
private _native;
|
|
215
|
+
/** Trimmed prompt text including the bold portion and suffix. */
|
|
216
|
+
getPromptText(): Promise<string>;
|
|
217
|
+
/** Component renders `tabindex=-1` on the zone when disabled. */
|
|
218
|
+
isDisabled(): Promise<boolean>;
|
|
219
|
+
/** Trimmed error line text, or null when no errors are visible. */
|
|
220
|
+
getErrorMessage(): Promise<string | null>;
|
|
221
|
+
/**
|
|
222
|
+
* Simulates drop of files on the zone. The directive performs validation
|
|
223
|
+
* and emits `filesAdded` / `rejected` via the component.
|
|
224
|
+
*/
|
|
225
|
+
dropFiles(files: File[]): Promise<void>;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Test harness for `<seam-file-tile>`.
|
|
230
|
+
*/
|
|
231
|
+
declare class TheSeamFileTileHarness extends ComponentHarness {
|
|
232
|
+
static hostSelector: string;
|
|
233
|
+
private _root;
|
|
234
|
+
private _rowName;
|
|
235
|
+
private _previewName;
|
|
236
|
+
private _remove;
|
|
237
|
+
private _clickableBody;
|
|
238
|
+
getName(): Promise<string>;
|
|
239
|
+
getVariant(): Promise<SeamFileTileVariant>;
|
|
240
|
+
/** True when a consumer has wired `(itemClick)` AND the tile isn't disabled. */
|
|
241
|
+
isClickable(): Promise<boolean>;
|
|
242
|
+
click(): Promise<void>;
|
|
243
|
+
clickRemove(): Promise<void>;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Test harness for `<seam-file-field>`. Delegates to tile/input harnesses
|
|
248
|
+
* for their respective pieces.
|
|
249
|
+
*/
|
|
250
|
+
declare class TheSeamFileFieldHarness extends ComponentHarness {
|
|
251
|
+
static hostSelector: string;
|
|
252
|
+
private _replace;
|
|
253
|
+
private _allInputs;
|
|
254
|
+
private _tiles;
|
|
255
|
+
/**
|
|
256
|
+
* Returns the visible embedded file-input harness, or null when the field
|
|
257
|
+
* is in the filled single-mode state (visible input replaced by tile).
|
|
258
|
+
* In filled single-mode the hidden input still exists but is not returned.
|
|
259
|
+
*/
|
|
260
|
+
getInputHarness(): Promise<TheSeamFileInputHarness | null>;
|
|
261
|
+
getTiles(): Promise<TheSeamFileTileHarness[]>;
|
|
262
|
+
getReplaceButtonText(): Promise<string | null>;
|
|
263
|
+
clickReplace(): Promise<void>;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export { TheSeamFileDropZoneDirective, TheSeamFileDropZoneHarness, TheSeamFileFieldComponent, TheSeamFileFieldHarness, TheSeamFileInputComponent, TheSeamFileInputHarness, TheSeamFileTileComponent, TheSeamFileTileHarness, iconForMime, seamFileItemFromFile, seamFileItemFromUrl, seamFilesFromItems };
|
|
190
267
|
export type { SeamFileItem, SeamFileItemFromUrlOptions, SeamFileItemSource, SeamFileRejection, SeamFileRejectionReason, SeamFileTileVariant };
|
package/google-maps/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import * as i7 from '@angular/common';
|
|
|
16
16
|
import * as i8 from '@angular/cdk/observers';
|
|
17
17
|
import * as i9 from '@theseam/ui-common/shared';
|
|
18
18
|
import * as i13 from '@angular/google-maps';
|
|
19
|
-
import
|
|
19
|
+
import { Polygon } from 'geojson';
|
|
20
20
|
|
|
21
21
|
declare abstract class TheSeamGoogleMapsApiLoader {
|
|
22
22
|
abstract load(): Observable<void>;
|
|
@@ -49,7 +49,10 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
49
49
|
private readonly _ngUnsubscribe;
|
|
50
50
|
private readonly _mapReadySubject;
|
|
51
51
|
private readonly _editingEnabledSubject;
|
|
52
|
-
private
|
|
52
|
+
private _terraDraw?;
|
|
53
|
+
private _terraDrawReady;
|
|
54
|
+
private readonly _drawingSubject;
|
|
55
|
+
readonly drawing$: Observable<boolean>;
|
|
53
56
|
private _featureContextMenu;
|
|
54
57
|
private _activeContextMenu;
|
|
55
58
|
private _baseLatLng?;
|
|
@@ -74,11 +77,16 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
74
77
|
* Iterates the map's features and removes any that are selected.
|
|
75
78
|
*/
|
|
76
79
|
deleteSelection(): void;
|
|
80
|
+
/** Whether polygon drawing mode is currently active. */
|
|
81
|
+
isDrawing(): boolean;
|
|
82
|
+
/** Enter polygon drawing mode. */
|
|
83
|
+
startDrawing(): void;
|
|
77
84
|
/**
|
|
78
|
-
*
|
|
85
|
+
* Cancel any in-progress drawing and leave drawing mode. Switching to the
|
|
86
|
+
* `static` mode clears an unfinished line.
|
|
79
87
|
*/
|
|
80
88
|
stopDrawing(): void;
|
|
81
|
-
private
|
|
89
|
+
private _initTerraDraw;
|
|
82
90
|
addControl(element: HTMLElement, position: google.maps.ControlPosition): void;
|
|
83
91
|
setData(data: any): Promise<void>;
|
|
84
92
|
reCenterOnFeatures(): void;
|
|
@@ -89,7 +97,6 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
89
97
|
setFeatureHoveredStyleOverride(feature: google.maps.Data.Feature): void;
|
|
90
98
|
private _mergeStyleOptions;
|
|
91
99
|
private _initFeatureChangeListeners;
|
|
92
|
-
isDrawing(): boolean;
|
|
93
100
|
hasSelectedFeature(): boolean;
|
|
94
101
|
getSelectedFeature(): google.maps.Data.Feature | null;
|
|
95
102
|
openContextMenu(): void;
|
|
@@ -98,6 +105,20 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
98
105
|
getGeoJson(removeAppProperties?: boolean): Promise<object>;
|
|
99
106
|
/** Asserts that the map has been initialized. */
|
|
100
107
|
private _assertInitialized;
|
|
108
|
+
private _onDrawFinished;
|
|
109
|
+
/**
|
|
110
|
+
* Normalize a finished Terra Draw geometry into a Polygon. A Polygon (the
|
|
111
|
+
* user closed the line on its start point) passes through; an open LineString
|
|
112
|
+
* (the user finished without closing) is closed into a polygon so nothing
|
|
113
|
+
* they drew is discarded. Any other geometry type yields undefined.
|
|
114
|
+
*/
|
|
115
|
+
private _toDrawnPolygon;
|
|
116
|
+
/**
|
|
117
|
+
* Find an existing Polygon feature that fully contains the drawn polygon, so
|
|
118
|
+
* the drawing can be applied as a cutout. Returns the existing feature
|
|
119
|
+
* instance (never a copy).
|
|
120
|
+
*/
|
|
121
|
+
private _getPossibleExteriorFeature;
|
|
101
122
|
static ɵfac: i0.ɵɵFactoryDeclaration<GoogleMapsService, never>;
|
|
102
123
|
static ɵprov: i0.ɵɵInjectableDeclaration<GoogleMapsService>;
|
|
103
124
|
}
|
|
@@ -148,6 +169,7 @@ declare class TheSeamGoogleMapsComponent extends _TheSeamGoogleMapsMixinBase imp
|
|
|
148
169
|
readonly _gmApiLoaded: Observable<boolean>;
|
|
149
170
|
readonly _fileUploadControlDef: MapControl;
|
|
150
171
|
readonly _reCenterControlDef: MapControl;
|
|
172
|
+
readonly _drawControlDef: MapControl;
|
|
151
173
|
private _focusOrigin;
|
|
152
174
|
set value(value: MapValue);
|
|
153
175
|
get value(): MapValue;
|
|
@@ -529,25 +551,15 @@ declare function getStyleOptionsDefinedByFeature(feature: google.maps.Data.Featu
|
|
|
529
551
|
declare function getHoveredStyleOptionsDefinedByFeature(feature: google.maps.Data.Feature): google.maps.Data.StyleOptions | undefined;
|
|
530
552
|
declare function getSelectedStyleOptionsDefinedByFeature(feature: google.maps.Data.Feature): google.maps.Data.StyleOptions | undefined;
|
|
531
553
|
declare function stripAppFeaturePropertiesFromJson(json: any): void;
|
|
532
|
-
/**
|
|
533
|
-
* Searches for a Feature in Data that contains the provided Feature and can use
|
|
534
|
-
* it as a cutout area.
|
|
535
|
-
*/
|
|
536
|
-
declare function getPossibleExteriorFeature(data: google.maps.Data, feature: google.maps.Data.Feature): google.maps.Data.Feature | undefined;
|
|
537
|
-
declare function addInnerFeatureCutoutToExteriorFeature(exteriorFeature: google.maps.Data.Feature, innerFeature: google.maps.Data.Feature): void;
|
|
538
|
-
/**
|
|
539
|
-
* Google maps paths don't always start and stop at the exact same position, so
|
|
540
|
-
* this will fix that for turfjs.
|
|
541
|
-
*/
|
|
542
|
-
declare function fixPathDifferentStartingAndEndingPoint(coordinates: number[][]): void;
|
|
543
554
|
declare function polygonHasValidPathsLengths(polygon: google.maps.Polygon, minPointsInValidPath?: number): boolean;
|
|
544
555
|
declare function polygonCoordinates(polygon: google.maps.Data.Polygon): number[][][];
|
|
545
|
-
|
|
546
|
-
declare function
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
556
|
+
/** Build a google.maps.Data.Polygon from a GeoJSON Polygon (lng/lat order). */
|
|
557
|
+
declare function dataPolygonFromGeoJson(polygon: Polygon): google.maps.Data.Polygon;
|
|
558
|
+
/**
|
|
559
|
+
* Read an existing feature's Polygon geometry as a closed GeoJSON Polygon.
|
|
560
|
+
* Returns undefined for non-Polygon geometries. Does not mutate the feature.
|
|
561
|
+
*/
|
|
562
|
+
declare function geoJsonPolygonFromDataFeature(feature: google.maps.Data.Feature): Polygon | undefined;
|
|
551
563
|
declare function getBoundsWithAllFeatures(data: google.maps.Data): google.maps.LatLngBounds;
|
|
552
564
|
declare function getFeatureBounds(feature: google.maps.Data.Feature): google.maps.LatLngBounds;
|
|
553
565
|
declare function getFeatureCenter(feature: google.maps.Data.Feature): google.maps.LatLng;
|
|
@@ -653,5 +665,5 @@ declare class TheSeamNoopGoogleMapsAPILoader extends TheSeamGoogleMapsApiLoader
|
|
|
653
665
|
static ɵprov: i0.ɵɵInjectableDeclaration<TheSeamNoopGoogleMapsAPILoader>;
|
|
654
666
|
}
|
|
655
667
|
|
|
656
|
-
export { AppFeaturePropertyName, GoogleMapsContextMenu, GoogleMapsControlsService, GoogleMapsService, MAP_CONTROLS_SERVICE, MAP_CONTROL_DATA, MapControlRef, MapValueManagerService, MapValueSource, SEAM_GOOGLE_PLACES_AUTOCOMPLETE_DEFAULT_OPTIONS, THESEAM_LAZY_MAPS_API_CONFIG, TheSeamGoogleMapsApiLoader, TheSeamGoogleMapsComponent, TheSeamGoogleMapsModule, TheSeamGoogleMapsPlacesAutoCompleteComponent, TheSeamGoogleMapsPlacesAutocompleteDirective, TheSeamGoogleMapsRecenterButtonControlComponent, TheSeamGoogleMapsUploadButtonControlComponent, TheSeamLazyMapsApiLoader, TheSeamMapFileDropComponent, TheSeamMapsControlComponent, TheSeamNoopGoogleMapsAPILoader,
|
|
668
|
+
export { AppFeaturePropertyName, GoogleMapsContextMenu, GoogleMapsControlsService, GoogleMapsService, MAP_CONTROLS_SERVICE, MAP_CONTROL_DATA, MapControlRef, MapValueManagerService, MapValueSource, SEAM_GOOGLE_PLACES_AUTOCOMPLETE_DEFAULT_OPTIONS, THESEAM_LAZY_MAPS_API_CONFIG, TheSeamGoogleMapsApiLoader, TheSeamGoogleMapsComponent, TheSeamGoogleMapsModule, TheSeamGoogleMapsPlacesAutoCompleteComponent, TheSeamGoogleMapsPlacesAutocompleteDirective, TheSeamGoogleMapsRecenterButtonControlComponent, TheSeamGoogleMapsUploadButtonControlComponent, TheSeamLazyMapsApiLoader, TheSeamMapFileDropComponent, TheSeamMapsControlComponent, TheSeamNoopGoogleMapsAPILoader, createFeatureChangeObservable, dataPolygonFromGeoJson, geoJsonPolygonFromDataFeature, getBoundsWithAllFeatures, getFeatureBounds, getFeatureCenter, getFeaturesCount, getHoveredStyleOptionsDefinedByFeature, getSelectedStyleOptionsDefinedByFeature, getStyleOptionsDefinedByFeature, isAppFeatureProperty, isFeatureSelected, polygonCoordinates, polygonHasValidPathsLengths, removeAllFeatures, setFeatureSelected, stripAppFeaturePropertiesFromJson };
|
|
657
669
|
export type { GoogleMapsRecenterButtonControlData, GoogleMapsUploadButtonControlData, MapControl, MapControlsService, MapValue, MapValueChange, TheSeamLazyMapsApiLoaderConfig };
|
package/icon/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { DoCheck, ElementRef, Renderer2, OnInit } from '@angular/core';
|
|
3
3
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
4
|
-
import { IconProp, IconDefinition, SizeProp } from '@fortawesome/fontawesome-svg-core';
|
|
4
|
+
import { IconProp, IconDefinition, SizeProp, IconLookup } from '@fortawesome/fontawesome-svg-core';
|
|
5
5
|
import { ThemeTypes } from '@theseam/ui-common/models';
|
|
6
6
|
import * as _angular_animations from '@angular/animations';
|
|
7
7
|
import * as i4 from '@angular/common';
|
|
8
8
|
import * as i5 from '@fortawesome/angular-fontawesome';
|
|
9
|
+
import { BaseHarnessFilters, ContentContainerComponentHarness, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing';
|
|
9
10
|
|
|
10
11
|
type SeamIcon = IconProp | IconDefinition | string;
|
|
11
12
|
|
|
@@ -189,5 +190,34 @@ declare function fileExtensionIcon(extension: string | null | undefined, default
|
|
|
189
190
|
|
|
190
191
|
declare function getKnownIcon(iconStr: string): SeamIcon | undefined;
|
|
191
192
|
|
|
192
|
-
|
|
193
|
-
|
|
193
|
+
/**
|
|
194
|
+
* Returns only IconLookup for FontAwesome icons
|
|
195
|
+
*/
|
|
196
|
+
type TestSeamIcon = string | IconLookup;
|
|
197
|
+
declare function toIconLookup(icon: IconDefinition): IconLookup;
|
|
198
|
+
/** A set of criteria that can be used to filter a list of `TheSeamIconComponentHarness` instances. */
|
|
199
|
+
interface TheSeamIconComponentHarnessFilters extends BaseHarnessFilters {
|
|
200
|
+
/** Only find instances whose text matches the given value. */
|
|
201
|
+
icon?: string | RegExp | SeamIcon;
|
|
202
|
+
}
|
|
203
|
+
declare class TheSeamIconComponentHarness extends ContentContainerComponentHarness<string> {
|
|
204
|
+
/** The selector for the host element of a `TheSeamIconComponent` instance. */
|
|
205
|
+
static hostSelector: string;
|
|
206
|
+
private readonly _imgElement;
|
|
207
|
+
private readonly _svgElement;
|
|
208
|
+
/**
|
|
209
|
+
* Gets a `HarnessPredicate` that can be used to search for a menu item with specific attributes.
|
|
210
|
+
* @param options Options for filtering which menu item instances are considered a match.
|
|
211
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
212
|
+
*/
|
|
213
|
+
static with<T extends TheSeamIconComponentHarness>(this: ComponentHarnessConstructor<T>, options?: TheSeamIconComponentHarnessFilters): HarnessPredicate<T>;
|
|
214
|
+
/** Whether the menu is disabled. */
|
|
215
|
+
isDisabled(): Promise<boolean>;
|
|
216
|
+
/** Get icon image. */
|
|
217
|
+
getIcon(): Promise<TestSeamIcon | undefined>;
|
|
218
|
+
/** Get icon type. */
|
|
219
|
+
getIconType(): Promise<string | undefined>;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export { DEFAULT_FILE_EXTENSION_ICON, IconBtnComponent, IconComponent, IconNotificationComponent, TheSeamIconComponentHarness, TheSeamIconModule, fileExtensionIcon, getKnownIcon, pulseAnimation, toIconLookup };
|
|
223
|
+
export type { SeamIcon, TestSeamIcon, TheSeamIconComponentHarnessFilters, TheSeamIconType };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theseam/ui-common",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1-beta.101",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "^20.2.3",
|
|
6
6
|
"@angular/common": "^20.3.0",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@types/webfontloader": "^1.6.29",
|
|
36
36
|
"intl-tel-input": "^17.0.5",
|
|
37
37
|
"@ajsf/core": "^0.8.0",
|
|
38
|
-
"quill": "2.0.
|
|
38
|
+
"quill": "2.0.2",
|
|
39
39
|
"ngx-quill": "^27.1.2",
|
|
40
40
|
"@turf/area": "^7.2.0",
|
|
41
41
|
"@turf/boolean-contains": "^7.2.0",
|
|
@@ -353,4 +353,4 @@
|
|
|
353
353
|
}
|
|
354
354
|
},
|
|
355
355
|
"sideEffects": false
|
|
356
|
-
}
|
|
356
|
+
}
|
package/tooltip/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { AnimationEvent } from '@angular/animations';
|
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
6
6
|
import * as i2 from '@angular/cdk/overlay';
|
|
7
|
+
import { BaseHarnessFilters, ComponentHarness, HarnessPredicate, ElementDimensions } from '@angular/cdk/testing';
|
|
7
8
|
|
|
8
9
|
type TheSeamTooltipPlacement = 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom' | 'auto';
|
|
9
10
|
declare class TheSeamTooltipComponent implements OnDestroy {
|
|
@@ -114,5 +115,42 @@ declare class TheSeamTooltipModule {
|
|
|
114
115
|
static ɵinj: i0.ɵɵInjectorDeclaration<TheSeamTooltipModule>;
|
|
115
116
|
}
|
|
116
117
|
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
interface TheSeamTooltipHarnessFilters extends BaseHarnessFilters {
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Harness for interacting with tooltip directives in tests
|
|
122
|
+
*/
|
|
123
|
+
declare class TheSeamTooltipHarness extends ComponentHarness {
|
|
124
|
+
static hostSelector: string;
|
|
125
|
+
/**
|
|
126
|
+
* Gets a `HarnessPredicate` that can be used to search for a tooltip with specific attributes
|
|
127
|
+
*/
|
|
128
|
+
static with(options?: TheSeamTooltipHarnessFilters): HarnessPredicate<TheSeamTooltipHarness>;
|
|
129
|
+
/** Hovers over the element to show the tooltip */
|
|
130
|
+
hover(): Promise<void>;
|
|
131
|
+
/** Moves the mouse away from the element to hide the tooltip */
|
|
132
|
+
mouseAway(): Promise<void>;
|
|
133
|
+
/** Focuses the element to show the tooltip */
|
|
134
|
+
focus(): Promise<void>;
|
|
135
|
+
/** Blurs the element to hide the tooltip */
|
|
136
|
+
blur(): Promise<void>;
|
|
137
|
+
/** Clicks the element */
|
|
138
|
+
click(): Promise<void>;
|
|
139
|
+
/** Gets whether the tooltip is currently visible */
|
|
140
|
+
isTooltipVisible(): Promise<boolean>;
|
|
141
|
+
/** Gets the visible tooltip text content */
|
|
142
|
+
getVisibleTooltipText(): Promise<string | null>;
|
|
143
|
+
/** Gets the visible tooltip classes */
|
|
144
|
+
getVisibleTooltipClasses(): Promise<string[]>;
|
|
145
|
+
/** Gets the tooltip ID from the aria-describedby attribute */
|
|
146
|
+
private _getTooltipId;
|
|
147
|
+
/** Waits for the tooltip to appear */
|
|
148
|
+
waitForTooltipToShow(timeout?: number): Promise<void>;
|
|
149
|
+
/** Waits for the tooltip to disappear */
|
|
150
|
+
waitForTooltipToHide(timeout?: number): Promise<void>;
|
|
151
|
+
getTriggerDimensions(): Promise<ElementDimensions | null>;
|
|
152
|
+
getTooltipDimensions(): Promise<ElementDimensions | null>;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export { TheSeamTooltipComponent, TheSeamTooltipDirective, TheSeamTooltipHarness, TheSeamTooltipModule };
|
|
156
|
+
export type { TheSeamTooltipHarnessFilters, TheSeamTooltipPlacement, TheSeamTooltipPlacementInput, TheSeamTooltipTrigger };
|
package/utils/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { ElementRef, QueryList } from '@angular/core';
|
|
|
3
3
|
import { AbstractControl, ValidatorFn } from '@angular/forms';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { ActivatedRoute, Data, ActivatedRouteSnapshot } from '@angular/router';
|
|
6
|
-
import { FeatureCollection, GeoJSON, Feature, GeoJsonProperties, Geometry, Polygon, MultiPolygon } from 'geojson';
|
|
6
|
+
import { FeatureCollection, GeoJSON, Feature, GeoJsonProperties, Geometry, Polygon, MultiPolygon, Position } from 'geojson';
|
|
7
7
|
import { AreaUnits } from '@turf/helpers';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -234,14 +234,46 @@ declare function readGeoFile(fileOrBuffer: File | ArrayBuffer): Promise<FeatureC
|
|
|
234
234
|
declare function splitMultiPolygons(featureCollection: FeatureCollection): void;
|
|
235
235
|
|
|
236
236
|
/**
|
|
237
|
-
* Close all polygons in the GeoJSON
|
|
237
|
+
* Close all polygons in the GeoJSON so the first and last position of every
|
|
238
|
+
* ring are identical.
|
|
238
239
|
*
|
|
239
|
-
* Google Maps requires
|
|
240
|
-
*
|
|
241
|
-
* that the GeoJSON is valid for Google Maps.
|
|
240
|
+
* Google Maps requires closed polygon rings, but not all libraries produce
|
|
241
|
+
* them. This is idempotent: rings that are already closed are left unchanged.
|
|
242
242
|
*/
|
|
243
243
|
declare function closePolygons(geoJson: FeatureCollection | Feature | Polygon | MultiPolygon): void;
|
|
244
244
|
|
|
245
|
+
/**
|
|
246
|
+
* Checks if a single polygon ring's coordinate count violates the given
|
|
247
|
+
* min/max point bounds. `max` is only applied when it is greater than `min`.
|
|
248
|
+
*/
|
|
249
|
+
declare function polygonViolatesMinMax(coordinateLength: number, min: number, max?: number | undefined): boolean;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Whether a polygon's outer ring has at least `min` distinct vertices.
|
|
253
|
+
* Ring closure (a repeated first/last point) does not count toward the total,
|
|
254
|
+
* so this behaves the same for closed and unclosed rings.
|
|
255
|
+
*/
|
|
256
|
+
declare function polygonHasMinDistinctVertices(polygon: Polygon, min?: number): boolean;
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Whether `outer` fully contains `inner`, using turf's boolean-contains on the
|
|
260
|
+
* GeoJSON geometries directly (no Google Maps dependency).
|
|
261
|
+
*/
|
|
262
|
+
declare function polygonContains(outer: Polygon, inner: Polygon): boolean;
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Whether a ring is wound clockwise, via the shoelace signed-area sign.
|
|
266
|
+
* Sum of (x2 - x1) * (y2 + y1) is positive for clockwise rings in standard
|
|
267
|
+
* (x = lng, y = lat) orientation.
|
|
268
|
+
*/
|
|
269
|
+
declare function ringIsClockwise(ring: Position[]): boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Append the outer ring of `hole` to `exterior` as an interior ring (a
|
|
272
|
+
* cutout), wound opposite the exterior ring so it renders as a hole. Returns a
|
|
273
|
+
* new Polygon; inputs are not mutated.
|
|
274
|
+
*/
|
|
275
|
+
declare function addHoleToPolygon(exterior: Polygon, hole: Polygon): Polygon;
|
|
276
|
+
|
|
245
277
|
/**
|
|
246
278
|
Moves the item to the new position in the input array. Useful for huge arrays
|
|
247
279
|
where absolute performance is needed.
|
|
@@ -452,5 +484,5 @@ interface SanitizeFilenameOptions {
|
|
|
452
484
|
}
|
|
453
485
|
declare function sanitizeFilename(filename: string, options?: SanitizeFilenameOptions): string;
|
|
454
486
|
|
|
455
|
-
export { IS_FEATURE_COLLECTION_VALIDATOR_NAME, IS_ONLY_GEOMETRY_TYPES_VALIDATOR_NAME, MIN_MAX_POINTS_VALIDATOR_NAME, NO_EMPTY_FEATURE_COLLECTION_VALIDATOR_NAME, NO_INNER_RINGS_VALIDATOR_NAME, NO_KINKS_VALIDATOR_NAME, PollingTickerOptions, Refreshable, activatedRoutesWithDataProperty, arrayMoveImmutable, arrayMoveMutable, calcPercentage, closePolygons, coerceFeatureCollection, createPadding, deleteProperties, deleteProperty, fileBufferToBlob, fileBufferToObjectUrl, fileDataFromBuffer, fractionalDigitsCount, geoJsonToArea, getAttribute, getClosestWidgetCdkDrag, getControlName, getControlPath, hasAttribute, hasProperty, hasRequiredControl, isAbsoluteUrl, isEmptyInputValue, isEmptyUrlRoute, isFeatureCollectionValidator, isNullOrUndefined, isNullOrUndefinedOrEmpty, isNumeric, isOnlyGeometryTypes, isOnlyGeometryTypesValidator, leafChildRoute, loadStyle, loadStyleSheet, mapEach, mergePolygons, minMaxPointsValidator, noEmptyFeatureCollectionValidator, noInnerRingsValidator, noKinksValidator, notNullOrUndefined, notNullOrUndefinedOrEmpty, observeControlIsDifferent, observeControlStatus, observeControlValid, observeControlValue, observeControlValueChange, observeQueryList, openBlob, padEnd, padStart, phoneNumberMask, pollingTicker, readFileAsDataUrlAsync, readFileAsync, readGeoFile, routeSnapshotPathFull, routeSnapshotPathRelative, sanitizeFilename, splitMultiPolygons, stripOuter, subscriberCount, tapFirst, toggleAttribute, trimRepeated, waitOnConditionAsync, waitOnNonPendingStatus, willHaveDataProp, withoutProperties, withoutProperty, wrapIntoObservable };
|
|
487
|
+
export { IS_FEATURE_COLLECTION_VALIDATOR_NAME, IS_ONLY_GEOMETRY_TYPES_VALIDATOR_NAME, MIN_MAX_POINTS_VALIDATOR_NAME, NO_EMPTY_FEATURE_COLLECTION_VALIDATOR_NAME, NO_INNER_RINGS_VALIDATOR_NAME, NO_KINKS_VALIDATOR_NAME, PollingTickerOptions, Refreshable, activatedRoutesWithDataProperty, addHoleToPolygon, arrayMoveImmutable, arrayMoveMutable, calcPercentage, closePolygons, coerceFeatureCollection, createPadding, deleteProperties, deleteProperty, fileBufferToBlob, fileBufferToObjectUrl, fileDataFromBuffer, fractionalDigitsCount, geoJsonToArea, getAttribute, getClosestWidgetCdkDrag, getControlName, getControlPath, hasAttribute, hasProperty, hasRequiredControl, isAbsoluteUrl, isEmptyInputValue, isEmptyUrlRoute, isFeatureCollectionValidator, isNullOrUndefined, isNullOrUndefinedOrEmpty, isNumeric, isOnlyGeometryTypes, isOnlyGeometryTypesValidator, leafChildRoute, loadStyle, loadStyleSheet, mapEach, mergePolygons, minMaxPointsValidator, noEmptyFeatureCollectionValidator, noInnerRingsValidator, noKinksValidator, notNullOrUndefined, notNullOrUndefinedOrEmpty, observeControlIsDifferent, observeControlStatus, observeControlValid, observeControlValue, observeControlValueChange, observeQueryList, openBlob, padEnd, padStart, phoneNumberMask, pollingTicker, polygonContains, polygonHasMinDistinctVertices, polygonViolatesMinMax, readFileAsDataUrlAsync, readFileAsync, readGeoFile, ringIsClockwise, routeSnapshotPathFull, routeSnapshotPathRelative, sanitizeFilename, splitMultiPolygons, stripOuter, subscriberCount, tapFirst, toggleAttribute, trimRepeated, waitOnConditionAsync, waitOnNonPendingStatus, willHaveDataProp, withoutProperties, withoutProperty, wrapIntoObservable };
|
|
456
488
|
export type { IActivatedRouteWithData, IFileData, PollingActionFn, RefreshableOptions, SanitizeFilenameOptions, SubscriberCountChangedFn };
|
package/widget/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ import * as i7 from '@fortawesome/angular-fontawesome';
|
|
|
22
22
|
import * as i9 from '@theseam/ui-common/loading';
|
|
23
23
|
import * as i12 from '@angular/cdk/table';
|
|
24
24
|
import * as i24 from '@angular/router';
|
|
25
|
+
import { BaseHarnessFilters, ContentContainerComponentHarness, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing';
|
|
25
26
|
|
|
26
27
|
type Writeable<T> = {
|
|
27
28
|
-readonly [P in keyof T]-?: T[P];
|
|
@@ -531,5 +532,19 @@ declare class TheSeamWidgetModule {
|
|
|
531
532
|
static ɵinj: i0.ɵɵInjectorDeclaration<TheSeamWidgetModule>;
|
|
532
533
|
}
|
|
533
534
|
|
|
534
|
-
|
|
535
|
-
|
|
535
|
+
/** A set of criteria that can be used to filter a list of `TheSeamWidgetHarness` instances. */
|
|
536
|
+
interface TheSeamWidgetHarnessFilters extends BaseHarnessFilters {
|
|
537
|
+
}
|
|
538
|
+
declare class TheSeamWidgetHarness extends ContentContainerComponentHarness<string> {
|
|
539
|
+
/** The selector for the host element of a `WidgetComponent` instance. */
|
|
540
|
+
static hostSelector: string;
|
|
541
|
+
/**
|
|
542
|
+
* Gets a `HarnessPredicate` that can be used to search for a menu item with specific attributes.
|
|
543
|
+
* @param options Options for filtering which menu item instances are considered a match.
|
|
544
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
545
|
+
*/
|
|
546
|
+
static with<T extends TheSeamWidgetHarness>(this: ComponentHarnessConstructor<T>, options?: TheSeamWidgetHarnessFilters): HarnessPredicate<T>;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
export { CURRENT_WIDGET_PREFERENCES_VERSION, EMPTY_WIDGET_PREFERENCES, THESEAM_WIDGETS, THESEAM_WIDGET_ACCESSOR, THESEAM_WIDGET_DATA, THESEAM_WIDGET_DEFAULTS, THESEAM_WIDGET_PREFERENCES_ACCESSOR, TheSeamWidgetButtonGroupModule, TheSeamWidgetContentHeaderModule, TheSeamWidgetDescriptionModule, TheSeamWidgetEmptyLabelModule, TheSeamWidgetFooterLinkModule, TheSeamWidgetFooterTextModule, TheSeamWidgetHarness, TheSeamWidgetHeaderBadgeModule, TheSeamWidgetListGroupModule, TheSeamWidgetModule, TheSeamWidgetTableModule, TheSeamWidgetTileListModule, TheSeamWidgetTileModule, WidgetButtonGroupComponent, WidgetComponent, WidgetContentHeaderComponent, WidgetDescriptionComponent, WidgetDragHandleDirective, WidgetEmptyLabelComponent, WidgetFooterComponent, WidgetFooterLinkComponent, WidgetFooterTextComponent, WidgetHeaderBadgeComponent, WidgetIconTplDirective, WidgetListGroupComponent, WidgetListGroupItemAnchorComponent, WidgetListGroupItemButtonComponent, WidgetListGroupItemComponent, WidgetListGroupItemIconTplDirective, WidgetPreferencesService, WidgetRegistryService, WidgetTableComponent, WidgetTileComponent, WidgetTileFooterComponent, WidgetTileFooterItemComponent, WidgetTileGroupComponent, WidgetTileListComponent, WidgetTileSecondaryIconDirective, WidgetTitleTplDirective, extendStyles, toggleNativeDragInteractions };
|
|
550
|
+
export type { IWidgetRegistryRecord, TheSeamWidgetAccessor, TheSeamWidgetData, TheSeamWidgetDefaults, TheSeamWidgetHarnessFilters, TheSeamWidgetPreferences, TheSeamWidgetPreferences_v1 };
|