mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-04-16 22:24:49 +00:00
AAE-21047 Get rid of enums (#11643)
* Refactor enums to const objects and update ESLint rules - Converted several TypeScript enums to const objects for better type inference and immutability. - Updated ESLint configuration to disable 'no-redeclare' rule and added new restrictions on schema usage. - Adjusted package-lock.json to mark several dependencies as peer dependencies. * Refactor enums to const objects in site-dropdown and new-version-uploader models - Converted TypeScript enums to const objects for improved type safety and immutability in `sites-dropdown.component.ts` and `new-version-uploader.model.ts`. - Updated related types to reflect the changes in both files. - Enhanced error handling in the `DropdownSitesComponent` by using the `subscribe` method with an object for better readability. * Refactor TypeScript types and improve error handling in component tests - Updated type annotations in `upload.service.ts` and `node-actions.service.ts` for better type safety. - Enhanced error handling in various component tests by using more descriptive error messages in `task-attachment-list.component.spec.ts`, `attach-file-widget-dialog.component.spec.ts`, and `task-form.component.spec.ts`. - Removed unnecessary schemas from test configurations in several component spec files to streamline the testing setup. * Refactor TypeScript enums to const objects for improved type safety - Converted multiple TypeScript enums to const objects across various models, including `AppConfigValues`, `Status`, `ShowHeaderMode`, `WidgetTypeEnum`, and others. - Updated related type definitions to enhance type inference and immutability. - Adjusted ESLint configurations by removing the 'no-redeclare' rule to streamline code quality checks. * Refactor TypeScript types for improved type safety and consistency - Updated type annotations in `document-list.component.ts`, `document-actions.service.ts`, and `node-actions.service.ts` to use `Observable` instead of `Subject` for better reactive programming practices. - Enhanced type definitions in `search-date-range.component.ts` and related spec files to allow `inLastValue` to be either a string or a number, improving flexibility in handling date range inputs. - Adjusted test cases to reflect these type changes, ensuring consistency across the application. * Enhance type safety in ViewerComponent by specifying type for closeButtonPosition - Updated the type annotation for `closeButtonPosition` in `viewer.component.ts` to explicitly define it as `CloseButtonPosition`, improving type safety and clarity. * Enhance type safety in DataTableComponent by specifying type for showHeader - Updated the type annotation for `showHeader` in `datatable.component.ts` to explicitly define it as `ShowHeaderMode`, improving type safety and clarity. * Update PDF viewer test to accommodate varying date formats - Modified the test for the annotation popup in `pdf-viewer.component.spec.ts` to check for the presence of date components instead of a specific date format, enhancing test robustness across different locales.
This commit is contained in:
18
.eslintrc.js
18
.eslintrc.js
@@ -141,7 +141,8 @@ module.exports = {
|
||||
],
|
||||
'no-duplicate-imports': 'error',
|
||||
'no-multiple-empty-lines': 'error',
|
||||
'no-redeclare': 'error',
|
||||
'no-redeclare': 'off',
|
||||
'@typescript-eslint/no-redeclare': ['off', { ignoreDeclarationMerge: true }],
|
||||
'no-return-await': 'error',
|
||||
'rxjs/no-create': 'error',
|
||||
'rxjs/no-subject-unsubscribe': 'error',
|
||||
@@ -176,6 +177,21 @@ module.exports = {
|
||||
' * limitations under the License.',
|
||||
' */'
|
||||
]
|
||||
],
|
||||
'no-restricted-syntax': [
|
||||
'error',
|
||||
{
|
||||
selector: "Identifier[name='CUSTOM_ELEMENTS_SCHEMA']",
|
||||
message: 'The use of CUSTOM_ELEMENTS_SCHEMA is not allowed. Consider alternatives for proper schema handling.'
|
||||
},
|
||||
{
|
||||
selector: "Identifier[name='NO_ERRORS_SCHEMA']",
|
||||
message: 'The use of NO_ERRORS_SCHEMA is not allowed. Consider alternatives for proper schema handling.'
|
||||
},
|
||||
{
|
||||
selector: 'TSEnumDeclaration',
|
||||
message: 'Enums are not allowed. Use string literal types (e.g., type Foo = "a" | "b") or const objects instead.'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
@@ -78,7 +78,6 @@
|
||||
"no-bitwise": "off",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"rxjs/no-create": "error",
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
|
||||
@@ -15,7 +15,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export enum CategoriesManagementMode {
|
||||
CRUD,
|
||||
ASSIGN
|
||||
}
|
||||
export const CategoriesManagementMode = {
|
||||
CRUD: 'CRUD',
|
||||
ASSIGN: 'ASSIGN'
|
||||
} as const;
|
||||
|
||||
export type CategoriesManagementMode = (typeof CategoriesManagementMode)[keyof typeof CategoriesManagementMode];
|
||||
|
||||
@@ -74,17 +74,18 @@ export class FileUploadOptions {
|
||||
versioningEnabled?: boolean;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum FileUploadStatus {
|
||||
Pending = 0,
|
||||
Complete = 1,
|
||||
Starting = 2,
|
||||
Progress = 3,
|
||||
Cancelled = 4,
|
||||
Aborted = 5,
|
||||
Error = 6,
|
||||
Deleted = 7
|
||||
}
|
||||
export const FileUploadStatus = {
|
||||
Pending: 0,
|
||||
Complete: 1,
|
||||
Starting: 2,
|
||||
Progress: 3,
|
||||
Cancelled: 4,
|
||||
Aborted: 5,
|
||||
Error: 6,
|
||||
Deleted: 7
|
||||
} as const;
|
||||
|
||||
export type FileUploadStatus = (typeof FileUploadStatus)[keyof typeof FileUploadStatus];
|
||||
|
||||
export class FileModel {
|
||||
readonly name: string;
|
||||
|
||||
@@ -103,7 +103,7 @@ export class UploadService {
|
||||
* @returns True if files in the queue are still uploading, false otherwise
|
||||
*/
|
||||
isUploading(): boolean {
|
||||
const finishedFileStates = [
|
||||
const finishedFileStates: FileUploadStatus[] = [
|
||||
FileUploadStatus.Complete,
|
||||
FileUploadStatus.Cancelled,
|
||||
FileUploadStatus.Aborted,
|
||||
|
||||
@@ -55,11 +55,13 @@ import { CategoriesManagementComponent } from '../../../category/categories-mana
|
||||
|
||||
const DEFAULT_SEPARATOR = ', ';
|
||||
|
||||
enum DefaultPanels {
|
||||
PROPERTIES = 'Properties',
|
||||
TAGS = 'Tags',
|
||||
CATEGORIES = 'Categories'
|
||||
}
|
||||
const DefaultPanels = {
|
||||
PROPERTIES: 'Properties',
|
||||
TAGS: 'Tags',
|
||||
CATEGORIES: 'Categories'
|
||||
} as const;
|
||||
|
||||
export type DefaultPanels = (typeof DefaultPanels)[keyof typeof DefaultPanels];
|
||||
|
||||
@Component({
|
||||
selector: 'adf-content-metadata',
|
||||
|
||||
@@ -28,10 +28,12 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
/* eslint-disable no-shadow */
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
|
||||
export enum Relations {
|
||||
Members = 'members',
|
||||
Containers = 'containers'
|
||||
}
|
||||
export const Relations = {
|
||||
Members: 'members',
|
||||
Containers: 'containers'
|
||||
} as const;
|
||||
|
||||
export type Relations = (typeof Relations)[keyof typeof Relations];
|
||||
|
||||
@Component({
|
||||
selector: 'adf-sites-dropdown',
|
||||
@@ -124,7 +126,7 @@ export class DropdownSitesComponent implements OnInit {
|
||||
}
|
||||
|
||||
private loadSiteList() {
|
||||
const extendedOptions: any = {
|
||||
const extendedOptions: { skipCount: number; maxItems: number; relations?: string[] } = {
|
||||
skipCount: this.skipCount,
|
||||
maxItems: InfiniteSelectScrollDirective.MAX_ITEMS
|
||||
};
|
||||
@@ -135,8 +137,8 @@ export class DropdownSitesComponent implements OnInit {
|
||||
extendedOptions.relations = [this.relations];
|
||||
}
|
||||
|
||||
this.sitesService.getSites(extendedOptions).subscribe(
|
||||
(sitePaging: SitePaging) => {
|
||||
this.sitesService.getSites(extendedOptions).subscribe({
|
||||
next: (sitePaging: SitePaging) => {
|
||||
if (!this.siteList) {
|
||||
this.siteList = this.relations === Relations.Members ? this.filteredResultsByMember(sitePaging) : sitePaging;
|
||||
|
||||
@@ -163,13 +165,15 @@ export class DropdownSitesComponent implements OnInit {
|
||||
if (this.value && !this.selected && this.siteListHasMoreItems()) {
|
||||
this.loadSiteList();
|
||||
}
|
||||
|
||||
this.loading = false;
|
||||
},
|
||||
(error) => {
|
||||
error: (error) => {
|
||||
this.loading = false;
|
||||
this.error.emit(error);
|
||||
},
|
||||
complete: () => {
|
||||
this.loading = false;
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
showLoading(): boolean {
|
||||
|
||||
@@ -171,7 +171,7 @@ export class DocumentListComponent extends DataTableSchema implements OnInit, On
|
||||
|
||||
/** Toggles the header */
|
||||
@Input()
|
||||
showHeader = ShowHeaderMode.Data;
|
||||
showHeader: ShowHeaderMode = ShowHeaderMode.Data;
|
||||
|
||||
/**
|
||||
* User interaction for folder navigation or file preview.
|
||||
|
||||
@@ -50,10 +50,12 @@ export class ContentActionModel {
|
||||
}
|
||||
}
|
||||
|
||||
export enum ContentActionTarget {
|
||||
Document = 'document',
|
||||
Folder = 'folder',
|
||||
All = 'all'
|
||||
}
|
||||
export const ContentActionTarget = {
|
||||
Document: 'document',
|
||||
Folder: 'folder',
|
||||
All: 'all'
|
||||
} as const;
|
||||
|
||||
export type ContentActionTarget = (typeof ContentActionTarget)[keyof typeof ContentActionTarget];
|
||||
|
||||
export type ContentActionHandler = (obj: any, target?: any, permission?: string) => any;
|
||||
|
||||
@@ -18,10 +18,12 @@
|
||||
/* eslint-disable no-shadow */
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
|
||||
export enum NodeAction {
|
||||
ATTACH = 'ATTACH',
|
||||
CHOOSE = 'CHOOSE',
|
||||
COPY = 'COPY',
|
||||
MOVE = 'MOVE',
|
||||
NEXT = 'NEXT'
|
||||
}
|
||||
export const NodeAction = {
|
||||
ATTACH: 'ATTACH',
|
||||
CHOOSE: 'CHOOSE',
|
||||
COPY: 'COPY',
|
||||
MOVE: 'MOVE',
|
||||
NEXT: 'NEXT'
|
||||
} as const;
|
||||
|
||||
export type NodeAction = (typeof NodeAction)[keyof typeof NodeAction];
|
||||
|
||||
@@ -114,7 +114,7 @@ export class DocumentActionsService {
|
||||
return actionObservable;
|
||||
}
|
||||
|
||||
private prepareHandlers(actionObservable: Subject<string>): void {
|
||||
private prepareHandlers(actionObservable: Observable<string>): void {
|
||||
actionObservable.subscribe((fileOperationMessage) => {
|
||||
this.success.next(fileOperationMessage);
|
||||
}, this.error.next.bind(this.error));
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
|
||||
import { Injectable, Output, EventEmitter } from '@angular/core';
|
||||
import { Node, NodeEntry } from '@alfresco/js-api';
|
||||
import { Subject } from 'rxjs';
|
||||
import { Observable } from 'rxjs';
|
||||
import { switchMap, map } from 'rxjs/operators';
|
||||
import { DownloadService } from '@alfresco/adf-core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ContentService } from '../../common/services/content.service';
|
||||
@@ -57,7 +58,7 @@ export class NodeActionsService {
|
||||
* @param permission permission which is needed to apply the action
|
||||
* @returns operation result
|
||||
*/
|
||||
copyContent(contentEntry: Node, permission?: string): Subject<string> {
|
||||
copyContent(contentEntry: Node, permission?: string): Observable<string> {
|
||||
return this.doFileOperation(NodeAction.COPY, 'content', contentEntry, permission);
|
||||
}
|
||||
|
||||
@@ -68,7 +69,7 @@ export class NodeActionsService {
|
||||
* @param permission permission which is needed to apply the action
|
||||
* @returns operation result
|
||||
*/
|
||||
copyFolder(contentEntry: Node, permission?: string): Subject<string> {
|
||||
copyFolder(contentEntry: Node, permission?: string): Observable<string> {
|
||||
return this.doFileOperation(NodeAction.COPY, 'folder', contentEntry, permission);
|
||||
}
|
||||
|
||||
@@ -79,7 +80,7 @@ export class NodeActionsService {
|
||||
* @param permission permission which is needed to apply the action
|
||||
* @returns operation result
|
||||
*/
|
||||
moveContent(contentEntry: Node, permission?: string): Subject<string> {
|
||||
moveContent(contentEntry: Node, permission?: string): Observable<string> {
|
||||
return this.doFileOperation(NodeAction.MOVE, 'content', contentEntry, permission);
|
||||
}
|
||||
|
||||
@@ -90,7 +91,7 @@ export class NodeActionsService {
|
||||
* @param permission permission which is needed to apply the action
|
||||
* @returns operation result
|
||||
*/
|
||||
moveFolder(contentEntry: Node, permission?: string): Subject<string> {
|
||||
moveFolder(contentEntry: Node, permission?: string): Observable<string> {
|
||||
return this.doFileOperation(NodeAction.MOVE, 'folder', contentEntry, permission);
|
||||
}
|
||||
|
||||
@@ -103,29 +104,14 @@ export class NodeActionsService {
|
||||
* @param permission permission which is needed to apply the action
|
||||
* @returns operation result
|
||||
*/
|
||||
private doFileOperation(
|
||||
action: NodeAction.COPY | NodeAction.MOVE,
|
||||
type: 'content' | 'folder',
|
||||
contentEntry: Node,
|
||||
permission?: string
|
||||
): Subject<string> {
|
||||
const observable = new Subject<string>();
|
||||
|
||||
this.contentDialogService.openCopyMoveDialog(action, contentEntry, permission).subscribe(
|
||||
(selections: Node[]) => {
|
||||
private doFileOperation(action: 'COPY' | 'MOVE', type: 'content' | 'folder', contentEntry: Node, permission?: string): Observable<string> {
|
||||
return this.contentDialogService.openCopyMoveDialog(action, contentEntry, permission).pipe(
|
||||
switchMap((selections) => {
|
||||
const selection = selections[0];
|
||||
this.documentListService[`${action.toLowerCase()}Node`]
|
||||
return this.documentListService[`${action.toLowerCase()}Node`]
|
||||
.call(this.documentListService, contentEntry.id, selection.id)
|
||||
.subscribe(
|
||||
observable.next.bind(observable, `OPERATION.SUCCESS.${type.toUpperCase()}.${action}`),
|
||||
observable.error.bind(observable)
|
||||
.pipe(map(() => `OPERATION.SUCCESS.${type.toUpperCase()}.${action}`));
|
||||
})
|
||||
);
|
||||
},
|
||||
(error) => {
|
||||
observable.error(error);
|
||||
return observable;
|
||||
}
|
||||
);
|
||||
return observable;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,29 +33,30 @@ export interface NewVersionUploaderDialogData {
|
||||
|
||||
export type NewVersionUploaderData = VersionManagerUploadData | ViewVersion | RefreshData;
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum NewVersionUploaderDataAction {
|
||||
refresh = 'refresh',
|
||||
upload = 'upload',
|
||||
view = 'view'
|
||||
}
|
||||
export const NewVersionUploaderDataAction = {
|
||||
refresh: 'refresh',
|
||||
upload: 'upload',
|
||||
view: 'view'
|
||||
} as const;
|
||||
|
||||
export type NewVersionUploaderDataAction = (typeof NewVersionUploaderDataAction)[keyof typeof NewVersionUploaderDataAction];
|
||||
|
||||
interface BaseData {
|
||||
action: NewVersionUploaderDataAction;
|
||||
}
|
||||
|
||||
export interface VersionManagerUploadData extends BaseData {
|
||||
action: NewVersionUploaderDataAction.upload;
|
||||
action: 'upload';
|
||||
newVersion: NodeEntityEvent;
|
||||
currentVersion: NodeChildAssociation;
|
||||
}
|
||||
|
||||
export interface ViewVersion extends BaseData {
|
||||
action: NewVersionUploaderDataAction.view;
|
||||
action: 'view';
|
||||
versionId: string;
|
||||
}
|
||||
|
||||
export interface RefreshData extends BaseData {
|
||||
action: NewVersionUploaderDataAction.refresh;
|
||||
action: 'refresh';
|
||||
node: Node;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ describe('SearchDateRangeTabbedComponent', () => {
|
||||
inLastMockData = {
|
||||
dateRangeType: DateRangeType.IN_LAST,
|
||||
inLastValueType: InLastDateType.WEEKS,
|
||||
inLastValue: '5',
|
||||
inLastValue: 5,
|
||||
betweenStartDate: undefined,
|
||||
betweenEndDate: undefined
|
||||
};
|
||||
@@ -173,7 +173,7 @@ describe('SearchDateRangeTabbedComponent', () => {
|
||||
inLastMockData = {
|
||||
dateRangeType: DateRangeType.IN_LAST,
|
||||
inLastValueType: InLastDateType.DAYS,
|
||||
inLastValue: '9',
|
||||
inLastValue: 9,
|
||||
betweenStartDate: null,
|
||||
betweenEndDate: null
|
||||
};
|
||||
@@ -189,7 +189,7 @@ describe('SearchDateRangeTabbedComponent', () => {
|
||||
inLastMockData = {
|
||||
dateRangeType: DateRangeType.IN_LAST,
|
||||
inLastValueType: InLastDateType.MONTHS,
|
||||
inLastValue: '7',
|
||||
inLastValue: 7,
|
||||
betweenStartDate: null,
|
||||
betweenEndDate: null
|
||||
};
|
||||
|
||||
@@ -155,15 +155,16 @@ export class SearchDateRangeTabbedComponent implements SearchWidget, OnInit {
|
||||
let endDate: Date;
|
||||
if (value.dateRangeType === DateRangeType.IN_LAST) {
|
||||
if (value.inLastValue) {
|
||||
const numValue = typeof value.inLastValue === 'number' ? value.inLastValue : parseInt(value.inLastValue, 10);
|
||||
switch (value.inLastValueType) {
|
||||
case InLastDateType.DAYS:
|
||||
startDate = startOfDay(subDays(new Date(), parseInt(value.inLastValue, 10)));
|
||||
startDate = startOfDay(subDays(new Date(), numValue));
|
||||
break;
|
||||
case InLastDateType.WEEKS:
|
||||
startDate = startOfWeek(subWeeks(new Date(), parseInt(value.inLastValue, 10)));
|
||||
startDate = startOfWeek(subWeeks(new Date(), numValue));
|
||||
break;
|
||||
case InLastDateType.MONTHS:
|
||||
startDate = startOfMonth(subMonths(new Date(), parseInt(value.inLastValue, 10)));
|
||||
startDate = startOfMonth(subMonths(new Date(), numValue));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export enum DateRangeType {
|
||||
ANY = 'ANY',
|
||||
IN_LAST = 'IN_LAST',
|
||||
BETWEEN = 'BETWEEN',
|
||||
}
|
||||
export const DateRangeType = {
|
||||
ANY: 'ANY',
|
||||
IN_LAST: 'IN_LAST',
|
||||
BETWEEN: 'BETWEEN'
|
||||
} as const;
|
||||
|
||||
export type DateRangeType = (typeof DateRangeType)[keyof typeof DateRangeType];
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export enum InLastDateType {
|
||||
DAYS = 'DAYS',
|
||||
WEEKS = 'WEEKS',
|
||||
MONTHS = 'MONTHS'
|
||||
}
|
||||
export const InLastDateType = {
|
||||
DAYS: 'DAYS',
|
||||
WEEKS: 'WEEKS',
|
||||
MONTHS: 'MONTHS'
|
||||
} as const;
|
||||
|
||||
export type InLastDateType = (typeof InLastDateType)[keyof typeof InLastDateType];
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { SearchDateRangeComponent } from './search-date-range.component';
|
||||
import { SearchDateRange } from './search-date-range';
|
||||
import { addDays, endOfToday, format, parse, startOfYesterday, subDays } from 'date-fns';
|
||||
import { Validators } from '@angular/forms';
|
||||
import { HarnessLoader } from '@angular/cdk/testing';
|
||||
@@ -226,7 +227,7 @@ describe('SearchDateRangeComponent', () => {
|
||||
|
||||
it('should not emit values when form is invalid', async () => {
|
||||
spyOn(component.changed, 'emit');
|
||||
let value = {
|
||||
let value: Partial<SearchDateRange> = {
|
||||
dateRangeType: component.DateRangeType.IN_LAST,
|
||||
inLastValueType: component.InLastDateType.WEEKS,
|
||||
inLastValue: '',
|
||||
@@ -251,8 +252,8 @@ describe('SearchDateRangeComponent', () => {
|
||||
dateRangeType: component.DateRangeType.BETWEEN,
|
||||
inLastValueType: component.InLastDateType.DAYS,
|
||||
inLastValue: undefined,
|
||||
betweenStartDate: '',
|
||||
betweenEndDate: ''
|
||||
betweenStartDate: undefined,
|
||||
betweenEndDate: undefined
|
||||
};
|
||||
dateRangeTypeRadioButton = await loader.getHarness(MatRadioButtonHarness.with({ selector: '[data-automation-id="date-range-between"]' }));
|
||||
await dateRangeTypeRadioButton.check();
|
||||
@@ -262,7 +263,7 @@ describe('SearchDateRangeComponent', () => {
|
||||
|
||||
it('should emit values when form is valid', async () => {
|
||||
spyOn(component.changed, 'emit');
|
||||
let value = {
|
||||
let value: Partial<SearchDateRange> = {
|
||||
dateRangeType: component.DateRangeType.IN_LAST,
|
||||
inLastValueType: component.InLastDateType.WEEKS,
|
||||
inLastValue: 5,
|
||||
|
||||
@@ -21,7 +21,7 @@ import { InLastDateType } from './in-last-date-type';
|
||||
export interface SearchDateRange {
|
||||
dateRangeType: DateRangeType;
|
||||
inLastValueType?: InLastDateType;
|
||||
inLastValue?: string;
|
||||
inLastValue?: string | number;
|
||||
betweenStartDate?: Date;
|
||||
betweenEndDate?: Date;
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ export class SearchFilterAutocompleteChipsComponent implements SearchWidget, OnI
|
||||
private updateQuery(updateContext = true) {
|
||||
this.context.filterRawParams[this.id] = this.selectedOptions.length > 0 ? this.selectedOptions : undefined;
|
||||
this.displayValue$.next(this.selectedOptions.map((option) => option.value).join(', '));
|
||||
if (this.context && this.settings && this.settings.field) {
|
||||
if (this.context && this.settings?.field) {
|
||||
let queryFragments;
|
||||
switch (this.settings.field) {
|
||||
case AutocompleteField.CATEGORIES:
|
||||
|
||||
@@ -28,12 +28,14 @@ import { TranslatePipe } from '@ngx-translate/core';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
export enum LogicalSearchFields {
|
||||
MATCH_ALL = 'matchAll',
|
||||
MATCH_ANY = 'matchAny',
|
||||
EXCLUDE = 'exclude',
|
||||
MATCH_EXACT = 'matchExact'
|
||||
}
|
||||
export const LogicalSearchFields = {
|
||||
MATCH_ALL: 'matchAll',
|
||||
MATCH_ANY: 'matchAny',
|
||||
EXCLUDE: 'exclude',
|
||||
MATCH_EXACT: 'matchExact'
|
||||
} as const;
|
||||
|
||||
export type LogicalSearchFields = (typeof LogicalSearchFields)[keyof typeof LogicalSearchFields];
|
||||
|
||||
export type LogicalSearchConditionEnumValuedKeys = { [T in LogicalSearchFields]: string };
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export enum FileSizeOperator {
|
||||
AT_LEAST = 'SEARCH.SEARCH_PROPERTIES.FILE_SIZE_OPERATOR.AT_LEAST',
|
||||
AT_MOST = 'SEARCH.SEARCH_PROPERTIES.FILE_SIZE_OPERATOR.AT_MOST',
|
||||
EXACTLY = 'SEARCH.SEARCH_PROPERTIES.FILE_SIZE_OPERATOR.EXACTLY'
|
||||
}
|
||||
export const FileSizeOperator = {
|
||||
AT_LEAST: 'SEARCH.SEARCH_PROPERTIES.FILE_SIZE_OPERATOR.AT_LEAST',
|
||||
AT_MOST: 'SEARCH.SEARCH_PROPERTIES.FILE_SIZE_OPERATOR.AT_MOST',
|
||||
EXACTLY: 'SEARCH.SEARCH_PROPERTIES.FILE_SIZE_OPERATOR.EXACTLY'
|
||||
} as const;
|
||||
|
||||
export type FileSizeOperator = (typeof FileSizeOperator)[keyof typeof FileSizeOperator];
|
||||
|
||||
@@ -22,8 +22,10 @@ export interface AutocompleteOption {
|
||||
query?: string;
|
||||
}
|
||||
|
||||
export enum AutocompleteField {
|
||||
TAG = 'TAG',
|
||||
CATEGORIES = 'cm:categories',
|
||||
LOCATION = 'SITE'
|
||||
}
|
||||
export const AutocompleteField = {
|
||||
TAG: 'TAG',
|
||||
CATEGORIES: 'cm:categories',
|
||||
LOCATION: 'SITE'
|
||||
} as const;
|
||||
|
||||
export type AutocompleteField = (typeof AutocompleteField)[keyof typeof AutocompleteField];
|
||||
|
||||
@@ -48,14 +48,16 @@ export interface FacetFieldSettings {
|
||||
bucketSortDirection?: FacetBucketSortDirection;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum FacetBucketSortBy {
|
||||
LABEL = 'LABEL',
|
||||
COUNT = 'COUNT'
|
||||
}
|
||||
export const FacetBucketSortBy = {
|
||||
LABEL: 'LABEL',
|
||||
COUNT: 'COUNT'
|
||||
} as const;
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum FacetBucketSortDirection {
|
||||
ASCENDING = 'ASCENDING',
|
||||
DESCENDING = 'DESCENDING'
|
||||
}
|
||||
export type FacetBucketSortBy = (typeof FacetBucketSortBy)[keyof typeof FacetBucketSortBy];
|
||||
|
||||
export const FacetBucketSortDirection = {
|
||||
ASCENDING: 'ASCENDING',
|
||||
DESCENDING: 'DESCENDING'
|
||||
} as const;
|
||||
|
||||
export type FacetBucketSortDirection = (typeof FacetBucketSortDirection)[keyof typeof FacetBucketSortDirection];
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
* Create mode allows only for creating completely new tags.
|
||||
* Create and Assign mode allows for both - creation of new tags and selection of existing tags.
|
||||
*/
|
||||
export enum TagsCreatorMode {
|
||||
CREATE,
|
||||
CREATE_AND_ASSIGN
|
||||
}
|
||||
export const TagsCreatorMode = {
|
||||
CREATE: 'CREATE',
|
||||
CREATE_AND_ASSIGN: 'CREATE_AND_ASSIGN'
|
||||
} as const;
|
||||
|
||||
export type TagsCreatorMode = (typeof TagsCreatorMode)[keyof typeof TagsCreatorMode];
|
||||
|
||||
@@ -15,10 +15,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export enum TreeNodeType {
|
||||
RegularNode,
|
||||
LoadMoreNode
|
||||
}
|
||||
export const TreeNodeType = {
|
||||
RegularNode: 'RegularNode',
|
||||
LoadMoreNode: 'LoadMoreNode'
|
||||
} as const;
|
||||
|
||||
export type TreeNodeType = (typeof TreeNodeType)[keyof typeof TreeNodeType];
|
||||
|
||||
export interface TreeNode {
|
||||
id: string;
|
||||
|
||||
@@ -75,7 +75,6 @@
|
||||
"no-bitwise": "off",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"rxjs/no-create": "error",
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
|
||||
@@ -27,37 +27,40 @@ import { OauthConfigModel } from '../auth/models/oauth-config.model';
|
||||
/* spellchecker: disable */
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum AppConfigValues {
|
||||
APP_CONFIG_LANGUAGES_KEY = 'languages',
|
||||
PROVIDERS = 'providers',
|
||||
OAUTHCONFIG = 'oauth2',
|
||||
ECMHOST = 'ecmHost',
|
||||
BASESHAREURL = 'baseShareUrl',
|
||||
OOI_CONNECTOR_URL = 'ooiServiceUrl',
|
||||
BPMHOST = 'bpmHost',
|
||||
IDENTITY_HOST = 'identityHost',
|
||||
AUTHTYPE = 'authType',
|
||||
CONTEXTROOTECM = 'contextRootEcm',
|
||||
CONTEXTROOTBPM = 'contextRootBpm',
|
||||
ALFRESCO_REPOSITORY_NAME = 'alfrescoRepositoryName',
|
||||
LOG_LEVEL = 'logLevel',
|
||||
LOGIN_ROUTE = 'loginRoute',
|
||||
DISABLECSRF = 'disableCSRF',
|
||||
AUTH_WITH_CREDENTIALS = 'auth.withCredentials',
|
||||
APPLICATION = 'application',
|
||||
STORAGE_PREFIX = 'application.storagePrefix',
|
||||
NOTIFY_DURATION = 'notificationDefaultDuration',
|
||||
CONTENT_TICKET_STORAGE_LABEL = 'ticket-ECM',
|
||||
PROCESS_TICKET_STORAGE_LABEL = 'ticket-BPM',
|
||||
UNSAVED_CHANGES_MODAL_HIDDEN = 'unsaved_changes__modal_hidden'
|
||||
}
|
||||
export const AppConfigValues = {
|
||||
APP_CONFIG_LANGUAGES_KEY: 'languages',
|
||||
PROVIDERS: 'providers',
|
||||
OAUTHCONFIG: 'oauth2',
|
||||
ECMHOST: 'ecmHost',
|
||||
BASESHAREURL: 'baseShareUrl',
|
||||
OOI_CONNECTOR_URL: 'ooiServiceUrl',
|
||||
BPMHOST: 'bpmHost',
|
||||
IDENTITY_HOST: 'identityHost',
|
||||
AUTHTYPE: 'authType',
|
||||
CONTEXTROOTECM: 'contextRootEcm',
|
||||
CONTEXTROOTBPM: 'contextRootBpm',
|
||||
ALFRESCO_REPOSITORY_NAME: 'alfrescoRepositoryName',
|
||||
LOG_LEVEL: 'logLevel',
|
||||
LOGIN_ROUTE: 'loginRoute',
|
||||
DISABLECSRF: 'disableCSRF',
|
||||
AUTH_WITH_CREDENTIALS: 'auth.withCredentials',
|
||||
APPLICATION: 'application',
|
||||
STORAGE_PREFIX: 'application.storagePrefix',
|
||||
NOTIFY_DURATION: 'notificationDefaultDuration',
|
||||
CONTENT_TICKET_STORAGE_LABEL: 'ticket-ECM',
|
||||
PROCESS_TICKET_STORAGE_LABEL: 'ticket-BPM',
|
||||
UNSAVED_CHANGES_MODAL_HIDDEN: 'unsaved_changes__modal_hidden'
|
||||
} as const;
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum Status {
|
||||
INIT = 'init',
|
||||
LOADING = 'loading',
|
||||
LOADED = 'loaded'
|
||||
}
|
||||
export type AppConfigValues = (typeof AppConfigValues)[keyof typeof AppConfigValues];
|
||||
|
||||
export const Status = {
|
||||
INIT: 'init',
|
||||
LOADING: 'loading',
|
||||
LOADED: 'loaded'
|
||||
} as const;
|
||||
|
||||
export type Status = (typeof Status)[keyof typeof Status];
|
||||
|
||||
/* spellchecker: enable */
|
||||
|
||||
|
||||
@@ -27,13 +27,14 @@ import { Directionality, Direction } from '@angular/cdk/bidi';
|
||||
import { DEFAULT_LANGUAGE_LIST } from '../models/default-languages.model';
|
||||
import { toSignal } from '@angular/core/rxjs-interop';
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum UserPreferenceValues {
|
||||
PaginationSize = 'paginationSize',
|
||||
Locale = 'locale',
|
||||
SupportedPageSizes = 'supportedPageSizes',
|
||||
ExpandedSideNavStatus = 'expandedSidenav'
|
||||
}
|
||||
export const UserPreferenceValues = {
|
||||
PaginationSize: 'paginationSize',
|
||||
Locale: 'locale',
|
||||
SupportedPageSizes: 'supportedPageSizes',
|
||||
ExpandedSideNavStatus: 'expandedSidenav'
|
||||
} as const;
|
||||
|
||||
export type UserPreferenceValues = (typeof UserPreferenceValues)[keyof typeof UserPreferenceValues];
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
|
||||
@@ -85,12 +85,13 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
import { IconModule } from '../../../icon/icon.module';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum ShowHeaderMode {
|
||||
Never = 'never',
|
||||
Always = 'always',
|
||||
Data = 'data'
|
||||
}
|
||||
export const ShowHeaderMode = {
|
||||
Never: 'never',
|
||||
Always: 'always',
|
||||
Data: 'data'
|
||||
} as const;
|
||||
|
||||
export type ShowHeaderMode = (typeof ShowHeaderMode)[keyof typeof ShowHeaderMode];
|
||||
|
||||
@Component({
|
||||
selector: 'adf-datatable',
|
||||
@@ -216,7 +217,7 @@ export class DataTableComponent implements OnInit, AfterContentInit, OnChanges,
|
||||
|
||||
/** Toggles the header. */
|
||||
@Input()
|
||||
showHeader = ShowHeaderMode.Data;
|
||||
showHeader: ShowHeaderMode = ShowHeaderMode.Data;
|
||||
|
||||
/** Toggles the sticky header mode. */
|
||||
@Input()
|
||||
|
||||
@@ -102,9 +102,10 @@ export class WidgetVisibilityModel {
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum WidgetTypeEnum {
|
||||
field = 'field',
|
||||
variable = 'variable',
|
||||
value = 'value'
|
||||
}
|
||||
export const WidgetTypeEnum = {
|
||||
field: 'field',
|
||||
variable: 'variable',
|
||||
value: 'value'
|
||||
} as const;
|
||||
|
||||
export type WidgetTypeEnum = (typeof WidgetTypeEnum)[keyof typeof WidgetTypeEnum];
|
||||
|
||||
@@ -15,13 +15,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum NOTIFICATION_TYPE {
|
||||
INFO = 'info',
|
||||
WARN = 'warning',
|
||||
ERROR = 'error',
|
||||
RECURSIVE = 'recursive'
|
||||
}
|
||||
export const NOTIFICATION_TYPE = {
|
||||
INFO: 'info',
|
||||
WARN: 'warning',
|
||||
ERROR: 'error',
|
||||
RECURSIVE: 'recursive'
|
||||
} as const;
|
||||
|
||||
export type NOTIFICATION_TYPE = (typeof NOTIFICATION_TYPE)[keyof typeof NOTIFICATION_TYPE];
|
||||
|
||||
export interface NotificationInitiator {
|
||||
key: string | symbol;
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum SearchTextStateEnum {
|
||||
expanded = 'expanded',
|
||||
collapsed = 'collapsed'
|
||||
}
|
||||
export const SearchTextStateEnum = {
|
||||
expanded: 'expanded',
|
||||
collapsed: 'collapsed'
|
||||
} as const;
|
||||
export type SearchTextStateEnum = (typeof SearchTextStateEnum)[keyof typeof SearchTextStateEnum];
|
||||
|
||||
export interface SearchAnimationState {
|
||||
value: string;
|
||||
|
||||
@@ -660,7 +660,11 @@ describe('Test PdfViewer - User interaction', () => {
|
||||
it('should have corrected content in annotation popup', fakeAsync(() => {
|
||||
dispatchAnnotationLayerRenderedEvent();
|
||||
expect(annotationElement.querySelector('.title').textContent).toBe('Annotation title');
|
||||
expect(annotationElement.querySelector('.popupDate').textContent).toBe('2/2/2026, 10:41:06 AM');
|
||||
// Date format can vary by locale, so we just check it contains the expected date components
|
||||
const dateText = annotationElement.querySelector('.popupDate').textContent;
|
||||
expect(dateText).toContain('2026');
|
||||
expect(dateText).toContain('02');
|
||||
expect(dateText).toContain('10:41:06');
|
||||
expect(annotationElement.querySelector('.popupContent').textContent).toBe('Annotation contents');
|
||||
expect(getAnnotationPopupElement()).toBeDefined();
|
||||
}));
|
||||
|
||||
@@ -230,7 +230,7 @@ export class ViewerComponent<T> implements OnDestroy, OnInit, OnChanges {
|
||||
* Change the close button position Right/Left.
|
||||
*/
|
||||
@Input()
|
||||
closeButtonPosition = CloseButtonPosition.Left;
|
||||
closeButtonPosition: CloseButtonPosition = CloseButtonPosition.Left;
|
||||
|
||||
/** Toggles the 'Info Button' */
|
||||
@Input()
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
*/
|
||||
|
||||
/* Enum listing the allowed actions that can be emitted from the NonResponsivePreview dialog component */
|
||||
export enum DownloadPromptActions {
|
||||
'WAIT',
|
||||
'DOWNLOAD'
|
||||
}
|
||||
export const DownloadPromptActions = {
|
||||
WAIT: 'WAIT',
|
||||
DOWNLOAD: 'DOWNLOAD'
|
||||
} as const;
|
||||
|
||||
export type DownloadPromptActions = (typeof DownloadPromptActions)[keyof typeof DownloadPromptActions];
|
||||
|
||||
@@ -15,10 +15,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export enum CloseButtonPosition {
|
||||
Right = 'right',
|
||||
Left = 'left'
|
||||
}
|
||||
export const CloseButtonPosition = {
|
||||
Right: 'right',
|
||||
Left: 'left'
|
||||
} as const;
|
||||
|
||||
export type CloseButtonPosition = (typeof CloseButtonPosition)[keyof typeof CloseButtonPosition];
|
||||
|
||||
export interface Track {
|
||||
src: string;
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
"no-bitwise": "off",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"rxjs/no-create": "error",
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
|
||||
@@ -17,14 +17,15 @@
|
||||
|
||||
import { ExtensionElement } from './extension-element';
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum ContentActionType {
|
||||
default = 'default',
|
||||
button = 'button',
|
||||
separator = 'separator',
|
||||
menu = 'menu',
|
||||
custom = 'custom'
|
||||
}
|
||||
export const ContentActionType = {
|
||||
default: 'default',
|
||||
button: 'button',
|
||||
separator: 'separator',
|
||||
menu: 'menu',
|
||||
custom: 'custom'
|
||||
} as const;
|
||||
|
||||
export type ContentActionType = (typeof ContentActionType)[keyof typeof ContentActionType];
|
||||
|
||||
export interface ContentActionRef extends ExtensionElement {
|
||||
type: ContentActionType;
|
||||
|
||||
@@ -38,8 +38,10 @@ export class Prediction {
|
||||
|
||||
export type UpdateType = 'AUTOFILL' | 'AUTOCORRECT';
|
||||
|
||||
export enum ReviewStatus {
|
||||
UNREVIEWED = 'UNREVIEWED',
|
||||
CONFIRMED = 'CONFIRMED',
|
||||
REJECTED = 'REJECTED'
|
||||
}
|
||||
export const ReviewStatus = {
|
||||
UNREVIEWED: 'UNREVIEWED',
|
||||
CONFIRMED: 'CONFIRMED',
|
||||
REJECTED: 'REJECTED'
|
||||
} as const;
|
||||
|
||||
export type ReviewStatus = (typeof ReviewStatus)[keyof typeof ReviewStatus];
|
||||
|
||||
@@ -74,7 +74,6 @@
|
||||
"no-bitwise": "off",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"rxjs/no-create": "error",
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
|
||||
@@ -48,10 +48,12 @@ export interface Descriptor {
|
||||
customUIAuthFlowType?: DescriptorCustomUIAuthFlowType;
|
||||
}
|
||||
|
||||
export enum DescriptorCustomUIAuthFlowType {
|
||||
CODE = 'CODE',
|
||||
IMPLICIT = 'IMPLICIT'
|
||||
}
|
||||
export const DescriptorCustomUIAuthFlowType = {
|
||||
CODE: 'CODE',
|
||||
IMPLICIT: 'IMPLICIT'
|
||||
} as const;
|
||||
|
||||
export type DescriptorCustomUIAuthFlowType = (typeof DescriptorCustomUIAuthFlowType)[keyof typeof DescriptorCustomUIAuthFlowType];
|
||||
|
||||
export interface DescriptorSecurity {
|
||||
role: string;
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
/* eslint-disable no-shadow */
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
export class FormCloudRepresentation {
|
||||
|
||||
id?: string;
|
||||
name?: string;
|
||||
description?: string;
|
||||
@@ -57,13 +56,17 @@ export interface DestinationFolderPathModel {
|
||||
path: string;
|
||||
}
|
||||
|
||||
export enum FileSourceTypes {
|
||||
ALL_FILE_SOURCES_SERVICE_ID = 'all-file-sources',
|
||||
ALFRESCO_CONTENT_SOURCES_SERVICE_ID = 'alfresco-content'
|
||||
}
|
||||
export const FileSourceTypes = {
|
||||
ALL_FILE_SOURCES_SERVICE_ID: 'all-file-sources',
|
||||
ALFRESCO_CONTENT_SOURCES_SERVICE_ID: 'alfresco-content'
|
||||
} as const;
|
||||
|
||||
export enum DestinationFolderPathType {
|
||||
STATIC_TYPE = 'value',
|
||||
STRING_TYPE = 'string',
|
||||
FOLDER_TYPE = 'folder'
|
||||
}
|
||||
export type FileSourceTypes = (typeof FileSourceTypes)[keyof typeof FileSourceTypes];
|
||||
|
||||
export const DestinationFolderPathType = {
|
||||
STATIC_TYPE: 'value',
|
||||
STRING_TYPE: 'string',
|
||||
FOLDER_TYPE: 'folder'
|
||||
} as const;
|
||||
|
||||
export type DestinationFolderPathType = (typeof DestinationFolderPathType)[keyof typeof DestinationFolderPathType];
|
||||
|
||||
@@ -17,18 +17,19 @@
|
||||
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum DateCloudFilterType {
|
||||
NO_DATE = 'NO_DATE',
|
||||
TODAY = 'TODAY',
|
||||
TOMORROW = 'TOMORROW',
|
||||
NEXT_7_DAYS = 'NEXT_7_DAYS',
|
||||
WEEK = 'WEEK',
|
||||
MONTH = 'MONTH',
|
||||
QUARTER = 'QUARTER',
|
||||
YEAR = 'YEAR',
|
||||
RANGE = 'RANGE'
|
||||
}
|
||||
export const DateCloudFilterType = {
|
||||
NO_DATE: 'NO_DATE',
|
||||
TODAY: 'TODAY',
|
||||
TOMORROW: 'TOMORROW',
|
||||
NEXT_7_DAYS: 'NEXT_7_DAYS',
|
||||
WEEK: 'WEEK',
|
||||
MONTH: 'MONTH',
|
||||
QUARTER: 'QUARTER',
|
||||
YEAR: 'YEAR',
|
||||
RANGE: 'RANGE'
|
||||
} as const;
|
||||
|
||||
export type DateCloudFilterType = (typeof DateCloudFilterType)[keyof typeof DateCloudFilterType];
|
||||
|
||||
export interface DateRangeFilter {
|
||||
startDate: string;
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum ProcessListCloudPreferences {
|
||||
columnOrder = 'processes-cloud-list-columns-order',
|
||||
columnsVisibility = 'processes-cloud-columns-visibility',
|
||||
columnsWidths = 'processes-cloud-columns-widths'
|
||||
}
|
||||
export const ProcessListCloudPreferences = {
|
||||
columnOrder: 'processes-cloud-list-columns-order',
|
||||
columnsVisibility: 'processes-cloud-columns-visibility',
|
||||
columnsWidths: 'processes-cloud-columns-widths'
|
||||
} as const;
|
||||
|
||||
export type ProcessListCloudPreferences = (typeof ProcessListCloudPreferences)[keyof typeof ProcessListCloudPreferences];
|
||||
|
||||
@@ -225,42 +225,43 @@ export interface TextField extends FormField {
|
||||
placeholder: string | null;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum PeopleModeOptions {
|
||||
single = 'single',
|
||||
multiple = 'multiple'
|
||||
}
|
||||
export const PeopleModeOptions = {
|
||||
single: 'single',
|
||||
multiple: 'multiple'
|
||||
} as const;
|
||||
|
||||
export type PeopleModeOptions = (typeof PeopleModeOptions)[keyof typeof PeopleModeOptions];
|
||||
|
||||
export interface PeopleField extends FormField {
|
||||
required: boolean;
|
||||
optionType: PeopleModeOptions;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum FormFieldType {
|
||||
text = 'text',
|
||||
multiline = 'multi-line-text',
|
||||
// eslint-disable-next-line id-blacklist
|
||||
number = 'integer',
|
||||
checkbox = 'boolean',
|
||||
date = 'date',
|
||||
datetime = 'datetime',
|
||||
dropdown = 'dropdown',
|
||||
typeahead = 'typeahead',
|
||||
amount = 'amount',
|
||||
radio = 'radio-buttons',
|
||||
people = 'people',
|
||||
groupOfPeople = 'functional-group',
|
||||
dynamicTable = 'dynamicTable',
|
||||
hyperlink = 'hyperlink',
|
||||
header = 'group',
|
||||
uploadFile = 'upload',
|
||||
uploadFolder = 'uploadFolder',
|
||||
displayValue = 'readonly',
|
||||
displayText = 'readonly-text',
|
||||
fileViewer = 'file-viewer',
|
||||
button = 'button'
|
||||
}
|
||||
export const FormFieldType = {
|
||||
text: 'text',
|
||||
multiline: 'multi-line-text',
|
||||
number: 'integer',
|
||||
checkbox: 'boolean',
|
||||
date: 'date',
|
||||
datetime: 'datetime',
|
||||
dropdown: 'dropdown',
|
||||
typeahead: 'typeahead',
|
||||
amount: 'amount',
|
||||
radio: 'radio-buttons',
|
||||
people: 'people',
|
||||
groupOfPeople: 'functional-group',
|
||||
dynamicTable: 'dynamicTable',
|
||||
hyperlink: 'hyperlink',
|
||||
header: 'group',
|
||||
uploadFile: 'upload',
|
||||
uploadFolder: 'uploadFolder',
|
||||
displayValue: 'readonly',
|
||||
displayText: 'readonly-text',
|
||||
fileViewer: 'file-viewer',
|
||||
button: 'button'
|
||||
} as const;
|
||||
|
||||
export type FormFieldType = (typeof FormFieldType)[keyof typeof FormFieldType];
|
||||
|
||||
export interface FormCloudDisplayModeConfigurationOptions {
|
||||
onCompleteTask(id?: string): void;
|
||||
@@ -280,12 +281,13 @@ export interface FormCloudDisplayModeConfiguration {
|
||||
default?: boolean;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum FormCloudDisplayMode {
|
||||
inline = 'inline',
|
||||
fullScreen = 'fullScreen',
|
||||
standalone = 'standalone'
|
||||
}
|
||||
export const FormCloudDisplayMode = {
|
||||
inline: 'inline',
|
||||
fullScreen: 'fullScreen',
|
||||
standalone: 'standalone'
|
||||
} as const;
|
||||
|
||||
export type FormCloudDisplayMode = (typeof FormCloudDisplayMode)[keyof typeof FormCloudDisplayMode];
|
||||
|
||||
export interface FormCloudDisplayModeChange {
|
||||
displayMode: string;
|
||||
|
||||
@@ -322,22 +322,26 @@ export interface FilterOptions {
|
||||
value?: string;
|
||||
}
|
||||
|
||||
export enum AssignmentType {
|
||||
CURRENT_USER = 'CURRENT_USER',
|
||||
UNASSIGNED = 'UNASSIGNED',
|
||||
NONE = 'NONE',
|
||||
CANDIDATE_GROUPS = 'CANDIDATE_GROUPS',
|
||||
ASSIGNED_TO = 'ASSIGNED_TO'
|
||||
}
|
||||
export const AssignmentType = {
|
||||
CURRENT_USER: 'CURRENT_USER',
|
||||
UNASSIGNED: 'UNASSIGNED',
|
||||
NONE: 'NONE',
|
||||
CANDIDATE_GROUPS: 'CANDIDATE_GROUPS',
|
||||
ASSIGNED_TO: 'ASSIGNED_TO'
|
||||
} as const;
|
||||
|
||||
export enum TaskStatusFilter {
|
||||
ALL = '',
|
||||
CREATED = 'CREATED',
|
||||
ASSIGNED = 'ASSIGNED',
|
||||
SUSPENDED = 'SUSPENDED',
|
||||
CANCELLED = 'CANCELLED',
|
||||
COMPLETED = 'COMPLETED'
|
||||
}
|
||||
export type AssignmentType = (typeof AssignmentType)[keyof typeof AssignmentType];
|
||||
|
||||
export const TaskStatusFilter = {
|
||||
ALL: '',
|
||||
CREATED: 'CREATED',
|
||||
ASSIGNED: 'ASSIGNED',
|
||||
SUSPENDED: 'SUSPENDED',
|
||||
CANCELLED: 'CANCELLED',
|
||||
COMPLETED: 'COMPLETED'
|
||||
} as const;
|
||||
|
||||
export type TaskStatusFilter = (typeof TaskStatusFilter)[keyof typeof TaskStatusFilter];
|
||||
|
||||
export interface TaskFilterProperties {
|
||||
label?: string;
|
||||
|
||||
@@ -51,12 +51,13 @@ import { TaskCloudService } from '../../services/task-cloud.service';
|
||||
import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum TasksListCloudPreferences {
|
||||
columnOrder = 'tasks-list-cloud-columns-order',
|
||||
columnsVisibility = 'tasks-list-cloud-columns-visibility',
|
||||
columnsWidths = 'tasks-list-cloud-columns-widths'
|
||||
}
|
||||
export const TasksListCloudPreferences = {
|
||||
columnOrder: 'tasks-list-cloud-columns-order',
|
||||
columnsVisibility: 'tasks-list-cloud-columns-visibility',
|
||||
columnsWidths: 'tasks-list-cloud-columns-widths'
|
||||
} as const;
|
||||
|
||||
export type TasksListCloudPreferences = (typeof TasksListCloudPreferences)[keyof typeof TasksListCloudPreferences];
|
||||
|
||||
const taskPresetsCloudDefaultModel = {
|
||||
default: [
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { SimpleChange, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { SimpleChange, Component, DebugElement } from '@angular/core';
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { of, throwError } from 'rxjs';
|
||||
import { of, Subscription, throwError } from 'rxjs';
|
||||
import { TaskAttachmentListComponent } from './task-attachment-list.component';
|
||||
import { mockEmittedTaskAttachments, mockTaskAttachments } from '../../testing/mock/task/task-attachments.mock';
|
||||
import { ProcessContentService } from '../../form/services/process-content.service';
|
||||
@@ -34,7 +34,7 @@ describe('TaskAttachmentList', () => {
|
||||
let deleteContentSpy: jasmine.Spy;
|
||||
let getFileRawContentSpy: jasmine.Spy;
|
||||
let getContentPreviewSpy: jasmine.Spy;
|
||||
let disposableSuccess: any;
|
||||
let disposableSuccess: Subscription;
|
||||
let loader: HarnessLoader;
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -76,7 +76,7 @@ describe('TaskAttachmentList', () => {
|
||||
|
||||
it('should emit an error when an error occurs loading attachments', () => {
|
||||
const emitSpy = spyOn(component.error, 'emit');
|
||||
getTaskRelatedContentSpy.and.returnValue(throwError({}));
|
||||
getTaskRelatedContentSpy.and.returnValue(throwError(() => new Error('Error loading attachments')));
|
||||
const change = new SimpleChange(null, '123', true);
|
||||
component.ngOnChanges({ taskId: change });
|
||||
expect(emitSpy).toHaveBeenCalled();
|
||||
@@ -296,8 +296,7 @@ describe('Custom CustomEmptyTemplateComponent', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [CustomEmptyTemplateComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
declarations: [CustomEmptyTemplateComponent]
|
||||
});
|
||||
fixture = TestBed.createComponent(CustomEmptyTemplateComponent);
|
||||
fixture.detectChanges();
|
||||
@@ -311,7 +310,7 @@ describe('Custom CustomEmptyTemplateComponent', () => {
|
||||
fixture.detectChanges();
|
||||
await fixture.whenStable();
|
||||
|
||||
const title: any = fixture.debugElement.queryAll(By.css('[adf-empty-list-header]'));
|
||||
const title: DebugElement[] = fixture.debugElement.queryAll(By.css('[adf-empty-list-header]'));
|
||||
expect(title.length).toBe(1);
|
||||
expect(title[0].nativeElement.innerText).toBe('Custom header');
|
||||
});
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ContentNodeSelectorPanelComponent, DocumentListService, SitesService, NodesApiService } from '@alfresco/adf-content-services';
|
||||
import { EventEmitter, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { EventEmitter } from '@angular/core';
|
||||
import { AttachFileWidgetDialogComponent } from './attach-file-widget-dialog.component';
|
||||
import { AuthenticationService, NoopAuthModule } from '@alfresco/adf-core';
|
||||
import { AttachFileWidgetDialogComponentData } from './attach-file-widget-dialog-component.interface';
|
||||
@@ -53,8 +53,7 @@ describe('AttachFileWidgetDialogComponent', () => {
|
||||
providers: [
|
||||
{ provide: MAT_DIALOG_DATA, useValue: data },
|
||||
{ provide: MatDialogRef, useValue: { close: () => of() } }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
]
|
||||
});
|
||||
fixture = TestBed.createComponent(AttachFileWidgetDialogComponent);
|
||||
widget = fixture.componentInstance;
|
||||
@@ -71,7 +70,7 @@ describe('AttachFileWidgetDialogComponent', () => {
|
||||
authService.onLogin = new Subject<any>();
|
||||
|
||||
spyOn(documentListService, 'getFolderNode').and.returnValue(of({ entry: { path: { elements: [] } } } as NodeEntry));
|
||||
spyOn(documentListService, 'getFolder').and.returnValue(throwError('No results for test'));
|
||||
spyOn(documentListService, 'getFolder').and.returnValue(throwError(() => new Error('No results for test')));
|
||||
spyOn(nodeService, 'getNode').and.returnValue(
|
||||
of(new Node({ id: 'fake-node', path: { elements: [{ nodeType: 'st:site', name: 'fake-site' }] } }))
|
||||
);
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
import { FileViewerWidgetComponent } from './file-viewer.widget';
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { FormModel, FormService, FormFieldModel, RedirectAuthService } from '@alfresco/adf-core';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { EMPTY, of } from 'rxjs';
|
||||
|
||||
describe('FileViewerWidgetComponent', () => {
|
||||
@@ -48,8 +47,7 @@ describe('FileViewerWidgetComponent', () => {
|
||||
providers: [
|
||||
{ provide: FormService, useValue: formServiceStub },
|
||||
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } }
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
]
|
||||
});
|
||||
|
||||
formServiceStub = TestBed.inject(FormService);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NO_ERRORS_SCHEMA, SimpleChange } from '@angular/core';
|
||||
import { SimpleChange } from '@angular/core';
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { of } from 'rxjs';
|
||||
@@ -39,8 +39,7 @@ describe('ProcessInstanceDetailsComponent', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ProcessInstanceDetailsComponent],
|
||||
providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }]
|
||||
});
|
||||
fixture = TestBed.createComponent(ProcessInstanceDetailsComponent);
|
||||
component = fixture.componentInstance;
|
||||
|
||||
@@ -20,7 +20,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { TaskFormComponent } from './task-form.component';
|
||||
import { FormModel, FormOutcomeEvent, FormOutcomeModel } from '@alfresco/adf-core';
|
||||
import { TaskListService } from '../../services/tasklist.service';
|
||||
import { NO_ERRORS_SCHEMA, SimpleChange } from '@angular/core';
|
||||
import { SimpleChange } from '@angular/core';
|
||||
import { of, throwError } from 'rxjs';
|
||||
import {
|
||||
claimableTaskDetailsMock,
|
||||
@@ -45,7 +45,7 @@ import { By } from '@angular/platform-browser';
|
||||
import { TaskFormService } from '../../../form/services/task-form.service';
|
||||
import { TaskService } from '../../../form/services/task.service';
|
||||
import { PeopleProcessService } from '../../../services/people-process.service';
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
import { TaskRepresentation, UserRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('TaskFormComponent', () => {
|
||||
let component: TaskFormComponent;
|
||||
@@ -61,7 +61,7 @@ describe('TaskFormComponent', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
imports: [TaskFormComponent]
|
||||
});
|
||||
fixture = TestBed.createComponent(TaskFormComponent);
|
||||
component = fixture.componentInstance;
|
||||
@@ -77,7 +77,7 @@ describe('TaskFormComponent', () => {
|
||||
taskDetailsMock.processDefinitionId = null;
|
||||
spyOn(taskService, 'getTask').and.returnValue(of(taskDetailsMock));
|
||||
peopleProcessService = TestBed.inject(PeopleProcessService);
|
||||
getBpmLoggedUserSpy = spyOn(peopleProcessService, 'getCurrentUserInfo').and.returnValue(of(fakeUser as any));
|
||||
getBpmLoggedUserSpy = spyOn(peopleProcessService, 'getCurrentUserInfo').and.returnValue(of(fakeUser as UserRepresentation));
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
@@ -754,12 +754,12 @@ describe('TaskFormComponent', () => {
|
||||
|
||||
it('should emit error event in case claim task api fails', (done) => {
|
||||
const mockError = { message: 'Api Failed' };
|
||||
spyOn(taskListService, 'claimTask').and.returnValue(throwError(mockError));
|
||||
spyOn(taskListService, 'claimTask').and.returnValue(throwError(() => mockError));
|
||||
getTaskDetailsSpy.and.returnValue(of(claimableTaskDetailsMock));
|
||||
|
||||
component.taskId = 'mock-task-id';
|
||||
|
||||
component.error.subscribe((error) => {
|
||||
component.error.subscribe((error: unknown) => {
|
||||
expect(error).toEqual(mockError);
|
||||
done();
|
||||
});
|
||||
@@ -792,13 +792,13 @@ describe('TaskFormComponent', () => {
|
||||
|
||||
it('should emit error event in case unclaim task api fails', (done) => {
|
||||
const mockError = { message: 'Api Failed' };
|
||||
spyOn(taskListService, 'unclaimTask').and.returnValue(throwError(mockError));
|
||||
spyOn(taskListService, 'unclaimTask').and.returnValue(throwError(() => mockError));
|
||||
getBpmLoggedUserSpy.and.returnValue(of(claimedTaskDetailsMock.assignee));
|
||||
getTaskDetailsSpy.and.returnValue(of(claimedTaskDetailsMock));
|
||||
|
||||
component.taskId = 'mock-task-id';
|
||||
|
||||
component.error.subscribe((error: any) => {
|
||||
component.error.subscribe((error: unknown) => {
|
||||
expect(error).toEqual(mockError);
|
||||
done();
|
||||
});
|
||||
|
||||
179
package-lock.json
generated
179
package-lock.json
generated
@@ -201,6 +201,7 @@
|
||||
"integrity": "sha512-uIxi6Vzss6+ycljVhkyPUPWa20w8qxJL9lEn0h6+sX/fhM8Djt0FHIuTQjoX58EoMaQ/1jrXaRaGimkbaFcG9A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.1902.19",
|
||||
@@ -408,6 +409,7 @@
|
||||
"integrity": "sha512-JbLL+4IMLMBgjLZlnPG4lYDfz4zGrJ/s6Aoon321NJKuw1Kb1k5KpFu9dUY0BqLIe8xPQ2UJBpI+xXdK5MXMHQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ajv": "8.17.1",
|
||||
"ajv-formats": "3.0.1",
|
||||
@@ -546,6 +548,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.18.tgz",
|
||||
"integrity": "sha512-c76x1t+OiSstPsvJdHmV8Q4taF+8SxWKqiY750fOjpd01it4jJbU6YQqIroC6Xie7154zZIxOTHH2uTj+nm5qA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -563,6 +566,7 @@
|
||||
"integrity": "sha512-SFzQ1bRkNFiOVu+aaz+9INmts7tDUrsHLEr9HmARXr9qk5UmR8prlw39p2u+Bvi6/lCiJ18TZMQQl9mGyr63lg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.1902.19",
|
||||
@@ -648,6 +652,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.2.19.tgz",
|
||||
"integrity": "sha512-PCpJagurPBqciqcq4Z8+3OtKLb7rSl4w/qBJoIMua8CgnrjvA1i+SWawhdtfI1zlY8FSwhzLwXV0CmWWfFzQPg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"parse5": "^7.1.2",
|
||||
"tslib": "^2.3.0"
|
||||
@@ -663,6 +668,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-19.2.18.tgz",
|
||||
"integrity": "sha512-CrV02Omzw/QtfjlEVXVPJVXipdx83NuA+qSASZYrxrhKFusUZyK3P/Zznqg+wiAeNDbedQwMUVqoAARHf0xQrw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -679,6 +685,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.2.18.tgz",
|
||||
"integrity": "sha512-3MscvODxRVxc3Cs0ZlHI5Pk5rEvE80otfvxZTMksOZuPlv1B+S8MjWfc3X3jk9SbyUEzODBEH55iCaBHD48V3g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -692,6 +699,7 @@
|
||||
"integrity": "sha512-N4TMtLfImJIoMaRL6mx7885UBeQidywptHH6ACZj71Ar6++DBc1mMlcwuvbeJCd3r3y8MQ5nLv5PZSN/tHr13w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/core": "7.26.9",
|
||||
"@jridgewell/sourcemap-codec": "^1.4.14",
|
||||
@@ -768,6 +776,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-19.2.18.tgz",
|
||||
"integrity": "sha512-+QRrf0Igt8ccUWXHA+7doK5W6ODyhHdqVyblSlcQ8OciwkzIIGGEYNZom5OZyWMh+oI54lcSeyV2O3xaDepSrQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -784,6 +793,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.2.18.tgz",
|
||||
"integrity": "sha512-pe40934jWhoS7DyGl7jyZdoj1gvBgur2t1zrJD+csEkTitYnW14+La2Pv6SW1pNX5nIzFsgsS9Nex1KcH5S6Tw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -802,6 +812,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/material/-/material-19.2.19.tgz",
|
||||
"integrity": "sha512-auIE6JUzTIA3LyYklh9J/T7u64crmphxUBgAa0zcOMDog6SYfwbNe9YeLQqua5ek4OUAOdK/BHHfVl5W5iaUoQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -833,6 +844,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.2.18.tgz",
|
||||
"integrity": "sha512-eahtsHPyXTYLARs9YOlXhnXGgzw0wcyOcDkBvNWK/3lA0NHIgIHmQgXAmBo+cJ+g9skiEQTD2OmSrrwbFKWJkw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -855,6 +867,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.18.tgz",
|
||||
"integrity": "sha512-wqDtK2yVN5VDqVeOSOfqELdu40fyoIDknBGSxA27CEXzFVdMWJyIpuvUi+GMa+9eGjlS+1uVVBaRwxmnuvHj+A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
@@ -891,6 +904,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.13.1.tgz",
|
||||
"integrity": "sha512-HaAt62h3jNUXpJ1v5HNgUiCzPP1c5zc2Q/FeTb2cTk/v09YlhoqKKHQFJI7St50VCJ5q8JVIc03I5bRcBrQxsg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@graphql-typed-document-node/core": "^3.1.1",
|
||||
"@wry/caches": "^1.0.0",
|
||||
@@ -1011,6 +1025,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz",
|
||||
"integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "^2.2.0",
|
||||
"@babel/code-frame": "^7.26.2",
|
||||
@@ -2945,6 +2960,7 @@
|
||||
"integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@keyv/serialize": "^1.1.1"
|
||||
}
|
||||
@@ -3165,7 +3181,8 @@
|
||||
"version": "4.0.19",
|
||||
"resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.19.tgz",
|
||||
"integrity": "sha512-VYHtPnZt/Zd/ATbW3rtexWpBnHUohUrQOHff/2JBhsVgxOrksAxJnLAO43Q1ayLJBJUUwNVo+RU0sx0aaysZfg==",
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@cspell/dict-dart": {
|
||||
"version": "2.3.2",
|
||||
@@ -3285,13 +3302,15 @@
|
||||
"version": "4.0.14",
|
||||
"resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.14.tgz",
|
||||
"integrity": "sha512-2bf7n+kS92g+cMKV0wr9o/Oq9n8JzU7CcrB96gIh2GHgnF+0xDOqO2W/1KeFAqOfqosoOVE48t+4dnEMkkoJ2Q==",
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@cspell/dict-html-symbol-entities": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.5.tgz",
|
||||
"integrity": "sha512-429alTD4cE0FIwpMucvSN35Ld87HCyuM8mF731KU5Rm4Je2SG6hmVx7nkBsLyrmH3sQukTcr1GaiZsiEg8svPA==",
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@cspell/dict-java": {
|
||||
"version": "5.0.12",
|
||||
@@ -3462,7 +3481,8 @@
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.2.3.tgz",
|
||||
"integrity": "sha512-zXh1wYsNljQZfWWdSPYwQhpwiuW0KPW1dSd8idjMRvSD0aSvWWHoWlrMsmZeRl4qM4QCEAjua8+cjflm41cQBg==",
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@cspell/dict-vue": {
|
||||
"version": "3.0.5",
|
||||
@@ -3646,6 +3666,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
@@ -3689,6 +3710,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
@@ -6938,6 +6960,7 @@
|
||||
"integrity": "sha512-8PFQxtmXc6ukBC4CqGIoc96M2Ly9WVwCPu4Ffvt+K/SB6rGbeFeZoYAwREV1zGNMJ5v5ly6+AHIEOBxNuSnzSg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@module-federation/bridge-react-webpack-plugin": "0.21.6",
|
||||
"@module-federation/cli": "0.21.6",
|
||||
@@ -7274,6 +7297,7 @@
|
||||
"integrity": "sha512-GzqNytPPnQVejl78XFFvtLyj3XNgPu6rSac2EbQkCxV3uzAD3kFQ7SW0VuwXWbQeRTUgt/4Nl/o+BrJXy14lsw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@module-federation/runtime": "0.22.1",
|
||||
"@module-federation/webpack-bundler-runtime": "0.22.1"
|
||||
@@ -7427,6 +7451,7 @@
|
||||
"integrity": "sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@module-federation/runtime": "0.21.6",
|
||||
"@module-federation/webpack-bundler-runtime": "0.21.6"
|
||||
@@ -9201,8 +9226,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-darwin-x64": {
|
||||
"version": "21.6.10",
|
||||
@@ -9216,8 +9240,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-freebsd-x64": {
|
||||
"version": "21.6.10",
|
||||
@@ -9231,8 +9254,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-linux-arm-gnueabihf": {
|
||||
"version": "21.6.10",
|
||||
@@ -9246,8 +9268,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-linux-arm64-gnu": {
|
||||
"version": "21.6.10",
|
||||
@@ -9261,8 +9282,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-linux-arm64-musl": {
|
||||
"version": "21.6.10",
|
||||
@@ -9276,8 +9296,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-linux-x64-gnu": {
|
||||
"version": "21.6.10",
|
||||
@@ -9291,8 +9310,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-linux-x64-musl": {
|
||||
"version": "21.6.10",
|
||||
@@ -9306,8 +9324,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-win32-arm64-msvc": {
|
||||
"version": "21.6.10",
|
||||
@@ -9321,8 +9338,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/nx-win32-x64-msvc": {
|
||||
"version": "21.6.10",
|
||||
@@ -9336,8 +9352,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/@nx/workspace": {
|
||||
"version": "20.8.4",
|
||||
@@ -9751,7 +9766,6 @@
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@napi-rs/wasm-runtime": "0.2.4",
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
@@ -9824,7 +9838,6 @@
|
||||
"integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jest/diff-sequences": "30.0.1",
|
||||
"@jest/get-type": "30.1.0",
|
||||
@@ -9882,7 +9895,6 @@
|
||||
"integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jest/schemas": "30.0.5",
|
||||
"ansi-styles": "^5.2.0",
|
||||
@@ -9898,7 +9910,6 @@
|
||||
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
@@ -9911,8 +9922,7 @@
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
||||
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@nx/cypress/node_modules/restore-cursor": {
|
||||
"version": "3.1.0",
|
||||
@@ -10507,6 +10517,7 @@
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@napi-rs/wasm-runtime": "0.2.4",
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
@@ -11848,8 +11859,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-darwin-x64": {
|
||||
"version": "21.6.10",
|
||||
@@ -11863,8 +11873,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-freebsd-x64": {
|
||||
"version": "21.6.10",
|
||||
@@ -11878,8 +11887,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-linux-arm-gnueabihf": {
|
||||
"version": "21.6.10",
|
||||
@@ -11893,8 +11901,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-linux-arm64-gnu": {
|
||||
"version": "21.6.10",
|
||||
@@ -11908,8 +11915,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-linux-arm64-musl": {
|
||||
"version": "21.6.10",
|
||||
@@ -11923,8 +11929,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-linux-x64-gnu": {
|
||||
"version": "21.6.10",
|
||||
@@ -11938,8 +11943,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-linux-x64-musl": {
|
||||
"version": "21.6.10",
|
||||
@@ -11953,8 +11957,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-win32-arm64-msvc": {
|
||||
"version": "21.6.10",
|
||||
@@ -11968,8 +11971,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/nx-win32-x64-msvc": {
|
||||
"version": "21.6.10",
|
||||
@@ -11983,8 +11985,7 @@
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/@nx/workspace": {
|
||||
"version": "20.8.4",
|
||||
@@ -12398,7 +12399,6 @@
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@napi-rs/wasm-runtime": "0.2.4",
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
@@ -12471,7 +12471,6 @@
|
||||
"integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jest/diff-sequences": "30.0.1",
|
||||
"@jest/get-type": "30.1.0",
|
||||
@@ -12529,7 +12528,6 @@
|
||||
"integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jest/schemas": "30.0.5",
|
||||
"ansi-styles": "^5.2.0",
|
||||
@@ -12545,7 +12543,6 @@
|
||||
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
@@ -12558,8 +12555,7 @@
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
||||
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@nx/storybook/node_modules/restore-cursor": {
|
||||
"version": "3.1.0",
|
||||
@@ -13231,6 +13227,7 @@
|
||||
"integrity": "sha512-pOxtKWUfvf0oD8Geqs8D89Q2xpstRTaSY+F6Ut/Wd0GnEjUjO32SS1ymAM6WggGPHDZN4qpNrd5cfIxQmAbRLg==",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@napi-rs/wasm-runtime": "0.2.4",
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
@@ -13888,6 +13885,7 @@
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@napi-rs/wasm-runtime": "0.2.4",
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
@@ -15068,6 +15066,7 @@
|
||||
"integrity": "sha512-GUiTRTz6+gbfM2g3ixXqrvPSeHmyAFu/qHEZZjbYFeDtZhpy1gVaVAHiZfaaIIm+vRlNi7JmULWFZQFKwpQB9Q==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@module-federation/runtime-tools": "0.22.0",
|
||||
"@rspack/binding": "1.7.3",
|
||||
@@ -15306,6 +15305,7 @@
|
||||
"integrity": "sha512-q1xbQYLG/JR0P0/jma3sUUWubw/6859WC5Y/+l2xGEvIqtoMKBYBzN4Nrud8rdLVEFfIDNEIbKQ4Rwr/JemO3g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "19.2.7",
|
||||
"@angular-devkit/schematics": "19.2.7",
|
||||
@@ -15527,6 +15527,7 @@
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
@@ -15785,7 +15786,6 @@
|
||||
"integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.10.4",
|
||||
"@babel/runtime": "^7.12.5",
|
||||
@@ -15806,7 +15806,6 @@
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
@@ -15817,7 +15816,6 @@
|
||||
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
@@ -15831,7 +15829,6 @@
|
||||
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"dequal": "^2.0.3"
|
||||
}
|
||||
@@ -15842,7 +15839,6 @@
|
||||
"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1",
|
||||
"ansi-styles": "^5.0.0",
|
||||
@@ -15857,8 +15853,7 @@
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
|
||||
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@testing-library/jest-dom": {
|
||||
"version": "6.9.1",
|
||||
@@ -15963,8 +15958,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
|
||||
"integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/babel__core": {
|
||||
"version": "7.20.5",
|
||||
@@ -16096,6 +16090,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
|
||||
"integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "*",
|
||||
"@types/json-schema": "*"
|
||||
@@ -16122,6 +16117,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz",
|
||||
"integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/body-parser": "*",
|
||||
"@types/express-serve-static-core": "^4.17.33",
|
||||
@@ -16268,6 +16264,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz",
|
||||
"integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
@@ -16777,6 +16774,7 @@
|
||||
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "6.21.0",
|
||||
"@typescript-eslint/types": "6.21.0",
|
||||
@@ -17116,6 +17114,7 @@
|
||||
"integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
},
|
||||
@@ -17233,6 +17232,7 @@
|
||||
"integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.9.1",
|
||||
"@typescript-eslint/scope-manager": "8.53.1",
|
||||
@@ -18107,6 +18107,7 @@
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@@ -18222,6 +18223,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
@@ -19206,6 +19208,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.9.0",
|
||||
"caniuse-lite": "^1.0.30001759",
|
||||
@@ -19527,6 +19530,7 @@
|
||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.4.tgz",
|
||||
"integrity": "sha512-emICKGBABnxhMjUjlYRR12PmOXhJ2eJjEHL2/dZlWjxRAZT1D8xplLFq5M0tMQK8ja+wBS/tuVEJB5C6r7VxJA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@kurkle/color": "^0.3.0"
|
||||
},
|
||||
@@ -19549,6 +19553,7 @@
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
|
||||
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"readdirp": "^4.0.1"
|
||||
},
|
||||
@@ -21751,6 +21756,7 @@
|
||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
|
||||
"integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.21.0"
|
||||
},
|
||||
@@ -21996,7 +22002,6 @@
|
||||
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
@@ -22132,8 +22137,7 @@
|
||||
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
|
||||
"integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/dom-converter": {
|
||||
"version": "0.2.0",
|
||||
@@ -22354,6 +22358,7 @@
|
||||
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"iconv-lite": "^0.6.2"
|
||||
}
|
||||
@@ -22801,6 +22806,7 @@
|
||||
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
|
||||
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.6.1",
|
||||
@@ -22857,6 +22863,7 @@
|
||||
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"eslint-config-prettier": "bin/cli.js"
|
||||
},
|
||||
@@ -24333,6 +24340,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
@@ -25058,6 +25066,7 @@
|
||||
"resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz",
|
||||
"integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
|
||||
}
|
||||
@@ -25082,6 +25091,7 @@
|
||||
"resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.6.tgz",
|
||||
"integrity": "sha512-zgfER9s+ftkGKUZgc0xbx8T7/HMO4AV5/YuYiFc+AtgcO5T0v8AxYYNQ+ltzuzDZgNkYJaFspm5MMYLjQzrkmw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
},
|
||||
@@ -25437,6 +25447,7 @@
|
||||
"integrity": "sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/html-minifier-terser": "^6.0.0",
|
||||
"html-minifier-terser": "^6.0.2",
|
||||
@@ -26755,7 +26766,8 @@
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.13.0.tgz",
|
||||
"integrity": "sha512-vsYjfh7lyqvZX5QgqKc4YH8phs7g96Z8bsdIFNEU3VqXhlHaq+vov/Fgn/sr6MiUczdZkyXRC3TX369Ll4Nzbw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/jasmine-reporters": {
|
||||
"version": "2.5.2",
|
||||
@@ -26784,6 +26796,7 @@
|
||||
"integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jest/core": "^29.7.0",
|
||||
"@jest/types": "^29.6.3",
|
||||
@@ -28526,6 +28539,7 @@
|
||||
"integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jest/environment": "^29.7.0",
|
||||
"@jest/fake-timers": "^29.7.0",
|
||||
@@ -31386,6 +31400,7 @@
|
||||
"integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@colors/colors": "1.5.0",
|
||||
"body-parser": "^1.19.0",
|
||||
@@ -32171,6 +32186,7 @@
|
||||
"resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz",
|
||||
"integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"copy-anything": "^2.0.1",
|
||||
"parse-node-version": "^1.0.1",
|
||||
@@ -33163,7 +33179,6 @@
|
||||
"integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"lz-string": "bin/bin.js"
|
||||
}
|
||||
@@ -33836,6 +33851,7 @@
|
||||
"integrity": "sha512-dFuwFsDJMBSd1YtmLLcX5bNNUCQUlRqgf34aXA+79PmkOP+0eF8GP2949wq3+jMjmFTNm80Oo8IUYiSLwklKCQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@rollup/plugin-json": "^6.1.0",
|
||||
"@rollup/wasm-node": "^4.24.0",
|
||||
@@ -34243,6 +34259,7 @@
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@napi-rs/wasm-runtime": "0.2.4",
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
@@ -35579,6 +35596,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.8",
|
||||
"picocolors": "^1.1.1",
|
||||
@@ -36291,6 +36309,7 @@
|
||||
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"prettier": "bin/prettier.cjs"
|
||||
},
|
||||
@@ -37577,6 +37596,7 @@
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
|
||||
"integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.1.0"
|
||||
}
|
||||
@@ -38218,8 +38238,7 @@
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
|
||||
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/schema-utils": {
|
||||
"version": "4.3.3",
|
||||
@@ -39047,6 +39066,7 @@
|
||||
"integrity": "sha512-fIQnFtpksRRgHR1CO1onGX3djaog4qsW/c5U8arqYTkUEr2TaWpn05mIJDOBoPJFlOdqFrB4Ttv0PZJxV7avhw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@storybook/global": "^5.0.0",
|
||||
"@storybook/icons": "^2.0.1",
|
||||
@@ -39481,6 +39501,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@csstools/css-parser-algorithms": "^3.0.4",
|
||||
"@csstools/css-tokenizer": "^3.0.3",
|
||||
@@ -39925,6 +39946,7 @@
|
||||
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
@@ -40971,6 +40993,7 @@
|
||||
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@cspotcode/source-map-support": "^0.8.0",
|
||||
"@tsconfig/node10": "^1.0.7",
|
||||
@@ -41113,7 +41136,8 @@
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"license": "0BSD"
|
||||
"license": "0BSD",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/tsscmp": {
|
||||
"version": "1.0.6",
|
||||
@@ -41304,6 +41328,7 @@
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
|
||||
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
@@ -41703,6 +41728,7 @@
|
||||
"integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"fdir": "^6.4.4",
|
||||
@@ -42192,6 +42218,7 @@
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz",
|
||||
"integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.7",
|
||||
"@types/estree": "^1.0.8",
|
||||
@@ -42298,6 +42325,7 @@
|
||||
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz",
|
||||
"integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/bonjour": "^3.5.13",
|
||||
"@types/connect-history-api-fallback": "^1.5.4",
|
||||
@@ -42461,6 +42489,7 @@
|
||||
"integrity": "sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ansi-html-community": "0.0.8",
|
||||
"html-entities": "^2.1.0",
|
||||
@@ -42947,6 +42976,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
|
||||
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
@@ -43211,7 +43241,8 @@
|
||||
"version": "0.15.0",
|
||||
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.0.tgz",
|
||||
"integrity": "sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==",
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user