@sinequa/atomic-angular 1.9.7 → 1.9.9

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
@@ -7843,6 +7843,8 @@ type DateRange = {
7843
7843
  declare class AggregationDateRangeDialogComponent {
7844
7844
  cn: typeof cn;
7845
7845
  readonly hasSelection: _angular_core.WritableSignal<boolean>;
7846
+ /** Drives an @if around the pickers so they are recreated fresh on each open. */
7847
+ readonly isDialogOpen: _angular_core.WritableSignal<boolean>;
7846
7848
  readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
7847
7849
  readonly customRange: _angular_core.Signal<AggregationDateCustomRangeComponent | undefined>;
7848
7850
  readonly dualPickers: _angular_core.Signal<AggregationDateDualPickersComponent | undefined>;
@@ -7859,7 +7861,12 @@ declare class AggregationDateRangeDialogComponent {
7859
7861
  readonly useDateRange: _angular_core.InputSignalWithTransform<boolean, unknown>;
7860
7862
  readonly rangeSelected: _angular_core.OutputEmitterRef<DateRange>;
7861
7863
  open(): void;
7864
+ /** Runs on every close (confirm, cancel, Escape, backdrop): tear down the pickers and
7865
+ * reset transient state so the next open starts clean — no stale dates. */
7866
+ onClosed(): void;
7862
7867
  confirm(): void;
7868
+ /** Reads the selected [from, to] dates from whichever picker variant is rendered. */
7869
+ private getSelectedDates;
7863
7870
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationDateRangeDialogComponent, never>;
7864
7871
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationDateRangeDialogComponent, "aggregation-date-range-dialog", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "lang": { "alias": "lang"; "required": false; "isSignal": true; }; "useDateRange": { "alias": "useDateRange"; "required": false; "isSignal": true; }; }, { "rangeSelected": "rangeSelected"; }, never, never, true, never>;
7865
7872
  }
@@ -11360,7 +11367,22 @@ declare class AggregationListComponent {
11360
11367
  readonly itemTemplateInput: _angular_core.InputSignal<TemplateRef<AggregationItemContext> | undefined>;
11361
11368
  protected readonly resolvedItemTemplate: _angular_core.Signal<TemplateRef<AggregationItemContext> | undefined>;
11362
11369
  selection: _angular_core.WritableSignal<boolean>;
11363
- isAllSelected: _angular_core.WritableSignal<boolean>;
11370
+ /**
11371
+ * Explicit, not-yet-applied selection intents keyed by item value
11372
+ * (`true` = checked, `false` = unchecked). Kept separately so a pending intent survives
11373
+ * an `items()` recompute (e.g. after "Load more" refreshes the aggregation), where
11374
+ * `$selected` is otherwise reset and re-derived from the applied filters only.
11375
+ * A `Map` (not a `Set` of checked values) so that *unchecking* an already-applied item
11376
+ * is remembered too — otherwise the recompute would re-derive it as checked.
11377
+ */
11378
+ private readonly pendingSelection;
11379
+ /**
11380
+ * Whether every selectable item is currently checked — drives the select-all toggle.
11381
+ * Derived (not imperative) so it stays correct after "Load more" adds unchecked items
11382
+ * or after an item is unchecked individually. Reads `pendingSelection` so per-click
11383
+ * toggles refresh it even when `items()` itself does not recompute.
11384
+ */
11385
+ isAllSelected: _angular_core.Signal<boolean>;
11364
11386
  searchText: _angular_core.ModelSignal<string>;
11365
11387
  private readonly base;
11366
11388
  readonly isControlled: _angular_core.Signal<boolean>;
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@sinequa/atomic-angular",
3
- "version": "1.9.7",
3
+ "version": "1.9.9",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
4
7
  "peerDependencies": {
5
8
  "@angular/core": "^20.0.0"
6
9
  },