@ngbase/adk 0.1.16 → 0.1.18
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/fesm2022/ngbase-adk-a11y.mjs +42 -42
- package/fesm2022/ngbase-adk-a11y.mjs.map +1 -1
- package/fesm2022/ngbase-adk-accordion.mjs +20 -26
- package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
- package/fesm2022/ngbase-adk-autocomplete.mjs +11 -11
- package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
- package/fesm2022/ngbase-adk-avatar.mjs +13 -13
- package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
- package/fesm2022/ngbase-adk-bidi.mjs +3 -3
- package/fesm2022/ngbase-adk-bidi.mjs.map +1 -1
- package/fesm2022/ngbase-adk-breadcrumb.mjs +14 -14
- package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngbase-adk-cache.mjs +3 -3
- package/fesm2022/ngbase-adk-cache.mjs.map +1 -1
- package/fesm2022/ngbase-adk-carousel.mjs +18 -18
- package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
- package/fesm2022/ngbase-adk-checkbox.mjs +15 -21
- package/fesm2022/ngbase-adk-checkbox.mjs.map +1 -1
- package/fesm2022/ngbase-adk-chip.mjs +12 -12
- package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-clipboard.mjs +7 -5
- package/fesm2022/ngbase-adk-clipboard.mjs.map +1 -1
- package/fesm2022/ngbase-adk-collections.mjs.map +1 -1
- package/fesm2022/ngbase-adk-color-picker.mjs +44 -53
- package/fesm2022/ngbase-adk-color-picker.mjs.map +1 -1
- package/fesm2022/ngbase-adk-cookies.mjs +3 -3
- package/fesm2022/ngbase-adk-cookies.mjs.map +1 -1
- package/fesm2022/ngbase-adk-datepicker.mjs +70 -89
- package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
- package/fesm2022/ngbase-adk-dialog.mjs +17 -39
- package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
- package/fesm2022/ngbase-adk-drag.mjs +20 -20
- package/fesm2022/ngbase-adk-drag.mjs.map +1 -1
- package/fesm2022/ngbase-adk-form-field.mjs +65 -118
- package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
- package/fesm2022/ngbase-adk-hover-card.mjs +5 -5
- package/fesm2022/ngbase-adk-hover-card.mjs.map +1 -1
- package/fesm2022/ngbase-adk-icon.mjs +9 -11
- package/fesm2022/ngbase-adk-icon.mjs.map +1 -1
- package/fesm2022/ngbase-adk-inline-edit.mjs +27 -35
- package/fesm2022/ngbase-adk-inline-edit.mjs.map +1 -1
- package/fesm2022/ngbase-adk-jwt.mjs +319 -41
- package/fesm2022/ngbase-adk-jwt.mjs.map +1 -1
- package/fesm2022/ngbase-adk-keys.mjs +6 -6
- package/fesm2022/ngbase-adk-keys.mjs.map +1 -1
- package/fesm2022/ngbase-adk-layout.mjs.map +1 -1
- package/fesm2022/ngbase-adk-list.mjs +10 -10
- package/fesm2022/ngbase-adk-list.mjs.map +1 -1
- package/fesm2022/ngbase-adk-mask.mjs +8 -8
- package/fesm2022/ngbase-adk-mask.mjs.map +1 -1
- package/fesm2022/ngbase-adk-menu.mjs +69 -79
- package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
- package/fesm2022/ngbase-adk-network.mjs +3 -3
- package/fesm2022/ngbase-adk-network.mjs.map +1 -1
- package/fesm2022/ngbase-adk-otp.mjs +24 -45
- package/fesm2022/ngbase-adk-otp.mjs.map +1 -1
- package/fesm2022/ngbase-adk-pagination.mjs +9 -9
- package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
- package/fesm2022/ngbase-adk-popover.mjs +120 -89
- package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
- package/fesm2022/ngbase-adk-portal.mjs +134 -47
- package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
- package/fesm2022/ngbase-adk-progress.mjs +7 -7
- package/fesm2022/ngbase-adk-progress.mjs.map +1 -1
- package/fesm2022/ngbase-adk-radio.mjs +20 -27
- package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
- package/fesm2022/ngbase-adk-resizable.mjs +138 -48
- package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
- package/fesm2022/ngbase-adk-scroll-area.mjs +28 -20
- package/fesm2022/ngbase-adk-scroll-area.mjs.map +1 -1
- package/fesm2022/ngbase-adk-select.mjs +58 -80
- package/fesm2022/ngbase-adk-select.mjs.map +1 -1
- package/fesm2022/ngbase-adk-selectable.mjs +19 -30
- package/fesm2022/ngbase-adk-selectable.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sheet.mjs +6 -20
- package/fesm2022/ngbase-adk-sheet.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sidenav.mjs +65 -46
- package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
- package/fesm2022/ngbase-adk-slider.mjs +40 -53
- package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sonner.mjs +12 -19
- package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
- package/fesm2022/ngbase-adk-stepper.mjs +17 -25
- package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
- package/fesm2022/ngbase-adk-switch.mjs +25 -32
- package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
- package/fesm2022/ngbase-adk-table.mjs +581 -83
- package/fesm2022/ngbase-adk-table.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tabs.mjs +37 -35
- package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
- package/fesm2022/ngbase-adk-test.mjs.map +1 -1
- package/fesm2022/ngbase-adk-toggle-group.mjs +20 -34
- package/fesm2022/ngbase-adk-toggle-group.mjs.map +1 -1
- package/fesm2022/ngbase-adk-toggle.mjs +14 -19
- package/fesm2022/ngbase-adk-toggle.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tooltip.mjs +12 -19
- package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tour.mjs +52 -52
- package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
- package/fesm2022/ngbase-adk-translate.mjs +8 -10
- package/fesm2022/ngbase-adk-translate.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tree.mjs +20 -20
- package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
- package/fesm2022/ngbase-adk-utils.mjs +30 -43
- package/fesm2022/ngbase-adk-utils.mjs.map +1 -1
- package/fesm2022/ngbase-adk-virtualizer.mjs +9 -9
- package/fesm2022/ngbase-adk-virtualizer.mjs.map +1 -1
- package/package.json +91 -91
- package/schematics/components/files/accordion/accordion.ts.template +9 -6
- package/schematics/components/files/audio/AudioPlayer.ts.template +245 -0
- package/schematics/components/files/audio/AudioRecorder.ts.template +377 -0
- package/schematics/components/files/audio/AudioVisualizer.ts.template +175 -0
- package/schematics/components/files/audio/index.ts.template +3 -0
- package/schematics/components/files/button/button-llm.md.template +3 -2
- package/schematics/components/files/charts/area-chart.component.ts.template +278 -0
- package/schematics/components/files/charts/bar-chart.component.ts.template +262 -0
- package/schematics/components/files/charts/chart-tooltip.component.ts.template +168 -0
- package/schematics/components/files/charts/index.ts.template +4 -0
- package/schematics/components/files/charts/line-chart.component.ts.template +238 -0
- package/schematics/components/files/charts/pie-chart.component.ts.template +283 -0
- package/schematics/components/files/checkbox/checkbox.ts.template +2 -2
- package/schematics/components/files/color-picker/color-picker.ts.template +2 -2
- package/schematics/components/files/dialog/dialog.ts.template +18 -14
- package/schematics/components/files/drawer/drawer.ts.template +30 -27
- package/schematics/components/files/form-field/form-field.ts.template +51 -23
- package/schematics/components/files/pagination/pagination.ts.template +4 -4
- package/schematics/components/files/picasa/picasa-base.component.ts.template +15 -30
- package/schematics/components/files/popover/popover.ts.template +15 -4
- package/schematics/components/files/select/list-selection.ts.template +0 -2
- package/schematics/components/files/select/option.ts.template +1 -1
- package/schematics/components/files/selectable/selectable.ts.template +2 -2
- package/schematics/components/files/sheet/sheet.ts.template +26 -14
- package/schematics/components/files/sidenav/sidenav.ts.template +7 -5
- package/schematics/components/files/sonner/sonner.ts.template +1 -2
- package/schematics/components/files/stepper/stepper.ts.template +2 -4
- package/schematics/components/files/switch/switch.ts.template +2 -2
- package/schematics/components/files/table/table.ts.template +43 -3
- package/schematics/components/files/tabs/tab.ts.template +3 -3
- package/schematics/components/files/theme/theme.service.ts.template +3 -3
- package/schematics/components/files/toggle/toggle.ts.template +1 -1
- package/schematics/components/files/toggle-group/toggle-group.ts.template +1 -1
- package/schematics/components/files/tooltip/tooltip.ts.template +2 -3
- package/schematics/components/schema.json +2 -0
- package/{accordion/index.d.ts → types/ngbase-adk-accordion.d.ts} +1 -3
- package/{autocomplete/index.d.ts → types/ngbase-adk-autocomplete.d.ts} +2 -7
- package/{checkbox/index.d.ts → types/ngbase-adk-checkbox.d.ts} +8 -14
- package/types/ngbase-adk-clipboard.d.ts +12 -0
- package/{color-picker/index.d.ts → types/ngbase-adk-color-picker.d.ts} +14 -26
- package/{datepicker/index.d.ts → types/ngbase-adk-datepicker.d.ts} +9 -18
- package/{dialog/index.d.ts → types/ngbase-adk-dialog.d.ts} +3 -8
- package/types/ngbase-adk-form-field.d.ts +88 -0
- package/{inline-edit/index.d.ts → types/ngbase-adk-inline-edit.d.ts} +8 -16
- package/types/ngbase-adk-jwt.d.ts +64 -0
- package/{menu/index.d.ts → types/ngbase-adk-menu.d.ts} +6 -5
- package/{otp/index.d.ts → types/ngbase-adk-otp.d.ts} +8 -16
- package/{popover/index.d.ts → types/ngbase-adk-popover.d.ts} +14 -2
- package/{portal/index.d.ts → types/ngbase-adk-portal.d.ts} +29 -8
- package/{radio/index.d.ts → types/ngbase-adk-radio.d.ts} +9 -12
- package/{resizable/index.d.ts → types/ngbase-adk-resizable.d.ts} +4 -4
- package/{scroll-area/index.d.ts → types/ngbase-adk-scroll-area.d.ts} +2 -1
- package/{select/index.d.ts → types/ngbase-adk-select.d.ts} +8 -22
- package/{selectable/index.d.ts → types/ngbase-adk-selectable.d.ts} +6 -10
- package/{sheet/index.d.ts → types/ngbase-adk-sheet.d.ts} +4 -3
- package/{sidenav/index.d.ts → types/ngbase-adk-sidenav.d.ts} +6 -6
- package/{slider/index.d.ts → types/ngbase-adk-slider.d.ts} +8 -17
- package/{sonner/index.d.ts → types/ngbase-adk-sonner.d.ts} +1 -3
- package/{stepper/index.d.ts → types/ngbase-adk-stepper.d.ts} +1 -4
- package/{switch/index.d.ts → types/ngbase-adk-switch.d.ts} +7 -14
- package/{table/index.d.ts → types/ngbase-adk-table.d.ts} +126 -3
- package/{test/index.d.ts → types/ngbase-adk-test.d.ts} +1 -1
- package/{toggle-group/index.d.ts → types/ngbase-adk-toggle-group.d.ts} +5 -10
- package/types/ngbase-adk-toggle.d.ts +14 -0
- package/{tooltip/index.d.ts → types/ngbase-adk-tooltip.d.ts} +9 -11
- package/{tour/index.d.ts → types/ngbase-adk-tour.d.ts} +4 -6
- package/{utils/index.d.ts → types/ngbase-adk-utils.d.ts} +15 -11
- package/clipboard/index.d.ts +0 -11
- package/form-field/index.d.ts +0 -97
- package/jwt/index.d.ts +0 -20
- package/toggle/index.d.ts +0 -16
- /package/{a11y/index.d.ts → types/ngbase-adk-a11y.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/ngbase-adk-avatar.d.ts} +0 -0
- /package/{bidi/index.d.ts → types/ngbase-adk-bidi.d.ts} +0 -0
- /package/{breadcrumb/index.d.ts → types/ngbase-adk-breadcrumb.d.ts} +0 -0
- /package/{cache/index.d.ts → types/ngbase-adk-cache.d.ts} +0 -0
- /package/{carousel/index.d.ts → types/ngbase-adk-carousel.d.ts} +0 -0
- /package/{chip/index.d.ts → types/ngbase-adk-chip.d.ts} +0 -0
- /package/{collections/index.d.ts → types/ngbase-adk-collections.d.ts} +0 -0
- /package/{cookies/index.d.ts → types/ngbase-adk-cookies.d.ts} +0 -0
- /package/{drag/index.d.ts → types/ngbase-adk-drag.d.ts} +0 -0
- /package/{hover-card/index.d.ts → types/ngbase-adk-hover-card.d.ts} +0 -0
- /package/{icon/index.d.ts → types/ngbase-adk-icon.d.ts} +0 -0
- /package/{keys/index.d.ts → types/ngbase-adk-keys.d.ts} +0 -0
- /package/{layout/index.d.ts → types/ngbase-adk-layout.d.ts} +0 -0
- /package/{list/index.d.ts → types/ngbase-adk-list.d.ts} +0 -0
- /package/{mask/index.d.ts → types/ngbase-adk-mask.d.ts} +0 -0
- /package/{network/index.d.ts → types/ngbase-adk-network.d.ts} +0 -0
- /package/{pagination/index.d.ts → types/ngbase-adk-pagination.d.ts} +0 -0
- /package/{progress/index.d.ts → types/ngbase-adk-progress.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/ngbase-adk-tabs.d.ts} +0 -0
- /package/{translate/index.d.ts → types/ngbase-adk-translate.d.ts} +0 -0
- /package/{tree/index.d.ts → types/ngbase-adk-tree.d.ts} +0 -0
- /package/{virtualizer/index.d.ts → types/ngbase-adk-virtualizer.d.ts} +0 -0
- /package/{index.d.ts → types/ngbase-adk.d.ts} +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { inject, ElementRef, Directive, InjectionToken, signal, input, computed, Component, linkedSignal, viewChild, ViewContainerRef, effect } from '@angular/core';
|
|
3
3
|
import { basePortal, BaseDialog, NgbPortalClose, DialogOptions } from '@ngbase/adk/portal';
|
|
4
|
-
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
5
4
|
import * as i1 from '@ngbase/adk/a11y';
|
|
6
5
|
import { FocusTrap } from '@ngbase/adk/a11y';
|
|
7
|
-
import { disposals
|
|
8
|
-
import {
|
|
6
|
+
import { disposals } from '@ngbase/adk/utils';
|
|
7
|
+
import { Observable, fromEvent, switchMap, map, startWith } from 'rxjs';
|
|
9
8
|
|
|
10
9
|
function basePopoverPortal(component) {
|
|
11
10
|
const NAME = 'popover';
|
|
@@ -360,6 +359,26 @@ function tooltipPosition(config, windowDimensions = { width: window.innerWidth,
|
|
|
360
359
|
return positioner.calculatePosition();
|
|
361
360
|
}
|
|
362
361
|
|
|
362
|
+
/**
|
|
363
|
+
* Directive to mark the host element for arrow positioning.
|
|
364
|
+
* Apply this to the parent component that contains the arrow.
|
|
365
|
+
* The arrow will calculate offset based on the difference between
|
|
366
|
+
* the host element and the arrow element positions.
|
|
367
|
+
*/
|
|
368
|
+
class NgbPopoverArrowHost {
|
|
369
|
+
constructor() {
|
|
370
|
+
this.el = inject((ElementRef));
|
|
371
|
+
}
|
|
372
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverArrowHost, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
373
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NgbPopoverArrowHost, isStandalone: true, selector: "[ngbPopoverArrowHost]", exportAs: ["ngbPopoverArrowHost"], ngImport: i0 }); }
|
|
374
|
+
}
|
|
375
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverArrowHost, decorators: [{
|
|
376
|
+
type: Directive,
|
|
377
|
+
args: [{
|
|
378
|
+
selector: '[ngbPopoverArrowHost]',
|
|
379
|
+
exportAs: 'ngbPopoverArrowHost',
|
|
380
|
+
}]
|
|
381
|
+
}] });
|
|
363
382
|
class PopoverArrowTracker {
|
|
364
383
|
constructor() {
|
|
365
384
|
this.top = 0;
|
|
@@ -380,6 +399,8 @@ class NgbPopoverArrow {
|
|
|
380
399
|
this.arrowTracker = inject(POPOVER_ARROW_TRACKER);
|
|
381
400
|
this.anchor = input(false, ...(ngDevMode ? [{ debugName: "anchor" }] : []));
|
|
382
401
|
this.el = inject((ElementRef));
|
|
402
|
+
// Optional: inject the host directive if available (for offset calculation)
|
|
403
|
+
this.arrowHost = inject(NgbPopoverArrowHost, { optional: true });
|
|
383
404
|
this.styles = computed(() => {
|
|
384
405
|
const { target, position } = this.arrowTracker.values();
|
|
385
406
|
if (target && position) {
|
|
@@ -389,48 +410,71 @@ class NgbPopoverArrow {
|
|
|
389
410
|
}, ...(ngDevMode ? [{ debugName: "styles" }] : []));
|
|
390
411
|
}
|
|
391
412
|
updateAnchorPosition(position, target, el) {
|
|
392
|
-
const
|
|
393
|
-
const
|
|
413
|
+
const elRect = el.getBoundingClientRect();
|
|
414
|
+
const targetRect = target.getBoundingClientRect();
|
|
415
|
+
// Calculate offset from host element (padding + border)
|
|
416
|
+
// If arrowHost is available, use the difference between host and arrow element
|
|
417
|
+
let offsetTop = 0;
|
|
418
|
+
let offsetLeft = 0;
|
|
419
|
+
if (this.arrowHost) {
|
|
420
|
+
const hostRect = this.arrowHost.el.nativeElement.getBoundingClientRect();
|
|
421
|
+
offsetTop = elRect.top - hostRect.top;
|
|
422
|
+
offsetLeft = elRect.left - hostRect.left;
|
|
423
|
+
console.log(elRect.top - hostRect.top);
|
|
424
|
+
}
|
|
394
425
|
let deg = '0deg';
|
|
395
|
-
let anchorTop = '
|
|
396
|
-
let anchorLeft = '
|
|
397
|
-
|
|
398
|
-
const
|
|
399
|
-
|
|
426
|
+
let anchorTop = '0';
|
|
427
|
+
let anchorLeft = '0';
|
|
428
|
+
// Minimum distance from edge
|
|
429
|
+
const minPadding = 8;
|
|
430
|
+
// Calculate target center
|
|
431
|
+
const targetCenterX = targetRect.left + targetRect.width / 2;
|
|
432
|
+
const targetCenterY = targetRect.top + targetRect.height / 2;
|
|
433
|
+
// Arrow tip position relative to the arrow element
|
|
434
|
+
// Add offset to account for host padding/border
|
|
435
|
+
const arrowLeftPx = targetCenterX - elRect.left + offsetLeft;
|
|
436
|
+
const arrowTopPx = targetCenterY - elRect.top + offsetTop;
|
|
437
|
+
// Content area dimensions
|
|
438
|
+
const contentWidth = elRect.width;
|
|
439
|
+
const contentHeight = elRect.height;
|
|
440
|
+
// Clamp positions within content bounds
|
|
441
|
+
const clampedLeftPx = Math.max(minPadding, Math.min(arrowLeftPx, contentWidth - minPadding));
|
|
442
|
+
const clampedTopPx = Math.max(minPadding, Math.min(arrowTopPx, contentHeight - minPadding));
|
|
443
|
+
// Arrow positioning - always center to target
|
|
400
444
|
switch (position) {
|
|
401
445
|
case 'top':
|
|
402
446
|
case 'tl':
|
|
403
447
|
case 'tr':
|
|
448
|
+
deg = '0deg';
|
|
404
449
|
anchorTop = '100%';
|
|
450
|
+
anchorLeft = `${clampedLeftPx}px`;
|
|
451
|
+
break;
|
|
452
|
+
case 'bottom':
|
|
453
|
+
case 'bl':
|
|
454
|
+
case 'br':
|
|
455
|
+
deg = '180deg';
|
|
456
|
+
anchorTop = '0';
|
|
457
|
+
anchorLeft = `${clampedLeftPx}px`;
|
|
405
458
|
break;
|
|
406
459
|
case 'left':
|
|
460
|
+
case 'ls':
|
|
461
|
+
case 'le':
|
|
407
462
|
deg = '270deg';
|
|
408
|
-
anchorLeft =
|
|
409
|
-
anchorTop =
|
|
410
|
-
tHeight > height
|
|
411
|
-
? `calc(50% - ${anchorWidth / 2}px)`
|
|
412
|
-
: `calc(${thHeight + (tTop - top)}px)`;
|
|
463
|
+
anchorLeft = '100%';
|
|
464
|
+
anchorTop = `${clampedTopPx}px`;
|
|
413
465
|
break;
|
|
414
466
|
case 'right':
|
|
467
|
+
case 'rs':
|
|
468
|
+
case 're':
|
|
415
469
|
deg = '90deg';
|
|
416
|
-
anchorLeft =
|
|
417
|
-
anchorTop =
|
|
418
|
-
tHeight > height
|
|
419
|
-
? `calc(50% - ${anchorWidth / 2}px)`
|
|
420
|
-
: `calc(${thHeight + (tTop - top)}px)`;
|
|
421
|
-
break;
|
|
422
|
-
case 'bottom':
|
|
423
|
-
case 'bl':
|
|
424
|
-
case 'br':
|
|
425
|
-
deg = '180deg';
|
|
426
|
-
anchorTop = '-0.5rem';
|
|
427
|
-
anchorLeft = thWidth > width ? '50%' : `calc(100% - ${thWidth}px)`;
|
|
470
|
+
anchorLeft = '0';
|
|
471
|
+
anchorTop = `${clampedTopPx}px`;
|
|
428
472
|
break;
|
|
429
473
|
}
|
|
430
474
|
return { '--action-angle': deg, '--action-left': anchorLeft, '--action-top': anchorTop };
|
|
431
475
|
}
|
|
432
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
433
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
476
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverArrow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
477
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: NgbPopoverArrow, isStandalone: true, selector: "[ngbPopoverArrow]", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "styles()" } }, ngImport: i0, template: `
|
|
434
478
|
<ng-content />
|
|
435
479
|
@if (anchor()) {
|
|
436
480
|
<style>
|
|
@@ -451,16 +495,19 @@ class NgbPopoverArrow {
|
|
|
451
495
|
border-right: 0.45rem solid transparent;
|
|
452
496
|
top: var(--action-top);
|
|
453
497
|
left: var(--action-left);
|
|
454
|
-
|
|
498
|
+
/* The tip of the triangle is at center-top (50% 0) */
|
|
499
|
+
/* We rotate around the tip so it stays at the target position */
|
|
500
|
+
transform-origin: 50% 0;
|
|
501
|
+
transform: translate(-50%, 0) rotate(var(--action-angle, 180deg));
|
|
455
502
|
/* Add shadow to match the container shadow */
|
|
456
503
|
/* filter: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
|
|
457
504
|
z-index: -1; */
|
|
458
505
|
}
|
|
459
506
|
</style>
|
|
460
507
|
}
|
|
461
|
-
`, isInline: true, styles: [":host{--action-angle: 180deg;--action-left: 50%;--action-top: -1rem;--action-color: var(--color-background)}:host:before{content:\"\";position:absolute;width:0;height:0;border-style:solid;border-top:.5rem solid var(--action-color);border-left:.45rem solid transparent;border-right:.45rem solid transparent;top:var(--action-top);left:var(--action-left);transform:translate(-50%) rotate(var(--action-angle, 180deg))}\n"] }); }
|
|
508
|
+
`, isInline: true, styles: [":host{--action-angle: 180deg;--action-left: 50%;--action-top: -1rem;--action-color: var(--color-background)}:host:before{content:\"\";position:absolute;width:0;height:0;border-style:solid;border-top:.5rem solid var(--action-color);border-left:.45rem solid transparent;border-right:.45rem solid transparent;top:var(--action-top);left:var(--action-left);transform-origin:50% 0;transform:translate(-50%) rotate(var(--action-angle, 180deg))}\n"] }); }
|
|
462
509
|
}
|
|
463
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
510
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverArrow, decorators: [{
|
|
464
511
|
type: Component,
|
|
465
512
|
args: [{
|
|
466
513
|
selector: '[ngbPopoverArrow]',
|
|
@@ -485,7 +532,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
|
|
|
485
532
|
border-right: 0.45rem solid transparent;
|
|
486
533
|
top: var(--action-top);
|
|
487
534
|
left: var(--action-left);
|
|
488
|
-
|
|
535
|
+
/* The tip of the triangle is at center-top (50% 0) */
|
|
536
|
+
/* We rotate around the tip so it stays at the target position */
|
|
537
|
+
transform-origin: 50% 0;
|
|
538
|
+
transform: translate(-50%, 0) rotate(var(--action-angle, 180deg));
|
|
489
539
|
/* Add shadow to match the container shadow */
|
|
490
540
|
/* filter: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
|
|
491
541
|
z-index: -1; */
|
|
@@ -497,18 +547,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
|
|
|
497
547
|
'[style]': 'styles()',
|
|
498
548
|
},
|
|
499
549
|
}]
|
|
500
|
-
}] });
|
|
550
|
+
}], propDecorators: { anchor: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchor", required: false }] }] } });
|
|
501
551
|
|
|
502
552
|
class NgbPopoverBackdrop {
|
|
503
553
|
constructor() {
|
|
504
554
|
this.popover = inject(NgbPopover);
|
|
505
555
|
this.focusTrap = inject(FocusTrap);
|
|
506
|
-
this.focusTrap._focusTrap = linkedSignal(() => this.popover.options().focusTrap ?? true);
|
|
556
|
+
this.focusTrap._focusTrap = linkedSignal(() => this.popover.options().focusTrap ?? true, ...(ngDevMode ? [{ debugName: "_focusTrap" }] : []));
|
|
507
557
|
}
|
|
508
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
509
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
558
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverBackdrop, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
559
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NgbPopoverBackdrop, isStandalone: true, selector: "[ngbPopoverBackdrop]", host: { listeners: { "click": "!popover.options().disableClose && popover.close()" }, properties: { "style.clipPath": "popover.options().clipPath?.()", "class": "popover.options().backdropClassName" } }, hostDirectives: [{ directive: i1.FocusTrap }], ngImport: i0 }); }
|
|
510
560
|
}
|
|
511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
561
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverBackdrop, decorators: [{
|
|
512
562
|
type: Directive,
|
|
513
563
|
args: [{
|
|
514
564
|
selector: '[ngbPopoverBackdrop]',
|
|
@@ -524,10 +574,10 @@ class NgbPopoverMain {
|
|
|
524
574
|
constructor() {
|
|
525
575
|
this.popover = inject(NgbPopover);
|
|
526
576
|
}
|
|
527
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
528
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
577
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverMain, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
578
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NgbPopoverMain, isStandalone: true, selector: "[ngbPopoverMain]", host: { properties: { "class": "popover.options().className" } }, ngImport: i0 }); }
|
|
529
579
|
}
|
|
530
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverMain, decorators: [{
|
|
531
581
|
type: Directive,
|
|
532
582
|
args: [{
|
|
533
583
|
selector: '[ngbPopoverMain]',
|
|
@@ -539,30 +589,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
|
|
|
539
589
|
class NgbPopover extends BaseDialog {
|
|
540
590
|
constructor() {
|
|
541
591
|
super();
|
|
592
|
+
this.contentContainer = viewChild('contentContainer', { ...(ngDevMode ? { debugName: "contentContainer" } : {}), read: ViewContainerRef });
|
|
542
593
|
this.arrowTracker = inject(POPOVER_ARROW_TRACKER);
|
|
543
594
|
this.disposals = disposals();
|
|
544
|
-
|
|
595
|
+
// These are set by subclasses via viewChild
|
|
545
596
|
this.container = viewChild.required(NgbPopoverMain, {
|
|
546
597
|
read: ElementRef,
|
|
547
598
|
});
|
|
548
|
-
this.backdropElement = viewChild(NgbPopoverBackdrop, ...(ngDevMode ?
|
|
599
|
+
this.backdropElement = viewChild(NgbPopoverBackdrop, { ...(ngDevMode ? { debugName: "backdropElement" } : {}), read: ElementRef });
|
|
549
600
|
this.options = signal({}, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
550
601
|
this.lastPosition = 'top';
|
|
551
602
|
this.scrolled = signal(0, ...(ngDevMode ? [{ debugName: "scrolled" }] : []));
|
|
552
|
-
this.events =
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
603
|
+
this.events = new Observable(subscriber => {
|
|
604
|
+
// Defer until container is available
|
|
605
|
+
queueMicrotask(() => {
|
|
606
|
+
const el = this.container().nativeElement;
|
|
607
|
+
const mouseenter = fromEvent(el, 'mouseenter');
|
|
608
|
+
const mouseleave = fromEvent(el, 'mouseleave');
|
|
609
|
+
const event = mouseenter.pipe(switchMap(e => mouseleave.pipe(map(x => ({ type: 'mouseleave', value: x })), startWith({ type: 'mouseenter', value: e }))));
|
|
610
|
+
event.subscribe(subscriber);
|
|
611
|
+
});
|
|
612
|
+
});
|
|
559
613
|
this.scheduleUpdateDimension = () => {
|
|
560
614
|
this.disposals.afterNextRender(() => this.updateDimension());
|
|
561
615
|
};
|
|
562
|
-
const dialog = effect(() => {
|
|
563
|
-
this._afterViewSource.next(this.myDialog());
|
|
564
|
-
dialog.destroy();
|
|
565
|
-
}, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
566
616
|
effect(cleanup => {
|
|
567
617
|
const el = this.container().nativeElement;
|
|
568
618
|
const options = this.options();
|
|
@@ -689,37 +739,18 @@ class NgbPopover extends BaseDialog {
|
|
|
689
739
|
// console.log('setOptions', options);
|
|
690
740
|
this.options.set(options);
|
|
691
741
|
}
|
|
692
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
693
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
694
|
-
createHostAnimation(['@slideInOutAnimation']),
|
|
695
|
-
trigger('slideInOutAnimation', [
|
|
696
|
-
state('1', style({ transform: 'none', opacity: 1 })),
|
|
697
|
-
state('void', style({ transform: 'translateY(-10px) scale(0.95)', opacity: 0 })),
|
|
698
|
-
state('0', style({ transform: 'translateY(-10px) scale(0.95)', opacity: 0 })),
|
|
699
|
-
transition('* => *', animate('100ms ease-out')),
|
|
700
|
-
]),
|
|
701
|
-
] }); }
|
|
742
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
743
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: NgbPopover, isStandalone: true, selector: "ngb-popover", viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "container", first: true, predicate: NgbPopoverMain, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "backdropElement", first: true, predicate: NgbPopoverBackdrop, descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
702
744
|
}
|
|
703
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
745
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopover, decorators: [{
|
|
704
746
|
type: Component,
|
|
705
747
|
args: [{
|
|
706
748
|
selector: 'ngb-popover',
|
|
707
749
|
template: '',
|
|
708
|
-
host: {
|
|
709
|
-
'[@parentAnimation]': '',
|
|
710
|
-
'(@parentAnimation.done)': 'animationDone()',
|
|
711
|
-
},
|
|
712
|
-
animations: [
|
|
713
|
-
createHostAnimation(['@slideInOutAnimation']),
|
|
714
|
-
trigger('slideInOutAnimation', [
|
|
715
|
-
state('1', style({ transform: 'none', opacity: 1 })),
|
|
716
|
-
state('void', style({ transform: 'translateY(-10px) scale(0.95)', opacity: 0 })),
|
|
717
|
-
state('0', style({ transform: 'translateY(-10px) scale(0.95)', opacity: 0 })),
|
|
718
|
-
transition('* => *', animate('100ms ease-out')),
|
|
719
|
-
]),
|
|
720
|
-
],
|
|
721
750
|
}]
|
|
722
|
-
}], ctorParameters: () => [] })
|
|
751
|
+
}], ctorParameters: () => [], propDecorators: { contentContainer: [{ type: i0.ViewChild, args: ['contentContainer', { ...{ read: ViewContainerRef }, isSignal: true }] }], container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => NgbPopoverMain), { ...{
|
|
752
|
+
read: ElementRef,
|
|
753
|
+
}, isSignal: true }] }], backdropElement: [{ type: i0.ViewChild, args: [i0.forwardRef(() => NgbPopoverBackdrop), { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
723
754
|
function scrollToElement(target) {
|
|
724
755
|
return new Promise(resolve => {
|
|
725
756
|
let lastPos;
|
|
@@ -757,13 +788,13 @@ class NgbPopoverClose extends NgbPortalClose {
|
|
|
757
788
|
close() {
|
|
758
789
|
super.close(this.ngbPopoverClose());
|
|
759
790
|
}
|
|
760
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
761
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
791
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverClose, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
792
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: NgbPopoverClose, isStandalone: true, selector: "[ngbPopoverClose]", inputs: { ngbPopoverClose: { classPropertyName: "ngbPopoverClose", publicName: "ngbPopoverClose", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
762
793
|
}
|
|
763
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
794
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverClose, decorators: [{
|
|
764
795
|
type: Directive,
|
|
765
796
|
args: [{ selector: '[ngbPopoverClose]' }]
|
|
766
|
-
}] });
|
|
797
|
+
}], propDecorators: { ngbPopoverClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngbPopoverClose", required: false }] }] } });
|
|
767
798
|
function aliasPopover(popover) {
|
|
768
799
|
return [{ provide: NgbPopover, useExisting: popover }, providePopoverArrowTracker()];
|
|
769
800
|
}
|
|
@@ -805,10 +836,10 @@ class NgbPopoverTrigger {
|
|
|
805
836
|
close() {
|
|
806
837
|
this.closeFn();
|
|
807
838
|
}
|
|
808
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
809
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
839
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
840
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: NgbPopoverTrigger, isStandalone: true, selector: "[ngbPopoverTrigger]", inputs: { ngbPopoverTrigger: { classPropertyName: "ngbPopoverTrigger", publicName: "ngbPopoverTrigger", isSignal: true, isRequired: true, transformFunction: null }, ngbPopoverTriggerData: { classPropertyName: "ngbPopoverTriggerData", publicName: "ngbPopoverTriggerData", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "open()" } }, exportAs: ["ngbPopoverTrigger"], ngImport: i0 }); }
|
|
810
841
|
}
|
|
811
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
842
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbPopoverTrigger, decorators: [{
|
|
812
843
|
type: Directive,
|
|
813
844
|
args: [{
|
|
814
845
|
selector: '[ngbPopoverTrigger]',
|
|
@@ -817,7 +848,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
|
|
|
817
848
|
'(click)': 'open()',
|
|
818
849
|
},
|
|
819
850
|
}]
|
|
820
|
-
}] });
|
|
851
|
+
}], propDecorators: { ngbPopoverTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngbPopoverTrigger", required: true }] }], ngbPopoverTriggerData: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngbPopoverTriggerData", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }] } });
|
|
821
852
|
|
|
822
853
|
/*
|
|
823
854
|
* Public API Surface of popover
|
|
@@ -827,5 +858,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
|
|
|
827
858
|
* Generated bundle index. Do not edit.
|
|
828
859
|
*/
|
|
829
860
|
|
|
830
|
-
export { NgbPopover, NgbPopoverArrow, NgbPopoverBackdrop, NgbPopoverClose, NgbPopoverMain, NgbPopoverTrigger, POPOVER_ARROW_TRACKER, PopoverArrowTracker, PopoverOptions, aliasPopover, basePopoverPortal, ngbPopoverPortal, providePopoverArrowTracker, registerNgbPopover, tooltipPosition };
|
|
861
|
+
export { NgbPopover, NgbPopoverArrow, NgbPopoverArrowHost, NgbPopoverBackdrop, NgbPopoverClose, NgbPopoverMain, NgbPopoverTrigger, POPOVER_ARROW_TRACKER, PopoverArrowTracker, PopoverOptions, aliasPopover, basePopoverPortal, ngbPopoverPortal, providePopoverArrowTracker, registerNgbPopover, tooltipPosition };
|
|
831
862
|
//# sourceMappingURL=ngbase-adk-popover.mjs.map
|