@sinequa/atomic-angular 1.13.0 → 1.14.0

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
@@ -12736,6 +12736,13 @@ declare class FilterButtonComponent {
12736
12736
  column: _angular_core.InputSignal<string>;
12737
12737
  position: _angular_core.InputSignal<Placement>;
12738
12738
  offset: _angular_core.InputSignal<number>;
12739
+ /**
12740
+ * When true, forces the popover to stay at the exact `position()` placement,
12741
+ * disabling floating-ui's automatic repositioning based on available viewport space.
12742
+ *
12743
+ * @default false
12744
+ */
12745
+ lockPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
12739
12746
  expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
12740
12747
  protected variant: _angular_core.WritableSignal<"icon" | "default" | "none" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
12741
12748
  protected filter: _angular_core.WritableSignal<CFilterEx>;
@@ -13178,7 +13185,7 @@ declare class FilterButtonComponent {
13178
13185
  */
13179
13186
  protected isDate(column: string): boolean;
13180
13187
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterButtonComponent, never>;
13181
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterButtonComponent, "filter-button, FilterButton", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13188
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterButtonComponent, "filter-button, FilterButton", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "lockPosition": { "alias": "lockPosition"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13182
13189
  }
13183
13190
 
13184
13191
  declare class MoreButtonComponent {
@@ -13602,9 +13609,17 @@ declare class MoreButtonComponent {
13602
13609
  id?: string | undefined;
13603
13610
  }>;
13604
13611
  nativeElement: any;
13612
+ breakpointObserver: BreakpointObserverService;
13605
13613
  aggregationsService: AggregationsService;
13606
13614
  count: _angular_core.InputSignalWithTransform<number, unknown>;
13607
13615
  position: _angular_core.InputSignal<Placement>;
13616
+ /**
13617
+ * When true, forces the popover to stay at the exact `position()` placement,
13618
+ * disabling floating-ui's automatic repositioning based on available viewport space.
13619
+ *
13620
+ * @default false
13621
+ */
13622
+ lockPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
13608
13623
  includedFilters: _angular_core.InputSignal<string[]>;
13609
13624
  excludedFilters: _angular_core.InputSignal<string[]>;
13610
13625
  aggregations: _angular_core.InputSignal<Aggregation[] | undefined>;
@@ -13617,15 +13632,48 @@ declare class MoreButtonComponent {
13617
13632
  * @default false
13618
13633
  */
13619
13634
  hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
13635
+ /**
13636
+ * Above this many overflow filters, the desktop Popover escalates to a modal
13637
+ * Dialog instead of an anchored popover — useful once there are too many facets
13638
+ * to browse comfortably in an anchored popover. Left unset (the default), the
13639
+ * Popover always shows every overflow facet, however many there are, adapting
13640
+ * its own height to the available space (see `PopoverContentComponent`'s
13641
+ * `size()` middleware) rather than escalating. A commonly-used value is `6`.
13642
+ *
13643
+ * @default undefined — never escalate to Dialog
13644
+ */
13645
+ enrichedThreshold: _angular_core.InputSignal<number | undefined>;
13646
+ /** Mobile drawer open state — the desktop Popover/Dialog manage their own. */
13647
+ sheetOpen: _angular_core.WritableSignal<boolean>;
13648
+ /** The inline enriched Dialog — `<dialog #dialogRefEl>` binds a `DialogComponent` instance to the ref by default. */
13649
+ dialogRef: _angular_core.Signal<DialogComponent | undefined>;
13650
+ /** The authorized filters beyond the first `count` already shown in the bar. */
13651
+ private readonly overflowFilters;
13620
13652
  totalFiltersCount: _angular_core.Signal<number>;
13653
+ /**
13654
+ * Above {@link enrichedThreshold} overflow filters, the popover escalates to a modal
13655
+ * Dialog. Always `false` while `enrichedThreshold` is unset — the Popover then shows
13656
+ * every overflow facet regardless of count.
13657
+ */
13658
+ isEnriched: _angular_core.Signal<boolean>;
13621
13659
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MoreButtonComponent, never>;
13622
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreButtonComponent, "more-button, MoreButton", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13660
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreButtonComponent, "more-button, MoreButton", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "lockPosition": { "alias": "lockPosition"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; "enrichedThreshold": { "alias": "enrichedThreshold"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13623
13661
  }
13624
13662
 
13625
13663
  declare class FiltersBarComponent {
13626
13664
  class: _angular_core.InputSignal<string | undefined>;
13627
13665
  position: _angular_core.InputSignal<Placement>;
13628
13666
  morePosition: _angular_core.InputSignal<Placement>;
13667
+ /**
13668
+ * When true, forces every popover (filter buttons and the "more filters"
13669
+ * button) to stay at its exact `position()`/`morePosition()` placement,
13670
+ * disabling floating-ui's automatic repositioning based on available
13671
+ * viewport space. Relayed as-is to each `<FilterButton [lockPosition]>`
13672
+ * and to `<MoreButton [lockPosition]>`.
13673
+ *
13674
+ * @default false
13675
+ */
13676
+ lockPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
13629
13677
  aggregations: _angular_core.InputSignal<Aggregation[] | undefined>;
13630
13678
  /**
13631
13679
  * Filters that should be included from the filters bar.
@@ -14202,10 +14250,11 @@ declare class FiltersBarComponent {
14202
14250
  */
14203
14251
  handleClick(event: MouseEvent): void;
14204
14252
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FiltersBarComponent, never>;
14205
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FiltersBarComponent, "filters-bar, FiltersBar, filtersbar", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "morePosition": { "alias": "morePosition"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "includeFilters": { "alias": "includeFilters"; "required": false; "isSignal": true; }; "excludeFilters": { "alias": "excludeFilters"; "required": false; "isSignal": true; }; "filtersCount": { "alias": "filtersCount"; "required": false; "isSignal": true; }; "showMoreFiltersButton": { "alias": "showMoreFiltersButton"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, { "onClearFilters": "onClearFilters"; "onClearBasket": "onClearBasket"; }, never, never, true, never>;
14253
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FiltersBarComponent, "filters-bar, FiltersBar, filtersbar", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "morePosition": { "alias": "morePosition"; "required": false; "isSignal": true; }; "lockPosition": { "alias": "lockPosition"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "includeFilters": { "alias": "includeFilters"; "required": false; "isSignal": true; }; "excludeFilters": { "alias": "excludeFilters"; "required": false; "isSignal": true; }; "filtersCount": { "alias": "filtersCount"; "required": false; "isSignal": true; }; "showMoreFiltersButton": { "alias": "showMoreFiltersButton"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, { "onClearFilters": "onClearFilters"; "onClearBasket": "onClearBasket"; }, never, never, true, never>;
14206
14254
  }
14207
14255
 
14208
14256
  declare class MoreComponent {
14257
+ protected readonly SEARCH_THRESHOLD = 6;
14209
14258
  count: _angular_core.InputSignal<number>;
14210
14259
  includedFilters: _angular_core.InputSignal<string[]>;
14211
14260
  excludedFilters: _angular_core.InputSignal<string[]>;
@@ -14221,6 +14270,7 @@ declare class MoreComponent {
14221
14270
  */
14222
14271
  hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
14223
14272
  aggregationsService: AggregationsService;
14273
+ protected readonly searchText: _angular_core.ModelSignal<string>;
14224
14274
  /**
14225
14275
  * The overflow filters rendered as accordions: the authorized filters beyond the
14226
14276
  * first `count` (which are already shown in the bar).
@@ -14235,8 +14285,15 @@ declare class MoreComponent {
14235
14285
  column: string;
14236
14286
  name: string;
14237
14287
  }[]>;
14288
+ /** {@link filters}, narrowed to those matching {@link searchText} (case-insensitive, by name). */
14289
+ protected readonly filteredFilters: _angular_core.Signal<{
14290
+ field: string;
14291
+ column: string;
14292
+ name: string;
14293
+ }[]>;
14294
+ protected clearSearch(e: Event): void;
14238
14295
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MoreComponent, never>;
14239
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreComponent, "more, More", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14296
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreComponent, "more, More", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "searchText": "searchTextChange"; }, never, never, true, never>;
14240
14297
  }
14241
14298
 
14242
14299
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sinequa/atomic-angular",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },