@daffodil/design 0.92.3 → 0.93.1
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/accordion/README.md +4 -4
- package/beacon/README.md +61 -0
- package/beacon/src/beacon-theme.scss +61 -0
- package/breadcrumb/README.md +13 -35
- package/button/README.md +28 -50
- package/card/README.md +8 -22
- package/card/src/card/stroked/stroked-theme.scss +8 -1
- package/card/src/card-base-theme.scss +12 -1
- package/container/README.md +4 -26
- package/fesm2022/daffodil-design-accordion.mjs +15 -15
- package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
- package/fesm2022/daffodil-design-article.mjs +30 -30
- package/fesm2022/daffodil-design-article.mjs.map +1 -1
- package/fesm2022/daffodil-design-beacon.mjs +48 -0
- package/fesm2022/daffodil-design-beacon.mjs.map +1 -0
- package/fesm2022/daffodil-design-breadcrumb.mjs +20 -20
- package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
- package/fesm2022/daffodil-design-button.mjs +37 -49
- package/fesm2022/daffodil-design-button.mjs.map +1 -1
- package/fesm2022/daffodil-design-callout.mjs +22 -22
- package/fesm2022/daffodil-design-callout.mjs.map +1 -1
- package/fesm2022/daffodil-design-card.mjs +31 -31
- package/fesm2022/daffodil-design-card.mjs.map +1 -1
- package/fesm2022/daffodil-design-checkbox.mjs +13 -13
- package/fesm2022/daffodil-design-checkbox.mjs.map +1 -1
- package/fesm2022/daffodil-design-container.mjs +7 -7
- package/fesm2022/daffodil-design-container.mjs.map +1 -1
- package/fesm2022/daffodil-design-form-field.mjs +13 -12
- package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
- package/fesm2022/daffodil-design-form.mjs +9 -9
- package/fesm2022/daffodil-design-form.mjs.map +1 -1
- package/fesm2022/daffodil-design-hero.mjs +22 -22
- package/fesm2022/daffodil-design-hero.mjs.map +1 -1
- package/fesm2022/daffodil-design-image.mjs +8 -8
- package/fesm2022/daffodil-design-image.mjs.map +1 -1
- package/fesm2022/daffodil-design-input.mjs +12 -11
- package/fesm2022/daffodil-design-input.mjs.map +1 -1
- package/fesm2022/daffodil-design-link-set.mjs +16 -16
- package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
- package/fesm2022/daffodil-design-list.mjs +20 -17
- package/fesm2022/daffodil-design-list.mjs.map +1 -1
- package/fesm2022/daffodil-design-loading-icon.mjs +7 -7
- package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
- package/fesm2022/daffodil-design-media-gallery.mjs +13 -13
- package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
- package/fesm2022/daffodil-design-menu.mjs +20 -20
- package/fesm2022/daffodil-design-menu.mjs.map +1 -1
- package/fesm2022/daffodil-design-modal.mjs +33 -27
- package/fesm2022/daffodil-design-modal.mjs.map +1 -1
- package/fesm2022/daffodil-design-native-select.mjs +5 -3
- package/fesm2022/daffodil-design-native-select.mjs.map +1 -1
- package/fesm2022/daffodil-design-navbar.mjs +9 -9
- package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
- package/fesm2022/daffodil-design-notification.mjs +16 -16
- package/fesm2022/daffodil-design-notification.mjs.map +1 -1
- package/fesm2022/daffodil-design-paginator.mjs +8 -8
- package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
- package/fesm2022/daffodil-design-progress-bar.mjs +11 -11
- package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
- package/fesm2022/daffodil-design-quantity-field.mjs +13 -13
- package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
- package/fesm2022/daffodil-design-radio.mjs +16 -16
- package/fesm2022/daffodil-design-radio.mjs.map +1 -1
- package/fesm2022/daffodil-design-select.mjs +11 -11
- package/fesm2022/daffodil-design-select.mjs.map +1 -1
- package/fesm2022/daffodil-design-sidebar.mjs +36 -30
- package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
- package/fesm2022/daffodil-design-spinner.mjs +8 -8
- package/fesm2022/daffodil-design-spinner.mjs.map +1 -1
- package/fesm2022/daffodil-design-switch.mjs +3 -3
- package/fesm2022/daffodil-design-switch.mjs.map +1 -1
- package/fesm2022/daffodil-design-tabs.mjs +17 -25
- package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
- package/fesm2022/daffodil-design-tag.mjs +43 -35
- package/fesm2022/daffodil-design-tag.mjs.map +1 -1
- package/fesm2022/daffodil-design-testing.mjs +19 -0
- package/fesm2022/daffodil-design-testing.mjs.map +1 -0
- package/fesm2022/daffodil-design-text-snippet.mjs +3 -3
- package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
- package/fesm2022/daffodil-design-textarea.mjs +3 -3
- package/fesm2022/daffodil-design-textarea.mjs.map +1 -1
- package/fesm2022/daffodil-design-toast.mjs +22 -22
- package/fesm2022/daffodil-design-toast.mjs.map +1 -1
- package/fesm2022/daffodil-design-tree.mjs +27 -25
- package/fesm2022/daffodil-design-tree.mjs.map +1 -1
- package/fesm2022/daffodil-design-youtube-player.mjs +22 -11
- package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
- package/fesm2022/daffodil-design.mjs +126 -160
- package/fesm2022/daffodil-design.mjs.map +1 -1
- package/form/README.md +15 -6
- package/hero/README.md +14 -49
- package/image/README.md +6 -29
- package/input/README.md +8 -34
- package/list/README.md +29 -55
- package/list/src/list-theme.scss +16 -2
- package/media-gallery/README.md +36 -43
- package/menu/README.md +24 -55
- package/menu/src/menu-theme.scss +12 -2
- package/modal/README.md +15 -45
- package/native-select/README.md +8 -6
- package/navbar/README.md +18 -27
- package/notification/README.md +14 -49
- package/package.json +1 -1
- package/paginator/README.md +11 -31
- package/paginator/src/paginator-theme.scss +16 -2
- package/progress-bar/README.md +14 -41
- package/scss/global.scss +25 -2
- package/scss/theme.scss +2 -0
- package/select/README.md +5 -6
- package/select/src/select-theme.scss +10 -2
- package/sidebar/README.md +1 -1
- package/spinner/README.md +15 -9
- package/switch/README.md +17 -6
- package/tabs/README.md +39 -39
- package/tag/README.md +31 -31
- package/tag/src/tag-theme.scss +100 -3
- package/textarea/README.md +9 -7
- package/toast/README.md +55 -52
- package/tree/README.md +12 -43
- package/tree/src/tree-theme.scss +8 -4
- package/{accordion/index.d.ts → types/daffodil-design-accordion.d.ts} +1 -1
- package/types/daffodil-design-beacon.d.ts +26 -0
- package/{button/index.d.ts → types/daffodil-design-button.d.ts} +7 -8
- package/{input/index.d.ts → types/daffodil-design-input.d.ts} +4 -1
- package/{list/index.d.ts → types/daffodil-design-list.d.ts} +4 -1
- package/{menu/index.d.ts → types/daffodil-design-menu.d.ts} +3 -3
- package/{modal/index.d.ts → types/daffodil-design-modal.d.ts} +11 -5
- package/{native-select/index.d.ts → types/daffodil-design-native-select.d.ts} +3 -1
- package/{sidebar/index.d.ts → types/daffodil-design-sidebar.d.ts} +9 -3
- package/{tabs/index.d.ts → types/daffodil-design-tabs.d.ts} +0 -6
- package/types/daffodil-design-tag.d.ts +80 -0
- package/types/daffodil-design-testing.d.ts +11 -0
- package/{tree/index.d.ts → types/daffodil-design-tree.d.ts} +2 -0
- package/{youtube-player/index.d.ts → types/daffodil-design-youtube-player.d.ts} +15 -0
- package/{index.d.ts → types/daffodil-design.d.ts} +25 -67
- package/tag/index.d.ts +0 -71
- /package/{article/index.d.ts → types/daffodil-design-article.d.ts} +0 -0
- /package/{breadcrumb/index.d.ts → types/daffodil-design-breadcrumb.d.ts} +0 -0
- /package/{callout/index.d.ts → types/daffodil-design-callout.d.ts} +0 -0
- /package/{card/index.d.ts → types/daffodil-design-card.d.ts} +0 -0
- /package/{checkbox/index.d.ts → types/daffodil-design-checkbox.d.ts} +0 -0
- /package/{container/index.d.ts → types/daffodil-design-container.d.ts} +0 -0
- /package/{form-field/index.d.ts → types/daffodil-design-form-field.d.ts} +0 -0
- /package/{form/index.d.ts → types/daffodil-design-form.d.ts} +0 -0
- /package/{hero/index.d.ts → types/daffodil-design-hero.d.ts} +0 -0
- /package/{image/index.d.ts → types/daffodil-design-image.d.ts} +0 -0
- /package/{link-set/index.d.ts → types/daffodil-design-link-set.d.ts} +0 -0
- /package/{loading-icon/index.d.ts → types/daffodil-design-loading-icon.d.ts} +0 -0
- /package/{media-gallery/index.d.ts → types/daffodil-design-media-gallery.d.ts} +0 -0
- /package/{navbar/index.d.ts → types/daffodil-design-navbar.d.ts} +0 -0
- /package/{notification/index.d.ts → types/daffodil-design-notification.d.ts} +0 -0
- /package/{paginator/index.d.ts → types/daffodil-design-paginator.d.ts} +0 -0
- /package/{progress-bar/index.d.ts → types/daffodil-design-progress-bar.d.ts} +0 -0
- /package/{quantity-field/index.d.ts → types/daffodil-design-quantity-field.d.ts} +0 -0
- /package/{radio/index.d.ts → types/daffodil-design-radio.d.ts} +0 -0
- /package/{select/index.d.ts → types/daffodil-design-select.d.ts} +0 -0
- /package/{spinner/index.d.ts → types/daffodil-design-spinner.d.ts} +0 -0
- /package/{switch/index.d.ts → types/daffodil-design-switch.d.ts} +0 -0
- /package/{text-snippet/index.d.ts → types/daffodil-design-text-snippet.d.ts} +0 -0
- /package/{textarea/index.d.ts → types/daffodil-design-textarea.d.ts} +0 -0
- /package/{toast/index.d.ts → types/daffodil-design-toast.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-design-menu.mjs","sources":["../../../libs/design/menu/src/config/menu-config.ts","../../../libs/design/menu/src/helpers/create-overlay.ts","../../../libs/design/menu/src/services/menu.service.ts","../../../libs/design/menu/src/config/menu-id.ts","../../../libs/design/menu/src/menu-activator/menu-activator.component.ts","../../../libs/design/menu/src/menu-item/menu-item.token.ts","../../../libs/design/menu/src/menu-item/menu-item.component.ts","../../../libs/design/menu/src/menu-item/menu-item.component.html","../../../libs/design/menu/src/menu/menu.component.ts","../../../libs/design/menu/src/menu/menu.component.html","../../../libs/design/menu/src/menu.module.ts","../../../libs/design/menu/src/menu.ts","../../../libs/design/menu/src/daffodil-design-menu.ts"],"sourcesContent":["import { createConfigInjectionToken } from '@daffodil/core';\n\n/**\n * Configuration for a menu instance.\n */\nexport interface DaffMenuConfig {\n /**\n * A unique identifier for the menu instance.\n */\n menuId?: string;\n}\n\nconst daffMenuConfigDefault: DaffMenuConfig = {\n menuId: '',\n};\n\nexport const {\n /**\n * An injection token for the menu configuration.\n */\n token: DAFF_MENU_CONFIG,\n /**\n * Provider function for {@link DAFF_MENU_CONFIG}.\n */\n provider: provideDaffMenuConfig,\n} = createConfigInjectionToken<DaffMenuConfig>(daffMenuConfigDefault, 'DAFF_MENU_CONFIG');\n","import {\n Overlay,\n OverlayConfig,\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nexport function daffMenuCreateOverlay(overlay: Overlay, element: ElementRef, config: OverlayConfig = {}) {\n return overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n positionStrategy: overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]),\n ...config,\n });\n};\n","import {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n Injectable,\n Injector,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n BehaviorSubject,\n map,\n Observable,\n} from 'rxjs';\n\nimport { DaffLazyComponent } from '@daffodil/design';\n\nimport {\n DAFF_MENU_CONFIG,\n DaffMenuConfig,\n} from '../config/menu-config';\nimport { daffMenuCreateOverlay } from '../helpers/create-overlay';\n\nexport type DaffMenuSlot = TemplateRef<unknown> | DaffLazyComponent | Type<unknown>;\n\n@Injectable()\nexport class DaffMenuService {\n protected _overlay: OverlayRef | null;\n private _activator: ViewContainerRef;\n\n private $_open: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public open$: Observable<boolean> = this.$_open.asObservable();\n\n constructor(\n protected overlay: Overlay,\n private injector: Injector,\n ) {}\n\n /**\n * @docs-private\n */\n protected async _createOverlay(activatorElement: ViewContainerRef, component: DaffMenuSlot, config?: DaffMenuConfig) {\n if (!this._overlay) {\n this._overlay = daffMenuCreateOverlay(this.overlay, activatorElement.element);\n if(typeof component === 'object' && (<DaffLazyComponent>component)?.import) {\n component = await (<DaffLazyComponent>component).import();\n }\n\n const injector = Injector.create({\n providers: [{ provide: DAFF_MENU_CONFIG, useValue: config }],\n parent: this.injector,\n });\n\n if(component instanceof Type) {\n this._overlay.attach(new ComponentPortal(<Type<unknown>>component, null, injector));\n } else if (component instanceof TemplateRef) {\n this._overlay.attach(new TemplatePortal(component, activatorElement, null, injector));\n }\n\n this._overlay.backdropClick().pipe(\n map(() => this.close()),\n ).subscribe();\n }\n }\n\n /**\n * @docs-private\n */\n protected _destroyOverlay() {\n if (this._overlay) {\n this._overlay.detach();\n this._overlay.dispose();\n this._overlay = null;\n }\n }\n\n close() {\n this._destroyOverlay();\n this.$_open.next(false);\n this._activator.element.nativeElement.focus();\n }\n\n open(activator: ViewContainerRef, component: DaffMenuSlot, config?: DaffMenuConfig) {\n if (this._overlay) {\n this._destroyOverlay();\n }\n this._createOverlay(activator, component, config);\n this._activator = activator;\n this.$_open.next(true);\n }\n}\n","let daffMenuUniqueId = 0;\n\n/**\n * Generates a unique menu ID for each menu instance.\n */\nexport const daffNextMenuId = (): string =>\n `daff-menu-${daffMenuUniqueId++}`;\n","import {\n ChangeDetectorRef,\n computed,\n Directive,\n input,\n Input,\n OnDestroy,\n signal,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n Subject,\n takeUntil,\n} from 'rxjs';\n\nimport { daffNextMenuId } from '../config/menu-id';\nimport { DaffMenuService } from '../services/menu.service';\n\n/**\n * Directive that triggers the menu to open/close. Applied to the button that activates the menu. The selector doubles as an input for the menu content to display.\n *\n * @example\n * ```html\n * <button [daffMenuActivator]=\"menu\">\n * Open Menu\n * </button>\n * ```\n */\n@Directive({\n selector: '[daffMenuActivator]',\n host: {\n '(click)': 'onClick($event)',\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'ariaExpanded',\n '[attr.aria-controls]': '_open ? menuId() : null',\n },\n exportAs: 'daffMenuActivator',\n})\nexport class DaffMenuActivatorDirective implements OnDestroy {\n\n private _destroyed$ = new Subject<boolean>();\n private _open: boolean;\n private _defaultMenuId = daffNextMenuId();\n readonly isOpen = signal(false);\n\n /**\n * The menu content to display when activated.\n */\n @Input() daffMenuActivator: Type<unknown> | TemplateRef<unknown>;\n\n /**\n * An optional ID for the activator.\n * When set, the menu's ID is derived as `${id}-menu`.\n */\n id = input<string>();\n\n /**\n * The resolved menu ID.\n */\n private menuId = computed(() => {\n const id = this.id();\n return id ? `${id}-menu` : this._defaultMenuId;\n });\n\n /**\n * @docs-private\n */\n get ariaExpanded() {\n return this._open ? 'true' : 'false';\n }\n\n constructor(\n private service: DaffMenuService,\n private viewContainerRef: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n ) {\n this.service.open$.pipe(\n takeUntil(this._destroyed$),\n ).subscribe((val: boolean) => {\n this._open = val;\n this.isOpen.set(this._open);\n this.cdRef.markForCheck();\n });\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy(): void {\n this._destroyed$.next(true);\n this._destroyed$.complete();\n }\n\n /**\n * @docs-private\n */\n focus() {\n this.viewContainerRef.element.nativeElement.focus();\n }\n\n /**\n * @docs-private\n */\n onClick(event: MouseEvent) {\n event.preventDefault();\n this.service.open(this.viewContainerRef, this.daffMenuActivator, { menuId: this.menuId() });\n }\n}\n","import { FocusableOption } from '@angular/cdk/a11y';\n\nimport { createSingletonInjectionToken } from '@daffodil/core';\n\n/**\n * Injection token/provider pair used to identify menu items.\n *\n * `DaffMenuComponent` uses `@ContentChildren(DAFF_MENU_ITEM_TOKEN)` to discover\n * its menu items. Use `provideDaffMenuItemToken` in component providers to register\n * custom directives and components as menu items alongside native `daff-menu-item` elements.\n */\nexport const {\n token: DAFF_MENU_ITEM_TOKEN,\n provider: provideDaffMenuItemToken,\n} = createSingletonInjectionToken<FocusableOption>('DAFF_MENU_ITEM_TOKEN');\n","/* eslint-disable quote-props */\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport {\n Component,\n ChangeDetectionStrategy,\n ContentChild,\n ElementRef,\n} from '@angular/core';\n\nimport { DaffPrefixDirective } from '@daffodil/design';\n\nimport { provideDaffMenuItemToken } from './menu-item.token';\nimport { DaffMenuService } from '../services/menu.service';\n\n/**\n * Individual clickable items within the menu. Applied to `<button>` or `<a>` elements.\n *\n * @example\n * ```\n * <a daff-menu-item href=\"/\">Settings</a>\n * <button daff-menu-item href=\"/\">Settings</button>\n * ```\n */\n@Component({\n selector:\n 'a[daff-menu-item]' + ',' +\n 'button[daff-menu-item]',\n templateUrl: './menu-item.component.html',\n host: {\n 'class': 'daff-menu-item',\n 'role': 'menuitem',\n '(click)': 'onClick()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [provideDaffMenuItemToken(DaffMenuItemComponent)],\n})\n\nexport class DaffMenuItemComponent implements FocusableOption {\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _menuService: DaffMenuService,\n ) {}\n\n /**\n * @docs-private\n */\n onClick() {\n this._menuService.close();\n }\n\n /**\n * Focus the menu item.\n */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<ng-content></ng-content>","/* eslint-disable quote-props */\nimport {\n ConfigurableFocusTrapFactory,\n ConfigurableFocusTrap,\n FocusKeyManager,\n FocusableOption,\n} from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n QueryList,\n ContentChildren,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {\n DAFF_MENU_CONFIG,\n DaffMenuConfig,\n} from '../config/menu-config';\nimport { DaffMenuItemComponent } from '../menu-item/menu-item.component';\nimport { DAFF_MENU_ITEM_TOKEN } from '../menu-item/menu-item.token';\nimport { DaffMenuService } from '../services/menu.service';\n\n/**\n * The floating panel that contains menu items.\n *\n * @example\n * ```html\n * <daff-menu>\n * <button daff-menu-item>\n * <fa-icon [icon]=\"faEdit\" daffPrefix></fa-icon>\n * Edit\n * </button>\n * <button daff-menu-item>\n * <fa-icon [icon]=\"faTrash\" daffPrefix></fa-icon>\n * Delete\n * </button>\n * <a href=\"/settings\" daff-menu-item>\n * <fa-icon [icon]=\"faCog\" daffPrefix></fa-icon>\n * Settings\n * </a>\n * </daff-menu>\n * ```\n */\n@Component({\n selector: 'daff-menu',\n templateUrl: './menu.component.html',\n styleUrl: './menu.component.scss',\n encapsulation: ViewEncapsulation.None, // Required to allow breadcrumb items to take on `.daff-menu-item` styles\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'daff-menu',\n 'tabindex': '0',\n 'role': 'menu',\n '[id]': 'config.menuId',\n '(keydown)': 'handleKeydown($event)',\n },\n imports: [\n DaffMenuItemComponent,\n ],\n})\nexport class DaffMenuComponent implements AfterContentInit, AfterViewInit {\n private _focusTrap: ConfigurableFocusTrap;\n private _keyManager: FocusKeyManager<unknown>; // Matches any component or directive that provides `DAFF_MENU_ITEM_TOKEN`, not just `DaffMenuItemComponent`.\n\n /**\n * @docs-private\n *\n * Content children that provide `DAFF_MENU_ITEM_TOKEN` are treated as menu items.\n * This includes both `daff-menu-item` components and any custom directives that also provide the token.\n */\n @ContentChildren(DAFF_MENU_ITEM_TOKEN) private _items: QueryList<FocusableOption>;\n\n constructor(\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _elementRef: ElementRef<HTMLElement>,\n private menuService: DaffMenuService,\n\n /**\n * @docs-private\n */\n @Inject(DAFF_MENU_CONFIG) public readonly config: DaffMenuConfig,\n ) {}\n\n /**\n * @docs-private\n *\n * Handle keyboard navigation\n */\n handleKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n this.menuService.close();\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'Home':\n case 'End':\n event.preventDefault();\n this._keyManager.onKeydown(event);\n break;\n }\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n\n this._keyManager = new FocusKeyManager(this._items)\n .withWrap()\n .withHomeAndEnd();\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n // Set focus to the first menu item when menu opens\n if (this._items.length > 0) {\n this._keyManager.setFirstItemActive();\n this._keyManager.setActiveItem(0);\n }\n }\n}\n","<ng-content></ng-content>","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffPrefixDirective } from '@daffodil/design';\n\nimport { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\nimport { DaffMenuService } from './services/menu.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MENU_COMPONENTS} Deprecated in version 0.92.0. Will be removed in version 0.95.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n DaffPrefixDirective,\n ],\n exports: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n DaffPrefixDirective,\n ],\n providers: [\n DaffMenuService,\n ],\n})\n\nexport class DaffMenuModule {}\n","import { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_MENU_COMPONENTS = <const> [\n DaffMenuComponent,\n DaffMenuActivatorDirective,\n DaffMenuItemComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMenuService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-design-menu.mjs","sources":["../../../libs/design/menu/src/config/menu-config.ts","../../../libs/design/menu/src/helpers/create-overlay.ts","../../../libs/design/menu/src/services/menu.service.ts","../../../libs/design/menu/src/config/menu-id.ts","../../../libs/design/menu/src/menu-activator/menu-activator.component.ts","../../../libs/design/menu/src/menu-item/menu-item.token.ts","../../../libs/design/menu/src/menu-item/menu-item.component.ts","../../../libs/design/menu/src/menu-item/menu-item.component.html","../../../libs/design/menu/src/menu/menu.component.ts","../../../libs/design/menu/src/menu/menu.component.html","../../../libs/design/menu/src/menu.module.ts","../../../libs/design/menu/src/menu.ts","../../../libs/design/menu/src/daffodil-design-menu.ts"],"sourcesContent":["import { createConfigInjectionToken } from '@daffodil/core';\n\n/**\n * Configuration for a menu instance.\n */\nexport interface DaffMenuConfig {\n /**\n * A unique identifier for the menu instance.\n */\n menuId?: string;\n}\n\nconst daffMenuConfigDefault: DaffMenuConfig = {\n menuId: '',\n};\n\nexport const {\n /**\n * An injection token for the menu configuration.\n */\n token: DAFF_MENU_CONFIG,\n /**\n * Provider function for {@link DAFF_MENU_CONFIG}.\n */\n provider: provideDaffMenuConfig,\n} = createConfigInjectionToken<DaffMenuConfig>(daffMenuConfigDefault, 'DAFF_MENU_CONFIG');\n","import {\n Overlay,\n OverlayConfig,\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nexport function daffMenuCreateOverlay(overlay: Overlay, element: ElementRef, config: OverlayConfig = {}) {\n return overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n positionStrategy: overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]),\n ...config,\n });\n};\n","import {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n Injectable,\n Injector,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n BehaviorSubject,\n map,\n Observable,\n} from 'rxjs';\n\nimport { DaffLazyComponent } from '@daffodil/design';\n\nimport {\n DAFF_MENU_CONFIG,\n DaffMenuConfig,\n} from '../config/menu-config';\nimport { daffMenuCreateOverlay } from '../helpers/create-overlay';\n\nexport type DaffMenuSlot = TemplateRef<unknown> | DaffLazyComponent | Type<unknown>;\n\n@Injectable()\nexport class DaffMenuService {\n protected _overlay: OverlayRef | null;\n private _activator: ViewContainerRef;\n\n private $_open: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public open$: Observable<boolean> = this.$_open.asObservable();\n\n constructor(\n protected overlay: Overlay,\n private injector: Injector,\n ) {}\n\n /**\n * @docs-private\n */\n protected async _createOverlay(activatorElement: ViewContainerRef, component: DaffMenuSlot, config?: DaffMenuConfig) {\n if (!this._overlay) {\n this._overlay = daffMenuCreateOverlay(this.overlay, activatorElement.element);\n if(typeof component === 'object' && (<DaffLazyComponent>component)?.import) {\n component = await (<DaffLazyComponent>component).import();\n }\n\n const injector = Injector.create({\n providers: [{ provide: DAFF_MENU_CONFIG, useValue: config }],\n parent: this.injector,\n });\n\n if(component instanceof Type) {\n this._overlay.attach(new ComponentPortal(<Type<unknown>>component, null, injector));\n } else if (component instanceof TemplateRef) {\n this._overlay.attach(new TemplatePortal(component, activatorElement, null, injector));\n }\n\n this._overlay.backdropClick().pipe(\n map(() => this.close()),\n ).subscribe();\n }\n }\n\n /**\n * @docs-private\n */\n protected _destroyOverlay() {\n if (this._overlay) {\n this._overlay.detach();\n this._overlay.dispose();\n this._overlay = null;\n }\n }\n\n close() {\n this._destroyOverlay();\n this.$_open.next(false);\n this._activator.element.nativeElement.focus();\n }\n\n open(activator: ViewContainerRef, component: DaffMenuSlot, config?: DaffMenuConfig) {\n if (this._overlay) {\n this._destroyOverlay();\n }\n this._createOverlay(activator, component, config);\n this._activator = activator;\n this.$_open.next(true);\n }\n}\n","let daffMenuUniqueId = 0;\n\n/**\n * Generates a unique menu ID for each menu instance.\n */\nexport const daffNextMenuId = (): string =>\n `daff-menu-${daffMenuUniqueId++}`;\n","import {\n ChangeDetectorRef,\n computed,\n Directive,\n input,\n Input,\n OnDestroy,\n signal,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n Subject,\n takeUntil,\n} from 'rxjs';\n\nimport { daffNextMenuId } from '../config/menu-id';\nimport { DaffMenuService } from '../services/menu.service';\n\n/**\n * Directive that triggers the menu to open/close. Applied to the button that activates the menu. The selector doubles as an input for the menu content to display.\n *\n * @example\n * ```html\n * <button [daffMenuActivator]=\"menu\">\n * Open Menu\n * </button>\n * ```\n */\n@Directive({\n selector: '[daffMenuActivator]',\n host: {\n '(click)': 'onClick($event)',\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'ariaExpanded',\n '[attr.aria-controls]': '_open ? menuId() : null',\n },\n exportAs: 'daffMenuActivator',\n})\nexport class DaffMenuActivatorDirective implements OnDestroy {\n\n private _destroyed$ = new Subject<boolean>();\n private _defaultMenuId = daffNextMenuId();\n protected _open: boolean;\n readonly isOpen = signal(false);\n\n /**\n * The menu content to display when activated.\n */\n @Input() daffMenuActivator: Type<unknown> | TemplateRef<unknown>;\n\n /**\n * An optional ID for the activator.\n * When set, the menu's ID is derived as `${id}-menu`.\n */\n id = input<string>();\n\n /**\n * The resolved menu ID.\n */\n protected menuId = computed(() => {\n const id = this.id();\n return id ? `${id}-menu` : this._defaultMenuId;\n });\n\n /**\n * @docs-private\n */\n get ariaExpanded() {\n return this._open ? 'true' : 'false';\n }\n\n constructor(\n private service: DaffMenuService,\n private viewContainerRef: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n ) {\n this.service.open$.pipe(\n takeUntil(this._destroyed$),\n ).subscribe((val: boolean) => {\n this._open = val;\n this.isOpen.set(this._open);\n this.cdRef.markForCheck();\n });\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy(): void {\n this._destroyed$.next(true);\n this._destroyed$.complete();\n }\n\n /**\n * @docs-private\n */\n focus() {\n this.viewContainerRef.element.nativeElement.focus();\n }\n\n /**\n * @docs-private\n */\n onClick(event: MouseEvent) {\n event.preventDefault();\n this.service.open(this.viewContainerRef, this.daffMenuActivator, { menuId: this.menuId() });\n }\n}\n","import { FocusableOption } from '@angular/cdk/a11y';\n\nimport { createSingletonInjectionToken } from '@daffodil/core';\n\n/**\n * Injection token/provider pair used to identify menu items.\n *\n * `DaffMenuComponent` uses `@ContentChildren(DAFF_MENU_ITEM_TOKEN)` to discover\n * its menu items. Use `provideDaffMenuItemToken` in component providers to register\n * custom directives and components as menu items alongside native `daff-menu-item` elements.\n */\nexport const {\n token: DAFF_MENU_ITEM_TOKEN,\n provider: provideDaffMenuItemToken,\n} = createSingletonInjectionToken<FocusableOption>('DAFF_MENU_ITEM_TOKEN');\n","/* eslint-disable quote-props */\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport {\n Component,\n ChangeDetectionStrategy,\n ContentChild,\n ElementRef,\n} from '@angular/core';\n\nimport { DaffPrefixDirective } from '@daffodil/design';\n\nimport { provideDaffMenuItemToken } from './menu-item.token';\nimport { DaffMenuService } from '../services/menu.service';\n\n/**\n * Individual clickable items within the menu. Applied to `<button>` or `<a>` elements.\n *\n * @example\n * ```\n * <a daff-menu-item href=\"/\">Settings</a>\n * <button daff-menu-item href=\"/\">Settings</button>\n * ```\n */\n@Component({\n selector:\n 'a[daff-menu-item]' + ',' +\n 'button[daff-menu-item]',\n templateUrl: './menu-item.component.html',\n host: {\n 'class': 'daff-menu-item',\n 'role': 'menuitem',\n '(click)': 'onClick()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [provideDaffMenuItemToken(DaffMenuItemComponent)],\n})\n\nexport class DaffMenuItemComponent implements FocusableOption {\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _menuService: DaffMenuService,\n ) {}\n\n /**\n * @docs-private\n */\n onClick() {\n this._menuService.close();\n }\n\n /**\n * Focus the menu item.\n */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<ng-content></ng-content>","/* eslint-disable quote-props */\nimport {\n ConfigurableFocusTrapFactory,\n ConfigurableFocusTrap,\n FocusKeyManager,\n FocusableOption,\n} from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n QueryList,\n ContentChildren,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {\n DAFF_MENU_CONFIG,\n DaffMenuConfig,\n} from '../config/menu-config';\nimport { DaffMenuItemComponent } from '../menu-item/menu-item.component';\nimport { DAFF_MENU_ITEM_TOKEN } from '../menu-item/menu-item.token';\nimport { DaffMenuService } from '../services/menu.service';\n\n/**\n * The floating panel that contains menu items.\n *\n * @example\n * ```html\n * <daff-menu>\n * <button daff-menu-item>\n * <fa-icon [icon]=\"faEdit\" daffPrefix></fa-icon>\n * Edit\n * </button>\n * <button daff-menu-item>\n * <fa-icon [icon]=\"faTrash\" daffPrefix></fa-icon>\n * Delete\n * </button>\n * <a href=\"/settings\" daff-menu-item>\n * <fa-icon [icon]=\"faCog\" daffPrefix></fa-icon>\n * Settings\n * </a>\n * </daff-menu>\n * ```\n */\n@Component({\n selector: 'daff-menu',\n templateUrl: './menu.component.html',\n styleUrl: './menu.component.scss',\n encapsulation: ViewEncapsulation.None, // Required to allow breadcrumb items to take on `.daff-menu-item` styles\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'daff-menu',\n 'tabindex': '0',\n 'role': 'menu',\n '[id]': 'config.menuId',\n '(keydown)': 'handleKeydown($event)',\n },\n imports: [\n DaffMenuItemComponent,\n ],\n})\nexport class DaffMenuComponent implements AfterContentInit, AfterViewInit {\n private _focusTrap: ConfigurableFocusTrap;\n private _keyManager: FocusKeyManager<unknown>;\n /**\n * @docs-private\n *\n * Content children that provide `DAFF_MENU_ITEM_TOKEN` are treated as menu items.\n * This includes both `daff-menu-item` components and any custom directives that also provide the token.\n */\n @ContentChildren(DAFF_MENU_ITEM_TOKEN) private _items: QueryList<FocusableOption>;\n\n constructor(\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _elementRef: ElementRef<HTMLElement>,\n private menuService: DaffMenuService,\n\n /**\n * @docs-private\n */\n @Inject(DAFF_MENU_CONFIG) public readonly config: DaffMenuConfig,\n ) {}\n\n /**\n * @docs-private\n *\n * Handles keyboard navigation.\n */\n handleKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n this.menuService.close();\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'Home':\n case 'End':\n event.preventDefault();\n this._keyManager.onKeydown(event);\n break;\n }\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n\n this._keyManager = new FocusKeyManager(this._items)\n .withWrap()\n .withHomeAndEnd();\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n // Set focus to the first menu item when menu opens\n if (this._items.length > 0) {\n this._keyManager.setFirstItemActive();\n this._keyManager.setActiveItem(0);\n }\n }\n}\n","<ng-content></ng-content>","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffPrefixDirective } from '@daffodil/design';\n\nimport { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\nimport { DaffMenuService } from './services/menu.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MENU_COMPONENTS} Deprecated in version 0.92.0. Will be removed in version 0.95.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n DaffPrefixDirective,\n ],\n exports: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n DaffPrefixDirective,\n ],\n providers: [\n DaffMenuService,\n ],\n})\n\nexport class DaffMenuModule {}\n","import { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_MENU_COMPONENTS = <const> [\n DaffMenuComponent,\n DaffMenuActivatorDirective,\n DaffMenuItemComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMenuService"],"mappings":"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"}
|
|
@@ -96,10 +96,10 @@ class DaffModalService {
|
|
|
96
96
|
component.closedAnimationCompleted$.pipe(take(1)).subscribe(() => this._removeModal(modal));
|
|
97
97
|
component.hide();
|
|
98
98
|
}
|
|
99
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
100
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
99
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
100
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalService }); }
|
|
101
101
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalService, decorators: [{
|
|
103
103
|
type: Injectable
|
|
104
104
|
}], ctorParameters: () => [{ type: i1.Overlay }] });
|
|
105
105
|
|
|
@@ -129,7 +129,10 @@ class DaffModalComponent {
|
|
|
129
129
|
this.openDirective = openDirective;
|
|
130
130
|
this._focusStack = _focusStack;
|
|
131
131
|
this.changeDetector = changeDetector;
|
|
132
|
-
|
|
132
|
+
/**
|
|
133
|
+
* @docs-private
|
|
134
|
+
*/
|
|
135
|
+
this.closing = signal(false, ...(ngDevMode ? [{ debugName: "closing" }] : /* istanbul ignore next */ []));
|
|
133
136
|
this._ariaLabelledBy = null;
|
|
134
137
|
/**
|
|
135
138
|
* Private subject for closed animation completion events.
|
|
@@ -215,10 +218,10 @@ class DaffModalComponent {
|
|
|
215
218
|
ngOnDestroy() {
|
|
216
219
|
this._closedAnimationCompleted.complete();
|
|
217
220
|
}
|
|
218
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
219
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
221
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalComponent, deps: [{ token: DaffModalService }, { token: i2.ConfigurableFocusTrapFactory }, { token: i0.ElementRef }, { token: i3.DaffOpenableDirective }, { token: i3.DaffFocusStackService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
222
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: DaffModalComponent, isStandalone: true, selector: "daff-modal", host: { attributes: { "role": "dialog", "aria-modal": "true" }, listeners: { "keydown.escape": "onEscape()" }, properties: { "attr.aria-labelledby": "ariaLabelledBy", "animate.enter": "\"opening\"", "class.closing": "closing()" }, classAttribute: "daff-modal" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], hostDirectives: [{ directive: i3.DaffOpenableDirective, outputs: ["toggled", "toggled"] }], ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius:.25rem;max-height:90vh;max-width:90vw;overflow:hidden;z-index:3}.daff-modal.opening{animation:opening .3s}@keyframes opening{0%{opacity:0}to{opacity:1}}.daff-modal.closing{opacity:0;animation:closing .3s}@keyframes closing{0%{opacity:1}to{opacity:0}}@media screen and (prefers-reduced-motion:reduce){.daff-modal.opening,.daff-modal.closing{animation:none}}@media(min-width:480px){.daff-modal{max-height:80vh;max-width:80vw}}.daff-modal>*{display:inherit;flex-direction:inherit;justify-content:inherit;border-radius:inherit;max-height:inherit;max-width:inherit;overflow:inherit;z-index:inherit}@media(min-width:480px){.daff-modal>*{max-height:inherit;max-width:inherit}}.daff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;position:relative}.daff-modal-header .daff-modal-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1.5rem;margin:0;padding:0 2rem 0 0}.daff-modal-header__dismiss-button{position:absolute;right:7px;top:12px}.daff-modal-content{display:block;flex-grow:1;max-height:60vh;overflow-y:auto;padding:1.5rem}.daff-modal-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1.5rem}.daff-modal-content+.daff-modal-actions{padding:0 1.5rem 1.5rem}.daff-modal-header+.daff-modal-content{padding-top:0}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
220
223
|
}
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalComponent, decorators: [{
|
|
222
225
|
type: Component,
|
|
223
226
|
args: [{ selector: 'daff-modal', hostDirectives: [{
|
|
224
227
|
directive: DaffOpenableDirective,
|
|
@@ -234,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
234
237
|
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
235
238
|
PortalModule,
|
|
236
239
|
OverlayModule,
|
|
237
|
-
], template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius:.25rem;max-height:90vh;max-width:90vw;overflow:hidden;z-index:3}.daff-modal.opening{animation:opening .3s}@keyframes opening{0%{opacity:0}to{opacity:1}}.daff-modal.closing{opacity:0;animation:closing .3s}@keyframes closing{0%{opacity:1}to{opacity:0}}@media(min-width:480px){.daff-modal{max-height:80vh;max-width:80vw}}.daff-modal>*{display:inherit;flex-direction:inherit;justify-content:inherit;border-radius:inherit;max-height:inherit;max-width:inherit;overflow:inherit;z-index:inherit}@media(min-width:480px){.daff-modal>*{max-height:inherit;max-width:inherit}}.daff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;position:relative}.daff-modal-header .daff-modal-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1.5rem;margin:0;padding:0 2rem 0 0}.daff-modal-header__dismiss-button{position:absolute;right:7px;top:12px}.daff-modal-content{display:block;flex-grow:1;max-height:60vh;overflow-y:auto;padding:1.5rem}.daff-modal-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1.5rem}.daff-modal-content+.daff-modal-actions{padding:0 1.5rem 1.5rem}.daff-modal-header+.daff-modal-content{padding-top:0}\n"] }]
|
|
240
|
+
], template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius:.25rem;max-height:90vh;max-width:90vw;overflow:hidden;z-index:3}.daff-modal.opening{animation:opening .3s}@keyframes opening{0%{opacity:0}to{opacity:1}}.daff-modal.closing{opacity:0;animation:closing .3s}@keyframes closing{0%{opacity:1}to{opacity:0}}@media screen and (prefers-reduced-motion:reduce){.daff-modal.opening,.daff-modal.closing{animation:none}}@media(min-width:480px){.daff-modal{max-height:80vh;max-width:80vw}}.daff-modal>*{display:inherit;flex-direction:inherit;justify-content:inherit;border-radius:inherit;max-height:inherit;max-width:inherit;overflow:inherit;z-index:inherit}@media(min-width:480px){.daff-modal>*{max-height:inherit;max-width:inherit}}.daff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;position:relative}.daff-modal-header .daff-modal-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1.5rem;margin:0;padding:0 2rem 0 0}.daff-modal-header__dismiss-button{position:absolute;right:7px;top:12px}.daff-modal-content{display:block;flex-grow:1;max-height:60vh;overflow-y:auto;padding:1.5rem}.daff-modal-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1.5rem}.daff-modal-content+.daff-modal-actions{padding:0 1.5rem 1.5rem}.daff-modal-header+.daff-modal-content{padding-top:0}\n"] }]
|
|
238
241
|
}], ctorParameters: () => [{ type: DaffModalService }, { type: i2.ConfigurableFocusTrapFactory }, { type: i0.ElementRef }, { type: i3.DaffOpenableDirective }, { type: i3.DaffFocusStackService }, { type: i0.ChangeDetectorRef }], propDecorators: { _portalOutlet: [{
|
|
239
242
|
type: ViewChild,
|
|
240
243
|
args: [CdkPortalOutlet, { static: true }]
|
|
@@ -242,10 +245,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
242
245
|
|
|
243
246
|
/* eslint-disable quote-props */
|
|
244
247
|
class DaffModalActionsComponent {
|
|
245
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
246
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
248
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
249
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: DaffModalActionsComponent, isStandalone: true, selector: "daff-modal-actions", host: { classAttribute: "daff-modal-actions" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
247
250
|
}
|
|
248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalActionsComponent, decorators: [{
|
|
249
252
|
type: Component,
|
|
250
253
|
args: [{
|
|
251
254
|
selector: 'daff-modal-actions',
|
|
@@ -277,10 +280,10 @@ class DaffModalCloseDirective {
|
|
|
277
280
|
this.modalService.close(this.modal);
|
|
278
281
|
}
|
|
279
282
|
}
|
|
280
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
281
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
283
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalCloseDirective, deps: [{ token: DaffModalService }, { token: DaffModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
284
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: DaffModalCloseDirective, isStandalone: true, selector: "button[daffModalClose]", host: { attributes: { "type": "button" }, listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
282
285
|
}
|
|
283
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalCloseDirective, decorators: [{
|
|
284
287
|
type: Directive,
|
|
285
288
|
args: [{
|
|
286
289
|
selector: 'button[daffModalClose]',
|
|
@@ -295,10 +298,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
295
298
|
|
|
296
299
|
/* eslint-disable quote-props */
|
|
297
300
|
class DaffModalContentComponent {
|
|
298
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
299
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
301
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
302
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: DaffModalContentComponent, isStandalone: true, selector: "daff-modal-content", host: { classAttribute: "daff-modal-content" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
300
303
|
}
|
|
301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalContentComponent, decorators: [{
|
|
302
305
|
type: Component,
|
|
303
306
|
args: [{
|
|
304
307
|
selector: 'daff-modal-content',
|
|
@@ -319,10 +322,10 @@ class DaffModalHeaderComponent {
|
|
|
319
322
|
*/
|
|
320
323
|
this.dismissible = true;
|
|
321
324
|
}
|
|
322
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
323
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
325
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
326
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DaffModalHeaderComponent, isStandalone: true, selector: "daff-modal-header", inputs: { dismissible: "dismissible" }, host: { classAttribute: "daff-modal-header" }, ngImport: i0, template: "<ng-content select=\"[daffModalTitle]\"></ng-content>\n@if (dismissible) {\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n}", dependencies: [{ kind: "component", type: DaffIconButtonComponent, selector: "button[daff-icon-button],a[daff-icon-button]" }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "directive", type: DaffModalCloseDirective, selector: "button[daffModalClose]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
324
327
|
}
|
|
325
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
328
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalHeaderComponent, decorators: [{
|
|
326
329
|
type: Component,
|
|
327
330
|
args: [{ selector: 'daff-modal-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
328
331
|
'class': 'daff-modal-header',
|
|
@@ -342,6 +345,9 @@ let modalTitleId = 0;
|
|
|
342
345
|
class DaffModalTitleDirective {
|
|
343
346
|
constructor(modal) {
|
|
344
347
|
this.modal = modal;
|
|
348
|
+
/**
|
|
349
|
+
* @docs-private
|
|
350
|
+
*/
|
|
345
351
|
this._id = '';
|
|
346
352
|
modalTitleId++;
|
|
347
353
|
this._id = 'daff-modal-title-' + modalTitleId;
|
|
@@ -352,10 +358,10 @@ class DaffModalTitleDirective {
|
|
|
352
358
|
this.modal.ariaLabelledBy = this._id;
|
|
353
359
|
}
|
|
354
360
|
}
|
|
355
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
356
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
361
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalTitleDirective, deps: [{ token: DaffModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
362
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: DaffModalTitleDirective, isStandalone: true, selector: "[daffModalTitle]", host: { properties: { "attr.id": "_id" }, classAttribute: "daff-modal-title" }, ngImport: i0 }); }
|
|
357
363
|
}
|
|
358
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalTitleDirective, decorators: [{
|
|
359
365
|
type: Directive,
|
|
360
366
|
args: [{
|
|
361
367
|
selector: '[daffModalTitle]',
|
|
@@ -372,8 +378,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
372
378
|
* @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.
|
|
373
379
|
*/
|
|
374
380
|
class DaffModalModule {
|
|
375
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
376
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
381
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
382
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: DaffModalModule, imports: [CommonModule,
|
|
377
383
|
PortalModule,
|
|
378
384
|
OverlayModule,
|
|
379
385
|
DaffButtonModule,
|
|
@@ -389,7 +395,7 @@ class DaffModalModule {
|
|
|
389
395
|
DaffModalContentComponent,
|
|
390
396
|
DaffModalActionsComponent,
|
|
391
397
|
DaffModalCloseDirective] }); }
|
|
392
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
398
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalModule, providers: [
|
|
393
399
|
DaffModalService,
|
|
394
400
|
], imports: [CommonModule,
|
|
395
401
|
PortalModule,
|
|
@@ -399,7 +405,7 @@ class DaffModalModule {
|
|
|
399
405
|
DaffModalComponent,
|
|
400
406
|
DaffModalHeaderComponent] }); }
|
|
401
407
|
}
|
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffModalModule, decorators: [{
|
|
403
409
|
type: NgModule,
|
|
404
410
|
args: [{
|
|
405
411
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-design-modal.mjs","sources":["../../../libs/design/modal/src/service/modal.service.ts","../../../libs/design/modal/src/modal/modal.component.ts","../../../libs/design/modal/src/modal/modal.component.html","../../../libs/design/modal/src/modal-actions/modal-actions.component.ts","../../../libs/design/modal/src/modal-close/modal-close.directive.ts","../../../libs/design/modal/src/modal-content/modal-content.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.html","../../../libs/design/modal/src/modal-title/modal-title.directive.ts","../../../libs/design/modal/src/modal.module.ts","../../../libs/design/modal/src/modal.ts","../../../libs/design/modal/src/daffodil-design-modal.ts"],"sourcesContent":["import {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n PositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n Injector,\n} from '@angular/core';\nimport { take } from 'rxjs/operators';\n\nimport { DaffModal } from '../modal/interfaces/modal';\nimport { DaffModalRef } from '../modal/interfaces/modal-ref';\nimport {\n DaffModalConfiguration,\n DaffModalPosition,\n} from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable()\nexport class DaffModalService {\n private _modals: Map<DaffModalComponent, DaffModal> = new Map();\n\n constructor(private overlay: Overlay) { }\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n const modal = overlayRef.attach(\n new ComponentPortal(\n DaffModalComponent,\n undefined,\n Injector.create({\n providers: [{\n provide: DaffModalService,\n useValue: this,\n }],\n }),\n ),\n );\n modal.instance.reveal();\n return modal;\n }\n\n private _attachModalContent<T>(\n component: Type<T>,\n modal: ComponentRef<DaffModalComponent>,\n ): ComponentRef<T> {\n return modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createPositionStrategy(position?: DaffModalPosition): PositionStrategy {\n // Horizontal position is always center\n const strategy = new GlobalPositionStrategy().centerHorizontally();\n\n // Handle vertical positioning\n if (position?.vertical === 'top') {\n strategy.top(position.offsetTop ?? '15vh');\n } else {\n // Default to center\n strategy.centerVertically();\n }\n\n return strategy;\n }\n\n private _createOverlayRef(config?: Partial<DaffModalConfiguration>): OverlayRef {\n const positionStrategy = this._createPositionStrategy(config?.position);\n\n return this.overlay.create({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n });\n }\n\n private _removeModal(modal: DaffModal) {\n if (!this._modals.has(modal.modal.instance)) {\n throw new Error(\n 'The Modal that you are trying to remove does not exist.',\n );\n }\n\n this._modals.delete(modal.modal.instance);\n\n modal.overlay.dispose();\n }\n\n private _closeAllModals(): void {\n const modals = Array.from(this._modals.values());\n modals.forEach((modal) => this.close(modal.modal.instance));\n }\n\n open<T>(\n component: Type<T>,\n configuration?: Partial<DaffModalConfiguration>,\n ): DaffModalRef<T> {\n this._closeAllModals();\n const config = { ...this.defaultConfiguration, ...configuration };\n const _ref = this._createOverlayRef(config);\n const _modal = this._attachModal(_ref);\n const _contentRef = this._attachModalContent(component, _modal);\n\n if (configuration?.ariaLabelledBy) {\n _modal.instance.ariaLabelledBy = configuration.ariaLabelledBy;\n }\n\n const modal: DaffModal = {\n modal: _modal,\n overlay: _ref,\n };\n\n this._modals.set(modal.modal.instance, modal);\n\n _ref\n .backdropClick()\n .subscribe(() =>\n config.onBackdropClicked\n ? config.onBackdropClicked()\n : this.close(modal.modal.instance),\n );\n\n return {\n instance: _contentRef.instance,\n close: () => this.close(modal.modal.instance),\n afterClosed: modal.modal.instance.closedAnimationCompleted$,\n };\n }\n\n close(component: DaffModalComponent): void {\n const modal = this._modals.get(component);\n\n modal.overlay.detachBackdrop();\n component.closedAnimationCompleted$.pipe(\n take(1),\n ).subscribe(\n () => this._removeModal(modal),\n );\n\n component.hide();\n\n }\n}\n","/* eslint-disable quote-props */\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n PortalModule,\n} from '@angular/cdk/portal';\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewChild,\n ElementRef,\n AfterContentInit,\n AfterViewInit,\n ViewEncapsulation,\n ChangeDetectorRef,\n OnDestroy,\n signal,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport {\n DaffOpenable,\n DaffOpenableDirective,\n DaffFocusStackService,\n daffFocusableElementsSelector,\n} from '@daffodil/design';\n\nimport { DaffModalService } from '../service/modal.service';\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n hostDirectives: [{\n directive: DaffOpenableDirective,\n outputs: ['toggled'],\n }],\n host: {\n 'class': 'daff-modal',\n 'role': 'dialog',\n 'aria-modal': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '(keydown.escape)': 'onEscape()',\n '[animate.enter]': '\"opening\"',\n '[class.closing]': 'closing()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n PortalModule,\n OverlayModule,\n ],\n})\nexport class DaffModalComponent implements AfterContentInit, AfterViewInit, OnDestroy, DaffOpenable {\n private closing = signal(false);\n\n private _ariaLabelledBy = null;\n\n /**\n * @docs-private\n *\n * By default, the `aria-labelledby` of the modal is set to the `id` of the modal title.\n */\n get ariaLabelledBy() {\n return this._ariaLabelledBy;\n } set ariaLabelledBy(value: string) {\n this._ariaLabelledBy = value;\n }\n\n /**\n * @docs-private\n *\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Private subject for closed animation completion events.\n */\n private _closedAnimationCompleted = new Subject<boolean>();\n\n /**\n * Observable that emits when the close animation is completed.\n */\n readonly closedAnimationCompleted$ = this._closedAnimationCompleted.asObservable().pipe(delay(300));\n\n /**\n * @docs-private\n */\n onEscape() {\n this.modalService.close(this);\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private modalService: DaffModalService,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private elementRef: ElementRef<HTMLElement>,\n private openDirective: DaffOpenableDirective,\n private _focusStack: DaffFocusStackService,\n private changeDetector: ChangeDetectorRef,\n ) {\n this.openDirective.stateless = false;\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this.elementRef.nativeElement,\n );\n this._focusStack.push();\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this.elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if (focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the modal to be focused, we manually set the tabindex.\n this.elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this.elementRef.nativeElement).focus();\n }\n }\n\n /**\n * @docs-private\n *\n * Helper method to attach portable content to modal.\n */\n attachContent(portal: ComponentPortal<any>): any {\n const attachContent = this._portalOutlet.attachComponentPortal(portal);\n\n return attachContent;\n }\n\n /**\n * Tracks the open state of the modal.\n */\n get open() {\n return this.openDirective.open;\n }\n\n /**\n * @docs-private\n *\n * Reveals the modal.\n */\n reveal() {\n this.openDirective.reveal();\n this.changeDetector.markForCheck();\n }\n\n /**\n * @docs-private\n *\n * Hides the modal.\n */\n hide() {\n this.openDirective.hide();\n this.closing.set(true);\n this._closedAnimationCompleted.next(true);\n this._focusTrap?.destroy();\n this._focusStack.pop();\n\n this.changeDetector.markForCheck();\n }\n\n /**\n * @docs-private\n *\n * Toggles the visibility of the modal.\n */\n toggle() {\n this.openDirective.toggle();\n this.changeDetector.markForCheck();\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy() {\n this._closedAnimationCompleted.complete();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","/* eslint-disable quote-props */\nimport {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-modal-actions',\n },\n})\nexport class DaffModalActionsComponent {}\n","/* eslint-disable quote-props */\nimport {\n Directive,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\nimport { DaffModalService } from '../service/modal.service';\n\n/**\n * The DaffModalCloseDirective is a helper directive that passes a click\n * event to the button it's used with to close a modal. It needs to be\n * implemented with the `<button>` HTML element to work. This helps to\n * reduce code duplication.\n */\n@Directive({\n selector: 'button[daffModalClose]',\n host: {\n 'type': 'button',\n '(click)': 'onClick($event)',\n },\n})\n\nexport class DaffModalCloseDirective {\n constructor(\n private modalService: DaffModalService,\n @Optional() private modal: DaffModalComponent,\n ) {}\n\n /**\n * @docs-private\n */\n onClick(event: MouseEvent) {\n if(this.modal) {\n this.modalService.close(this.modal);\n }\n }\n}\n","/* eslint-disable quote-props */\nimport {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-modal-content',\n },\n})\nexport class DaffModalContentComponent {}\n","/* eslint-disable quote-props */\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffIconButtonComponent } from '@daffodil/design/button';\n\nimport { DaffModalCloseDirective } from '../modal-close/modal-close.directive';\n\n@Component({\n selector: 'daff-modal-header',\n templateUrl: './modal-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-modal-header',\n },\n imports: [\n DaffIconButtonComponent,\n FaIconComponent,\n DaffModalCloseDirective,\n ],\n})\nexport class DaffModalHeaderComponent {\n faXmark = faXmark;\n\n /**\n * Whether or not a modal is dismissible.\n */\n @Input() dismissible = true;\n}\n","<ng-content select=\"[daffModalTitle]\"></ng-content>\n@if (dismissible) {\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n}","import {\n Directive,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\n\nlet modalTitleId = 0;\n\n/**\n * Title of a modal.\n */\n@Directive({\n selector: '[daffModalTitle]',\n host: {\n class: 'daff-modal-title',\n '[attr.id]': '_id',\n },\n})\n\nexport class DaffModalTitleDirective {\n private _id = '';\n\n constructor(@Optional() private modal: DaffModalComponent) {\n modalTitleId++;\n\n this._id = 'daff-modal-title-' + modalTitleId;\n\n /**\n * Sets the ariaLabelledBy of the modal to the id of the modal title.\n */\n if(this.modal) {\n this.modal.ariaLabelledBy = this._id;\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffModalComponent } from './modal/modal.component';\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalService } from './service/modal.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n DaffButtonModule,\n FontAwesomeModule,\n\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n exports: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class DaffModalModule { }\n","import { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_MODAL_COMPONENTS = <const> [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffModalService","i2.DaffModalComponent","i1.DaffModalComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-design-modal.mjs","sources":["../../../libs/design/modal/src/service/modal.service.ts","../../../libs/design/modal/src/modal/modal.component.ts","../../../libs/design/modal/src/modal/modal.component.html","../../../libs/design/modal/src/modal-actions/modal-actions.component.ts","../../../libs/design/modal/src/modal-close/modal-close.directive.ts","../../../libs/design/modal/src/modal-content/modal-content.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.html","../../../libs/design/modal/src/modal-title/modal-title.directive.ts","../../../libs/design/modal/src/modal.module.ts","../../../libs/design/modal/src/modal.ts","../../../libs/design/modal/src/daffodil-design-modal.ts"],"sourcesContent":["import {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n PositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n Injector,\n} from '@angular/core';\nimport { take } from 'rxjs/operators';\n\nimport { DaffModal } from '../modal/interfaces/modal';\nimport { DaffModalRef } from '../modal/interfaces/modal-ref';\nimport {\n DaffModalConfiguration,\n DaffModalPosition,\n} from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable()\nexport class DaffModalService {\n private _modals: Map<DaffModalComponent, DaffModal> = new Map();\n\n constructor(private overlay: Overlay) { }\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n const modal = overlayRef.attach(\n new ComponentPortal(\n DaffModalComponent,\n undefined,\n Injector.create({\n providers: [{\n provide: DaffModalService,\n useValue: this,\n }],\n }),\n ),\n );\n modal.instance.reveal();\n return modal;\n }\n\n private _attachModalContent<T>(\n component: Type<T>,\n modal: ComponentRef<DaffModalComponent>,\n ): ComponentRef<T> {\n return modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createPositionStrategy(position?: DaffModalPosition): PositionStrategy {\n // Horizontal position is always center\n const strategy = new GlobalPositionStrategy().centerHorizontally();\n\n // Handle vertical positioning\n if (position?.vertical === 'top') {\n strategy.top(position.offsetTop ?? '15vh');\n } else {\n // Default to center\n strategy.centerVertically();\n }\n\n return strategy;\n }\n\n private _createOverlayRef(config?: Partial<DaffModalConfiguration>): OverlayRef {\n const positionStrategy = this._createPositionStrategy(config?.position);\n\n return this.overlay.create({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n });\n }\n\n private _removeModal(modal: DaffModal) {\n if (!this._modals.has(modal.modal.instance)) {\n throw new Error(\n 'The Modal that you are trying to remove does not exist.',\n );\n }\n\n this._modals.delete(modal.modal.instance);\n\n modal.overlay.dispose();\n }\n\n private _closeAllModals(): void {\n const modals = Array.from(this._modals.values());\n modals.forEach((modal) => this.close(modal.modal.instance));\n }\n\n open<T>(\n component: Type<T>,\n configuration?: Partial<DaffModalConfiguration>,\n ): DaffModalRef<T> {\n this._closeAllModals();\n const config = { ...this.defaultConfiguration, ...configuration };\n const _ref = this._createOverlayRef(config);\n const _modal = this._attachModal(_ref);\n const _contentRef = this._attachModalContent(component, _modal);\n\n if (configuration?.ariaLabelledBy) {\n _modal.instance.ariaLabelledBy = configuration.ariaLabelledBy;\n }\n\n const modal: DaffModal = {\n modal: _modal,\n overlay: _ref,\n };\n\n this._modals.set(modal.modal.instance, modal);\n\n _ref\n .backdropClick()\n .subscribe(() =>\n config.onBackdropClicked\n ? config.onBackdropClicked()\n : this.close(modal.modal.instance),\n );\n\n return {\n instance: _contentRef.instance,\n close: () => this.close(modal.modal.instance),\n afterClosed: modal.modal.instance.closedAnimationCompleted$,\n };\n }\n\n close(component: DaffModalComponent): void {\n const modal = this._modals.get(component);\n\n modal.overlay.detachBackdrop();\n component.closedAnimationCompleted$.pipe(\n take(1),\n ).subscribe(\n () => this._removeModal(modal),\n );\n\n component.hide();\n\n }\n}\n","/* eslint-disable quote-props */\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n PortalModule,\n} from '@angular/cdk/portal';\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewChild,\n ElementRef,\n AfterContentInit,\n AfterViewInit,\n ViewEncapsulation,\n ChangeDetectorRef,\n OnDestroy,\n signal,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport {\n DaffOpenable,\n DaffOpenableDirective,\n DaffFocusStackService,\n daffFocusableElementsSelector,\n} from '@daffodil/design';\n\nimport { DaffModalService } from '../service/modal.service';\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n hostDirectives: [{\n directive: DaffOpenableDirective,\n outputs: ['toggled'],\n }],\n host: {\n 'class': 'daff-modal',\n 'role': 'dialog',\n 'aria-modal': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '(keydown.escape)': 'onEscape()',\n '[animate.enter]': '\"opening\"',\n '[class.closing]': 'closing()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n PortalModule,\n OverlayModule,\n ],\n})\nexport class DaffModalComponent implements AfterContentInit, AfterViewInit, OnDestroy, DaffOpenable {\n /**\n * @docs-private\n */\n readonly closing = signal(false);\n\n private _ariaLabelledBy = null;\n\n /**\n * @docs-private\n *\n * By default, the `aria-labelledby` of the modal is set to the `id` of the modal title.\n */\n get ariaLabelledBy() {\n return this._ariaLabelledBy;\n } set ariaLabelledBy(value: string) {\n this._ariaLabelledBy = value;\n }\n\n /**\n * @docs-private\n *\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Private subject for closed animation completion events.\n */\n private _closedAnimationCompleted = new Subject<boolean>();\n\n /**\n * Observable that emits when the close animation is completed.\n */\n readonly closedAnimationCompleted$ = this._closedAnimationCompleted.asObservable().pipe(delay(300));\n\n /**\n * @docs-private\n */\n onEscape() {\n this.modalService.close(this);\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private modalService: DaffModalService,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private elementRef: ElementRef<HTMLElement>,\n private openDirective: DaffOpenableDirective,\n private _focusStack: DaffFocusStackService,\n private changeDetector: ChangeDetectorRef,\n ) {\n this.openDirective.stateless = false;\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this.elementRef.nativeElement,\n );\n this._focusStack.push();\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this.elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if (focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the modal to be focused, we manually set the tabindex.\n this.elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this.elementRef.nativeElement).focus();\n }\n }\n\n /**\n * @docs-private\n *\n * Helper method to attach portable content to modal.\n */\n attachContent(portal: ComponentPortal<any>): any {\n const attachContent = this._portalOutlet.attachComponentPortal(portal);\n\n return attachContent;\n }\n\n /**\n * Tracks the open state of the modal.\n */\n get open() {\n return this.openDirective.open;\n }\n\n /**\n * @docs-private\n *\n * Reveals the modal.\n */\n reveal() {\n this.openDirective.reveal();\n this.changeDetector.markForCheck();\n }\n\n /**\n * @docs-private\n *\n * Hides the modal.\n */\n hide() {\n this.openDirective.hide();\n this.closing.set(true);\n this._closedAnimationCompleted.next(true);\n this._focusTrap?.destroy();\n this._focusStack.pop();\n\n this.changeDetector.markForCheck();\n }\n\n /**\n * @docs-private\n *\n * Toggles the visibility of the modal.\n */\n toggle() {\n this.openDirective.toggle();\n this.changeDetector.markForCheck();\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy() {\n this._closedAnimationCompleted.complete();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","/* eslint-disable quote-props */\nimport {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-modal-actions',\n },\n})\nexport class DaffModalActionsComponent {}\n","/* eslint-disable quote-props */\nimport {\n Directive,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\nimport { DaffModalService } from '../service/modal.service';\n\n/**\n * The DaffModalCloseDirective is a helper directive that passes a click\n * event to the button it's used with to close a modal. It needs to be\n * implemented with the `<button>` HTML element to work. This helps to\n * reduce code duplication.\n */\n@Directive({\n selector: 'button[daffModalClose]',\n host: {\n 'type': 'button',\n '(click)': 'onClick($event)',\n },\n})\n\nexport class DaffModalCloseDirective {\n constructor(\n private modalService: DaffModalService,\n @Optional() private modal: DaffModalComponent,\n ) {}\n\n /**\n * @docs-private\n */\n onClick(event: MouseEvent) {\n if(this.modal) {\n this.modalService.close(this.modal);\n }\n }\n}\n","/* eslint-disable quote-props */\nimport {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-modal-content',\n },\n})\nexport class DaffModalContentComponent {}\n","/* eslint-disable quote-props */\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffIconButtonComponent } from '@daffodil/design/button';\n\nimport { DaffModalCloseDirective } from '../modal-close/modal-close.directive';\n\n@Component({\n selector: 'daff-modal-header',\n templateUrl: './modal-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-modal-header',\n },\n imports: [\n DaffIconButtonComponent,\n FaIconComponent,\n DaffModalCloseDirective,\n ],\n})\nexport class DaffModalHeaderComponent {\n faXmark = faXmark;\n\n /**\n * Whether or not a modal is dismissible.\n */\n @Input() dismissible = true;\n}\n","<ng-content select=\"[daffModalTitle]\"></ng-content>\n@if (dismissible) {\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n}","import {\n Directive,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\n\nlet modalTitleId = 0;\n\n/**\n * Title of a modal.\n */\n@Directive({\n selector: '[daffModalTitle]',\n host: {\n class: 'daff-modal-title',\n '[attr.id]': '_id',\n },\n})\n\nexport class DaffModalTitleDirective {\n /**\n * @docs-private\n */\n _id = '';\n\n constructor(@Optional() private modal: DaffModalComponent) {\n modalTitleId++;\n\n this._id = 'daff-modal-title-' + modalTitleId;\n\n /**\n * Sets the ariaLabelledBy of the modal to the id of the modal title.\n */\n if(this.modal) {\n this.modal.ariaLabelledBy = this._id;\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffModalComponent } from './modal/modal.component';\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalService } from './service/modal.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n DaffButtonModule,\n FontAwesomeModule,\n\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n exports: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class DaffModalModule { }\n","import { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_MODAL_COMPONENTS = <const> [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffModalService","i2.DaffModalComponent","i1.DaffModalComponent"],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ import { DaffFormFieldControl } from '@daffodil/design/form-field';
|
|
|
11
11
|
*/
|
|
12
12
|
class DaffNativeSelectComponent extends DaffFormFieldControl {
|
|
13
13
|
/**
|
|
14
|
+
* @docs-private
|
|
15
|
+
*
|
|
14
16
|
* Implemented as part of DaffFormFieldControl.
|
|
15
17
|
*/
|
|
16
18
|
get _id() {
|
|
@@ -118,12 +120,12 @@ class DaffNativeSelectComponent extends DaffFormFieldControl {
|
|
|
118
120
|
get value() {
|
|
119
121
|
return this._elementRef.nativeElement.value;
|
|
120
122
|
}
|
|
121
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
122
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
123
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffNativeSelectComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.DaffFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: DaffNativeSelectComponent, isStandalone: true, selector: "select[daff-native-select]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute] }, host: { listeners: { "focus": "_handleFocus()", "blur": "_handleBlur()" }, properties: { "attr.id": "_id", "attr.aria-describedby": "ariaDescribedBy", "disabled": "disabledAttribute", "required": "requiredAttribute" }, classAttribute: "daff-native-select" }, providers: [
|
|
123
125
|
{ provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },
|
|
124
126
|
], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;appearance:none;background:transparent;background-clip:padding-box;border:0;box-shadow:none;margin:0;width:100%}:host:focus{border:0;box-shadow:none;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
125
127
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffNativeSelectComponent, decorators: [{
|
|
127
129
|
type: Component,
|
|
128
130
|
args: [{ selector: 'select[daff-native-select]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
129
131
|
{ provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-design-native-select.mjs","sources":["../../../libs/design/native-select/src/native-select/native-select.component.ts","../../../libs/design/native-select/src/native-select.ts","../../../libs/design/native-select/src/daffodil-design-native-select.ts"],"sourcesContent":["import {\n Component,\n Optional,\n Self,\n ElementRef,\n ChangeDetectionStrategy,\n OnInit,\n Input,\n booleanAttribute,\n} from '@angular/core';\nimport {\n NgControl,\n Validators,\n} from '@angular/forms';\nimport {\n map,\n merge,\n of,\n tap,\n} from 'rxjs';\n\nimport {\n DaffFormFieldComponent,\n DaffFormFieldControl,\n} from '@daffodil/design/form-field';\n\n/**\n * DaffNativeSelectComponent provides the same functionality as a native `<select>` and contains custom styling and functionality.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[daff-native-select]',\n template: '<ng-content></ng-content>',\n styleUrl: './native-select.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n\n { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },\n ],\n host: {\n class: 'daff-native-select',\n '(focus)': '_handleFocus()',\n '(blur)': '_handleBlur()',\n '[attr.id]': '_id',\n '[attr.aria-describedby]': 'ariaDescribedBy',\n '[disabled]': 'disabledAttribute',\n '[required]': 'requiredAttribute',\n },\n})\n\nexport class DaffNativeSelectComponent extends DaffFormFieldControl<string> implements DaffFormFieldControl<string>, OnInit {\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n controlType = 'native-select';\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n focused = false;\n\n /**\n * Implemented as part of DaffFormFieldControl.\n */\n
|
|
1
|
+
{"version":3,"file":"daffodil-design-native-select.mjs","sources":["../../../libs/design/native-select/src/native-select/native-select.component.ts","../../../libs/design/native-select/src/native-select.ts","../../../libs/design/native-select/src/daffodil-design-native-select.ts"],"sourcesContent":["import {\n Component,\n Optional,\n Self,\n ElementRef,\n ChangeDetectionStrategy,\n OnInit,\n Input,\n booleanAttribute,\n} from '@angular/core';\nimport {\n NgControl,\n Validators,\n} from '@angular/forms';\nimport {\n map,\n merge,\n of,\n tap,\n} from 'rxjs';\n\nimport {\n DaffFormFieldComponent,\n DaffFormFieldControl,\n} from '@daffodil/design/form-field';\n\n/**\n * DaffNativeSelectComponent provides the same functionality as a native `<select>` and contains custom styling and functionality.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[daff-native-select]',\n template: '<ng-content></ng-content>',\n styleUrl: './native-select.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n\n { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },\n ],\n host: {\n class: 'daff-native-select',\n '(focus)': '_handleFocus()',\n '(blur)': '_handleBlur()',\n '[attr.id]': '_id',\n '[attr.aria-describedby]': 'ariaDescribedBy',\n '[disabled]': 'disabledAttribute',\n '[required]': 'requiredAttribute',\n },\n})\n\nexport class DaffNativeSelectComponent extends DaffFormFieldControl<string> implements DaffFormFieldControl<string>, OnInit {\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n controlType = 'native-select';\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n focused = false;\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n get _id() {\n return this.formField?.id;\n };\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n // @Optional is intentional so that we can control the error message thrown when the DaffFormFieldComponent is not used.\n @Optional() private formField: DaffFormFieldComponent,\n ) {\n super(ngControl);\n\n if(!this.formField) {\n throw new Error('DaffNativeSelectComponent needs to be used with the DaffFormFieldComponent.');\n }\n }\n\n /**\n * @docs-private\n */\n get ariaDescribedBy() {\n if(this.formField.hasErrorMessage()) {\n return this.formField.errorMessageId;\n } else if(this.formField.hasHint()) {\n return this.formField.hintId;\n } else {\n return null;\n }\n }\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n @Input({ transform: booleanAttribute }) disabled = false;\n\n /**\n * @docs-private\n */\n get disabledAttribute() {\n if (this.ngControl) {\n return this.ngControl.disabled;\n }\n\n return this.disabled || null;\n }\n\n private _required = false;\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this.ngControl?.control?.hasValidator(Validators.required) ?? this._required;\n }\n set required(value: boolean) {\n this._required = value;\n }\n\n /**\n * @docs-private\n */\n get requiredAttribute() {\n return this.required || null;\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n /**\n * @docs-private\n */\n _handleFocus() {\n this.focused = true;\n this.emitState();\n }\n\n /**\n * @docs-private\n */\n _handleBlur() {\n this.focused = false;\n this.emitState(true);\n }\n\n /** @docs-private */\n ngOnInit() {\n this.stateChanges = merge(\n this._stateChanges.asObservable(),\n this.ngControl ? this.ngControl.statusChanges : of(undefined),\n ).pipe(\n map(() => this.state),\n tap((state) => this.disabled = state.disabled),\n );\n }\n\n /**\n * @docs-private\n */\n get value() {\n return this._elementRef.nativeElement.value;\n }\n}\n","import { DaffNativeSelectComponent } from './native-select/native-select.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_NATIVE_SELECT_COMPONENTS = <const> [\n DaffNativeSelectComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -12,16 +12,16 @@ class DaffNavbarComponent {
|
|
|
12
12
|
/**
|
|
13
13
|
* Whether the navbar should have an elevated appearance with a shadow effect.
|
|
14
14
|
*/
|
|
15
|
-
this.elevated = input(false, ...(ngDevMode ? [{ debugName: "elevated" }] : []));
|
|
15
|
+
this.elevated = input(false, ...(ngDevMode ? [{ debugName: "elevated" }] : /* istanbul ignore next */ []));
|
|
16
16
|
/**
|
|
17
17
|
* Whether the navbar should have a blurred background effect.
|
|
18
18
|
*/
|
|
19
|
-
this.blurred = input(false, ...(ngDevMode ? [{ debugName: "blurred" }] : []));
|
|
19
|
+
this.blurred = input(false, ...(ngDevMode ? [{ debugName: "blurred" }] : /* istanbul ignore next */ []));
|
|
20
20
|
}
|
|
21
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
22
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
21
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: DaffNavbarComponent, isStandalone: true, selector: "nav[daff-navbar]", inputs: { elevated: { classPropertyName: "elevated", publicName: "elevated", isSignal: true, isRequired: false, transformFunction: null }, blurred: { classPropertyName: "blurred", publicName: "blurred", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.elevated": "elevated()", "class.blurred": "blurred()" }, classAttribute: "daff-navbar" }, hostDirectives: [{ directive: i1.DaffManageContainerLayoutDirective }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:flex;align-items:center;height:64px;width:100%;padding:0 1rem}:host.blurred{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffNavbarComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ selector: 'nav[daff-navbar]', template: '<ng-content></ng-content>', hostDirectives: [
|
|
27
27
|
{ directive: DaffManageContainerLayoutDirective },
|
|
@@ -36,12 +36,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
36
36
|
* @deprecated in favor of {@link DAFF_NAVBAR_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.
|
|
37
37
|
*/
|
|
38
38
|
class DaffNavbarModule {
|
|
39
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
39
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
40
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: DaffNavbarModule, imports: [CommonModule,
|
|
41
41
|
DaffNavbarComponent], exports: [DaffNavbarComponent] }); }
|
|
42
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
42
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffNavbarModule, imports: [CommonModule] }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffNavbarModule, decorators: [{
|
|
45
45
|
type: NgModule,
|
|
46
46
|
args: [{
|
|
47
47
|
imports: [
|