@ecodev/natural 64.0.1 → 64.0.2

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/index.d.ts CHANGED
@@ -20,8 +20,7 @@ import { ReadonlyDeep } from 'type-fest';
20
20
  import { HttpInterceptorFn } from '@angular/common/http';
21
21
  import { NativeDateAdapter, ThemePalette, ErrorStateMatcher } from '@angular/material/core';
22
22
  import { MatSelectionList } from '@angular/material/list';
23
- import { FlatTreeControl } from '@angular/cdk/tree';
24
- import { MatTreeFlattener, MatTreeFlatDataSource } from '@angular/material/tree';
23
+ import { MatTreeNestedDataSource } from '@angular/material/tree';
25
24
  import { MatDialogConfig, MatDialogRef } from '@angular/material/dialog';
26
25
  import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
27
26
  import { MatSidenav, MatDrawerMode } from '@angular/material/sidenav';
@@ -2485,6 +2484,8 @@ type NaturalHierarchicConfiguration<T extends UntypedModelService = UntypedModel
2485
2484
  /**
2486
2485
  * Callback function that returns boolean. If true the item is selectable, if false, it's not.
2487
2486
  * If missing, item is selectable.
2487
+ *
2488
+ * In fact, this means isDisabled. Also applies to unselect.
2488
2489
  */
2489
2490
  isSelectableCallback?: (item: any) => boolean;
2490
2491
  /**
@@ -2495,80 +2496,58 @@ type NaturalHierarchicConfiguration<T extends UntypedModelService = UntypedModel
2495
2496
  displayWith?: (item: any) => string;
2496
2497
  };
2497
2498
 
2499
+ type HierarchicFilterConfiguration$1<T = Literal> = {
2500
+ service: NaturalHierarchicConfiguration['service'];
2501
+ filter: T;
2502
+ };
2503
+ type HierarchicFiltersConfiguration$1<T = Literal> = HierarchicFilterConfiguration$1<T>[];
2504
+
2498
2505
  type HierarchicModel = {
2499
2506
  __typename: string;
2500
2507
  } & NameOrFullName;
2501
- declare class HierarchicModelNode {
2508
+ /**
2509
+ * Wrapper for the original model from the DB with specific metadata for tree
2510
+ */
2511
+ declare class ModelNode {
2502
2512
  readonly model: HierarchicModel;
2503
2513
  readonly config: NaturalHierarchicConfiguration;
2504
- readonly childrenChange: BehaviorSubject<HierarchicModelNode[]>;
2514
+ readonly childrenChange: BehaviorSubject<ModelNode[]>;
2515
+ isLoading: boolean;
2516
+ isExpandable: boolean;
2517
+ isSelectable: boolean;
2505
2518
  constructor(model: HierarchicModel, config: NaturalHierarchicConfiguration);
2506
- get children(): HierarchicModelNode[];
2519
+ get children(): Observable<ModelNode[]>;
2520
+ get hasChildren(): boolean;
2507
2521
  }
2508
2522
 
2509
- declare class HierarchicFlatNode {
2510
- readonly node: HierarchicModelNode;
2511
- readonly name: string;
2512
- readonly level: number;
2513
- expandable: boolean;
2514
- readonly selectable: boolean;
2515
- deselectable: boolean;
2516
- loading: boolean;
2517
- constructor(node: HierarchicModelNode, name: string, level?: number, expandable?: boolean, selectable?: boolean, deselectable?: boolean);
2518
- }
2519
-
2520
- type HierarchicFilterConfiguration$1<T = Literal> = {
2521
- service: NaturalHierarchicConfiguration['service'];
2522
- filter: T;
2523
- };
2524
- type HierarchicFiltersConfiguration$1<T = Literal> = HierarchicFilterConfiguration$1<T>[];
2525
-
2526
2523
  type OrganizedModelSelection = Record<string, any[]>;
2527
2524
  declare class NaturalHierarchicSelectorService {
2528
2525
  private readonly injector;
2529
2526
  /**
2530
- * Stores the global result of the tree
2531
- * This observable contains Node.
2532
- * When it's updated, the TreeController and TreeFlattener process the new array to generate the flat tree.
2527
+ * We use cache because dataSource has nested data and would require recursive search
2533
2528
  */
2534
- readonly dataChange: BehaviorSubject<HierarchicModelNode[]>;
2535
- /**
2536
- * Configuration for relations and selection constraints
2537
- *
2538
- * The list should be sorted in the order of the hierarchic (list first parent rules, then child rules)
2539
- */
2540
- private configuration;
2541
- /**
2542
- * Init component by saving the complete configuration, and then retrieving root elements.
2543
- * Updates **another** observable (this.dataChange) when data is retrieved.
2544
- */
2545
- init(config: NaturalHierarchicConfiguration[], contextFilter?: HierarchicFiltersConfiguration$1 | null, searchVariables?: QueryVariables | null): Observable<unknown>;
2546
- /**
2547
- * Get list of children, considering given FlatNode id as a parent.
2548
- * Mark loading status individually on nodes.
2549
- */
2550
- loadChildren(flatNode: HierarchicFlatNode, contextFilter?: HierarchicFiltersConfiguration$1 | null): void;
2551
- search(searchVariables: QueryVariables, contextFilter?: HierarchicFiltersConfiguration$1 | null): void;
2529
+ private readonly nodeCache;
2530
+ isTooBig(): boolean;
2552
2531
  /**
2553
2532
  * Retrieve elements from the server
2554
2533
  * Get root elements if node is null, or child elements if node is given
2555
2534
  */
2556
- private getList;
2557
- countItems(node: HierarchicFlatNode, contextFilters?: HierarchicFiltersConfiguration$1 | null): void;
2535
+ getList(node: (ModelNode | null) | undefined, filters: (HierarchicFiltersConfiguration$1 | null) | undefined, variables: (QueryVariables | null) | undefined, configurations: NaturalHierarchicConfiguration[]): Observable<ModelNode[]>;
2536
+ countChildren(node: ModelNode, filters: (HierarchicFiltersConfiguration$1 | null) | undefined, configurations: NaturalHierarchicConfiguration[]): void;
2558
2537
  private getContextualizedConfigs;
2559
2538
  /**
2560
2539
  * Return models matching given FlatNodes
2561
2540
  * Returns a Literal of models grouped by their configuration attribute "selectableAtKey"
2562
2541
  */
2563
- toOrganizedSelection(nodes: HierarchicModelNode[]): OrganizedModelSelection;
2542
+ toOrganizedSelection(nodes: ModelNode[], configurations: NaturalHierarchicConfiguration[]): OrganizedModelSelection;
2564
2543
  /**
2565
2544
  * Transforms an OrganizedModelSelection into a list of ModelNodes
2566
2545
  */
2567
- fromOrganizedSelection(organizedModelSelection: OrganizedModelSelection): HierarchicModelNode[];
2546
+ fromOrganizedSelection(organizedModelSelection: OrganizedModelSelection, configurations: NaturalHierarchicConfiguration[]): ModelNode[];
2568
2547
  /**
2569
2548
  * Checks that each configuration.selectableAtKey attribute is unique
2570
2549
  */
2571
- private validateConfiguration;
2550
+ validateConfiguration(configurations: NaturalHierarchicConfiguration[]): void;
2572
2551
  /**
2573
2552
  * Return configurations setup in the list after the given one
2574
2553
  */
@@ -2588,7 +2567,13 @@ declare class NaturalHierarchicSelectorService {
2588
2567
  * Search in configurations.selectableAtKey attribute to find given key and return the configuration
2589
2568
  */
2590
2569
  private getConfigurationBySelectableKey;
2591
- private getOrCreateModelNode;
2570
+ private getOrCreateNode;
2571
+ /**
2572
+ * Returns an identifier key for map cache
2573
+ * As many object types can be used, this function considers typename and ID to return something like document-123
2574
+ */
2575
+ private getCacheKey;
2576
+ getAllFetchedNodes(): ModelNode[];
2592
2577
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalHierarchicSelectorService, never>;
2593
2578
  static ɵprov: i0.ɵɵInjectableDeclaration<NaturalHierarchicSelectorService>;
2594
2579
  }
@@ -2941,6 +2926,13 @@ declare class NaturalFileComponent implements OnInit, OnChanges {
2941
2926
  static ɵcmp: i0.ɵɵComponentDeclaration<NaturalFileComponent, "natural-file", never, { "height": { "alias": "height"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; "backgroundSize": { "alias": "backgroundSize"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "uploader": { "alias": "uploader"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; }; "formCtrl": { "alias": "formCtrl"; "required": false; "isSignal": true; }; }, { "modelChange": "modelChange"; }, never, never, true, never>;
2942
2927
  }
2943
2928
 
2929
+ /**
2930
+ * Common image mime type that are supported by Felix out of the box.
2931
+ *
2932
+ * Should be kept in sync with `\Ecodev\Felix\Model\Traits\Image::getAcceptedMimeTypes`
2933
+ */
2934
+ declare const commonImageMimeTypes = "image/avif,image/bmp,image/x-ms-bmp,image/gif,image/heic,image/heif,image/jpeg,image/pjpeg,image/png,image/svg+xml,image/svg,image/webp";
2935
+
2944
2936
  declare class NaturalFixedButtonComponent {
2945
2937
  readonly icon: i0.InputSignal<string>;
2946
2938
  readonly link: i0.InputSignal<string | readonly any[] | _angular_router.UrlTree | null | undefined>;
@@ -2973,8 +2965,7 @@ declare class NaturalFixedButtonDetailComponent {
2973
2965
  }
2974
2966
 
2975
2967
  declare class NaturalHierarchicSelectorComponent implements OnInit, OnChanges {
2976
- private readonly destroyRef;
2977
- private readonly hierarchicSelectorService;
2968
+ protected readonly hierarchicSelectorService: NaturalHierarchicSelectorService;
2978
2969
  /**
2979
2970
  * Function that receives a model and returns a string for display value
2980
2971
  */
@@ -2992,10 +2983,6 @@ declare class NaturalHierarchicSelectorComponent implements OnInit, OnChanges {
2992
2983
  * Organized by key, containing each an array of selected items of same type
2993
2984
  */
2994
2985
  readonly selected: i0.InputSignal<OrganizedModelSelection>;
2995
- /**
2996
- * Whether selectable elements can be unselected
2997
- */
2998
- readonly allowUnselect: i0.InputSignal<boolean>;
2999
2986
  /**
3000
2987
  * Filters that apply to each query
3001
2988
  */
@@ -3020,106 +3007,55 @@ declare class NaturalHierarchicSelectorComponent implements OnInit, OnChanges {
3020
3007
  * Emits when natural-search selections change
3021
3008
  */
3022
3009
  readonly searchSelectionChange: i0.OutputEmitterRef<NaturalSearchSelections>;
3023
- /**
3024
- * Inner representation of selected @Input() to allow flat listing as mat-chip.
3025
- */
3026
- selectedNodes: HierarchicModelNode[];
3027
3010
  /**
3028
3011
  * Emits selection change
3029
3012
  * Returns a Literal where selected models are organized by key
3030
3013
  */
3031
3014
  readonly selectionChange: i0.OutputEmitterRef<OrganizedModelSelection>;
3032
3015
  /**
3033
- * Controller for nodes selection
3016
+ * List selected items (right listing)
3034
3017
  */
3035
- flatNodesSelection: SelectionModel<HierarchicFlatNode>;
3036
- treeControl: FlatTreeControl<HierarchicFlatNode>;
3037
- treeFlattener: MatTreeFlattener<HierarchicModelNode, HierarchicFlatNode>;
3038
- dataSource: MatTreeFlatDataSource<HierarchicModelNode, HierarchicFlatNode>;
3039
- loading: boolean;
3018
+ protected selection: SelectionModel<ModelNode>;
3040
3019
  /**
3041
- * Cache for transformed nodes
3020
+ * Data source for result listing (left listing)
3042
3021
  */
3043
- private readonly flatNodeMap;
3044
- protected readonly tooBig: i0.Signal<boolean>;
3022
+ protected readonly dataSource: MatTreeNestedDataSource<ModelNode>;
3023
+ loading: boolean;
3045
3024
  /**
3046
3025
  * Angular OnChange implementation
3047
3026
  */
3048
3027
  ngOnChanges(changes: SimpleChanges): void;
3049
- /**
3050
- * Angular OnInit implementation
3051
- */
3052
3028
  ngOnInit(): void;
3053
3029
  /**
3054
- * Toggle selection of a FlatNode, considering if multiple selection is activated or not
3030
+ * Toggle selection of a node, considering if multiple selection is activated or not
3055
3031
  */
3056
- toggleFlatNode(flatNode: HierarchicFlatNode): void;
3032
+ toggleSelection(node: ModelNode): void;
3057
3033
  protected selectAll(): void;
3058
3034
  /**
3059
- * When unselecting an element from the mat-chips, it can be deep in the hierarchy, and the tree element may not exist...
3035
+ * When unselecting an element from the mat-chips, it can be deep in the hierarchy, and the tree element may not
3036
+ * exist...
3060
3037
  * ... but we still need to remove the element from the mat-chips list.
3061
3038
  */
3062
- unselectModelNode(node: HierarchicModelNode): void;
3063
- isNodeTogglable(flatNode: HierarchicFlatNode): boolean;
3064
- private getDisplayFn;
3065
- loadChildren(flatNode: HierarchicFlatNode): void;
3066
- /**
3067
- * Created to collapse all children when closing a parent, but not sure it's good.
3068
- */
3069
- private getChildren;
3070
- /**
3071
- * Transforms a HierarchicModelNode into a FlatNode
3072
- */
3073
- private transformer;
3039
+ unselect(node: ModelNode): void;
3040
+ protected getDisplayFn(config: NaturalHierarchicConfiguration): (item: any) => string;
3041
+ private loadRoot;
3042
+ search(selections: NaturalSearchSelections): void;
3074
3043
  /**
3075
- * Return deep of the node in the tree
3044
+ * Get list of children, considering given FlatNode id as a parent.
3045
+ * Mark loading status individually on nodes.
3076
3046
  */
3077
- private getLevel;
3078
- /**
3079
- * Is always expandable because we load on demand, we don't know if there are children yet
3080
- */
3081
- private isExpandable;
3082
- private getOrCreateFlatNode;
3083
- search(selections: NaturalSearchSelections): void;
3084
- private loadRoots;
3047
+ loadChildren(node: ModelNode, contextFilter?: HierarchicFiltersConfiguration$1 | null): void;
3048
+ protected childrenAccessor: (node: ModelNode) => Observable<ModelNode[]>;
3085
3049
  /**
3086
3050
  * Sync inner selection (tree and mat-chips) according to selected input attribute
3087
3051
  */
3088
3052
  private updateInnerSelection;
3089
- /**
3090
- * Unselect a node, keeping the rest of the selected untouched
3091
- */
3092
- private unselectFlatNode;
3093
- /**
3094
- * Remove a node from chip lists
3095
- */
3096
- private removeModelNode;
3097
- /**
3098
- * Select a node, keeping th rest of the selected untouched
3099
- */
3100
- private selectFlatNode;
3101
- /**
3102
- * Clear all selected and select the given node
3103
- */
3104
- private selectSingleFlatNode;
3105
- /**
3106
- * Clear all selected and select the given node
3107
- */
3108
- private unselectSingleFlatNode;
3109
3053
  /**
3110
3054
  * Transform the given elements into the organized selection that is emitted to output
3111
3055
  */
3112
3056
  private updateSelection;
3113
- private isNodeSelected;
3114
- private getFlatNode;
3115
- private createFlatNode;
3116
- /**
3117
- * Returns an identifier key for map cache
3118
- * As many object types can be used, this function considers typename and ID to return something like document-123
3119
- */
3120
- private getMapKey;
3121
3057
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalHierarchicSelectorComponent, never>;
3122
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalHierarchicSelectorComponent, "natural-hierarchic-selector", never, { "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "allowUnselect": { "alias": "allowUnselect"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "searchFacets": { "alias": "searchFacets"; "required": false; "isSignal": true; }; "searchSelections": { "alias": "searchSelections"; "required": false; "isSignal": true; }; "allowSelectAll": { "alias": "allowSelectAll"; "required": false; "isSignal": true; }; }, { "searchSelectionChange": "searchSelectionChange"; "selectionChange": "selectionChange"; }, never, never, true, never>;
3058
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalHierarchicSelectorComponent, "natural-hierarchic-selector", never, { "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "searchFacets": { "alias": "searchFacets"; "required": false; "isSignal": true; }; "searchSelections": { "alias": "searchSelections"; "required": false; "isSignal": true; }; "allowSelectAll": { "alias": "allowSelectAll"; "required": false; "isSignal": true; }; }, { "searchSelectionChange": "searchSelectionChange"; "selectionChange": "selectionChange"; }, never, never, true, never>;
3123
3059
  }
3124
3060
 
3125
3061
  type HierarchicDialogResult = {
@@ -3143,10 +3079,6 @@ type HierarchicDialogConfig = {
3143
3079
  * Multiple selection if true or single selection if false
3144
3080
  */
3145
3081
  multiple?: boolean;
3146
- /**
3147
- * Allow to validate selection with no items checked
3148
- */
3149
- allowUnselect?: boolean;
3150
3082
  /**
3151
3083
  * Allow to select all items with dedicated button
3152
3084
  */
@@ -4262,5 +4194,5 @@ declare const naturalProviders: ApplicationConfig['providers'];
4262
4194
  */
4263
4195
  declare function graphqlQuerySigner(key: string): HttpInterceptorFn;
4264
4196
 
4265
- export { AvatarService, InvalidWithValueStateMatcher$1 as InvalidWithValueStateMatcher, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertService, NaturalAvatarComponent, NaturalBackgroundDensityDirective, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDialogTriggerComponent, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalFileComponent, NaturalFileDropDirective, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalSearchComponent, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTimeAgoPipe, NetworkActivityService, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeBooleanComponent, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeOptionsComponent, TypeSelectComponent, TypeTextComponent, activityInterceptor, available, cancellableTimeout, cloneDeepButSkipFile, collectErrors, copyToClipboard, createHttpLink, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, graphqlQuerySigner, hasFilesAndProcessDate, ifValid, integer, isFile, localStorageFactory, localStorageProvider, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, naturalProviders, onHistoryEvent, possibleComparableOperators, provideErrorHandler, provideIcons, providePanels, provideSeo, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, rgbToHex, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, validateColumns, validatePagination, validateSorting, wrapLike, wrapPrefix, wrapSuffix };
4197
+ export { AvatarService, InvalidWithValueStateMatcher$1 as InvalidWithValueStateMatcher, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertService, NaturalAvatarComponent, NaturalBackgroundDensityDirective, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDialogTriggerComponent, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalFileComponent, NaturalFileDropDirective, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalSearchComponent, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTimeAgoPipe, NetworkActivityService, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeBooleanComponent, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeOptionsComponent, TypeSelectComponent, TypeTextComponent, activityInterceptor, available, cancellableTimeout, cloneDeepButSkipFile, collectErrors, commonImageMimeTypes, copyToClipboard, createHttpLink, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, graphqlQuerySigner, hasFilesAndProcessDate, ifValid, integer, isFile, localStorageFactory, localStorageProvider, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, naturalProviders, onHistoryEvent, possibleComparableOperators, provideErrorHandler, provideIcons, providePanels, provideSeo, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, rgbToHex, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, validateColumns, validatePagination, validateSorting, wrapLike, wrapPrefix, wrapSuffix };
4266
4198
  export type { AvailableColumn, Button, DropdownComponent, DropdownFacet, ExtractResolve, ExtractTall, ExtractTallOne, ExtractTcreate, ExtractTdelete, ExtractTone, ExtractTupdate, ExtractVall, ExtractVcreate, ExtractVdelete, ExtractVone, ExtractVupdate, Facet, FileModel, FileSelection, Filter, FilterGroupConditionField, FlagFacet, FormAsyncValidators, FormControls, FormValidators, HierarchicDialogConfig, HierarchicDialogResult, HierarchicFilterConfiguration$1 as HierarchicFilterConfiguration, HierarchicFiltersConfiguration$1 as HierarchicFiltersConfiguration, IEnum, InvalidFile, LinkableObject, Literal, NameOrFullName, NaturalConfirmData, NaturalDialogTriggerProvidedData, NaturalDialogTriggerRedirectionValues, NaturalDialogTriggerRoutingData, NaturalDropdownData, NaturalHierarchicConfiguration, NaturalIconConfig, NaturalIconsConfig, NaturalLoggerExtra, NaturalLoggerType, NaturalPanelConfig, NaturalPanelData, NaturalPanelResolves, NaturalPanelsBeforeOpenPanel, NaturalPanelsHooksConfig, NaturalPanelsRouteConfig, NaturalPanelsRouterRule, NaturalPanelsRoutesConfig, NaturalSearchFacets, NaturalSearchSelection, NaturalSearchSelections, NaturalSeo, NaturalSeoBasic, NaturalSeoCallback, NaturalSeoConfig, NaturalSeoResolve, NaturalSeoResolveData, NaturalStorage, NavigableItem, OrganizedModelSelection, PaginatedData, PaginationInput, PersistenceValidator, PossibleComparableOpertorKeys, QueryVariables, ResolvedData, Sorting, SubButton, TypeBooleanConfiguration, TypeDateConfiguration, TypeDateRangeConfiguration, TypeHierarchicSelectorConfiguration, TypeNumberConfiguration, TypeOption, TypeOptionsConfiguration, TypeSelectConfiguration, TypeSelectItem, TypeSelectNaturalConfiguration, VariablesWithInput, WithId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecodev/natural",
3
- "version": "64.0.1",
3
+ "version": "64.0.2",
4
4
  "license": "MIT",
5
5
  "repository": "github:Ecodev/natural",
6
6
  "sideEffects": false,