@magmonium/one 0.2.26 → 0.2.28

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.
@@ -1028,13 +1028,32 @@ type DraggableState = {
1028
1028
  declare class DraggableDirective {
1029
1029
  mDraggable: _angular_core.ModelSignal<Draggable>;
1030
1030
  handleSelector: _angular_core.InputSignal<string | undefined>;
1031
+ /**
1032
+ * The bounds, read at drag time and never written into `mDraggable`.
1033
+ *
1034
+ * They used to be merged in by a setter, which lost them the moment a parent
1035
+ * replaced its Draggable — a `linkedSignal` recomputed from the value the
1036
+ * drag itself writes back, which is what both Ranges do. Angular memoizes an
1037
+ * inline object literal in a template, so `[min]="{ x: 0, y: 3 }"` is the
1038
+ * same reference on the next pass and its setter never fires again to put
1039
+ * the bound back. The config then had no `max`, `isWithinBoundary` fell
1040
+ * through to `window.innerWidth`, and the thumb slid off the track.
1041
+ *
1042
+ * A bound is what the caller says the drag may not pass, not state the drag
1043
+ * mutates — so it stays an input and the two never share an object.
1044
+ */
1045
+ readonly min: _angular_core.InputSignal<Position | undefined>;
1046
+ readonly max: _angular_core.InputSignal<Position | undefined>;
1031
1047
  readonly dragStart: _angular_core.OutputEmitterRef<void>;
1032
1048
  readonly dragEnd: _angular_core.OutputEmitterRef<void>;
1033
1049
  protected readonly cursor: _angular_core.Signal<"ew-resize" | "ns-resize" | "move">;
1034
1050
  protected state: DraggableState;
1035
1051
  set pos(position: Position);
1036
- set max(max: Position);
1037
- set min(min: Position);
1052
+ /**
1053
+ * The config a move is clamped against: the bounds on the tag win, and a
1054
+ * caller that carries them inside its own Draggable keeps working.
1055
+ */
1056
+ private readonly bounded;
1038
1057
  protected handleMouseDown(event: MouseEvent): void;
1039
1058
  protected handleMouseMove(event: MouseEvent): void;
1040
1059
  protected handleMouseUp(event: MouseEvent): void;
@@ -1042,7 +1061,7 @@ declare class DraggableDirective {
1042
1061
  protected handleTouchMove(event: TouchEvent): void;
1043
1062
  protected handleTouchEnd(event: TouchEvent): void;
1044
1063
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DraggableDirective, never>;
1045
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DraggableDirective, "[mDraggable]", never, { "mDraggable": { "alias": "mDraggable"; "required": true; "isSignal": true; }; "handleSelector": { "alias": "handleSelector"; "required": false; "isSignal": true; }; "pos": { "alias": "pos"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; }, { "mDraggable": "mDraggableChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, true, never>;
1064
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DraggableDirective, "[mDraggable]", never, { "mDraggable": { "alias": "mDraggable"; "required": true; "isSignal": true; }; "handleSelector": { "alias": "handleSelector"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "pos": { "alias": "pos"; "required": false; }; }, { "mDraggable": "mDraggableChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, true, never>;
1046
1065
  }
1047
1066
 
1048
1067
  interface DragListReorder {
@@ -2616,11 +2635,32 @@ declare const FILTER_VARIANTS: readonly FilterVariant[];
2616
2635
  /** The default a Filter falls back to, and the one variant left off the tag. */
2617
2636
  declare const DEFAULT_FILTER_VARIANT: FilterVariant;
2618
2637
  /**
2619
- * Whether this variant's key carries a list rather than one value. `range`
2620
- * counts: a pair is a list, which is what keeps `FilterValue` unchanged and
2621
- * `filterList` working over every variant that has ever shipped.
2638
+ * How many numbers a `range` Filter picks. `range` takes two and its key
2639
+ * carries the `[min, max]` pair; `single` takes one and its key carries that
2640
+ * number alone one thumb on the slider, one box beneath it.
2641
+ *
2642
+ * A second axis rather than a fourth FilterVariant: both modes are authored
2643
+ * the same way — bounds, never an OptionSet — and open the same
2644
+ * panel. What differs is how many answers come back, which is why the author
2645
+ * picks it on a toggle beside the bounds rather than on the variant dropdown.
2646
+ * Ignored by the option-picking variants, which have no bounds to halve.
2647
+ */
2648
+ type FilterRangeMode = 'range' | 'single';
2649
+ declare const FILTER_RANGE_MODES: readonly FilterRangeMode[];
2650
+ /** The mode a `range` Filter falls back to, and the one left off the tag. */
2651
+ declare const DEFAULT_FILTER_RANGE_MODE: FilterRangeMode;
2652
+ /**
2653
+ * Whether this Filter's key carries a list rather than one value. A `range`
2654
+ * counts, because a pair is a list — which is what keeps `FilterValue`
2655
+ * unchanged and `filterList` working over every variant that has ever shipped.
2656
+ *
2657
+ * `mode` is the exception a pair-shaped variant needs: a `range` in `single`
2658
+ * mode picks one number, so its key carries that number the way `single` does
2659
+ * rather than a one-entry list nothing would read.
2622
2660
  */
2623
- declare const filterHoldsList: (variant: FilterVariant) => boolean;
2661
+ declare const filterHoldsList: (variant: FilterVariant, mode?: FilterRangeMode) => boolean;
2662
+ /** Whether this Filter draws one thumb rather than two. */
2663
+ declare const filterHoldsOneBound: (variant: FilterVariant, mode?: FilterRangeMode) => boolean;
2624
2664
  /** Whether this variant is authored with bounds rather than with options. */
2625
2665
  declare const filterHoldsRange: (variant: FilterVariant) => boolean;
2626
2666
  /** Whether this variant picks from an OptionSet. The complement of the above. */
@@ -2679,7 +2719,12 @@ declare class SectionFilterComponent {
2679
2719
  /** A `range` variant's bounds. Ignored by the option-picking variants. */
2680
2720
  readonly min: _angular_core.InputSignal<number | undefined>;
2681
2721
  readonly max: _angular_core.InputSignal<number | undefined>;
2682
- readonly step: _angular_core.InputSignal<number | undefined>;
2722
+ /**
2723
+ * How many numbers a `range` Filter picks: two by default, one under
2724
+ * `single`, where its key carries that number rather than a pair
2725
+ * (CONTEXT.md FilterRangeMode). Ignored by the option-picking variants.
2726
+ */
2727
+ readonly mode: _angular_core.InputSignal<FilterRangeMode>;
2683
2728
  /**
2684
2729
  * The glyph on the dropdown toggle, an IconAsset name. Unset keeps the
2685
2730
  * `adjust` tuning icon every Filter wears by default — this replaces that
@@ -2716,23 +2761,35 @@ declare class SectionFilterComponent {
2716
2761
  /** The group's slice when there is one, this Filter's own model otherwise. */
2717
2762
  protected readonly selected: _angular_core.Signal<readonly (string | number)[]>;
2718
2763
  protected readonly toggleConfig: _angular_core.Signal<Button>;
2764
+ protected readonly clearConfig: _angular_core.Signal<Button>;
2719
2765
  protected readonly chipConfig: _angular_core.Signal<Partial<Badge>>;
2720
2766
  private readonly dropdownRef;
2721
- private readonly assetStore;
2722
- private readonly assetOptionsResource;
2767
+ private readonly namedOptions;
2723
2768
  protected readonly resolvedOptions: _angular_core.Signal<FilterOption[]>;
2724
2769
  protected readonly hasSelection: _angular_core.Signal<boolean>;
2725
2770
  protected readonly selectedOptions: _angular_core.Signal<FilterOption[]>;
2726
- /** The pair drawn as one chip, or `undefined` for the option variants. */
2771
+ /**
2772
+ * The numeric answer drawn as one chip, or `undefined` for the option
2773
+ * variants. One chip whether it is a pair or a lone number: a range is one
2774
+ * answer, and its × clears the whole key.
2775
+ */
2727
2776
  protected readonly rangeLabel: _angular_core.Signal<string | undefined>;
2728
2777
  protected readonly selectorConfig: _angular_core.Signal<SelectorConfig<unknown>>;
2729
2778
  protected readonly selectOption: (opt: FilterOption) => void;
2730
2779
  /**
2731
2780
  * A bound moved. Stays open whichever half was typed: a range is two numbers
2732
- * and closing on the first would take the box away mid-answer.
2781
+ * and closing on the first would take the box away mid-answer. `single` mode
2782
+ * stays open too — one thumb is dragged, and a drag that closed the panel
2783
+ * under the cursor could not be corrected.
2733
2784
  */
2734
- protected readonly writeRange: (next: readonly [number, number] | undefined) => void;
2785
+ protected readonly writeRange: (next: readonly number[] | undefined) => void;
2735
2786
  protected readonly clearRange: () => void;
2787
+ /**
2788
+ * Drop everything this Filter holds. In a group that is the key deleted
2789
+ * outright; alone it is the model emptied, which emits `''` under the
2790
+ * variants whose key carries one value.
2791
+ */
2792
+ protected readonly clearAll: () => void;
2736
2793
  protected readonly removeOption: (val: string | number) => void;
2737
2794
  /**
2738
2795
  * The model is a list whatever the variant, the badges and every panel
@@ -2741,7 +2798,7 @@ declare class SectionFilterComponent {
2741
2798
  private readonly write;
2742
2799
  constructor();
2743
2800
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionFilterComponent, never>;
2744
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionFilterComponent, "m-section-filter", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionsAsset": { "alias": "optionsAsset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "filterChange": "filterChange"; }, never, never, true, never>;
2801
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionFilterComponent, "m-section-filter", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionsAsset": { "alias": "optionsAsset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "filterChange": "filterChange"; }, never, never, true, never>;
2745
2802
  }
2746
2803
 
2747
2804
  /**
@@ -2761,7 +2818,7 @@ interface FilterGroupMember {
2761
2818
  readonly variant: Signal<FilterVariant>;
2762
2819
  readonly min: Signal<number | undefined>;
2763
2820
  readonly max: Signal<number | undefined>;
2764
- readonly step: Signal<number | undefined>;
2821
+ readonly mode: Signal<FilterRangeMode>;
2765
2822
  }
2766
2823
  /**
2767
2824
  * The group's side of the contract. A Filter injects this optionally: with one
@@ -2783,17 +2840,38 @@ interface FilterGroupContext {
2783
2840
  */
2784
2841
  valueOf(name: string): readonly (string | number)[];
2785
2842
  toggle(name: string, option: FilterOption, variant: FilterVariant): void;
2786
- /** A `range` member's new pair; `undefined` deletes the key. */
2787
- setRange(name: string, next: readonly [number, number] | undefined): void;
2843
+ /**
2844
+ * A `range` member's new pair, or the one number its `single` mode picks;
2845
+ * `undefined` deletes the key.
2846
+ */
2847
+ setRange(name: string, next: readonly number[] | undefined): void;
2788
2848
  remove(name: string, value: string | number): void;
2849
+ /**
2850
+ * Drop the Filter's key outright — every value it holds at once, whatever
2851
+ * the variant. What the bar's own clear mark calls: a Filter is one answer
2852
+ * to the reader on the other side, so taking it back is one act rather than
2853
+ * a `remove` per badge.
2854
+ */
2855
+ clear(name: string): void;
2789
2856
  }
2790
2857
  declare const FILTER_GROUP_CONTEXT: InjectionToken<FilterGroupContext>;
2791
2858
 
2792
2859
  type MenuRow = {
2793
2860
  readonly name: string;
2794
2861
  readonly label: string;
2795
- /** What this Filter currently holds, drawn beside its name. */
2862
+ /**
2863
+ * A `range` Filter's bounds, drawn beside its name. Empty for the
2864
+ * option-picking variants — how many they hold is a count, and a count is
2865
+ * the notification badge rather than text (`count` below).
2866
+ */
2796
2867
  readonly detail: string;
2868
+ /**
2869
+ * How many options this Filter holds, already capped at `99+`. Drawn as the
2870
+ * same notification badge the squeezed group's own toggle wears, so one
2871
+ * Filter's answer count is read the way the group's is. Empty when the
2872
+ * Filter holds nothing or answers with bounds.
2873
+ */
2874
+ readonly count: string;
2797
2875
  readonly selected: boolean;
2798
2876
  };
2799
2877
  /**
@@ -2819,6 +2897,8 @@ declare class SectionFilterMenuComponent {
2819
2897
  protected readonly forwardIcon: _angular_core.Signal<{
2820
2898
  name: string;
2821
2899
  }>;
2900
+ protected readonly countBadgeConfig: _angular_core.Signal<Partial<Badge>>;
2901
+ protected readonly clearConfig: _angular_core.Signal<Button>;
2822
2902
  protected readonly rows: _angular_core.Signal<MenuRow[]>;
2823
2903
  private readonly active;
2824
2904
  protected readonly activeRow: _angular_core.Signal<{
@@ -2832,16 +2912,32 @@ declare class SectionFilterMenuComponent {
2832
2912
  private readonly activeSelected;
2833
2913
  private readonly activeMin;
2834
2914
  private readonly activeMax;
2835
- private readonly activeStep;
2915
+ private readonly activeMode;
2836
2916
  constructor();
2917
+ /**
2918
+ * Drill into a Filter's panel — unless the clear mark inside the row was what
2919
+ * was hit. Read off the event rather than stopped inside the mark's own
2920
+ * handler: a `(click)` there would make the wrapping span interactive, which
2921
+ * it is not — the Button inside it is what takes focus.
2922
+ */
2923
+ protected readonly open: (name: string, event: Event) => void;
2924
+ /** Drop everything the named Filter holds, without drilling into it. */
2925
+ protected readonly clear: (name: string) => void;
2837
2926
  private readonly pick;
2838
2927
  private readonly setRange;
2839
2928
  /**
2840
- * A range says what it holds and an option list says how many: two picked
2841
- * options are two of a set the row cannot show, while two bounds *are* the
2842
- * answer and fit.
2929
+ * A range says what it holds: two bounds *are* the answer and fit beside the
2930
+ * name. An option list says nothing here two picked options are two of a
2931
+ * set the row cannot show, so how many it holds goes to `countOf` and is
2932
+ * drawn as a badge rather than as text.
2843
2933
  */
2844
2934
  private readonly detailOf;
2935
+ /**
2936
+ * How many options the Filter holds, as the badge draws it — `99+` past the
2937
+ * cap, and empty for a `range`, whose two entries are one answer and are
2938
+ * spelled out by `detailOf` instead.
2939
+ */
2940
+ private readonly countOf;
2845
2941
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionFilterMenuComponent, never>;
2846
2942
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionFilterMenuComponent, "m-section-filter-menu", never, { "members": { "alias": "members"; "required": false; "isSignal": true; }; "ctx": { "alias": "ctx"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2847
2943
  }
@@ -2877,7 +2973,6 @@ declare class SectionFilterGroupComponent {
2877
2973
  private readonly members;
2878
2974
  protected readonly isDesignMode: boolean;
2879
2975
  private readonly sectionContext;
2880
- private readonly selectorDir;
2881
2976
  protected readonly squeezed: _angular_core.Signal<boolean>;
2882
2977
  protected readonly resolvedPadding: _angular_core.Signal<boolean>;
2883
2978
  protected readonly resolvedPaddingX: _angular_core.Signal<boolean>;
@@ -2915,12 +3010,19 @@ declare class SectionFilterGroupComponent {
2915
3010
  * own default.
2916
3011
  */
2917
3012
  private readonly variantOf;
3013
+ /**
3014
+ * A `range` member's thumb count, which decides whether its key carries a
3015
+ * pair or one number. Read off the member rather than passed with the value,
3016
+ * the way `variantOf` is — the group owns the selection and the member owns
3017
+ * how it was authored.
3018
+ */
3019
+ private readonly modeOf;
2918
3020
  private readonly write;
2919
3021
  private readonly toggle;
2920
3022
  /**
2921
- * A `range` member's new pair, or the deletion of its key. Goes through the
2922
- * same `write` every other variant does one selection, one owner, whatever
2923
- * shape the key holds (ADR 0025).
3023
+ * A `range` member's new pair or the one number its `single` mode picks,
3024
+ * or the deletion of its key. Goes through the same `write` every other
3025
+ * variant does; `write` asks the member which shape its key holds (ADR 0025).
2924
3026
  */
2925
3027
  private readonly setRange;
2926
3028
  readonly context: FilterGroupContext;
@@ -3468,6 +3570,20 @@ declare class SectionTabsComponent extends ConfigComponent<TabGroup> implements
3468
3570
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionTabsComponent, "m-section-tabs", never, { "xs": { "alias": "xs"; "required": false; "isSignal": true; }; "sm": { "alias": "sm"; "required": false; "isSignal": true; }; "md": { "alias": "md"; "required": false; "isSignal": true; }; "lg": { "alias": "lg"; "required": false; "isSignal": true; }; "xl": { "alias": "xl"; "required": false; "isSignal": true; }; "xxl": { "alias": "xxl"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "inverse": { "alias": "inverse"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
3469
3571
  }
3470
3572
 
3573
+ /**
3574
+ * One option's row, with the configs both controls need built once per option
3575
+ * rather than per change detection — an inline config object is a new
3576
+ * reference every check, and `no-inline-config` refuses one anyway.
3577
+ *
3578
+ * Both are built whatever the variant: a flat object rather than a union arm,
3579
+ * because the `assets:wc` build runs without `strict` and a union does not
3580
+ * narrow there.
3581
+ */
3582
+ type PanelRow = {
3583
+ readonly option: FilterOption;
3584
+ readonly checkbox: Partial<Input>;
3585
+ readonly radio: Partial<RadioInput>;
3586
+ };
3471
3587
  declare class SectionFilterPanelComponent {
3472
3588
  readonly options: _angular_core.InputSignal<readonly FilterOption[]>;
3473
3589
  readonly selected: _angular_core.InputSignal<readonly (string | number)[]>;
@@ -3479,7 +3595,15 @@ declare class SectionFilterPanelComponent {
3479
3595
  readonly variant: _angular_core.InputSignal<FilterVariant>;
3480
3596
  readonly action: _angular_core.OutputEmitterRef<FilterOption>;
3481
3597
  protected readonly multiple: _angular_core.Signal<boolean>;
3482
- protected readonly isSelected: (val: string) => boolean;
3598
+ /**
3599
+ * Unique per panel instance: a radio's `name` is what groups its buttons in
3600
+ * the DOM, and its `id` is what a label points at. Two panels open at once
3601
+ * — a Filter's own dropdown and a group's drill-in — would otherwise share
3602
+ * both and steer each other's rings.
3603
+ */
3604
+ private readonly uid;
3605
+ protected readonly rows: _angular_core.Signal<PanelRow[]>;
3606
+ protected readonly isSelected: (val: string | number) => boolean;
3483
3607
  protected readonly selectOption: (opt: FilterOption) => void;
3484
3608
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionFilterPanelComponent, never>;
3485
3609
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionFilterPanelComponent, "m-section-filter-panel", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
@@ -3489,16 +3613,25 @@ type BoundConfig = Partial<Input> & {
3489
3613
  type: InputType.NUMBER;
3490
3614
  min?: number;
3491
3615
  max?: number;
3492
- step?: number;
3493
3616
  };
3494
3617
  /**
3495
- * The panel a `range` Filter opens: two numeric bounds, and nothing else.
3618
+ * The panel a `range` Filter opens: a slider over the authored bounds, and the
3619
+ * numeric boxes under it. Two thumbs and two boxes by default; one of each in
3620
+ * `single` mode, where the Filter picks one number rather than a pair
3621
+ * (CONTEXT.md FilterRangeMode). One panel for both, because the modes differ
3622
+ * only in how many answers come back — the bounds and the fallbacks are the
3623
+ * same authoring either way.
3496
3624
  *
3497
- * Two inputs rather than the `m-multi-range` slider beside them because this
3498
- * panel opens inside a selector 260px wide, and narrower still inside a
3499
- * squeezed FilterGroup's drill-in a slider needs a pixel width to be usable
3500
- * and has no keyboard story at that size. The authored bounds clamp the boxes
3501
- * and stand in as their placeholders rather than being drawn to scale.
3625
+ * Both, not one. The slider is how a range is *picked* dragging is the
3626
+ * gesture the shape asks for, and the fill says at a glance how much of the
3627
+ * span is being kept. The boxes are how it is *stated*: a thumb cannot land on
3628
+ * an exact number at 260px, and they are the only affordance a keyboard has.
3629
+ * They drive one value between them, so a drag retypes the boxes and a typed
3630
+ * bound moves the thumb.
3631
+ *
3632
+ * The slider needs real bounds to draw against and falls back to 0–100 when
3633
+ * the author gave none, which is the same span `m-multi-range` assumes
3634
+ * everywhere else.
3502
3635
  *
3503
3636
  * The two boxes are prefixed `≥` and `≤` rather than labelled with words. A
3504
3637
  * bound reads the same in every locale, and libs/one's TranslationAssets carry
@@ -3513,20 +3646,63 @@ declare class SectionFilterRangePanelComponent {
3513
3646
  readonly value: _angular_core.InputSignal<readonly (string | number)[]>;
3514
3647
  readonly min: _angular_core.InputSignal<number | undefined>;
3515
3648
  readonly max: _angular_core.InputSignal<number | undefined>;
3516
- readonly step: _angular_core.InputSignal<number | undefined>;
3649
+ /** One thumb or two. `range` by default (CONTEXT.md FilterRangeMode). */
3650
+ readonly mode: _angular_core.InputSignal<FilterRangeMode>;
3517
3651
  /** The Filter's own heading, already a TranslationAsset key. */
3518
3652
  readonly label: _angular_core.InputSignal<string>;
3519
3653
  /**
3520
- * The new pair, or `undefined` once both boxes are empty which is what
3521
- * deletes the key rather than writing a pair of blanks into it.
3654
+ * What was picked — the pair under `range`, the one number under `single`
3655
+ * or `undefined` once the boxes are empty, which is what deletes the key
3656
+ * rather than writing blanks into it.
3657
+ *
3658
+ * A list either way, not a union of a pair and a number: the `assets:wc`
3659
+ * build runs without `strict`, where a union arm does not narrow, and the
3660
+ * Filter is the one that knows which shape its key carries.
3522
3661
  */
3523
- readonly action: _angular_core.OutputEmitterRef<readonly [number, number] | undefined>;
3662
+ readonly action: _angular_core.OutputEmitterRef<readonly number[] | undefined>;
3663
+ protected readonly isSingle: _angular_core.Signal<boolean>;
3524
3664
  protected readonly from: _angular_core.Signal<number | undefined>;
3525
3665
  protected readonly to: _angular_core.Signal<number | undefined>;
3526
3666
  protected readonly fromText: _angular_core.Signal<string>;
3527
3667
  protected readonly toText: _angular_core.Signal<string>;
3668
+ /**
3669
+ * Where the thumbs sit. An empty half is not a thumb in the middle of
3670
+ * nowhere — it rests on the bound it falls back to, which is exactly what
3671
+ * that half filters from.
3672
+ */
3673
+ protected readonly sliderValue: _angular_core.Signal<number[]>;
3674
+ /**
3675
+ * No label on the slider: in the Filter's own dropdown the bar above it
3676
+ * already carries the Filter's name, and in a squeezed group's drill-in the
3677
+ * back row does. `label` stays an input because `filterPanelOf` binds it for
3678
+ * both panels.
3679
+ */
3680
+ protected readonly sliderConfig: _angular_core.Signal<MultiRangeInput>;
3681
+ /**
3682
+ * `single` mode's one thumb. Empty rests on the low bound rather than in the
3683
+ * middle of nowhere — the same fallback each half of a pair makes.
3684
+ */
3685
+ protected readonly oneSliderText: _angular_core.Signal<string>;
3686
+ protected readonly oneText: _angular_core.Signal<string>;
3687
+ /** No label, for the reason `sliderConfig` carries none. */
3688
+ protected readonly oneSliderConfig: _angular_core.Signal<RangeInput>;
3689
+ /**
3690
+ * No `≥` prefix: one box is not a half of anything, and the bound it clamps
3691
+ * to is already the placeholder.
3692
+ */
3693
+ protected readonly oneConfig: _angular_core.Signal<BoundConfig>;
3528
3694
  protected readonly fromConfig: _angular_core.Signal<BoundConfig>;
3529
3695
  protected readonly toConfig: _angular_core.Signal<BoundConfig>;
3696
+ /**
3697
+ * A drag moved a thumb. Goes through the same `emit` a typed bound does —
3698
+ * one pair leaves this panel however it was picked.
3699
+ */
3700
+ protected readonly writeSlider: (next: number[]) => void;
3701
+ /** The single thumb moved. `m-range` speaks text, as every text input does. */
3702
+ protected readonly writeOneSlider: (raw: string) => void;
3703
+ protected readonly writeOne: (raw: string) => void;
3704
+ private readonly lowBound;
3705
+ private readonly highBound;
3530
3706
  protected readonly writeFrom: (raw: string) => void;
3531
3707
  protected readonly writeTo: (raw: string) => void;
3532
3708
  /**
@@ -3542,8 +3718,13 @@ declare class SectionFilterRangePanelComponent {
3542
3718
  * the `undefined` that drops the key.
3543
3719
  */
3544
3720
  private readonly emit;
3721
+ /**
3722
+ * `single` mode's one answer. An emptied box drops the key the way an
3723
+ * emptied pair does — there is no bound left to filter from.
3724
+ */
3725
+ private readonly emitOne;
3545
3726
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionFilterRangePanelComponent, never>;
3546
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionFilterRangePanelComponent, "m-section-filter-range-panel", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
3727
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionFilterRangePanelComponent, "m-section-filter-range-panel", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
3547
3728
  }
3548
3729
 
3549
3730
  /**
@@ -3559,11 +3740,15 @@ type FilterPanelIo = {
3559
3740
  readonly selected: Signal<readonly (string | number)[]>;
3560
3741
  readonly min: Signal<number | undefined>;
3561
3742
  readonly max: Signal<number | undefined>;
3562
- readonly step: Signal<number | undefined>;
3743
+ /** A `range` variant's thumb count. Ignored by the option-picking ones. */
3744
+ readonly mode: Signal<FilterRangeMode>;
3563
3745
  /** An option-picking variant picked one. */
3564
3746
  readonly pick: (option: FilterOption) => void;
3565
- /** A `range` variant moved a bound; `undefined` once both boxes are empty. */
3566
- readonly setRange: (next: readonly [number, number] | undefined) => void;
3747
+ /**
3748
+ * A `range` variant moved a bound — the pair, or the one number `single`
3749
+ * mode picks; `undefined` once the boxes are empty.
3750
+ */
3751
+ readonly setRange: (next: readonly number[] | undefined) => void;
3567
3752
  };
3568
3753
  /** A component and the bindings that drive it, ready for `createComponent`. */
3569
3754
  type FilterPanel = {
@@ -4233,6 +4418,15 @@ declare class RangeInputComponent extends BaseTextInputComponent<RangeInput> {
4233
4418
  private readonly _track;
4234
4419
  protected readonly _trackWidth: _angular_core.WritableSignal<number>;
4235
4420
  protected readonly _TRACK_HALF_H = 3;
4421
+ /**
4422
+ * Measured live rather than once. The track shares its row with the value
4423
+ * readout and opens inside panels that animate in, and a width read mid
4424
+ * animation is the scaled one — `getBoundingClientRect` counts transforms
4425
+ * where a ResizeObserver's box does not. A stale width is a thumb that stops
4426
+ * short of the track's end or, before the bounds became inputs on the
4427
+ * Draggable, ran clean past it.
4428
+ */
4429
+ private readonly _measure;
4236
4430
  thumbDraggable: _angular_core.WritableSignal<Draggable>;
4237
4431
  readonly _displayValue: _angular_core.Signal<number>;
4238
4432
  constructor();
@@ -4261,6 +4455,15 @@ declare class MultiRangeInputComponent extends BaseArrayInputComponent {
4261
4455
  private readonly _track;
4262
4456
  protected readonly _trackWidth: _angular_core.WritableSignal<number>;
4263
4457
  protected readonly _TRACK_HALF_H = 3;
4458
+ /**
4459
+ * Measured live rather than once. The track fills its row and opens inside
4460
+ * panels that animate in, and a width read mid
4461
+ * animation is the scaled one — `getBoundingClientRect` counts transforms
4462
+ * where a ResizeObserver's box does not. A stale width is a thumb that stops
4463
+ * short of the track's end or, before the bounds became inputs on the
4464
+ * Draggable, ran clean past it.
4465
+ */
4466
+ private readonly _measure;
4264
4467
  readonly minThumb: _angular_core.WritableSignal<Draggable>;
4265
4468
  readonly maxThumb: _angular_core.WritableSignal<Draggable>;
4266
4469
  readonly fillWidth: _angular_core.Signal<number>;
@@ -8792,5 +8995,5 @@ interface AuthResult {
8792
8995
  }
8793
8996
  declare function injectAuthenticate(): () => Promise<AuthResult>;
8794
8997
 
8795
- export { ACCESS_DOMAINS, APP_CONTEXT_REF, ASSET_BASE_URL, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppCardComponent, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AuthActivityPageComponent, AuthApiService, AuthStore, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, ButtonComponent, ButtonGroupComponent, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, CheckboxInputComponent, ClearableInputComponent, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_FILTER_VARIANT, DEFAULT_SIZE, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FILTER_GROUP_CONTEXT, FILTER_VARIANTS, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GRID_BREAKPOINTS, GetNavService, HeaderComponent, HighlightDirective, HttpService, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOGIN_COMPONENT, LOGIN_STORE, LanguageComponent, LogoComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavHeaderComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OVERLAY_WIDGETS, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PaginationComponent, PanelComponent, PercentagePipe, PlaygroundComponent, PositionDirective, PwaInstallComponent, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_FORM_CONTEXT, SHARED_ICONS, SIZE_CONTEXT, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionCarouselComponent, SectionComponent, SectionFilterComponent, SectionFilterGroupComponent, SectionFilterMenuComponent, SectionFilterPanelComponent, SectionFilterRangePanelComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionHeroComponent, SectionPaginationComponent, SectionSearchComponent, SectionStepperComponent, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StatComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TableFilterCondition, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeDataService, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UlComponent, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, anchorNavId, applyColorsToElement, bootstrapMagApp, bootstrapPwaInstall, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkFilterCondition, childNavId, classListSignal, coerceSize, cornerEdge, cornerSide, createMap, createPlatformNavMap, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, emailValidation, evaluate, evaluateBool, filterHoldsList, filterHoldsOptions, filterHoldsRange, filterList, filterOne, filterPanelOf, filterPanelWidth, filterRange, filterValueList, filterValues, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initialState, initials, injectAuthenticate, injectInstallApp, injectParentSize, injectScrollSticky, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLoadingComputed, isLocalhost, isPlatformNavId, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, mInterceptor, manualValidation, matchFieldValidation, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkToHtml, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navToId, parentNavId, parseAddress, parseColor, parsePatternNames, patternValidation, patternsValidation, platformNavWidgets, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, provideOverlayWidgets, providePlatformNavWidgets, provideSearch, provideSizeContext, provideUserTabs, publicGuard, readFieldPatterns, renderAddress, requiredValidation, resolveConfigAsset, resolveIconSize, resolvePallet, resolvePatternRules, resolveSize, rgbToHex, rgbToHsl, rowHasChildren, samePatterns, segmentsToNavId, setProperty, setTreeGridChildren, settingsWidgets, shouldShowBadge, splitNavId, stringToColor, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleTreeGridRow, unfetchedPlatformNav, urlValidation };
8796
- export type { Accordion, AccordionGroup, AccordionVariant, ActionNotification, Align, AnimatedGraphConfig, AnimatedGraphCurveInput, AppCardData, AppCardInputs, AppCardVariant, AppContextRef, AppHint, AppManifest, AppRelation, AppTileData, AuthEmailCreate404Response, AuthEmailCreate422Response, AuthEmailCreateRequest, AuthEmailCreateResponse, AuthIdentitiesListResponse, AuthOtpCreateRequest, AuthOtpCreateResponse, AuthOtpUpdateRequest, AuthOtpUpdateResponse, AuthPasswordCreateRequest, AuthPasswordCreateResponse, AuthPasswordCreateResponseTokens, AuthPasswordCreateResponseUser, AuthPasswordUpdateRequest, AuthPasswordUpdateResponse, AuthPasswordUpdateResponseTokens, AuthPasswordUpdateResponseUser, AuthResult, AuthSignupCreateRequest, AuthSignupCreateRequestUser, AuthSignupCreateResponse, AuthSignupCreateResponseTokens, AuthState, AuthUser, Badge, BadgePosition, BadgeVariant, BandingConfig, BreadCrumb, BreadcrumbTrail, Button, ButtonGroup, Carousel, CarouselIndicatorPosition, CarouselIndicatorShape, CarouselPosition, CarouselSlide, CellChangeEvent, CellClickEvent, Chart, ChartSeries, ColBreakpoint, ColSpan, ColorInput, ColorPallet, ColorPropertyType, ColumnDef, Comment, CommentItem, ComponentInput, Config, ContextMenu, ContextMenuEvent, CropData, Cursor, CustomIcon, DateInput, Direction$2 as Direction, DotGridVariant, DragListReorder, Draggable, DraggableState, DropdownInput, DropdownOption, ElementType, FieldPatterns, FileUploadConfig, FileUploadEvent, FileUploadInput, FilterGroupContext, FilterGroupMember, FilterOption, FilterPanel, FilterPanelIo, FilterSelectionMap, FilterValue, FilterVariant, FlatTreeGridRow, FlexAlign, FlexAlignSelf, FlexConfig, FlexDirection, FlexItemConfig, FlexJustify, FlexVariant, FolderPickListener, Form, FormState, Genre, GridAlignX, GridAlignY, GridBreakpoint, Header, HeaderLevel, HeldShelf, HeroDataRecord, HeroDimensions, HslColor, Icon, Input, InputModel, InputSpan, InputState, InputValue, Jumbotron, JumbotronAnimation, KeyValueVariant, LoadingActionsApi, LoginStoreContract, LogoVariant, MagAppConfigOptions, MagWcConfigOptions, ManualErrorValidator, MenuItem, Modal, ModalOverlayConfig, ModalStoreRef, ModalStoreTrigger, ModalTrigger, MoneySystem, MultiRangeInput, Nav, NavIdKey, NavKind, NavMap, NavPresentation, NavStoreRef, NavWidgetConfig, NavWidgetEntry, NavWidgetMap, Notification, NotificationSeverity, NotificationState, NotificationUser, NumberInput, Option, OtpInput, OverlayConfig, OverlayWidgetLoader, OverlayWidgetMap, PageChangeEvent, Pagination, PaginationWindow, PanelOverlayConfig, PanelTrigger, PasswordInput, PatternRule, Position, QueryParams, QueryValue, RadioGroupInput, RadioInput, RangeInput, RatingInput, RemoteSelectorConfig, ResolvedUserTab, RgbColor, SearchChangeEvent, SearchInput, SearchResult, SearchSourceGroup, SearchState, SectionAccordion, SectionAccordionGroup, SectionAccordionGroupContext, SectionAccordionRef, SectionButtonGroupConfig, SectionCarousel, SectionCarouselContext, SectionCarouselItem, SectionFilterGroupConfig, SectionFormConfig, SectionFormContext, SectionHero, SectionHeroVariant, SectionToggleItem, SectionToggleItemContext, SelectableCardContext, SelectableCardInput, SelectableCardItem, SelectionAction, SelectionActionEvent, SelectionChangeEvent, SelectorConfig, Shape, ShapeType, ShapeVariant, SharedToken, SharedUser, SizeContext, SizeDeclarer, SocketMessage, Sort, SortChange, SortChangeEvent, SortOption, SortOrder, SqueezeMode, StatAlign, StatCornerEdge, StatCornerPosition, StatCornerSide, StatSurface, StatVariant, Step, Stepper, StepperResponsiveConfig, StepperStep, Steps, StickyBehavior, Summary, SummaryAction, SummaryRow, SummaryRowType, Svg, SvgGenOptions, SvgGeneratorCoreOptions, SvgGeneratorEditOptions, TabGroup, TableConfig, TableFilterDef, TextInput, TextNotification, TextOutputAlign, TextOutputConfig, TextOutputVariant, TextareaInput, Timeline, TimelineItem, ToggleInput, ToggleRadioInput, Tokens, TreeGridCellClickEvent, TreeGridLoadChildrenEvent, TreeGridRow, TreeGridRowSelectEvent, TreeGridToggleEvent, UniverseColorScheme, User, UserStoreRef, Version, Watermark, WebComponentConfig, WeeklyData };
8998
+ export { ACCESS_DOMAINS, APP_CONTEXT_REF, ASSET_BASE_URL, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppCardComponent, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AuthActivityPageComponent, AuthApiService, AuthStore, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, ButtonComponent, ButtonGroupComponent, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, CheckboxInputComponent, ClearableInputComponent, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_FILTER_RANGE_MODE, DEFAULT_FILTER_VARIANT, DEFAULT_SIZE, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FILTER_GROUP_CONTEXT, FILTER_RANGE_MODES, FILTER_VARIANTS, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GRID_BREAKPOINTS, GetNavService, HeaderComponent, HighlightDirective, HttpService, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOGIN_COMPONENT, LOGIN_STORE, LanguageComponent, LogoComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavHeaderComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OVERLAY_WIDGETS, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PaginationComponent, PanelComponent, PercentagePipe, PlaygroundComponent, PositionDirective, PwaInstallComponent, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_FORM_CONTEXT, SHARED_ICONS, SIZE_CONTEXT, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionCarouselComponent, SectionComponent, SectionFilterComponent, SectionFilterGroupComponent, SectionFilterMenuComponent, SectionFilterPanelComponent, SectionFilterRangePanelComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionHeroComponent, SectionPaginationComponent, SectionSearchComponent, SectionStepperComponent, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StatComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TableFilterCondition, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeDataService, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UlComponent, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, anchorNavId, applyColorsToElement, bootstrapMagApp, bootstrapPwaInstall, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkFilterCondition, childNavId, classListSignal, coerceSize, cornerEdge, cornerSide, createMap, createPlatformNavMap, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, emailValidation, evaluate, evaluateBool, filterHoldsList, filterHoldsOneBound, filterHoldsOptions, filterHoldsRange, filterList, filterOne, filterPanelOf, filterPanelWidth, filterRange, filterValueList, filterValues, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initialState, initials, injectAuthenticate, injectInstallApp, injectParentSize, injectScrollSticky, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLoadingComputed, isLocalhost, isPlatformNavId, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, mInterceptor, manualValidation, matchFieldValidation, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkToHtml, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navToId, parentNavId, parseAddress, parseColor, parsePatternNames, patternValidation, patternsValidation, platformNavWidgets, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, provideOverlayWidgets, providePlatformNavWidgets, provideSearch, provideSizeContext, provideUserTabs, publicGuard, readFieldPatterns, renderAddress, requiredValidation, resolveConfigAsset, resolveIconSize, resolvePallet, resolvePatternRules, resolveSize, rgbToHex, rgbToHsl, rowHasChildren, samePatterns, segmentsToNavId, setProperty, setTreeGridChildren, settingsWidgets, shouldShowBadge, splitNavId, stringToColor, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleTreeGridRow, unfetchedPlatformNav, urlValidation };
8999
+ export type { Accordion, AccordionGroup, AccordionVariant, ActionNotification, Align, AnimatedGraphConfig, AnimatedGraphCurveInput, AppCardData, AppCardInputs, AppCardVariant, AppContextRef, AppHint, AppManifest, AppRelation, AppTileData, AuthEmailCreate404Response, AuthEmailCreate422Response, AuthEmailCreateRequest, AuthEmailCreateResponse, AuthIdentitiesListResponse, AuthOtpCreateRequest, AuthOtpCreateResponse, AuthOtpUpdateRequest, AuthOtpUpdateResponse, AuthPasswordCreateRequest, AuthPasswordCreateResponse, AuthPasswordCreateResponseTokens, AuthPasswordCreateResponseUser, AuthPasswordUpdateRequest, AuthPasswordUpdateResponse, AuthPasswordUpdateResponseTokens, AuthPasswordUpdateResponseUser, AuthResult, AuthSignupCreateRequest, AuthSignupCreateRequestUser, AuthSignupCreateResponse, AuthSignupCreateResponseTokens, AuthState, AuthUser, Badge, BadgePosition, BadgeVariant, BandingConfig, BreadCrumb, BreadcrumbTrail, Button, ButtonGroup, Carousel, CarouselIndicatorPosition, CarouselIndicatorShape, CarouselPosition, CarouselSlide, CellChangeEvent, CellClickEvent, Chart, ChartSeries, ColBreakpoint, ColSpan, ColorInput, ColorPallet, ColorPropertyType, ColumnDef, Comment, CommentItem, ComponentInput, Config, ContextMenu, ContextMenuEvent, CropData, Cursor, CustomIcon, DateInput, Direction$2 as Direction, DotGridVariant, DragListReorder, Draggable, DraggableState, DropdownInput, DropdownOption, ElementType, FieldPatterns, FileUploadConfig, FileUploadEvent, FileUploadInput, FilterGroupContext, FilterGroupMember, FilterOption, FilterPanel, FilterPanelIo, FilterRangeMode, FilterSelectionMap, FilterValue, FilterVariant, FlatTreeGridRow, FlexAlign, FlexAlignSelf, FlexConfig, FlexDirection, FlexItemConfig, FlexJustify, FlexVariant, FolderPickListener, Form, FormState, Genre, GridAlignX, GridAlignY, GridBreakpoint, Header, HeaderLevel, HeldShelf, HeroDataRecord, HeroDimensions, HslColor, Icon, Input, InputModel, InputSpan, InputState, InputValue, Jumbotron, JumbotronAnimation, KeyValueVariant, LoadingActionsApi, LoginStoreContract, LogoVariant, MagAppConfigOptions, MagWcConfigOptions, ManualErrorValidator, MenuItem, Modal, ModalOverlayConfig, ModalStoreRef, ModalStoreTrigger, ModalTrigger, MoneySystem, MultiRangeInput, Nav, NavIdKey, NavKind, NavMap, NavPresentation, NavStoreRef, NavWidgetConfig, NavWidgetEntry, NavWidgetMap, Notification, NotificationSeverity, NotificationState, NotificationUser, NumberInput, Option, OtpInput, OverlayConfig, OverlayWidgetLoader, OverlayWidgetMap, PageChangeEvent, Pagination, PaginationWindow, PanelOverlayConfig, PanelTrigger, PasswordInput, PatternRule, Position, QueryParams, QueryValue, RadioGroupInput, RadioInput, RangeInput, RatingInput, RemoteSelectorConfig, ResolvedUserTab, RgbColor, SearchChangeEvent, SearchInput, SearchResult, SearchSourceGroup, SearchState, SectionAccordion, SectionAccordionGroup, SectionAccordionGroupContext, SectionAccordionRef, SectionButtonGroupConfig, SectionCarousel, SectionCarouselContext, SectionCarouselItem, SectionFilterGroupConfig, SectionFormConfig, SectionFormContext, SectionHero, SectionHeroVariant, SectionToggleItem, SectionToggleItemContext, SelectableCardContext, SelectableCardInput, SelectableCardItem, SelectionAction, SelectionActionEvent, SelectionChangeEvent, SelectorConfig, Shape, ShapeType, ShapeVariant, SharedToken, SharedUser, SizeContext, SizeDeclarer, SocketMessage, Sort, SortChange, SortChangeEvent, SortOption, SortOrder, SqueezeMode, StatAlign, StatCornerEdge, StatCornerPosition, StatCornerSide, StatSurface, StatVariant, Step, Stepper, StepperResponsiveConfig, StepperStep, Steps, StickyBehavior, Summary, SummaryAction, SummaryRow, SummaryRowType, Svg, SvgGenOptions, SvgGeneratorCoreOptions, SvgGeneratorEditOptions, TabGroup, TableConfig, TableFilterDef, TextInput, TextNotification, TextOutputAlign, TextOutputConfig, TextOutputVariant, TextareaInput, Timeline, TimelineItem, ToggleInput, ToggleRadioInput, Tokens, TreeGridCellClickEvent, TreeGridLoadChildrenEvent, TreeGridRow, TreeGridRowSelectEvent, TreeGridToggleEvent, UniverseColorScheme, User, UserStoreRef, Version, Watermark, WebComponentConfig, WeeklyData };