mn-angular-lib 1.0.168 → 1.0.169

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mn-angular-lib",
3
- "version": "1.0.168",
3
+ "version": "1.0.169",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.1.3",
6
6
  "@angular/core": "^21.1.3",
@@ -2851,6 +2851,8 @@ declare class MnMultiSelect implements OnInit {
2851
2851
  /** Layout classes for the anchored popover panel. The mobile sheet is rendered by
2852
2852
  * mn-bottom-sheet instead, so it no longer needs a branch here. */
2853
2853
  readonly panelClasses = "fixed z-9999 bg-base-100 border border-base-300 rounded-md shadow-lg max-h-60 overflow-auto";
2854
+ /** The panel's own height cap in pixels: the `max-h-60` above, restated for the placement maths. */
2855
+ static readonly PANEL_MAX_HEIGHT_PX = 240;
2854
2856
  /** Layout classes for the invisible click shield rendered under the anchored panel.
2855
2857
  * One step below the panel's z-index so the panel itself stays clickable, and above
2856
2858
  * any modal/drawer chrome (which tops out well under 9998). */
@@ -2913,10 +2915,13 @@ declare class MnMultiSelect implements OnInit {
2913
2915
  isDisabled: boolean;
2914
2916
  searchTerm: string;
2915
2917
  /** Dropdown position calculated from trigger bounding rect */
2918
+ /** Inline placement of the anchored panel; `maxHeight` only binds when the viewport is the tighter cap. */
2916
2919
  dropdownStyle: {
2917
2920
  top: string;
2921
+ bottom: string;
2918
2922
  left: string;
2919
2923
  width: string;
2924
+ maxHeight: string | null;
2920
2925
  };
2921
2926
  private onChange;
2922
2927
  private onTouched;
@@ -2996,7 +3001,10 @@ declare class MnMultiSelect implements OnInit {
2996
3001
  private lockBodyScroll;
2997
3002
  /** Restores the pre-lock `overflow`. Idempotent. */
2998
3003
  private unlockBodyScroll;
2999
- /** Calculates the fixed position for the dropdown based on the trigger element */
3004
+ /**
3005
+ * Calculates the fixed position for the dropdown based on the trigger element: below it
3006
+ * while the viewport has room, above it otherwise, never past the viewport's edge.
3007
+ */
3000
3008
  private updateDropdownPosition;
3001
3009
  /**
3002
3010
  * Starts the open-only watchers: an `IntersectionObserver` on the trigger (closes the
@@ -3422,9 +3430,12 @@ declare class MnDropdown implements OnInit {
3422
3430
  * is {@link MnDropdownProps.searchable}. */
3423
3431
  searchTerm: string;
3424
3432
  /** Popover position computed from the trigger's bounding rect. */
3433
+ /** Inline placement of the anchored panel; `maxHeight` only binds when the viewport is the tighter cap. */
3425
3434
  dropdownStyle: {
3426
3435
  top: string;
3436
+ bottom: string;
3427
3437
  left: string;
3438
+ maxHeight: string | null;
3428
3439
  };
3429
3440
  /**
3430
3441
  * The popover panel, relocated to `document.body` on appearance (see mn-multi-select's
@@ -4038,6 +4049,8 @@ declare class MnSelect implements OnInit {
4038
4049
  /** Layout classes for the anchored popover panel. The mobile sheet is rendered by
4039
4050
  * mn-bottom-sheet instead, so it no longer needs a branch here. */
4040
4051
  readonly panelClasses = "fixed z-9999 bg-base-100 border border-base-300 rounded-md shadow-lg max-h-60 overflow-auto";
4052
+ /** The panel's own height cap in pixels: the `max-h-60` above, restated for the placement maths. */
4053
+ static readonly PANEL_MAX_HEIGHT_PX = 240;
4041
4054
  /** Layout classes for the invisible click shield rendered under the anchored panel.
4042
4055
  * One step below the panel's z-index so the panel itself stays clickable, and above
4043
4056
  * any modal/drawer chrome (which tops out well under 9998). */
@@ -4080,10 +4093,13 @@ declare class MnSelect implements OnInit {
4080
4093
  */
4081
4094
  private scrollCapture;
4082
4095
  /** Dropdown position calculated from the trigger's bounding rect. */
4096
+ /** Inline placement of the anchored panel; `maxHeight` only binds when the viewport is the tighter cap. */
4083
4097
  dropdownStyle: {
4084
4098
  top: string;
4099
+ bottom: string;
4085
4100
  left: string;
4086
4101
  width: string;
4102
+ maxHeight: string | null;
4087
4103
  };
4088
4104
  private onChange;
4089
4105
  private onTouched;
@@ -4205,7 +4221,10 @@ declare class MnSelect implements OnInit {
4205
4221
  private lockBodyScroll;
4206
4222
  /** Restores the pre-lock `overflow`. Idempotent. */
4207
4223
  private unlockBodyScroll;
4208
- /** Calculates the fixed position for the dropdown based on the trigger element. */
4224
+ /**
4225
+ * Calculates the fixed position for the dropdown based on the trigger element: below it
4226
+ * while the viewport has room, above it otherwise, never past the viewport's edge.
4227
+ */
4209
4228
  private updateDropdownPosition;
4210
4229
  /**
4211
4230
  * Starts the open-only watchers: an `IntersectionObserver` on the trigger (closes the panel