@daffodil/design 0.68.0 → 0.68.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. package/esm2022/article/article/article.component.mjs +2 -2
  2. package/esm2022/article/examples/article-headings/article-headings.component.mjs +3 -4
  3. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +3 -3
  4. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +3 -3
  5. package/esm2022/modal/service/modal.service.mjs +2 -3
  6. package/esm2022/toast/daffodil-design-toast.mjs +5 -0
  7. package/esm2022/toast/examples/daffodil-design-toast-examples.mjs +5 -0
  8. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +38 -0
  9. package/esm2022/toast/examples/default-toast/default-toast.module.mjs +36 -0
  10. package/esm2022/toast/examples/index.mjs +2 -0
  11. package/esm2022/toast/examples/public_api.mjs +15 -0
  12. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +42 -0
  13. package/esm2022/toast/examples/toast-positions/toast-positions.module.mjs +57 -0
  14. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +45 -0
  15. package/esm2022/toast/examples/toast-status/toast-status.module.mjs +40 -0
  16. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +26 -0
  17. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.module.mjs +32 -0
  18. package/esm2022/toast/index.mjs +2 -0
  19. package/esm2022/toast/interfaces/toast-action.mjs +2 -0
  20. package/esm2022/toast/interfaces/toast.mjs +2 -0
  21. package/esm2022/toast/options/daff-toast-options.mjs +16 -0
  22. package/esm2022/toast/public_api.mjs +9 -0
  23. package/esm2022/toast/service/changes-focus.mjs +2 -0
  24. package/esm2022/toast/service/position-strategy.mjs +29 -0
  25. package/esm2022/toast/service/position.service.mjs +33 -0
  26. package/esm2022/toast/service/toast.service.mjs +116 -0
  27. package/esm2022/toast/toast/toast-config.mjs +2 -0
  28. package/esm2022/toast/toast/toast-template.component.mjs +262 -0
  29. package/esm2022/toast/toast/toast.component.mjs +82 -0
  30. package/esm2022/toast/toast-actions/toast-actions.directive.mjs +19 -0
  31. package/esm2022/toast/toast-message/toast-message.directive.mjs +19 -0
  32. package/esm2022/toast/toast-title/toast-title.directive.mjs +19 -0
  33. package/esm2022/toast/toast.module.mjs +70 -0
  34. package/fesm2022/daffodil-design-article-examples.mjs +2 -2
  35. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  36. package/fesm2022/daffodil-design-article.mjs +2 -2
  37. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  38. package/fesm2022/daffodil-design-loading-icon-examples.mjs +2 -2
  39. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  40. package/fesm2022/daffodil-design-loading-icon.mjs +2 -2
  41. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  42. package/fesm2022/daffodil-design-modal.mjs +1 -2
  43. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  44. package/fesm2022/daffodil-design-toast-examples.mjs +287 -0
  45. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -0
  46. package/fesm2022/daffodil-design-toast.mjs +625 -0
  47. package/fesm2022/daffodil-design-toast.mjs.map +1 -0
  48. package/loading-icon/src/loading-icon-theme.scss +24 -8
  49. package/navbar/README.md +1 -1
  50. package/package.json +1 -1
  51. package/scss/theme.scss +2 -0
  52. package/toast/README.md +115 -0
  53. package/toast/examples/default-toast/default-toast.component.d.ts +15 -0
  54. package/toast/examples/default-toast/default-toast.module.d.ts +11 -0
  55. package/toast/examples/index.d.ts +1 -0
  56. package/toast/examples/public_api.d.ts +2 -0
  57. package/toast/examples/toast-positions/toast-positions.component.d.ts +17 -0
  58. package/toast/examples/toast-positions/toast-positions.module.d.ts +12 -0
  59. package/toast/examples/toast-status/toast-status.component.d.ts +14 -0
  60. package/toast/examples/toast-status/toast-status.module.d.ts +12 -0
  61. package/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.d.ts +10 -0
  62. package/toast/examples/toast-with-custom-duration/toast-with-custom-duration.module.d.ts +10 -0
  63. package/toast/index.d.ts +1 -0
  64. package/toast/interfaces/toast-action.d.ts +38 -0
  65. package/toast/interfaces/toast.d.ts +20 -0
  66. package/toast/options/daff-toast-options.d.ts +15 -0
  67. package/toast/public_api.d.ts +11 -0
  68. package/toast/service/changes-focus.d.ts +2 -0
  69. package/toast/service/position-strategy.d.ts +3 -0
  70. package/toast/service/position.service.d.ts +15 -0
  71. package/toast/service/toast.service.d.ts +29 -0
  72. package/toast/src/toast-theme.scss +63 -0
  73. package/toast/toast/toast-config.d.ts +7 -0
  74. package/toast/toast/toast-template.component.d.ts +20 -0
  75. package/toast/toast/toast.component.d.ts +52 -0
  76. package/toast/toast-actions/toast-actions.directive.d.ts +6 -0
  77. package/toast/toast-message/toast-message.directive.d.ts +6 -0
  78. package/toast/toast-title/toast-title.directive.d.ts +6 -0
  79. package/toast/toast.module.d.ts +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daffodil-design-toast.mjs","sources":["../../../libs/design/toast/src/options/daff-toast-options.ts","../../../libs/design/toast/src/service/position.service.ts","../../../libs/design/toast/src/service/changes-focus.ts","../../../libs/design/toast/src/toast-actions/toast-actions.directive.ts","../../../libs/design/toast/src/toast/toast.component.ts","../../../libs/design/toast/src/toast/toast.component.html","../../../libs/design/toast/src/toast-title/toast-title.directive.ts","../../../libs/design/toast/src/toast-message/toast-message.directive.ts","../../../libs/design/toast/src/toast/toast-template.component.ts","../../../libs/design/toast/src/toast.module.ts","../../../libs/design/toast/src/service/position-strategy.ts","../../../libs/design/toast/src/toast/toast-config.ts","../../../libs/design/toast/src/service/toast.service.ts","../../../libs/design/toast/src/daffodil-design-toast.ts"],"sourcesContent":["import {\n InjectionToken,\n ValueProvider,\n} from '@angular/core';\n\ntype Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };\ntype XOR<T, U> = (T | U) extends Record<string,unknown> ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\n\nexport interface VerticalPositionTypes { vertical: 'top' | 'bottom' };\n\nexport interface HorizontalPositionTypes { horizontal: 'left' | 'center' | 'right' };\n\nexport type DaffToastPosition = VerticalPositionTypes & HorizontalPositionTypes;\n\nexport interface DaffToastOptions {\n position: DaffToastPosition;\n useParent: boolean;\n}\n\nexport const daffToastDefaultOptions: DaffToastOptions = {\n position: {\n vertical: 'top',\n horizontal: 'right',\n },\n useParent: true,\n};\n\nexport const DAFF_TOAST_OPTIONS = new InjectionToken('DAFF_TOAST_OPTIONS', { providedIn: 'root', factory: () => daffToastDefaultOptions });\n\nexport const provideDaffToastOptions = (options: DaffToastOptions): ValueProvider => ({ provide: DAFF_TOAST_OPTIONS, useValue: {\n ...daffToastDefaultOptions,\n ...options,\n}});\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffBreakpoints } from '@daffodil/design';\n\nimport {\n DaffToastOptions,\n DaffToastPosition,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\n\n@Injectable()\nexport class DaffToastPositionService {\n\n constructor(@Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions, private mediaQuery: BreakpointObserver) {\n this._config = options.position;\n }\n\n private _config: DaffToastPosition;\n private _position: DaffToastPosition;\n\n get config(): DaffToastPosition {\n return this.mediaQuery.isMatched(DaffBreakpoints.MOBILE)\n ? this._position ?? this._config\n : <DaffToastPosition>{ vertical: 'bottom', horizontal: 'center' };\n }\n\n set config(val: DaffToastPosition) {\n this._config = val;\n }\n\n setPosition(position: DaffToastPosition) {\n this._position = position;\n }\n}\n","import { DaffToast } from '../interfaces/toast';\n\nexport const daffToastChangesFocus = (toast: DaffToast): boolean => toast.actions?.length > 0;\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastActions]',\n})\n\nexport class DaffToastActionsDirective {\n\n @HostBinding('class.daff-toast__actions') class = true;\n}\n","import {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport {\n Component,\n ElementRef,\n Renderer2,\n HostBinding,\n ContentChild,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterViewInit,\n AfterContentInit,\n HostListener,\n Input,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n daffArticleEncapsulatedMixin,\n DaffFocusStackService,\n DaffPrefixable,\n DaffPrefixDirective,\n DaffStatusable,\n daffStatusMixin,\n} from '@daffodil/design';\n\nimport { DaffToast } from '../interfaces/toast';\nimport { daffToastChangesFocus } from '../service/changes-focus';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\n\n/**\n * An _elementRef is needed for the core mixins\n */\nclass DaffToastBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffToastBase = daffArticleEncapsulatedMixin(daffStatusMixin(DaffToastBase));\n\n/**\n * DaffToastComponent provides a way to display and\n * communicate information for user actions or system updates.\n */\n@Component({\n selector: 'daff-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n // todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['status'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffToastComponent\n extends _daffToastBase\n implements DaffPrefixable, DaffStatusable, AfterContentInit, AfterViewInit, OnDestroy {\n /** @docs-private */\n @HostBinding('class.daff-toast') class = true;\n\n /** @docs-private */\n @HostBinding('attr.role') role = 'status';\n\n @ContentChild(DaffToastActionsDirective)\n _actions: DaffToastActionsDirective;\n\n @ContentChild(DaffPrefixDirective)\n _prefix: DaffPrefixDirective;\n\n @Input() toast: DaffToast;\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toast.dismiss();\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _focusStack: DaffFocusStackService,\n ) {\n\t super(elementRef, renderer);\n }\n\n ngAfterContentInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n }\n }\n\n ngAfterViewInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusStack.push();\n this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n ngOnDestroy() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap.destroy();\n }\n }\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-toast__details\">\n <div class=\"daff-toast__content\">\n <ng-content select=\"[daffToastTitle]\"></ng-content>\n <ng-content select=\"[daffToastMessage]\"></ng-content>\n </div>\n <ng-content select=\"[daffToastActions]\"></ng-content>\n</div>\n<ng-content></ng-content>\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastTitle]',\n})\n\nexport class DaffToastTitleDirective {\n\n @HostBinding('class.daff-toast__title') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastMessage]',\n})\n\nexport class DaffToastMessageDirective {\n\n @HostBinding('class.daff-toast__message') class = true;\n}\n","import {\n animate,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n Input,\n ChangeDetectionStrategy,\n Component,\n ChangeDetectorRef,\n Inject,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffToast } from '../interfaces/toast';\nimport {\n DaffToastOptions,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\nimport { DaffToastPositionService } from '../service/position.service';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <daff-toast\n *ngFor=\"let item of items | slice:0:3\"\n [toast]=\"item\"\n [status]=\"item.status ?? null\"\n (closeToast)=\"item.dismiss()\"\n [@slideIn]=\"slideAnimation\"\n [attr.role]=\"item.actions ? 'alertdialog' : undefined\"\n [attr.aria-labelledby]=\"item.actions ? item.title : undefined\"\n [attr.aria-describedby]=\"item.actions ? item.message : undefined\">\n <div daffToastTitle>{{ item.title }}</div>\n <div daffToastMessage>{{ item.message }}</div>\n <div daffToastActions *ngIf=\"item.actions\">\n <ng-container *ngFor=\"let action of item.actions\">\n <ng-container *ngTemplateOutlet=\"button;context:{ action, item }\"></ng-container>\n </ng-container>\n </div>\n <button daff-icon-button color=\"theme-contrast\"\n *ngIf=\"item.dismissible\"\n aria-label=\"close button\"\n [attr.aria-hidden]=\"item.actions ? undefined : true\"\n (click)=\"onCloseToast(item.dismiss())\">\n <fa-icon [icon]=\"faTimes\" size=\"sm\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n </daff-toast>\n\n <ng-template #button let-action=\"action\" let-item=\"item\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchDefault daff-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" daff-stroked-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'raised'\" daff-raised-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" daff-flat-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'underline'\" daff-underline-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n </ng-container>\n </ng-template>\n `,\n animations: [\n trigger('slideIn', [\n transition(':enter', [\n style({ opacity: '0', transform: 'translate({{startX}}, {{startY}})' }),\n animate('300ms ease-out', style({ opacity: '1', transform: 'translate({{endX}}, {{endY}})' })),\n ],\n { params: {\n startX: '0',\n startY: '0',\n endX: '0',\n endY: '0',\n } }),\n ]),\n ],\n})\nexport class DaffToastTemplateComponent {\n faTimes = faTimes;\n\n private _items: DaffToast[] = [];\n\n constructor(\n private cd: ChangeDetectorRef,\n @Inject(DAFF_TOAST_OPTIONS)\n private options: DaffToastOptions,\n private toastPosition: DaffToastPositionService,\n ) { }\n\n @Output() closeToast: EventEmitter<void> = new EventEmitter();\n\n onCloseToast(event: Event) {\n this.closeToast.emit();\n }\n\n get slideAnimation(): any {\n switch (this.toastPosition.config.horizontal + '-' + this.toastPosition.config.vertical) {\n case 'left-top':\n case 'left-bottom':\n return {\n value: 0,\n params: {\n startX: '-100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n case 'right-top':\n case 'right-bottom':\n return {\n value: 0,\n params: {\n startX: '100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n\n case 'center-top':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '-100%',\n endY: '0',\n },\n };\n\n case 'center-bottom':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '100%',\n endY: '0',\n },\n };\n }\n }\n\n @Input()\n get items(): DaffToast[] {\n return this._items;\n }\n set items(value: DaffToast[]) {\n this._items = value;\n this.cd.markForCheck();\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 { DaffPrefixSuffixModule } from '@daffodil/design';\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffToastPositionService } from './service/position.service';\nimport { DaffToastTemplateComponent } from './toast/toast-template.component';\nimport { DaffToastComponent } from './toast/toast.component';\nimport { DaffToastActionsDirective } from './toast-actions/toast-actions.directive';\nimport { DaffToastMessageDirective } from './toast-message/toast-message.directive';\nimport { DaffToastTitleDirective } from './toast-title/toast-title.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n DaffButtonModule,\n FontAwesomeModule,\n PortalModule,\n OverlayModule,\n ],\n declarations: [\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n DaffToastTemplateComponent,\n ],\n exports: [\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n DaffPrefixSuffixModule,\n ],\n providers: [\n DaffToastPositionService,\n ],\n})\nexport class DaffToastModule { }\n","import {\n GlobalPositionStrategy,\n PositionStrategy,\n} from '@angular/cdk/overlay';\n\nimport { DaffToastPosition } from '../options/daff-toast-options';\n\nexport const createPositionStrategy = (position: DaffToastPosition): PositionStrategy => {\n const strat = new GlobalPositionStrategy();\n\n switch ( position.horizontal ) {\n case 'left':\n strat.left('48px');\n break;\n case 'right':\n strat.right('48px');\n break;\n case 'center':\n strat.centerHorizontally();\n break;\n default:\n strat.right('48px');\n }\n\n switch(position.vertical) {\n case 'top':\n strat.top('80px');\n break;\n case 'bottom':\n strat.bottom('48px');\n break;\n default:\n strat.top('80px');\n }\n\n return strat;\n};\n","export interface DaffToastConfiguration {\n /**\n * The duration (in milliseconds) that a toast is visible before it's dismissed.\n */\n duration?: number;\n}\n\nexport const daffDefaultToastConfiguration: DaffToastConfiguration = {};\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n OnDestroy,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {\n EMPTY,\n interval,\n merge,\n of,\n Subscription,\n} from 'rxjs';\nimport {\n delay,\n filter,\n map,\n take,\n tap,\n} from 'rxjs/operators';\n\nimport {\n DaffBreakpoints,\n DaffFocusStackService,\n} from '@daffodil/design';\n\nimport { daffToastChangesFocus } from './changes-focus';\nimport { createPositionStrategy } from './position-strategy';\nimport { DaffToastPositionService } from './position.service';\nimport {\n DaffToast,\n DaffToastData,\n} from '../interfaces/toast';\nimport {\n DAFF_TOAST_OPTIONS,\n DaffToastOptions,\n} from '../options/daff-toast-options';\nimport {\n daffDefaultToastConfiguration,\n DaffToastConfiguration,\n} from '../toast/toast-config';\nimport { DaffToastTemplateComponent } from '../toast/toast-template.component';\nimport { DaffToastModule } from '../toast.module';\n\n@Injectable({ providedIn: DaffToastModule })\nexport class DaffToastService implements OnDestroy {\n\n private _sub: Subscription;\n\n private _toasts: DaffToast[] = [];\n\n private _overlayRef?: OverlayRef;\n\n private _template?: ComponentRef<DaffToastTemplateComponent>;\n\n constructor(\n private overlay: Overlay,\n @Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions,\n @Optional() @SkipSelf() private _parentToast: DaffToastService,\n private mediaQuery: BreakpointObserver,\n private toastPosition: DaffToastPositionService,\n private focusStack: DaffFocusStackService,\n ) {\n this._sub = this.mediaQuery.observe(DaffBreakpoints.MOBILE).pipe(\n filter(() => this._overlayRef !== undefined),\n map((position) => createPositionStrategy(this.toastPosition.config)),\n tap((strategy) => this._overlayRef.updatePositionStrategy(strategy)),\n ).subscribe();\n }\n\n ngOnDestroy(): void {\n this._sub.unsubscribe();\n }\n\n private _attachToastTemplate(\n\t overlayRef: OverlayRef,\n ): ComponentRef<DaffToastTemplateComponent> {\n\t const template = overlayRef.attach(new ComponentPortal(DaffToastTemplateComponent));\n\t return template;\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n\t hasBackdrop: false,\n\t scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: createPositionStrategy(this.toastPosition.config),\n\t });\n }\n\n open(\n\t toast: DaffToastData,\n\t configuration?: Partial<DaffToastConfiguration>,\n ): DaffToast {\n if(this._parentToast && this.options.useParent) {\n return this._parentToast.open(toast, configuration);\n }\n\n\t const config: DaffToastConfiguration = {\n ...daffDefaultToastConfiguration,\n // sets the default duration to 5000ms if a toast does not have actions\n duration: toast.actions?.length > 0 ? undefined : 5000,\n ...configuration,\n };\n if(this._toasts.length === 0) {\n this._overlayRef = this._createOverlayRef();\n this._template = this._attachToastTemplate(this._overlayRef);\n }\n const dismissEvent = new EventEmitter<void>();\n const _toastPlus: DaffToast = {\n dismissible: true,\n ...toast,\n dismiss: () => {\n dismissEvent.emit();\n },\n dismissalStream: merge(\n config.duration ? of(undefined).pipe(delay(config.duration)) : EMPTY,\n dismissEvent,\n ).pipe(\n take(1),\n ),\n };\n\n _toastPlus.dismissalStream.subscribe(() => {\n this.close(_toastPlus);\n });\n\n\t this._toasts = [\n _toastPlus,\n ...this._toasts,\n ];\n\n this._template.instance.items = this._toasts;\n\n\t return _toastPlus;\n }\n\n close(toast: DaffToast): void {\n if(this._parentToast && this.options.useParent) {\n this._parentToast.close(toast);\n return;\n }\n\n if(daffToastChangesFocus(toast)) {\n this.focusStack.pop();\n }\n\n\t const index = this._toasts.indexOf(toast);\n\t if (index === -1) {\n\t throw new Error(\n\t 'The Toast that you are trying to remove does not exist.',\n\t );\n\t }\n\n\t this._toasts = this._toasts.filter(m => m !== toast);\n this._template.instance.items = [...this._toasts];\n\n // This currently overrides the \":leave\" animation as we currently\n // remove the animating element immediately after there are no more toasts,\n // without waiting for the animation to complete.\n if(this._toasts.length === 0) {\n this._overlayRef.dispose();\n this._template.destroy();\n this._overlayRef = undefined;\n this._template = undefined;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","i1.DaffToastPositionService","i2","i5.DaffToastComponent","i6.DaffToastActionsDirective","i7.DaffToastTitleDirective","i8.DaffToastMessageDirective","i3.DaffToastPositionService","i4"],"mappings":"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"}
@@ -12,48 +12,64 @@
12
12
  $black: core.daff-map-deep-get($theme, 'core.black');
13
13
 
14
14
  .daff-loading-icon {
15
- circle {
15
+ &__loader {
16
16
  stroke: currentColor;
17
17
  }
18
18
 
19
+ &__bg {
20
+ stroke: rgba($black, 0.08);
21
+ }
22
+
19
23
  &.daff-primary {
20
- circle {
24
+ .daff-loading-icon__loader {
21
25
  stroke: theming.daff-color($primary);
22
26
  }
27
+
28
+ .daff-loading-icon__bg {
29
+ stroke: rgba(theming.daff-color($primary), 0.08);
30
+ }
23
31
  }
24
32
 
25
33
  &.daff-secondary {
26
- circle {
34
+ .daff-loading-icon__loader {
27
35
  stroke: theming.daff-color($secondary);
28
36
  }
37
+
38
+ .daff-loading-icon__bg {
39
+ stroke: rgba(theming.daff-color($secondary), 0.08);
40
+ }
29
41
  }
30
42
 
31
43
  &.daff-tertiary {
32
- circle {
44
+ .daff-loading-icon__loader {
33
45
  stroke: theming.daff-color($tertiary);
34
46
  }
47
+
48
+ .daff-loading-icon__bg {
49
+ stroke: rgba(theming.daff-color($tertiary), 0.08);
50
+ }
35
51
  }
36
52
 
37
53
  &.daff-theme {
38
- circle {
54
+ .daff-loading-icon__loader {
39
55
  stroke: $base;
40
56
  }
41
57
  }
42
58
 
43
59
  &.daff-theme-contrast {
44
- circle {
60
+ .daff-loading-icon__loader {
45
61
  stroke: $base-contrast;
46
62
  }
47
63
  }
48
64
 
49
65
  &.daff-black {
50
- circle {
66
+ .daff-loading-icon__loader {
51
67
  stroke: $black;
52
68
  }
53
69
  }
54
70
 
55
71
  &.daff-white {
56
- circle {
72
+ .daff-loading-icon__loader {
57
73
  stroke: $white;
58
74
  }
59
75
  }
package/navbar/README.md CHANGED
@@ -15,7 +15,7 @@ Supported colors: `primary | secondary | tertiary | black | white | theme | them
15
15
  <design-land-example-viewer-container example="navbar-theming"></design-land-example-viewer-container>
16
16
 
17
17
  ## Contained Navbar
18
- A navbar can be contained to a specific width by using `<daff-container>`. [View Container Documentation](/libs/design/src/atoms/container/README.md) The layout styles for the navbar will be passed down to the container by utilizing the `daffManageContainerLayoutMixin`.
18
+ A navbar can be contained to a specific width by using the [Container](/libs/design/src/atoms/container/README.md) component. The layout styles set on the navbar will automatically be passed down to the container.
19
19
 
20
20
  <design-land-example-viewer-container example="contained-navbar"></design-land-example-viewer-container>
21
21
 
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@daffodil/design","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/design"]}}},"version":"0.68.0","author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"homepage":"https://github.com/graycoreio/daffodil","description":"A consistent, sane api driver that works with different ecommerce systems.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"peerDependencies":{"@angular/animations":"^17.0.0","@angular/common":"^17.0.0","@angular/core":"^17.0.0","@angular/forms":"^17.0.0","@angular/cdk":"^17.0.0","@daffodil/core":"0.68.0","@fortawesome/angular-fontawesome":"^0.14.1","@fortawesome/fontawesome-svg-core":"^6.4.2","@fortawesome/free-solid-svg-icons":"^6.4.2","@fortawesome/free-brands-svg-icons":"^6.4.2","@fortawesome/free-regular-svg-icons":"^6.4.2","modern-normalize":"^0.5.0","rxjs":"7.8.1"},"optionalDependencies":{"@faker-js/faker":"^7.6.0"},"exports":{"./scss/daff-global":{"sass":"./scss/daff-global.scss"},"./scss/global":{"sass":"./scss/global.scss"},"./scss/theme":{"sass":"./scss/theme.scss"},"./scss/daff-util":{"sass":"./scss/daff-util.scss"},"./scss/utilities":{"sass":"./scss/utilities.scss"},"./scss/daff-typography":{"sass":"./scss/daff-typography.scss"},"./scss/typography/classes":{"sass":"./scss/typography/_classes.scss"},"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/daffodil-design.mjs","esm":"./esm2022/daffodil-design.mjs","default":"./fesm2022/daffodil-design.mjs"},"./accordion":{"types":"./accordion/index.d.ts","esm2022":"./esm2022/accordion/daffodil-design-accordion.mjs","esm":"./esm2022/accordion/daffodil-design-accordion.mjs","default":"./fesm2022/daffodil-design-accordion.mjs"},"./article":{"types":"./article/index.d.ts","esm2022":"./esm2022/article/daffodil-design-article.mjs","esm":"./esm2022/article/daffodil-design-article.mjs","default":"./fesm2022/daffodil-design-article.mjs"},"./button":{"types":"./button/index.d.ts","esm2022":"./esm2022/button/daffodil-design-button.mjs","esm":"./esm2022/button/daffodil-design-button.mjs","default":"./fesm2022/daffodil-design-button.mjs"},"./callout":{"types":"./callout/index.d.ts","esm2022":"./esm2022/callout/daffodil-design-callout.mjs","esm":"./esm2022/callout/daffodil-design-callout.mjs","default":"./fesm2022/daffodil-design-callout.mjs"},"./card":{"types":"./card/index.d.ts","esm2022":"./esm2022/card/daffodil-design-card.mjs","esm":"./esm2022/card/daffodil-design-card.mjs","default":"./fesm2022/daffodil-design-card.mjs"},"./container":{"types":"./container/index.d.ts","esm2022":"./esm2022/container/daffodil-design-container.mjs","esm":"./esm2022/container/daffodil-design-container.mjs","default":"./fesm2022/daffodil-design-container.mjs"},"./hero":{"types":"./hero/index.d.ts","esm2022":"./esm2022/hero/daffodil-design-hero.mjs","esm":"./esm2022/hero/daffodil-design-hero.mjs","default":"./fesm2022/daffodil-design-hero.mjs"},"./image":{"types":"./image/index.d.ts","esm2022":"./esm2022/image/daffodil-design-image.mjs","esm":"./esm2022/image/daffodil-design-image.mjs","default":"./fesm2022/daffodil-design-image.mjs"},"./link-set":{"types":"./link-set/index.d.ts","esm2022":"./esm2022/link-set/daffodil-design-link-set.mjs","esm":"./esm2022/link-set/daffodil-design-link-set.mjs","default":"./fesm2022/daffodil-design-link-set.mjs"},"./list":{"types":"./list/index.d.ts","esm2022":"./esm2022/list/daffodil-design-list.mjs","esm":"./esm2022/list/daffodil-design-list.mjs","default":"./fesm2022/daffodil-design-list.mjs"},"./loading-icon":{"types":"./loading-icon/index.d.ts","esm2022":"./esm2022/loading-icon/daffodil-design-loading-icon.mjs","esm":"./esm2022/loading-icon/daffodil-design-loading-icon.mjs","default":"./fesm2022/daffodil-design-loading-icon.mjs"},"./media-gallery":{"types":"./media-gallery/index.d.ts","esm2022":"./esm2022/media-gallery/daffodil-design-media-gallery.mjs","esm":"./esm2022/media-gallery/daffodil-design-media-gallery.mjs","default":"./fesm2022/daffodil-design-media-gallery.mjs"},"./menu":{"types":"./menu/index.d.ts","esm2022":"./esm2022/menu/daffodil-design-menu.mjs","esm":"./esm2022/menu/daffodil-design-menu.mjs","default":"./fesm2022/daffodil-design-menu.mjs"},"./modal":{"types":"./modal/index.d.ts","esm2022":"./esm2022/modal/daffodil-design-modal.mjs","esm":"./esm2022/modal/daffodil-design-modal.mjs","default":"./fesm2022/daffodil-design-modal.mjs"},"./navbar":{"types":"./navbar/index.d.ts","esm2022":"./esm2022/navbar/daffodil-design-navbar.mjs","esm":"./esm2022/navbar/daffodil-design-navbar.mjs","default":"./fesm2022/daffodil-design-navbar.mjs"},"./notification":{"types":"./notification/index.d.ts","esm2022":"./esm2022/notification/daffodil-design-notification.mjs","esm":"./esm2022/notification/daffodil-design-notification.mjs","default":"./fesm2022/daffodil-design-notification.mjs"},"./paginator":{"types":"./paginator/index.d.ts","esm2022":"./esm2022/paginator/daffodil-design-paginator.mjs","esm":"./esm2022/paginator/daffodil-design-paginator.mjs","default":"./fesm2022/daffodil-design-paginator.mjs"},"./sidebar":{"types":"./sidebar/index.d.ts","esm2022":"./esm2022/sidebar/daffodil-design-sidebar.mjs","esm":"./esm2022/sidebar/daffodil-design-sidebar.mjs","default":"./fesm2022/daffodil-design-sidebar.mjs"},"./tree":{"types":"./tree/index.d.ts","esm2022":"./esm2022/tree/daffodil-design-tree.mjs","esm":"./esm2022/tree/daffodil-design-tree.mjs","default":"./fesm2022/daffodil-design-tree.mjs"},"./accordion/examples":{"types":"./accordion/examples/index.d.ts","esm2022":"./esm2022/accordion/examples/daffodil-design-accordion-examples.mjs","esm":"./esm2022/accordion/examples/daffodil-design-accordion-examples.mjs","default":"./fesm2022/daffodil-design-accordion-examples.mjs"},"./article/examples":{"types":"./article/examples/index.d.ts","esm2022":"./esm2022/article/examples/daffodil-design-article-examples.mjs","esm":"./esm2022/article/examples/daffodil-design-article-examples.mjs","default":"./fesm2022/daffodil-design-article-examples.mjs"},"./button/examples":{"types":"./button/examples/index.d.ts","esm2022":"./esm2022/button/examples/daffodil-design-button-examples.mjs","esm":"./esm2022/button/examples/daffodil-design-button-examples.mjs","default":"./fesm2022/daffodil-design-button-examples.mjs"},"./callout/examples":{"types":"./callout/examples/index.d.ts","esm2022":"./esm2022/callout/examples/daffodil-design-callout-examples.mjs","esm":"./esm2022/callout/examples/daffodil-design-callout-examples.mjs","default":"./fesm2022/daffodil-design-callout-examples.mjs"},"./card/examples":{"types":"./card/examples/index.d.ts","esm2022":"./esm2022/card/examples/daffodil-design-card-examples.mjs","esm":"./esm2022/card/examples/daffodil-design-card-examples.mjs","default":"./fesm2022/daffodil-design-card-examples.mjs"},"./checkbox/examples":{"types":"./checkbox/examples/index.d.ts","esm2022":"./esm2022/checkbox/examples/daffodil-design-checkbox-examples.mjs","esm":"./esm2022/checkbox/examples/daffodil-design-checkbox-examples.mjs","default":"./fesm2022/daffodil-design-checkbox-examples.mjs"},"./container/examples":{"types":"./container/examples/index.d.ts","esm2022":"./esm2022/container/examples/daffodil-design-container-examples.mjs","esm":"./esm2022/container/examples/daffodil-design-container-examples.mjs","default":"./fesm2022/daffodil-design-container-examples.mjs"},"./hero/examples":{"types":"./hero/examples/index.d.ts","esm2022":"./esm2022/hero/examples/daffodil-design-hero-examples.mjs","esm":"./esm2022/hero/examples/daffodil-design-hero-examples.mjs","default":"./fesm2022/daffodil-design-hero-examples.mjs"},"./image/examples":{"types":"./image/examples/index.d.ts","esm2022":"./esm2022/image/examples/daffodil-design-image-examples.mjs","esm":"./esm2022/image/examples/daffodil-design-image-examples.mjs","default":"./fesm2022/daffodil-design-image-examples.mjs"},"./input/examples":{"types":"./input/examples/index.d.ts","esm2022":"./esm2022/input/examples/daffodil-design-input-examples.mjs","esm":"./esm2022/input/examples/daffodil-design-input-examples.mjs","default":"./fesm2022/daffodil-design-input-examples.mjs"},"./list/examples":{"types":"./list/examples/index.d.ts","esm2022":"./esm2022/list/examples/daffodil-design-list-examples.mjs","esm":"./esm2022/list/examples/daffodil-design-list-examples.mjs","default":"./fesm2022/daffodil-design-list-examples.mjs"},"./loading-icon/examples":{"types":"./loading-icon/examples/index.d.ts","esm2022":"./esm2022/loading-icon/examples/daffodil-design-loading-icon-examples.mjs","esm":"./esm2022/loading-icon/examples/daffodil-design-loading-icon-examples.mjs","default":"./fesm2022/daffodil-design-loading-icon-examples.mjs"},"./media-gallery/examples":{"types":"./media-gallery/examples/index.d.ts","esm2022":"./esm2022/media-gallery/examples/daffodil-design-media-gallery-examples.mjs","esm":"./esm2022/media-gallery/examples/daffodil-design-media-gallery-examples.mjs","default":"./fesm2022/daffodil-design-media-gallery-examples.mjs"},"./menu/examples":{"types":"./menu/examples/index.d.ts","esm2022":"./esm2022/menu/examples/daffodil-design-menu-examples.mjs","esm":"./esm2022/menu/examples/daffodil-design-menu-examples.mjs","default":"./fesm2022/daffodil-design-menu-examples.mjs"},"./modal/examples":{"types":"./modal/examples/index.d.ts","esm2022":"./esm2022/modal/examples/daffodil-design-modal-examples.mjs","esm":"./esm2022/modal/examples/daffodil-design-modal-examples.mjs","default":"./fesm2022/daffodil-design-modal-examples.mjs"},"./navbar/examples":{"types":"./navbar/examples/index.d.ts","esm2022":"./esm2022/navbar/examples/daffodil-design-navbar-examples.mjs","esm":"./esm2022/navbar/examples/daffodil-design-navbar-examples.mjs","default":"./fesm2022/daffodil-design-navbar-examples.mjs"},"./notification/examples":{"types":"./notification/examples/index.d.ts","esm2022":"./esm2022/notification/examples/daffodil-design-notification-examples.mjs","esm":"./esm2022/notification/examples/daffodil-design-notification-examples.mjs","default":"./fesm2022/daffodil-design-notification-examples.mjs"},"./paginator/examples":{"types":"./paginator/examples/index.d.ts","esm2022":"./esm2022/paginator/examples/daffodil-design-paginator-examples.mjs","esm":"./esm2022/paginator/examples/daffodil-design-paginator-examples.mjs","default":"./fesm2022/daffodil-design-paginator-examples.mjs"},"./quantity-field/examples":{"types":"./quantity-field/examples/index.d.ts","esm2022":"./esm2022/quantity-field/examples/daffodil-design-quantity-field-examples.mjs","esm":"./esm2022/quantity-field/examples/daffodil-design-quantity-field-examples.mjs","default":"./fesm2022/daffodil-design-quantity-field-examples.mjs"},"./radio/examples":{"types":"./radio/examples/index.d.ts","esm2022":"./esm2022/radio/examples/daffodil-design-radio-examples.mjs","esm":"./esm2022/radio/examples/daffodil-design-radio-examples.mjs","default":"./fesm2022/daffodil-design-radio-examples.mjs"},"./sidebar/examples":{"types":"./sidebar/examples/index.d.ts","esm2022":"./esm2022/sidebar/examples/daffodil-design-sidebar-examples.mjs","esm":"./esm2022/sidebar/examples/daffodil-design-sidebar-examples.mjs","default":"./fesm2022/daffodil-design-sidebar-examples.mjs"},"./tree/examples":{"types":"./tree/examples/index.d.ts","esm2022":"./esm2022/tree/examples/daffodil-design-tree-examples.mjs","esm":"./esm2022/tree/examples/daffodil-design-tree-examples.mjs","default":"./fesm2022/daffodil-design-tree-examples.mjs"}},"module":"fesm2022/daffodil-design.mjs","typings":"index.d.ts","sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
1
+ {"name":"@daffodil/design","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/design"]}}},"version":"0.68.1","author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"homepage":"https://github.com/graycoreio/daffodil","description":"A consistent, sane api driver that works with different ecommerce systems.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"peerDependencies":{"@angular/animations":"^17.0.0","@angular/common":"^17.0.0","@angular/core":"^17.0.0","@angular/forms":"^17.0.0","@angular/cdk":"^17.0.0","@daffodil/core":"0.68.1","@fortawesome/angular-fontawesome":"^0.14.1","@fortawesome/fontawesome-svg-core":"^6.4.2","@fortawesome/free-solid-svg-icons":"^6.4.2","@fortawesome/free-brands-svg-icons":"^6.4.2","@fortawesome/free-regular-svg-icons":"^6.4.2","modern-normalize":"^0.5.0","rxjs":"7.8.1"},"optionalDependencies":{"@faker-js/faker":"^7.6.0"},"exports":{"./scss/daff-global":{"sass":"./scss/daff-global.scss"},"./scss/global":{"sass":"./scss/global.scss"},"./scss/theme":{"sass":"./scss/theme.scss"},"./scss/daff-util":{"sass":"./scss/daff-util.scss"},"./scss/utilities":{"sass":"./scss/utilities.scss"},"./scss/daff-typography":{"sass":"./scss/daff-typography.scss"},"./scss/typography/classes":{"sass":"./scss/typography/_classes.scss"},"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/daffodil-design.mjs","esm":"./esm2022/daffodil-design.mjs","default":"./fesm2022/daffodil-design.mjs"},"./accordion":{"types":"./accordion/index.d.ts","esm2022":"./esm2022/accordion/daffodil-design-accordion.mjs","esm":"./esm2022/accordion/daffodil-design-accordion.mjs","default":"./fesm2022/daffodil-design-accordion.mjs"},"./article":{"types":"./article/index.d.ts","esm2022":"./esm2022/article/daffodil-design-article.mjs","esm":"./esm2022/article/daffodil-design-article.mjs","default":"./fesm2022/daffodil-design-article.mjs"},"./button":{"types":"./button/index.d.ts","esm2022":"./esm2022/button/daffodil-design-button.mjs","esm":"./esm2022/button/daffodil-design-button.mjs","default":"./fesm2022/daffodil-design-button.mjs"},"./callout":{"types":"./callout/index.d.ts","esm2022":"./esm2022/callout/daffodil-design-callout.mjs","esm":"./esm2022/callout/daffodil-design-callout.mjs","default":"./fesm2022/daffodil-design-callout.mjs"},"./card":{"types":"./card/index.d.ts","esm2022":"./esm2022/card/daffodil-design-card.mjs","esm":"./esm2022/card/daffodil-design-card.mjs","default":"./fesm2022/daffodil-design-card.mjs"},"./container":{"types":"./container/index.d.ts","esm2022":"./esm2022/container/daffodil-design-container.mjs","esm":"./esm2022/container/daffodil-design-container.mjs","default":"./fesm2022/daffodil-design-container.mjs"},"./hero":{"types":"./hero/index.d.ts","esm2022":"./esm2022/hero/daffodil-design-hero.mjs","esm":"./esm2022/hero/daffodil-design-hero.mjs","default":"./fesm2022/daffodil-design-hero.mjs"},"./image":{"types":"./image/index.d.ts","esm2022":"./esm2022/image/daffodil-design-image.mjs","esm":"./esm2022/image/daffodil-design-image.mjs","default":"./fesm2022/daffodil-design-image.mjs"},"./link-set":{"types":"./link-set/index.d.ts","esm2022":"./esm2022/link-set/daffodil-design-link-set.mjs","esm":"./esm2022/link-set/daffodil-design-link-set.mjs","default":"./fesm2022/daffodil-design-link-set.mjs"},"./list":{"types":"./list/index.d.ts","esm2022":"./esm2022/list/daffodil-design-list.mjs","esm":"./esm2022/list/daffodil-design-list.mjs","default":"./fesm2022/daffodil-design-list.mjs"},"./loading-icon":{"types":"./loading-icon/index.d.ts","esm2022":"./esm2022/loading-icon/daffodil-design-loading-icon.mjs","esm":"./esm2022/loading-icon/daffodil-design-loading-icon.mjs","default":"./fesm2022/daffodil-design-loading-icon.mjs"},"./media-gallery":{"types":"./media-gallery/index.d.ts","esm2022":"./esm2022/media-gallery/daffodil-design-media-gallery.mjs","esm":"./esm2022/media-gallery/daffodil-design-media-gallery.mjs","default":"./fesm2022/daffodil-design-media-gallery.mjs"},"./menu":{"types":"./menu/index.d.ts","esm2022":"./esm2022/menu/daffodil-design-menu.mjs","esm":"./esm2022/menu/daffodil-design-menu.mjs","default":"./fesm2022/daffodil-design-menu.mjs"},"./modal":{"types":"./modal/index.d.ts","esm2022":"./esm2022/modal/daffodil-design-modal.mjs","esm":"./esm2022/modal/daffodil-design-modal.mjs","default":"./fesm2022/daffodil-design-modal.mjs"},"./navbar":{"types":"./navbar/index.d.ts","esm2022":"./esm2022/navbar/daffodil-design-navbar.mjs","esm":"./esm2022/navbar/daffodil-design-navbar.mjs","default":"./fesm2022/daffodil-design-navbar.mjs"},"./notification":{"types":"./notification/index.d.ts","esm2022":"./esm2022/notification/daffodil-design-notification.mjs","esm":"./esm2022/notification/daffodil-design-notification.mjs","default":"./fesm2022/daffodil-design-notification.mjs"},"./paginator":{"types":"./paginator/index.d.ts","esm2022":"./esm2022/paginator/daffodil-design-paginator.mjs","esm":"./esm2022/paginator/daffodil-design-paginator.mjs","default":"./fesm2022/daffodil-design-paginator.mjs"},"./sidebar":{"types":"./sidebar/index.d.ts","esm2022":"./esm2022/sidebar/daffodil-design-sidebar.mjs","esm":"./esm2022/sidebar/daffodil-design-sidebar.mjs","default":"./fesm2022/daffodil-design-sidebar.mjs"},"./toast":{"types":"./toast/index.d.ts","esm2022":"./esm2022/toast/daffodil-design-toast.mjs","esm":"./esm2022/toast/daffodil-design-toast.mjs","default":"./fesm2022/daffodil-design-toast.mjs"},"./tree":{"types":"./tree/index.d.ts","esm2022":"./esm2022/tree/daffodil-design-tree.mjs","esm":"./esm2022/tree/daffodil-design-tree.mjs","default":"./fesm2022/daffodil-design-tree.mjs"},"./accordion/examples":{"types":"./accordion/examples/index.d.ts","esm2022":"./esm2022/accordion/examples/daffodil-design-accordion-examples.mjs","esm":"./esm2022/accordion/examples/daffodil-design-accordion-examples.mjs","default":"./fesm2022/daffodil-design-accordion-examples.mjs"},"./article/examples":{"types":"./article/examples/index.d.ts","esm2022":"./esm2022/article/examples/daffodil-design-article-examples.mjs","esm":"./esm2022/article/examples/daffodil-design-article-examples.mjs","default":"./fesm2022/daffodil-design-article-examples.mjs"},"./button/examples":{"types":"./button/examples/index.d.ts","esm2022":"./esm2022/button/examples/daffodil-design-button-examples.mjs","esm":"./esm2022/button/examples/daffodil-design-button-examples.mjs","default":"./fesm2022/daffodil-design-button-examples.mjs"},"./callout/examples":{"types":"./callout/examples/index.d.ts","esm2022":"./esm2022/callout/examples/daffodil-design-callout-examples.mjs","esm":"./esm2022/callout/examples/daffodil-design-callout-examples.mjs","default":"./fesm2022/daffodil-design-callout-examples.mjs"},"./card/examples":{"types":"./card/examples/index.d.ts","esm2022":"./esm2022/card/examples/daffodil-design-card-examples.mjs","esm":"./esm2022/card/examples/daffodil-design-card-examples.mjs","default":"./fesm2022/daffodil-design-card-examples.mjs"},"./checkbox/examples":{"types":"./checkbox/examples/index.d.ts","esm2022":"./esm2022/checkbox/examples/daffodil-design-checkbox-examples.mjs","esm":"./esm2022/checkbox/examples/daffodil-design-checkbox-examples.mjs","default":"./fesm2022/daffodil-design-checkbox-examples.mjs"},"./container/examples":{"types":"./container/examples/index.d.ts","esm2022":"./esm2022/container/examples/daffodil-design-container-examples.mjs","esm":"./esm2022/container/examples/daffodil-design-container-examples.mjs","default":"./fesm2022/daffodil-design-container-examples.mjs"},"./hero/examples":{"types":"./hero/examples/index.d.ts","esm2022":"./esm2022/hero/examples/daffodil-design-hero-examples.mjs","esm":"./esm2022/hero/examples/daffodil-design-hero-examples.mjs","default":"./fesm2022/daffodil-design-hero-examples.mjs"},"./image/examples":{"types":"./image/examples/index.d.ts","esm2022":"./esm2022/image/examples/daffodil-design-image-examples.mjs","esm":"./esm2022/image/examples/daffodil-design-image-examples.mjs","default":"./fesm2022/daffodil-design-image-examples.mjs"},"./input/examples":{"types":"./input/examples/index.d.ts","esm2022":"./esm2022/input/examples/daffodil-design-input-examples.mjs","esm":"./esm2022/input/examples/daffodil-design-input-examples.mjs","default":"./fesm2022/daffodil-design-input-examples.mjs"},"./list/examples":{"types":"./list/examples/index.d.ts","esm2022":"./esm2022/list/examples/daffodil-design-list-examples.mjs","esm":"./esm2022/list/examples/daffodil-design-list-examples.mjs","default":"./fesm2022/daffodil-design-list-examples.mjs"},"./loading-icon/examples":{"types":"./loading-icon/examples/index.d.ts","esm2022":"./esm2022/loading-icon/examples/daffodil-design-loading-icon-examples.mjs","esm":"./esm2022/loading-icon/examples/daffodil-design-loading-icon-examples.mjs","default":"./fesm2022/daffodil-design-loading-icon-examples.mjs"},"./media-gallery/examples":{"types":"./media-gallery/examples/index.d.ts","esm2022":"./esm2022/media-gallery/examples/daffodil-design-media-gallery-examples.mjs","esm":"./esm2022/media-gallery/examples/daffodil-design-media-gallery-examples.mjs","default":"./fesm2022/daffodil-design-media-gallery-examples.mjs"},"./menu/examples":{"types":"./menu/examples/index.d.ts","esm2022":"./esm2022/menu/examples/daffodil-design-menu-examples.mjs","esm":"./esm2022/menu/examples/daffodil-design-menu-examples.mjs","default":"./fesm2022/daffodil-design-menu-examples.mjs"},"./modal/examples":{"types":"./modal/examples/index.d.ts","esm2022":"./esm2022/modal/examples/daffodil-design-modal-examples.mjs","esm":"./esm2022/modal/examples/daffodil-design-modal-examples.mjs","default":"./fesm2022/daffodil-design-modal-examples.mjs"},"./navbar/examples":{"types":"./navbar/examples/index.d.ts","esm2022":"./esm2022/navbar/examples/daffodil-design-navbar-examples.mjs","esm":"./esm2022/navbar/examples/daffodil-design-navbar-examples.mjs","default":"./fesm2022/daffodil-design-navbar-examples.mjs"},"./notification/examples":{"types":"./notification/examples/index.d.ts","esm2022":"./esm2022/notification/examples/daffodil-design-notification-examples.mjs","esm":"./esm2022/notification/examples/daffodil-design-notification-examples.mjs","default":"./fesm2022/daffodil-design-notification-examples.mjs"},"./paginator/examples":{"types":"./paginator/examples/index.d.ts","esm2022":"./esm2022/paginator/examples/daffodil-design-paginator-examples.mjs","esm":"./esm2022/paginator/examples/daffodil-design-paginator-examples.mjs","default":"./fesm2022/daffodil-design-paginator-examples.mjs"},"./quantity-field/examples":{"types":"./quantity-field/examples/index.d.ts","esm2022":"./esm2022/quantity-field/examples/daffodil-design-quantity-field-examples.mjs","esm":"./esm2022/quantity-field/examples/daffodil-design-quantity-field-examples.mjs","default":"./fesm2022/daffodil-design-quantity-field-examples.mjs"},"./radio/examples":{"types":"./radio/examples/index.d.ts","esm2022":"./esm2022/radio/examples/daffodil-design-radio-examples.mjs","esm":"./esm2022/radio/examples/daffodil-design-radio-examples.mjs","default":"./fesm2022/daffodil-design-radio-examples.mjs"},"./sidebar/examples":{"types":"./sidebar/examples/index.d.ts","esm2022":"./esm2022/sidebar/examples/daffodil-design-sidebar-examples.mjs","esm":"./esm2022/sidebar/examples/daffodil-design-sidebar-examples.mjs","default":"./fesm2022/daffodil-design-sidebar-examples.mjs"},"./toast/examples":{"types":"./toast/examples/index.d.ts","esm2022":"./esm2022/toast/examples/daffodil-design-toast-examples.mjs","esm":"./esm2022/toast/examples/daffodil-design-toast-examples.mjs","default":"./fesm2022/daffodil-design-toast-examples.mjs"},"./tree/examples":{"types":"./tree/examples/index.d.ts","esm2022":"./esm2022/tree/examples/daffodil-design-tree-examples.mjs","esm":"./esm2022/tree/examples/daffodil-design-tree-examples.mjs","default":"./fesm2022/daffodil-design-tree-examples.mjs"}},"module":"fesm2022/daffodil-design.mjs","typings":"index.d.ts","sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
package/scss/theme.scss CHANGED
@@ -40,6 +40,7 @@
40
40
  @use '../sidebar/src/sidebar-theme' as sidebar;
41
41
  @use '../scss/state/skeleton/mixins' as skeleton;
42
42
  @use '../tree/src/tree-theme' as tree;
43
+ @use '../toast/src/toast-theme' as toast;
43
44
 
44
45
  //
45
46
  // Generates the styles of a @daffodil/design theme.
@@ -81,4 +82,5 @@
81
82
  @include paginator.daff-paginator-theme($theme);
82
83
  @include sidebar.daff-sidebar-theme($theme);
83
84
  @include tree.daff-tree-theme($theme);
85
+ @include toast.daff-toast-theme($theme);
84
86
  }
@@ -0,0 +1,115 @@
1
+ # Toast
2
+ Toasts are small messages designed to mimic push notifications. They are used to provide users with application level information.
3
+
4
+ ## Overview
5
+ Toasts should be used to display temporary messages about actions or events that occured or in need of attention, with no relation to content on a page. For messaging that provide context in close promixity to a piece of content within a page, use the [Notification](../notification/README.md) component.
6
+
7
+ ### Basic Toast
8
+ <design-land-article-encapsulated>
9
+ <design-land-example-viewer-container example="default-toast"></design-land-example-viewer-container>
10
+ </design-land-article-encapsulated>
11
+
12
+ ### Configurations
13
+ Toast can be configured by using the `DaffToastService`.
14
+
15
+ The following is an example of a toast with a duration:
16
+
17
+ ```ts
18
+ constructor(private toastService: DaffToastService) {}
19
+
20
+ open() {
21
+ this.toast = this.toastService.open({
22
+ title: 'Update Complete',
23
+ message: 'This page has been updated to the newest version.',
24
+ },
25
+ {
26
+ duration: 5000,
27
+ });
28
+ }
29
+ ```
30
+
31
+ The following is an example of a toast with actions:
32
+
33
+ ```ts
34
+ open() {
35
+ this.toast = this.toastService.open({
36
+ title: 'Update Available',
37
+ message: 'A new version of this page is available.',
38
+ actions: [
39
+ { content: 'Update', color: 'theme-contrast', size: 'sm', eventEmitter: this.update },
40
+ { content: 'Remind me later', type: 'flat', size: 'sm', eventEmitter: this.closeToast },
41
+ ]
42
+ });
43
+ }
44
+ ```
45
+
46
+ The following configurations are available in the `DaffToastService`:
47
+
48
+ | Property | Type | Description | Default |
49
+ | -------- | ------ | ------------------------------- | ------- |
50
+ | title | string | A quick overview of the toast | -- |
51
+ | message | string | Additional details about the message that should be limited to one or two sentences | -- |
52
+ | actions | `DaffToastAction` | Adds a `daff-button` that allow users to perform an action related to the message. Actions should be limited to two buttons. | -- |
53
+ | dismissible | boolean | Allows a toast to be dismissible via a close button | true |
54
+ | duration | number | The duration in milliseconds that a toast is visible before it's dismissed | 5000 |
55
+
56
+ The `actions` configurations are based on the properties of the `DaffButtonComponent` (view [Button Documentation](../src/atoms/button/README.md)) with the addition of `data` and `eventEmitter`.
57
+
58
+ ### Dismissal
59
+ A toast can be dismissed via a timed duration, a close button, or the `ESC` key.
60
+
61
+ ##### Timed duration
62
+ A toast with actions will persist until one of the actions have been interacted with, or is dismissed by the close button or the `ESC` key. Actionable toasts should be persistent, but a duration is allowed to be set. If duration must be set, make sure it's long enough for users to engage with the actions.
63
+
64
+ By default, a toast without actions will be dismissed after `5000ms`. This can be updated by setting `duration` through the `DaffToastService`.
65
+
66
+ #### Toast with custom duration
67
+ <design-land-example-viewer-container example="toast-with-custom-duration"></design-land-example-viewer-container>
68
+
69
+ ##### Close button
70
+ The close button is shown by default but can be hidden by setting `dismissible: false` through the `DaffToastService`.
71
+
72
+ ##### Escape Key
73
+ A toast can be dismissed by using the `ESC` key if it has actions and is focus trapped.
74
+
75
+ ### Stacking
76
+ A maximum of three toasts can be shown at a time. Toasts are stacked vertically, with the most recent toast displayed on top.
77
+
78
+ ### Statuses
79
+ The status color of a toast can be updated by using the `status` property.
80
+
81
+ Supported statuses: `warn | danger | success`
82
+
83
+ #### Toast with statuses
84
+ <design-land-example-viewer-container example="toast-status"></design-land-example-viewer-container>
85
+
86
+ ### Positions
87
+
88
+ | Property | Value | Default |
89
+ | ------------ | ------------------------ | ------- |
90
+ | `vertical` | `top | bottom` | top |
91
+ | `horizontal` | `left | center | right ` | right |
92
+
93
+ To change the horizontal and vertical position of a toast, add the `provideDaffToastOptions` dependency key to the `providers` key in the module as shown below:
94
+
95
+ ```ts
96
+ providers: [
97
+ provideDaffToastOptions({
98
+ position: {
99
+ vertical: 'bottom',
100
+ horizontal: 'center',
101
+ }
102
+ useParent: false,
103
+ })
104
+ ]
105
+ ```
106
+
107
+ The position of a toast on a mobile device will always be on the bottom center.
108
+
109
+ #### Toast with configurable positions
110
+ <design-land-example-viewer-container example="toast-positions"></design-land-example-viewer-container>
111
+
112
+ ### Accessibility
113
+ By default, toasts use a `role="status"` to announce messages. It's the equivalent of `aria-live="polite"`, which does not interrupt a user's current activity and waits until they are idle to make the announcement. When a toast has actions, a `role="alertdialog"` is used. The toast will be focus trapped and focus immediately moves to the actions.
114
+
115
+ Avoid setting a duration on toasts with actions because they will disappear automatically, making it difficult for users to interact with the actions.
@@ -0,0 +1,15 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { DaffToastAction, DaffToastService } from '@daffodil/design/toast';
3
+ import * as i0 from "@angular/core";
4
+ export declare class DefaultToastComponent implements OnInit {
5
+ private toastService;
6
+ private toast;
7
+ constructor(toastService: DaffToastService);
8
+ update: EventEmitter<DaffToastAction>;
9
+ closeToast: EventEmitter<DaffToastAction>;
10
+ open(): void;
11
+ ngOnInit(): void;
12
+ private count;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefaultToastComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<DefaultToastComponent, "default-toast", never, {}, {}, never, never, false, never>;
15
+ }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./default-toast.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@daffodil/design/toast";
5
+ import * as i4 from "@fortawesome/angular-fontawesome";
6
+ import * as i5 from "@daffodil/design/button";
7
+ export declare class DefaultToastModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefaultToastModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DefaultToastModule, [typeof i1.DefaultToastComponent], [typeof i2.CommonModule, typeof i3.DaffToastModule, typeof i4.FontAwesomeModule, typeof i5.DaffButtonModule], [typeof i1.DefaultToastComponent]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<DefaultToastModule>;
11
+ }
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,2 @@
1
+ import { ComponentExample } from '@daffodil/design';
2
+ export declare const TOAST_EXAMPLES: ComponentExample[];
@@ -0,0 +1,17 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { DaffToastService, DaffToastPositionService } from '@daffodil/design/toast';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ToastPositionsComponent implements OnInit {
6
+ private toastService;
7
+ private toastPositionService;
8
+ private toast;
9
+ constructor(toastService: DaffToastService, toastPositionService: DaffToastPositionService);
10
+ open(): void;
11
+ private count;
12
+ horizontalControl: FormControl;
13
+ verticalControl: FormControl;
14
+ ngOnInit(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastPositionsComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToastPositionsComponent, "toast-positions", never, {}, {}, never, never, false, never>;
17
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./toast-positions.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "@daffodil/design/toast";
6
+ import * as i5 from "@fortawesome/angular-fontawesome";
7
+ import * as i6 from "@daffodil/design/button";
8
+ export declare class ToastPositionsModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastPositionsModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ToastPositionsModule, [typeof i1.ToastPositionsComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.DaffToastModule, typeof i5.FontAwesomeModule, typeof i6.DaffButtonModule], [typeof i1.ToastPositionsComponent]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<ToastPositionsModule>;
12
+ }
@@ -0,0 +1,14 @@
1
+ import { FormControl } from '@angular/forms';
2
+ import { DaffToastService } from '@daffodil/design/toast';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ToastStatusComponent {
5
+ private toastService;
6
+ faInfoCircle: import("@fortawesome/fontawesome-common-types").IconDefinition;
7
+ faCheck: import("@fortawesome/fontawesome-common-types").IconDefinition;
8
+ faExclamation: import("@fortawesome/fontawesome-common-types").IconDefinition;
9
+ statusControl: FormControl;
10
+ constructor(toastService: DaffToastService);
11
+ open(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastStatusComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToastStatusComponent, "toast-status", never, {}, {}, never, never, false, never>;
14
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./toast-status.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@daffodil/design/toast";
5
+ import * as i4 from "@daffodil/design/button";
6
+ import * as i5 from "@fortawesome/angular-fontawesome";
7
+ import * as i6 from "@angular/forms";
8
+ export declare class ToastStatusModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastStatusModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ToastStatusModule, [typeof i1.ToastStatusComponent], [typeof i2.CommonModule, typeof i3.DaffToastModule, typeof i4.DaffButtonModule, typeof i5.FontAwesomeModule, typeof i6.ReactiveFormsModule], [typeof i1.ToastStatusComponent]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<ToastStatusModule>;
12
+ }
@@ -0,0 +1,10 @@
1
+ import { DaffToastService } from '@daffodil/design/toast';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ToastWithCustomDurationComponent {
4
+ private toastService;
5
+ private toast;
6
+ constructor(toastService: DaffToastService);
7
+ open(): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastWithCustomDurationComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToastWithCustomDurationComponent, "toast-with-custom-duration", never, {}, {}, never, never, false, never>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./toast-with-custom-duration.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@daffodil/design/toast";
5
+ import * as i4 from "@daffodil/design/button";
6
+ export declare class ToastWithCustomDurationModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastWithCustomDurationModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ToastWithCustomDurationModule, [typeof i1.ToastWithCustomDurationComponent], [typeof i2.CommonModule, typeof i3.DaffToastModule, typeof i4.DaffButtonModule], [typeof i1.ToastWithCustomDurationComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<ToastWithCustomDurationModule>;
10
+ }
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,38 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { DaffPalette, DaffStatus } from '@daffodil/design';
3
+ /**
4
+ * An interface for properties of actions, specifically the DaffButtonComponent, placed inside of the toast.
5
+ */
6
+ export interface DaffToastAction {
7
+ /**
8
+ * The types of buttons available to be used, as defined in the {@link DaffButtonComponent}.
9
+ */
10
+ type?: 'raised' | 'underline' | 'stroked' | 'flat' | undefined;
11
+ /**
12
+ * The text for the button
13
+ */
14
+ content: string;
15
+ /**
16
+ * The size of the button, as defined in the {@link DaffButtonComponent}.
17
+ */
18
+ size?: 'sm' | 'md' | 'lg' | undefined;
19
+ /**
20
+ * The color of the button, as defined in the {@link DaffButtonComponent}.
21
+ * Color and status should not be used simultaneously.
22
+ */
23
+ color?: DaffPalette;
24
+ /**
25
+ * The status of the button, as defined in the {@link DaffButtonComponent}.
26
+ * Color and status should not be used simultaneously.
27
+ */
28
+ status?: DaffStatus;
29
+ data?: Record<string, any>;
30
+ /**
31
+ * Sets an EventEmitter on a DaffToastAction
32
+ */
33
+ eventEmitter?: EventEmitter<DaffToastAction>;
34
+ }
35
+ export interface DaffToastActionEvent {
36
+ event: MouseEvent;
37
+ action: DaffToastAction;
38
+ }
@@ -0,0 +1,20 @@
1
+ import { Observable } from 'rxjs';
2
+ import { DaffStatus } from '@daffodil/design';
3
+ import { DaffToastAction } from './toast-action';
4
+ /** Possible data that can be shown on a toast */
5
+ export interface DaffToastData {
6
+ /** A title that provides a quick oveview of the toast */
7
+ title: string;
8
+ /** A short message used to provide additional details about the toast */
9
+ message?: string;
10
+ /** Sets a status on the toast */
11
+ status?: DaffStatus;
12
+ /** Used to display actions in the toast */
13
+ actions?: DaffToastAction[];
14
+ /** Whether or not the toast is dismissible */
15
+ dismissible?: boolean;
16
+ }
17
+ export interface DaffToast extends DaffToastData {
18
+ dismiss: () => void;
19
+ dismissalStream: Observable<void | number>;
20
+ }
@@ -0,0 +1,15 @@
1
+ import { InjectionToken, ValueProvider } from '@angular/core';
2
+ export interface VerticalPositionTypes {
3
+ vertical: 'top' | 'bottom';
4
+ }
5
+ export interface HorizontalPositionTypes {
6
+ horizontal: 'left' | 'center' | 'right';
7
+ }
8
+ export type DaffToastPosition = VerticalPositionTypes & HorizontalPositionTypes;
9
+ export interface DaffToastOptions {
10
+ position: DaffToastPosition;
11
+ useParent: boolean;
12
+ }
13
+ export declare const daffToastDefaultOptions: DaffToastOptions;
14
+ export declare const DAFF_TOAST_OPTIONS: InjectionToken<DaffToastOptions>;
15
+ export declare const provideDaffToastOptions: (options: DaffToastOptions) => ValueProvider;
@@ -0,0 +1,11 @@
1
+ export { DaffToastPositionService } from './service/position.service';
2
+ export { DaffToastModule } from './toast.module';
3
+ export { DaffToastService } from './service/toast.service';
4
+ export { DaffToastConfiguration } from './toast/toast-config';
5
+ export { DaffToast, DaffToastData, } from './interfaces/toast';
6
+ export { DaffToastAction } from './interfaces/toast-action';
7
+ export { DAFF_TOAST_OPTIONS, provideDaffToastOptions, } from './options/daff-toast-options';
8
+ export * from './toast/toast.component';
9
+ export * from './toast-actions/toast-actions.directive';
10
+ export * from './toast-title/toast-title.directive';
11
+ export * from './toast-message/toast-message.directive';
@@ -0,0 +1,2 @@
1
+ import { DaffToast } from '../interfaces/toast';
2
+ export declare const daffToastChangesFocus: (toast: DaffToast) => boolean;
@@ -0,0 +1,3 @@
1
+ import { PositionStrategy } from '@angular/cdk/overlay';
2
+ import { DaffToastPosition } from '../options/daff-toast-options';
3
+ export declare const createPositionStrategy: (position: DaffToastPosition) => PositionStrategy;