@theseam/ui-common 1.0.2-beta.63 → 1.0.2-beta.70
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/datatable/index.d.ts +22 -5
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +1 -1
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable.mjs +83 -25
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-graphql.mjs +19 -8
- package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-utils.mjs +42 -60
- package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
- package/framework/route-transitions/route-transitions.css +103 -53
- package/graphql/index.d.ts +6 -2
- package/package.json +1 -1
- package/utils/index.d.ts +15 -18
|
@@ -5,23 +5,39 @@
|
|
|
5
5
|
|
|
6
6
|
/* Keyframes */
|
|
7
7
|
@keyframes seam-slide-in-left {
|
|
8
|
-
from {
|
|
9
|
-
|
|
8
|
+
from {
|
|
9
|
+
transform: translateX(100%);
|
|
10
|
+
}
|
|
11
|
+
to {
|
|
12
|
+
transform: translateX(0);
|
|
13
|
+
}
|
|
10
14
|
}
|
|
11
15
|
|
|
12
16
|
@keyframes seam-slide-in-right {
|
|
13
|
-
from {
|
|
14
|
-
|
|
17
|
+
from {
|
|
18
|
+
transform: translateX(-100%);
|
|
19
|
+
}
|
|
20
|
+
to {
|
|
21
|
+
transform: translateX(0);
|
|
22
|
+
}
|
|
15
23
|
}
|
|
16
24
|
|
|
17
25
|
@keyframes seam-slide-out-left {
|
|
18
|
-
from {
|
|
19
|
-
|
|
26
|
+
from {
|
|
27
|
+
transform: translateX(0);
|
|
28
|
+
}
|
|
29
|
+
to {
|
|
30
|
+
transform: translateX(-100%);
|
|
31
|
+
}
|
|
20
32
|
}
|
|
21
33
|
|
|
22
34
|
@keyframes seam-slide-out-right {
|
|
23
|
-
from {
|
|
24
|
-
|
|
35
|
+
from {
|
|
36
|
+
transform: translateX(0);
|
|
37
|
+
}
|
|
38
|
+
to {
|
|
39
|
+
transform: translateX(100%);
|
|
40
|
+
}
|
|
25
41
|
}
|
|
26
42
|
|
|
27
43
|
/*
|
|
@@ -94,57 +110,91 @@ html[data-route-direction]::view-transition-new(root) {
|
|
|
94
110
|
*/
|
|
95
111
|
|
|
96
112
|
/* Sibling swap: current slides right, new slides left */
|
|
97
|
-
html[data-route-direction=
|
|
98
|
-
html[data-route-direction=
|
|
99
|
-
html[data-route-direction=
|
|
100
|
-
html[data-route-direction=
|
|
101
|
-
html[data-route-direction=
|
|
102
|
-
html[data-route-direction=
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
html[data-route-direction=
|
|
109
|
-
html[data-route-direction=
|
|
110
|
-
html[data-route-direction=
|
|
111
|
-
|
|
113
|
+
html[data-route-direction='sibling']::view-transition-old(seam-route-content-0),
|
|
114
|
+
html[data-route-direction='sibling']::view-transition-old(seam-route-content-1),
|
|
115
|
+
html[data-route-direction='sibling']::view-transition-old(seam-route-content-2),
|
|
116
|
+
html[data-route-direction='sibling']::view-transition-old(seam-route-content-3),
|
|
117
|
+
html[data-route-direction='sibling']::view-transition-old(seam-route-content-4),
|
|
118
|
+
html[data-route-direction='sibling']::view-transition-old(
|
|
119
|
+
seam-route-content-5
|
|
120
|
+
) {
|
|
121
|
+
animation: var(--seam-route-transition-duration)
|
|
122
|
+
var(--seam-route-transition-easing) both seam-slide-out-right;
|
|
123
|
+
}
|
|
124
|
+
html[data-route-direction='sibling']::view-transition-new(seam-route-content-0),
|
|
125
|
+
html[data-route-direction='sibling']::view-transition-new(seam-route-content-1),
|
|
126
|
+
html[data-route-direction='sibling']::view-transition-new(seam-route-content-2),
|
|
127
|
+
html[data-route-direction='sibling']::view-transition-new(seam-route-content-3),
|
|
128
|
+
html[data-route-direction='sibling']::view-transition-new(seam-route-content-4),
|
|
129
|
+
html[data-route-direction='sibling']::view-transition-new(
|
|
130
|
+
seam-route-content-5
|
|
131
|
+
) {
|
|
132
|
+
animation: var(--seam-route-transition-duration)
|
|
133
|
+
var(--seam-route-transition-easing) both seam-slide-in-left;
|
|
112
134
|
}
|
|
113
135
|
|
|
114
136
|
/* Deeper: both slide left */
|
|
115
|
-
html[data-route-direction=
|
|
116
|
-
html[data-route-direction=
|
|
117
|
-
html[data-route-direction=
|
|
118
|
-
html[data-route-direction=
|
|
119
|
-
html[data-route-direction=
|
|
120
|
-
html[data-route-direction=
|
|
121
|
-
animation: var(--seam-route-transition-duration)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
html[data-route-direction=
|
|
125
|
-
html[data-route-direction=
|
|
126
|
-
html[data-route-direction=
|
|
127
|
-
html[data-route-direction=
|
|
128
|
-
html[data-route-direction=
|
|
129
|
-
|
|
137
|
+
html[data-route-direction='deeper']::view-transition-old(seam-route-content-0),
|
|
138
|
+
html[data-route-direction='deeper']::view-transition-old(seam-route-content-1),
|
|
139
|
+
html[data-route-direction='deeper']::view-transition-old(seam-route-content-2),
|
|
140
|
+
html[data-route-direction='deeper']::view-transition-old(seam-route-content-3),
|
|
141
|
+
html[data-route-direction='deeper']::view-transition-old(seam-route-content-4),
|
|
142
|
+
html[data-route-direction='deeper']::view-transition-old(seam-route-content-5) {
|
|
143
|
+
animation: var(--seam-route-transition-duration)
|
|
144
|
+
var(--seam-route-transition-easing) both seam-slide-out-left;
|
|
145
|
+
}
|
|
146
|
+
html[data-route-direction='deeper']::view-transition-new(seam-route-content-0),
|
|
147
|
+
html[data-route-direction='deeper']::view-transition-new(seam-route-content-1),
|
|
148
|
+
html[data-route-direction='deeper']::view-transition-new(seam-route-content-2),
|
|
149
|
+
html[data-route-direction='deeper']::view-transition-new(seam-route-content-3),
|
|
150
|
+
html[data-route-direction='deeper']::view-transition-new(seam-route-content-4),
|
|
151
|
+
html[data-route-direction='deeper']::view-transition-new(seam-route-content-5) {
|
|
152
|
+
animation: var(--seam-route-transition-duration)
|
|
153
|
+
var(--seam-route-transition-easing) both seam-slide-in-left;
|
|
130
154
|
}
|
|
131
155
|
|
|
132
156
|
/* Shallower: both slide right */
|
|
133
|
-
html[data-route-direction=
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
html[data-route-direction=
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
html[data-route-direction=
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
html[data-route-direction=
|
|
146
|
-
|
|
147
|
-
|
|
157
|
+
html[data-route-direction='shallower']::view-transition-old(
|
|
158
|
+
seam-route-content-0
|
|
159
|
+
),
|
|
160
|
+
html[data-route-direction='shallower']::view-transition-old(
|
|
161
|
+
seam-route-content-1
|
|
162
|
+
),
|
|
163
|
+
html[data-route-direction='shallower']::view-transition-old(
|
|
164
|
+
seam-route-content-2
|
|
165
|
+
),
|
|
166
|
+
html[data-route-direction='shallower']::view-transition-old(
|
|
167
|
+
seam-route-content-3
|
|
168
|
+
),
|
|
169
|
+
html[data-route-direction='shallower']::view-transition-old(
|
|
170
|
+
seam-route-content-4
|
|
171
|
+
),
|
|
172
|
+
html[data-route-direction='shallower']::view-transition-old(
|
|
173
|
+
seam-route-content-5
|
|
174
|
+
) {
|
|
175
|
+
animation: var(--seam-route-transition-duration)
|
|
176
|
+
var(--seam-route-transition-easing) both seam-slide-out-right;
|
|
177
|
+
}
|
|
178
|
+
html[data-route-direction='shallower']::view-transition-new(
|
|
179
|
+
seam-route-content-0
|
|
180
|
+
),
|
|
181
|
+
html[data-route-direction='shallower']::view-transition-new(
|
|
182
|
+
seam-route-content-1
|
|
183
|
+
),
|
|
184
|
+
html[data-route-direction='shallower']::view-transition-new(
|
|
185
|
+
seam-route-content-2
|
|
186
|
+
),
|
|
187
|
+
html[data-route-direction='shallower']::view-transition-new(
|
|
188
|
+
seam-route-content-3
|
|
189
|
+
),
|
|
190
|
+
html[data-route-direction='shallower']::view-transition-new(
|
|
191
|
+
seam-route-content-4
|
|
192
|
+
),
|
|
193
|
+
html[data-route-direction='shallower']::view-transition-new(
|
|
194
|
+
seam-route-content-5
|
|
195
|
+
) {
|
|
196
|
+
animation: var(--seam-route-transition-duration)
|
|
197
|
+
var(--seam-route-transition-easing) both seam-slide-in-right;
|
|
148
198
|
}
|
|
149
199
|
|
|
150
200
|
/* Reduced motion: disable all route transition animations */
|
package/graphql/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import * as apollo_angular from 'apollo-angular';
|
|
|
8
8
|
import { QueryRef, WatchQueryOptions, Apollo } from 'apollo-angular';
|
|
9
9
|
import { DataFilterState } from '@theseam/ui-common/data-filters';
|
|
10
10
|
import * as i0 from '@angular/core';
|
|
11
|
-
import { InjectionToken, Type, Provider, EventEmitter } from '@angular/core';
|
|
11
|
+
import { InjectionToken, Type, Provider, OutputRef, EventEmitter } from '@angular/core';
|
|
12
12
|
import { OperationVariables } from '@apollo/client/core/types';
|
|
13
13
|
import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome-common-types';
|
|
14
14
|
import { IDataExporter } from '@theseam/ui-common/data-exporter';
|
|
@@ -192,7 +192,7 @@ declare class GQLVariable {
|
|
|
192
192
|
constructor(name: string, type: string);
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
type GqlDatatableAccessor = Pick<DatatableComponent, 'page' | 'sort' | 'sorts' | 'filterStates' | 'pageInfo' | 'externalSorting' | 'columns$'> & {
|
|
195
|
+
type GqlDatatableAccessor = Pick<DatatableComponent, 'page' | 'sort' | 'sorts' | 'filterStates' | 'pageInfo' | 'externalSorting' | 'columns$' | 'refreshRequested'> & {
|
|
196
196
|
ngxDatatable: {
|
|
197
197
|
offset: number;
|
|
198
198
|
pageSize: number;
|
|
@@ -711,6 +711,10 @@ declare class MockDatatable implements GqlDatatableAccessor {
|
|
|
711
711
|
private readonly _columnsSubject;
|
|
712
712
|
readonly columns$: Observable<TheSeamDatatableColumn[]>;
|
|
713
713
|
private readonly _filterStatesSubject;
|
|
714
|
+
private readonly _refreshSubject;
|
|
715
|
+
readonly refreshRequested: OutputRef<void>;
|
|
716
|
+
/** Test helper: simulate the refresh button being clicked. */
|
|
717
|
+
triggerRefresh(): void;
|
|
714
718
|
private _sorts;
|
|
715
719
|
private _rows;
|
|
716
720
|
private _offset;
|
package/package.json
CHANGED
package/utils/index.d.ts
CHANGED
|
@@ -366,24 +366,21 @@ declare class PollingTickerOptions {
|
|
|
366
366
|
*/
|
|
367
367
|
declare function pollingTicker<R>(action: PollingActionFn<R>, pollingInterval?: number, ticker?: Observable<number | void>, options?: PollingTickerOptions): Observable<R>;
|
|
368
368
|
|
|
369
|
+
interface RefreshableOptions<T> {
|
|
370
|
+
action: () => Observable<T>;
|
|
371
|
+
invalidate$?: Observable<unknown>;
|
|
372
|
+
poll$?: Observable<unknown>;
|
|
373
|
+
}
|
|
369
374
|
declare class Refreshable<T> {
|
|
370
|
-
private
|
|
371
|
-
private
|
|
372
|
-
private
|
|
373
|
-
private
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
* Intercepts the action call to monitor pending state
|
|
380
|
-
*/
|
|
381
|
-
private _actionHandler;
|
|
382
|
-
/**
|
|
383
|
-
* Selects the data observable
|
|
384
|
-
*/
|
|
385
|
-
select(refresh?: boolean): Observable<T>;
|
|
386
|
-
refresh(): Observable<void>;
|
|
375
|
+
private readonly _refresh$;
|
|
376
|
+
private readonly _cache$;
|
|
377
|
+
private readonly _loading$;
|
|
378
|
+
private _dataSubCount;
|
|
379
|
+
readonly loading$: Observable<boolean>;
|
|
380
|
+
readonly initialized$: Observable<boolean>;
|
|
381
|
+
readonly data$: Observable<T>;
|
|
382
|
+
constructor(opts: RefreshableOptions<T>);
|
|
383
|
+
refresh(): void;
|
|
387
384
|
}
|
|
388
385
|
|
|
389
386
|
declare function wrapIntoObservable<T>(value: T | Promise<T> | Observable<T>): Observable<T>;
|
|
@@ -456,4 +453,4 @@ interface SanitizeFilenameOptions {
|
|
|
456
453
|
declare function sanitizeFilename(filename: string, options?: SanitizeFilenameOptions): string;
|
|
457
454
|
|
|
458
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 };
|
|
459
|
-
export type { IActivatedRouteWithData, IFileData, PollingActionFn, SanitizeFilenameOptions, SubscriberCountChangedFn };
|
|
456
|
+
export type { IActivatedRouteWithData, IFileData, PollingActionFn, RefreshableOptions, SanitizeFilenameOptions, SubscriberCountChangedFn };
|