pdm-ui-kit 0.1.47 → 0.1.49

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.
@@ -1943,6 +1943,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1943
1943
  type: Output
1944
1944
  }] } });
1945
1945
 
1946
+ /**
1947
+ * Creates a flexible position strategy that automatically adjusts
1948
+ * to keep the overlay within the viewport edges.
1949
+ *
1950
+ * The strategy tries positions in this order:
1951
+ * 1. Bottom-left (origin bottom edge, aligns to left)
1952
+ * 2. Top-left (origin top edge, aligns to left)
1953
+ * 3. Bottom-right (origin bottom edge, aligns to right)
1954
+ * 4. Top-right (origin top edge, aligns to right)
1955
+ *
1956
+ * CDK Overlay will use the first position that fits within the viewport.
1957
+ */
1958
+ function createFlexiblePositionStrategy(overlay, triggerElement, offset = 4) {
1959
+ return overlay
1960
+ .position()
1961
+ .flexibleConnectedTo(triggerElement)
1962
+ .withPositions([
1963
+ // Bottom-left (default) - opens downward from left edge
1964
+ {
1965
+ originX: 'start',
1966
+ originY: 'bottom',
1967
+ overlayX: 'start',
1968
+ overlayY: 'top',
1969
+ offsetY: offset
1970
+ },
1971
+ // Top-left - opens upward from left edge
1972
+ {
1973
+ originX: 'start',
1974
+ originY: 'top',
1975
+ overlayX: 'start',
1976
+ overlayY: 'bottom',
1977
+ offsetY: -offset
1978
+ },
1979
+ // Bottom-right - opens downward from right edge
1980
+ {
1981
+ originX: 'end',
1982
+ originY: 'bottom',
1983
+ overlayX: 'end',
1984
+ overlayY: 'top',
1985
+ offsetY: offset
1986
+ },
1987
+ // Top-right - opens upward from right edge
1988
+ {
1989
+ originX: 'end',
1990
+ originY: 'top',
1991
+ overlayX: 'end',
1992
+ overlayY: 'bottom',
1993
+ offsetY: -offset
1994
+ }
1995
+ ])
1996
+ .withFlexibleDimensions(false)
1997
+ .withPush(true);
1998
+ }
1999
+
1946
2000
  class PdmLabelComponent {
1947
2001
  constructor() {
1948
2002
  this.forId = '';
@@ -2174,27 +2228,7 @@ class PdmDatePickerComponent {
2174
2228
  this._open = true;
2175
2229
  this.openChange.emit(true);
2176
2230
  this.cdr.markForCheck();
2177
- const positionStrategy = this.overlay
2178
- .position()
2179
- .flexibleConnectedTo(triggerEl)
2180
- .withPositions([
2181
- {
2182
- originX: 'start',
2183
- originY: 'bottom',
2184
- overlayX: 'start',
2185
- overlayY: 'top',
2186
- offsetY: 8
2187
- },
2188
- {
2189
- originX: 'start',
2190
- originY: 'top',
2191
- overlayX: 'start',
2192
- overlayY: 'bottom',
2193
- offsetY: -8
2194
- }
2195
- ])
2196
- .withFlexibleDimensions(false)
2197
- .withPush(true);
2231
+ const positionStrategy = createFlexiblePositionStrategy(this.overlay, triggerEl, 8);
2198
2232
  // Resolve panelClass: overlayOptions.panelClass wins; otherwise map panelClassName.
2199
2233
  const resolvedPanelClass = (_c = (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.panelClass) !== null && _c !== void 0 ? _c : (this.panelClassName ? ['block', this.panelClassName] : ['block']);
2200
2234
  this.overlayRef = this.overlay.create(Object.assign(Object.assign({ positionStrategy, scrollStrategy: this.overlay.scrollStrategies.reposition() }, this.overlayOptions), {
@@ -2560,27 +2594,7 @@ class PdmDropdownMenuComponent {
2560
2594
  return;
2561
2595
  this.open = true;
2562
2596
  this.cdr.markForCheck();
2563
- const positionStrategy = this.overlay
2564
- .position()
2565
- .flexibleConnectedTo(triggerEl)
2566
- .withPositions([
2567
- {
2568
- originX: 'start',
2569
- originY: 'bottom',
2570
- overlayX: 'start',
2571
- overlayY: 'top',
2572
- offsetY: 8
2573
- },
2574
- {
2575
- originX: 'start',
2576
- originY: 'top',
2577
- overlayX: 'start',
2578
- overlayY: 'bottom',
2579
- offsetY: -8
2580
- }
2581
- ])
2582
- .withFlexibleDimensions(false)
2583
- .withPush(true);
2597
+ const positionStrategy = createFlexiblePositionStrategy(this.overlay, triggerEl, 8);
2584
2598
  // Resolve panelClass: overlayOptions.panelClass wins; otherwise map panelClassName.
2585
2599
  const resolvedPanelClass = (_c = (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.panelClass) !== null && _c !== void 0 ? _c : (this.panelClassName ? ['block', this.panelClassName] : ['block']);
2586
2600
  this.overlayRef = this.overlay.create(Object.assign(Object.assign({ positionStrategy, scrollStrategy: this.overlay.scrollStrategies.reposition() }, this.overlayOptions), {
@@ -3485,27 +3499,7 @@ class PdmSelectComponent {
3485
3499
  return;
3486
3500
  this.open = true;
3487
3501
  this.cdr.markForCheck();
3488
- const positionStrategy = this.overlay
3489
- .position()
3490
- .flexibleConnectedTo(triggerEl)
3491
- .withPositions([
3492
- {
3493
- originX: 'start',
3494
- originY: 'bottom',
3495
- overlayX: 'start',
3496
- overlayY: 'top',
3497
- offsetY: 4
3498
- },
3499
- {
3500
- originX: 'start',
3501
- originY: 'top',
3502
- overlayX: 'start',
3503
- overlayY: 'bottom',
3504
- offsetY: -4
3505
- }
3506
- ])
3507
- .withFlexibleDimensions(false)
3508
- .withPush(true);
3502
+ const positionStrategy = createFlexiblePositionStrategy(this.overlay, triggerEl, 4);
3509
3503
  this.overlayRef = this.overlay.create(Object.assign({
3510
3504
  // Fix: use a token array — DOMTokenList.add() rejects space-containing strings.
3511
3505
  panelClass: ['block'], positionStrategy, scrollStrategy: this.overlay.scrollStrategies.reposition(), width: triggerEl.offsetWidth }, this.overlayOptions));
@@ -4664,5 +4658,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
4664
4658
  * Generated bundle index. Do not edit.
4665
4659
  */
4666
4660
 
4667
- export { PdmAccordionComponent, PdmAlertComponent, PdmAlertDialogComponent, PdmAspectRatioComponent, PdmAvatarComponent, PdmBadgeComponent, PdmBreadcrumbComponent, PdmButtonComponent, PdmButtonGroupComponent, PdmCalendarComponent, PdmCardComponent, PdmCarouselComponent, PdmChartComponent, PdmCheckboxComponent, PdmCollapsibleComponent, PdmComboboxComponent, PdmCommandComponent, PdmContextMenuComponent, PdmDataTableComponent, PdmDatePickerComponent, PdmDialogComponent, PdmDrawerComponent, PdmDropdownMenuComponent, PdmEmptyComponent, PdmFieldComponent, PdmHoverCardComponent, PdmIconComponent, PdmInputComponent, PdmInputGroupComponent, PdmInputOtpComponent, PdmInputPasswordComponent, PdmItemComponent, PdmKbdComponent, PdmLabelComponent, PdmMenubarComponent, PdmNativeSelectComponent, PdmNavigationMenuComponent, PdmPaginationComponent, PdmPopoverComponent, PdmProgressComponent, PdmRadioGroupComponent, PdmScrollAreaComponent, PdmSelectComponent, PdmSelectOptionDirective, PdmSeparatorComponent, PdmSheetComponent, PdmSidebarComponent, PdmSkeletonComponent, PdmSliderComponent, PdmSonnerComponent, PdmSpinnerComponent, PdmSwitchComponent, PdmTableComponent, PdmTabsComponent, PdmTextareaComponent, PdmToggleComponent, PdmToggleGroupComponent, PdmTooltipComponent, PdmUiKitModule };
4661
+ export { PdmAccordionComponent, PdmAlertComponent, PdmAlertDialogComponent, PdmAspectRatioComponent, PdmAvatarComponent, PdmBadgeComponent, PdmBreadcrumbComponent, PdmButtonComponent, PdmButtonGroupComponent, PdmCalendarComponent, PdmCardComponent, PdmCarouselComponent, PdmChartComponent, PdmCheckboxComponent, PdmCollapsibleComponent, PdmComboboxComponent, PdmCommandComponent, PdmContextMenuComponent, PdmDataTableComponent, PdmDatePickerComponent, PdmDialogComponent, PdmDrawerComponent, PdmDropdownMenuComponent, PdmEmptyComponent, PdmFieldComponent, PdmHoverCardComponent, PdmIconComponent, PdmInputComponent, PdmInputGroupComponent, PdmInputOtpComponent, PdmInputPasswordComponent, PdmItemComponent, PdmKbdComponent, PdmLabelComponent, PdmMenubarComponent, PdmNativeSelectComponent, PdmNavigationMenuComponent, PdmPaginationComponent, PdmPopoverComponent, PdmProgressComponent, PdmRadioGroupComponent, PdmScrollAreaComponent, PdmSelectComponent, PdmSelectOptionDirective, PdmSeparatorComponent, PdmSheetComponent, PdmSidebarComponent, PdmSkeletonComponent, PdmSliderComponent, PdmSonnerComponent, PdmSpinnerComponent, PdmSwitchComponent, PdmTableComponent, PdmTabsComponent, PdmTextareaComponent, PdmToggleComponent, PdmToggleGroupComponent, PdmTooltipComponent, PdmUiKitModule, createFlexiblePositionStrategy };
4668
4662
  //# sourceMappingURL=pdm-ui-kit.mjs.map