@onemrvapublic/design-system 18.2.5-develop.3 → 18.2.5-develop.4

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.
Files changed (144) hide show
  1. package/esm2022/flag-icon/src/flag-icon.component.mjs +1 -1
  2. package/esm2022/layout/src/components/index.mjs +1 -1
  3. package/esm2022/layout/src/components/layout/layout.component.mjs +1 -1
  4. package/esm2022/layout/src/components/layout-drawer-title/layout-drawer-title.component.mjs +1 -1
  5. package/esm2022/layout/src/components/layout-footer/layout-footer.component.mjs +2 -3
  6. package/esm2022/layout/src/components/layout-sidenav/layout-sidenav.component.mjs +1 -1
  7. package/esm2022/layout/src/models/onemrva-profile.model.mjs +1 -1
  8. package/esm2022/layout/src/services/drawer.service.mjs +2 -2
  9. package/esm2022/mat-avatar/src/onemrva-mat-avatar.component.mjs +1 -1
  10. package/esm2022/mat-badge/src/onemrva-mat-badge.component.mjs +1 -2
  11. package/esm2022/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.mjs +1 -1
  12. package/esm2022/mat-carousel/src/onemrva-mat-carousel.component.mjs +5 -8
  13. package/esm2022/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.mjs +1 -1
  14. package/esm2022/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.mjs +1 -1
  15. package/esm2022/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.mjs +1 -1
  16. package/esm2022/mat-file-upload/src/directives/dnd.directive.mjs +1 -1
  17. package/esm2022/mat-file-upload/src/models/progress-file.model.mjs +1 -1
  18. package/esm2022/mat-input-bank-account/src/bank-account.component.mjs +11 -4
  19. package/esm2022/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.mjs +3 -3
  20. package/esm2022/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.mjs +1 -1
  21. package/esm2022/mat-input-country/src/onemrva-mat-input-country.component.mjs +1 -1
  22. package/esm2022/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.mjs +1 -1
  23. package/esm2022/mat-input-phone/src/onemrva-mat-input-phone.component.mjs +1 -1
  24. package/esm2022/mat-input-phone/src/phone-number.directive.mjs +2 -3
  25. package/esm2022/mat-message-box/src/onemrva-mat-message-box.component.mjs +1 -1
  26. package/esm2022/mat-multi-select/src/onemrva-mat-multi-select.component.mjs +15 -7
  27. package/esm2022/mat-notification/src/onemrva-mat-notification.component.mjs +1 -1
  28. package/esm2022/mat-paginator/src/onemrva-mat-paginator.component.mjs +4 -4
  29. package/esm2022/mat-panel/src/onemrva-mat-panel.component.mjs +6 -6
  30. package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-content.component.mjs +1 -1
  31. package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-trigger.component.mjs +1 -1
  32. package/esm2022/mat-pop-over/src/onemrva-mat-pop-over.component.mjs +3 -3
  33. package/esm2022/mat-progress-bar/src/onemrva-mat-progress-bar.component.mjs +3 -3
  34. package/esm2022/mat-select-search/src/mat-select-search.component.mjs +4 -3
  35. package/esm2022/mat-selectable-box/src/onemrva-mat-selectable-box.component.mjs +1 -1
  36. package/esm2022/mat-side-menu/src/onemrva-mat-side-menu.component.mjs +3 -3
  37. package/esm2022/mat-skeleton/src/onemrva-mat-skeleton-enums.mjs +1 -1
  38. package/esm2022/mat-skeleton/src/onemrva-mat-skeleton.component.mjs +14 -14
  39. package/esm2022/mat-spinner/src/onemrva-mat-loading.directive.mjs +1 -1
  40. package/esm2022/mat-stepper/src/onemrva-mat-stepper.component.mjs +7 -4
  41. package/esm2022/mat-sticker/src/onemrva-mat-sticker.component.mjs +5 -5
  42. package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.component.mjs +3 -4
  43. package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.directive.mjs +1 -1
  44. package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.service.mjs +1 -1
  45. package/esm2022/mat-table-of-content/src/onemrva-mat-toc-anchor.model.mjs +1 -1
  46. package/esm2022/mat-task-list/src/onemrva-mat-task-list.component.mjs +1 -1
  47. package/esm2022/mat-task-list/src/onemrva-mat-task.component.mjs +2 -1
  48. package/esm2022/mat-timepicker/src/clock/clock.component.mjs +3 -3
  49. package/esm2022/mat-timepicker/src/interfaces-and-types.mjs +1 -1
  50. package/esm2022/mat-timepicker/src/onemrva-mat-timepicker.component.mjs +1 -1
  51. package/esm2022/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.mjs +3 -3
  52. package/esm2022/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.mjs +1 -1
  53. package/esm2022/mat-timepicker/src/timepicker.directive.mjs +3 -24
  54. package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.directive.mjs +1 -1
  55. package/esm2022/page-not-found/src/page-not-found-invader.component.mjs +5 -4
  56. package/esm2022/shared/src/lib/adapters/date.adapter.mjs +1 -1
  57. package/esm2022/shared/src/lib/containers/WebComponentOverlayContainer.mjs +4 -4
  58. package/esm2022/shared/src/lib/directives/clipboard.directive.mjs +1 -1
  59. package/esm2022/shared/src/lib/directives/color.directive.mjs +2 -2
  60. package/esm2022/shared/src/lib/directives/digit-only.directive.mjs +2 -3
  61. package/esm2022/shared/src/lib/directives/mask.directive.mjs +1 -1
  62. package/esm2022/shared/src/lib/directives/mat-row-clickable.directive.mjs +2 -2
  63. package/esm2022/shared/src/lib/loaders/onemrva-translate-cdn-loader.mjs +1 -1
  64. package/esm2022/shared/src/lib/loaders/onemrva-translate-http-loader.mjs +1 -1
  65. package/esm2022/shared/src/lib/services/cache.service.mjs +2 -3
  66. package/esm2022/shared/src/lib/services/cdn.service.mjs +1 -1
  67. package/esm2022/shared/src/lib/services/country-lookup.service.mjs +1 -1
  68. package/esm2022/shared/src/lib/shared.datepicker.module.mjs +1 -1
  69. package/esm2022/shared/src/lib/validators/bank-account.validator.utils.mjs +1 -1
  70. package/esm2022/utils/src/enum.utils.mjs +1 -1
  71. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
  72. package/fesm2022/onemrvapublic-design-system-layout.mjs +2 -3
  73. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  74. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
  75. package/fesm2022/onemrvapublic-design-system-mat-badge.mjs +0 -1
  76. package/fesm2022/onemrvapublic-design-system-mat-badge.mjs.map +1 -1
  77. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +4 -7
  78. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
  79. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
  80. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
  81. package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs +12 -5
  82. package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs.map +1 -1
  83. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
  84. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
  85. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
  86. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +1 -2
  87. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
  88. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
  89. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +14 -6
  90. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
  91. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
  92. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +3 -3
  93. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
  94. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +5 -5
  95. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
  96. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +2 -2
  97. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
  98. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +2 -2
  99. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
  100. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +3 -2
  101. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
  102. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
  103. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +2 -2
  104. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
  105. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +13 -13
  106. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
  107. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
  108. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +6 -3
  109. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
  110. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +4 -4
  111. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
  112. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +2 -3
  113. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
  114. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +1 -0
  115. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
  116. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +6 -27
  117. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -1
  118. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
  119. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +4 -3
  120. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
  121. package/fesm2022/onemrvapublic-design-system-shared.mjs +7 -9
  122. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  123. package/fesm2022/onemrvapublic-design-system-utils.mjs.map +1 -1
  124. package/layout/src/components/index.d.ts +10 -1
  125. package/layout/src/components/layout-footer/layout-footer.component.d.ts +0 -1
  126. package/layout/src/services/drawer.service.d.ts +0 -1
  127. package/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.d.ts +1 -1
  128. package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.d.ts +0 -1
  129. package/mat-input-phone/src/phone-number.directive.d.ts +0 -1
  130. package/mat-paginator/src/onemrva-mat-paginator.component.d.ts +1 -1
  131. package/mat-panel/src/onemrva-mat-panel.component.d.ts +1 -1
  132. package/mat-skeleton/src/onemrva-mat-skeleton-enums.d.ts +1 -3
  133. package/mat-skeleton/src/onemrva-mat-skeleton.component.d.ts +1 -2
  134. package/mat-sticker/src/onemrva-mat-sticker.component.d.ts +0 -1
  135. package/mat-table-of-content/src/onemrva-mat-toc-anchor.model.d.ts +1 -3
  136. package/mat-timepicker/src/interfaces-and-types.d.ts +1 -5
  137. package/package.json +1 -1
  138. package/page-not-found/src/page-not-found-invader.component.d.ts +0 -1
  139. package/shared/src/lib/directives/color.directive.d.ts +0 -1
  140. package/shared/src/lib/directives/digit-only.directive.d.ts +0 -1
  141. package/shared/src/lib/directives/mat-row-clickable.directive.d.ts +0 -1
  142. package/shared/src/lib/services/cache.service.d.ts +0 -1
  143. package/shared/src/lib/services/country-lookup.service.d.ts +2 -2
  144. package/utils/src/enum.utils.d.ts +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-badge.mjs","sources":["../../../../projects/onemrva/design-system/mat-badge/src/onemrva-mat-badge.component.ts","../../../../projects/onemrva/design-system/mat-badge/src/onemrva-mat-badge.module.ts","../../../../projects/onemrva/design-system/mat-badge/index.ts","../../../../projects/onemrva/design-system/mat-badge/onemrvapublic-design-system-mat-badge.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { AriaDescriber } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport { CanDisable, mixinDisabled } from '@angular/material/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\nlet nextId = 0;\n\n// Boilerplate for applying mixins to MatBadge.\n/** @docs-private */\nconst _MatBadgeBase = mixinDisabled(class {});\n\n/** Possible color palette values. */\nexport declare type ThemePalette =\n | 'primary'\n | 'accent'\n | 'warn'\n | 'success'\n | 'error'\n | 'info'\n | 'grayscale'\n | undefined;\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n | 'above after'\n | 'above before'\n | 'below before'\n | 'below after'\n | 'before'\n | 'after'\n | 'above'\n | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\nconst BADGE_CONTENT_CLASS = 'mat-badge-content';\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n // eslint-disable-next-line\n inputs: ['disabled: matBadgeDisabled'],\n // eslint-disable-next-line\n host: {\n class: 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !content',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class OnemrvaMatBadgeDirective\n extends _MatBadgeBase\n implements OnInit, OnDestroy, CanDisable\n{\n /** The color of the badge. Can be `primary`, `accent`, or `warn`. */\n @Input('matBadgeColor')\n get color(): ThemePalette {\n return this._color;\n }\n\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input('matBadgeOverlap')\n get overlap(): boolean {\n return this._overlap;\n }\n\n set overlap(val: BooleanInput) {\n this._overlap = coerceBooleanProperty(val);\n }\n\n private _overlap: boolean = true;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge')\n get content(): string | number | undefined | null {\n return this._content;\n }\n\n set content(newContent: string | number | undefined | null) {\n this._updateRenderedContent(newContent);\n }\n\n private _content: string | number | undefined | null;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string {\n return this._description;\n }\n\n set description(newDescription: string) {\n this._updateHostAriaDescription(newDescription);\n }\n\n private _description: string = '';\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input('matBadgeHidden')\n get hidden(): boolean {\n return this._hidden;\n }\n\n set hidden(val: BooleanInput) {\n this._hidden = coerceBooleanProperty(val);\n }\n\n private _hidden: boolean = false;\n\n @HostBinding('class.mat-badge-icon')\n isIcon: boolean = false;\n\n /** Unique id for the badge */\n _id: number = nextId++;\n\n /** Visible badge element. */\n private _badgeElement: HTMLElement | undefined;\n\n /** Whether the OnInit lifecycle hook has run yet */\n private _isInitialized = false;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _ariaDescriber: AriaDescriber,\n private _renderer: Renderer2,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) private _animationMode?: string,\n ) {\n super();\n\n // if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // const nativeElement = _elementRef.nativeElement;\n // if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n // throw Error('matBadge must be attached to an element node.');\n // }\n // }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n /**\n * Gets the element into which the badge's content is being rendered. Undefined if the element\n * hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n ngOnInit() {\n // We may have server-side rendered badge that we need to clear.\n // We need to do this in ngOnInit because the full content of the component\n // on which the badge is attached won't necessarily be in the DOM until this point.\n this._clearExistingBadges();\n\n if (this.content && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n this._updateRenderedContent(this.content);\n }\n\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n // ViewEngine only: when creating a badge through the Renderer, Angular remembers its index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(this._badgeElement);\n }\n\n this._ariaDescriber.removeDescription(\n this._elementRef.nativeElement,\n this.description,\n );\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n\n badgeElement.setAttribute('id', `mat-badge-content-${this._id}`);\n\n // The badge is aria-hidden because we don't want it to appear in the page's navigation\n // flow. Instead, we use the badge to describe the decorated element with aria-describedby.\n badgeElement.setAttribute('aria-hidden', 'true');\n badgeElement.classList.add(BADGE_CONTENT_CLASS);\n\n if (this._animationMode === 'NoopAnimations') {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (\n typeof requestAnimationFrame === 'function' &&\n this._animationMode !== 'NoopAnimations'\n ) {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Update the text content of the badge element in the DOM, creating the element if necessary. */\n private _updateRenderedContent(\n newContent: string | number | undefined | null,\n ): void {\n let newContentNormalized: string = `${newContent ?? ''}`.trim();\n //const newContentNormalized: string = '\\uf063';\n if (typeof newContent === 'string' && newContent.substring(0, 2) == '\\\\u') {\n this.isIcon = true;\n newContentNormalized = String.fromCodePoint(\n parseInt(newContent.substring(2, newContent.length), 16),\n );\n } else if (typeof newContent === 'number' || !isNaN(Number(newContent))) {\n if (typeof newContent === 'string') newContent = parseInt(newContent);\n else if (newContent === null || newContent === undefined) newContent = 0;\n if (newContent >= 100) {\n newContentNormalized = '99+';\n }\n }\n // Don't create the badge element if the directive isn't initialized because we want to\n // append the badge element to the *end* of the host element's content for backwards\n // compatibility.\n if (this._isInitialized && newContentNormalized && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n\n if (this._badgeElement) {\n this._badgeElement.textContent = newContentNormalized;\n }\n\n this._content = newContentNormalized;\n }\n\n /** Updates the host element's aria description via AriaDescriber. */\n private _updateHostAriaDescription(newDescription: string): void {\n this._ariaDescriber.removeDescription(\n this._elementRef.nativeElement,\n this.description,\n );\n if (newDescription) {\n this._ariaDescriber.describe(\n this._elementRef.nativeElement,\n newDescription,\n );\n }\n this._description = newDescription;\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-badge-${this._color}`);\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges() {\n // Only check direct children of this host element in order to avoid deleting\n // any badges that might exist in descendant elements.\n const badges = this._elementRef.nativeElement.querySelectorAll(\n `:scope > .${BADGE_CONTENT_CLASS}`,\n );\n for (const badgeElement of Array.from(badges)) {\n if (badgeElement !== this._badgeElement) {\n badgeElement.remove();\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { OnemrvaMatBadgeDirective } from './onemrva-mat-badge.component';\n\n@NgModule({\n declarations: [OnemrvaMatBadgeDirective],\n exports: [OnemrvaMatBadgeDirective],\n})\nexport class OnemrvaMatBadgeModule {}\n","/*\n * Public API Surface of mat-badge\n */\n\nexport * from './src/onemrva-mat-badge.component';\nexport * from './src/onemrva-mat-badge.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-badge.mjs","sources":["../../../../projects/onemrva/design-system/mat-badge/src/onemrva-mat-badge.component.ts","../../../../projects/onemrva/design-system/mat-badge/src/onemrva-mat-badge.module.ts","../../../../projects/onemrva/design-system/mat-badge/index.ts","../../../../projects/onemrva/design-system/mat-badge/onemrvapublic-design-system-mat-badge.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { AriaDescriber } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport { CanDisable, mixinDisabled } from '@angular/material/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\nlet nextId = 0;\n\n// Boilerplate for applying mixins to MatBadge.\n/** @docs-private */\nconst _MatBadgeBase = mixinDisabled(class {});\n\n/** Possible color palette values. */\nexport declare type ThemePalette =\n | 'primary'\n | 'accent'\n | 'warn'\n | 'success'\n | 'error'\n | 'info'\n | 'grayscale'\n | undefined;\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n | 'above after'\n | 'above before'\n | 'below before'\n | 'below after'\n | 'before'\n | 'after'\n | 'above'\n | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\nconst BADGE_CONTENT_CLASS = 'mat-badge-content';\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n // eslint-disable-next-line\n inputs: ['disabled: matBadgeDisabled'],\n\n host: {\n class: 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !content',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class OnemrvaMatBadgeDirective\n extends _MatBadgeBase\n implements OnInit, OnDestroy, CanDisable\n{\n /** The color of the badge. Can be `primary`, `accent`, or `warn`. */\n @Input('matBadgeColor')\n get color(): ThemePalette {\n return this._color;\n }\n\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input('matBadgeOverlap')\n get overlap(): boolean {\n return this._overlap;\n }\n\n set overlap(val: BooleanInput) {\n this._overlap = coerceBooleanProperty(val);\n }\n\n private _overlap = true;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge')\n get content(): string | number | undefined | null {\n return this._content;\n }\n\n set content(newContent: string | number | undefined | null) {\n this._updateRenderedContent(newContent);\n }\n\n private _content: string | number | undefined | null;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string {\n return this._description;\n }\n\n set description(newDescription: string) {\n this._updateHostAriaDescription(newDescription);\n }\n\n private _description = '';\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input('matBadgeHidden')\n get hidden(): boolean {\n return this._hidden;\n }\n\n set hidden(val: BooleanInput) {\n this._hidden = coerceBooleanProperty(val);\n }\n\n private _hidden = false;\n\n @HostBinding('class.mat-badge-icon')\n isIcon = false;\n\n /** Unique id for the badge */\n _id: number = nextId++;\n\n /** Visible badge element. */\n private _badgeElement: HTMLElement | undefined;\n\n /** Whether the OnInit lifecycle hook has run yet */\n private _isInitialized = false;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _ariaDescriber: AriaDescriber,\n private _renderer: Renderer2,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) private _animationMode?: string,\n ) {\n super();\n\n // if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // const nativeElement = _elementRef.nativeElement;\n // if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n // throw Error('matBadge must be attached to an element node.');\n // }\n // }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n /**\n * Gets the element into which the badge's content is being rendered. Undefined if the element\n * hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n ngOnInit() {\n // We may have server-side rendered badge that we need to clear.\n // We need to do this in ngOnInit because the full content of the component\n // on which the badge is attached won't necessarily be in the DOM until this point.\n this._clearExistingBadges();\n\n if (this.content && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n this._updateRenderedContent(this.content);\n }\n\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n // ViewEngine only: when creating a badge through the Renderer, Angular remembers its index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(this._badgeElement);\n }\n\n this._ariaDescriber.removeDescription(\n this._elementRef.nativeElement,\n this.description,\n );\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n\n badgeElement.setAttribute('id', `mat-badge-content-${this._id}`);\n\n // The badge is aria-hidden because we don't want it to appear in the page's navigation\n // flow. Instead, we use the badge to describe the decorated element with aria-describedby.\n badgeElement.setAttribute('aria-hidden', 'true');\n badgeElement.classList.add(BADGE_CONTENT_CLASS);\n\n if (this._animationMode === 'NoopAnimations') {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (\n typeof requestAnimationFrame === 'function' &&\n this._animationMode !== 'NoopAnimations'\n ) {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Update the text content of the badge element in the DOM, creating the element if necessary. */\n private _updateRenderedContent(\n newContent: string | number | undefined | null,\n ): void {\n let newContentNormalized: string = `${newContent ?? ''}`.trim();\n //const newContentNormalized: string = '\\uf063';\n if (typeof newContent === 'string' && newContent.substring(0, 2) == '\\\\u') {\n this.isIcon = true;\n newContentNormalized = String.fromCodePoint(\n parseInt(newContent.substring(2, newContent.length), 16),\n );\n } else if (typeof newContent === 'number' || !isNaN(Number(newContent))) {\n if (typeof newContent === 'string') newContent = parseInt(newContent);\n else if (newContent === null || newContent === undefined) newContent = 0;\n if (newContent >= 100) {\n newContentNormalized = '99+';\n }\n }\n // Don't create the badge element if the directive isn't initialized because we want to\n // append the badge element to the *end* of the host element's content for backwards\n // compatibility.\n if (this._isInitialized && newContentNormalized && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n\n if (this._badgeElement) {\n this._badgeElement.textContent = newContentNormalized;\n }\n\n this._content = newContentNormalized;\n }\n\n /** Updates the host element's aria description via AriaDescriber. */\n private _updateHostAriaDescription(newDescription: string): void {\n this._ariaDescriber.removeDescription(\n this._elementRef.nativeElement,\n this.description,\n );\n if (newDescription) {\n this._ariaDescriber.describe(\n this._elementRef.nativeElement,\n newDescription,\n );\n }\n this._description = newDescription;\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-badge-${this._color}`);\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges() {\n // Only check direct children of this host element in order to avoid deleting\n // any badges that might exist in descendant elements.\n const badges = this._elementRef.nativeElement.querySelectorAll(\n `:scope > .${BADGE_CONTENT_CLASS}`,\n );\n for (const badgeElement of Array.from(badges)) {\n if (badgeElement !== this._badgeElement) {\n badgeElement.remove();\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { OnemrvaMatBadgeDirective } from './onemrva-mat-badge.component';\n\n@NgModule({\n declarations: [OnemrvaMatBadgeDirective],\n exports: [OnemrvaMatBadgeDirective],\n})\nexport class OnemrvaMatBadgeModule {}\n","/*\n * Public API Surface of mat-badge\n */\n\nexport * from './src/onemrva-mat-badge.component';\nexport * from './src/onemrva-mat-badge.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -131,20 +131,17 @@ class OnemrvaMatCarouselComponent {
131
131
  }
132
132
  resize() {
133
133
  let biggest = 80;
134
- this.items.forEach((item, index) => {
135
- item.nativeElement.style.height = 'auto';
136
- });
137
- this.items.forEach((item, index) => {
134
+ this.items.forEach(item => {
138
135
  if (item.nativeElement.offsetHeight > biggest) {
139
136
  biggest = item.nativeElement.offsetHeight;
140
137
  }
141
138
  });
142
- this.items.forEach((item, index) => {
139
+ this.items.forEach(item => {
143
140
  item.nativeElement.style.height = biggest + 'px';
144
141
  });
145
142
  }
146
143
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatCarouselComponent, deps: [{ token: i1.AnimationBuilder }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: OnemrvaMatCarouselComponent, isStandalone: true, selector: "onemrva-mat-carousel", inputs: { timing: "timing", gap: "gap", padding: "padding", showControls: "showControls", autoplay: "autoplay", showDots: "showDots" }, host: { listeners: { "window:resize": "onResize($event)" } }, queries: [{ propertyName: "items", predicate: OnemrvaMatCarouselItemComponent }], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carouselWrapper"], descendants: true }], ngImport: i0, template: "<button\n *ngIf=\"hasPrev()\"\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n>\n <mat-icon class=\"large\">chevron_left</mat-icon>\n</button>\n<button\n *ngIf=\"hasNext()\"\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n class=\"controls next\"\n>\n <mat-icon class=\"large\">chevron_right</mat-icon>\n</button>\n\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content></ng-content>\n</section>\n\n<div class=\"dots\" *ngIf=\"showDots\">\n <span\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) + ' ' + (i + 1) + '/' + items.length\n \"\n [class.active]=\"i == currentSlide\"\n *ngFor=\"let item of items; index as i\"\n (click)=\"goto(i)\"\n ></span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], animations: [
144
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: OnemrvaMatCarouselComponent, isStandalone: true, selector: "onemrva-mat-carousel", inputs: { timing: "timing", gap: "gap", padding: "padding", showControls: "showControls", autoplay: "autoplay", showDots: "showDots" }, host: { listeners: { "window:resize": "onResize($event)" } }, queries: [{ propertyName: "items", predicate: OnemrvaMatCarouselItemComponent }], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carouselWrapper"], descendants: true }], ngImport: i0, template: "<button\n *ngIf=\"hasPrev()\"\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n>\n <mat-icon class=\"large\">chevron_left</mat-icon>\n</button>\n<button\n *ngIf=\"hasNext()\"\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n class=\"controls next\"\n>\n <mat-icon class=\"large\">chevron_right</mat-icon>\n</button>\n\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content></ng-content>\n</section>\n\n<div class=\"dots\" *ngIf=\"showDots\">\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) + ' ' + (i + 1) + '/' + items.length\n \"\n [class.active]=\"i === currentSlide\"\n *ngFor=\"let item of items; index as i\"\n (click)=\"goto(i)\"\n ></span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], animations: [
148
145
  trigger('inOutAnimation', [
149
146
  transition(':enter', [
150
147
  style({ opacity: 0 }),
@@ -170,7 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
170
167
  animate('1000ms ease-in', style({ opacity: 0 })),
171
168
  ]),
172
169
  ]),
173
- ], template: "<button\n *ngIf=\"hasPrev()\"\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n>\n <mat-icon class=\"large\">chevron_left</mat-icon>\n</button>\n<button\n *ngIf=\"hasNext()\"\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n class=\"controls next\"\n>\n <mat-icon class=\"large\">chevron_right</mat-icon>\n</button>\n\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content></ng-content>\n</section>\n\n<div class=\"dots\" *ngIf=\"showDots\">\n <span\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) + ' ' + (i + 1) + '/' + items.length\n \"\n [class.active]=\"i == currentSlide\"\n *ngFor=\"let item of items; index as i\"\n (click)=\"goto(i)\"\n ></span>\n</div>\n" }]
170
+ ], template: "<button\n *ngIf=\"hasPrev()\"\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n>\n <mat-icon class=\"large\">chevron_left</mat-icon>\n</button>\n<button\n *ngIf=\"hasNext()\"\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n class=\"controls next\"\n>\n <mat-icon class=\"large\">chevron_right</mat-icon>\n</button>\n\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content></ng-content>\n</section>\n\n<div class=\"dots\" *ngIf=\"showDots\">\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) + ' ' + (i + 1) + '/' + items.length\n \"\n [class.active]=\"i === currentSlide\"\n *ngFor=\"let item of items; index as i\"\n (click)=\"goto(i)\"\n ></span>\n</div>\n" }]
174
171
  }], ctorParameters: () => [{ type: i1.AnimationBuilder }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { items: [{
175
172
  type: ContentChildren,
176
173
  args: [OnemrvaMatCarouselItemComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-carousel.mjs","sources":["../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.html","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.html","../../../../projects/onemrva/design-system/mat-carousel/onemrvapublic-design-system-mat-carousel.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n})\nexport class OnemrvaMatCarouselItemComponent {\n @ViewChild(TemplateRef) tpl!: TemplateRef<any>;\n\n public nativeElement: HTMLElement;\n\n constructor(private element: ElementRef) {\n this.nativeElement = element.nativeElement;\n }\n\n @HostBinding('class.show')\n public show: boolean = false;\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport {\n animate,\n AnimationBuilder,\n AnimationFactory,\n AnimationPlayer,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule, TranslateModule],\n templateUrl: './onemrva-mat-carousel.component.html',\n animations: [\n trigger('inOutAnimation', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('1000ms ease-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('1000ms ease-in', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n @ContentChildren(OnemrvaMatCarouselItemComponent)\n items!: QueryList<OnemrvaMatCarouselItemComponent>;\n\n nativeElement: HTMLElement;\n\n @ViewChild('carouselWrapper')\n carousel!: ElementRef;\n\n private player?: AnimationPlayer;\n\n @Input() timing = '250ms ease-in';\n @Input() gap = 32;\n @Input() padding = 64;\n @Input() showControls = true;\n @Input() autoplay = 0;\n @Input() showDots: boolean = true;\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width: number = 0;\n private destroyed: Subject<any> = new Subject<any>();\n\n constructor(\n private builder: AnimationBuilder,\n private element: ElementRef,\n private renderer: Renderer2,\n ) {\n this.nativeElement = this.element.nativeElement;\n }\n\n ngOnInit() {\n if (this.autoplay > 0) {\n interval(this.autoplay)\n .pipe(takeUntil(this.destroyed))\n .subscribe(_i => {\n this.next();\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(_event: any) {\n this.width = this.nativeElement.offsetWidth - 2 * this.padding;\n this.items.forEach(item => {\n this.renderer.setStyle(item.nativeElement, 'width', `${this.width}px`);\n this.renderer.setStyle(\n item.nativeElement,\n 'margin-right',\n `${this.gap}px`,\n );\n this.animate();\n });\n this.resize();\n }\n\n private buildAnimation(offset: number) {\n return this.builder.build([\n animate(this.timing, style({ transform: `translateX(-${offset}px)` })),\n ]);\n }\n\n goto(index: number) {\n if (index >= 0 && index < this.items.length) {\n this.currentSlide = index;\n this.animate();\n this.opacify();\n }\n }\n\n next() {\n //if( this.currentSlide + 1 === this.items.length ) return;\n this.currentSlide = (this.currentSlide + 1) % this.items.length;\n this.animate();\n this.opacify();\n }\n\n prev() {\n if (this.currentSlide === 0) return;\n this.currentSlide =\n (this.currentSlide - 1 + this.items.length) % this.items.length;\n this.animate();\n this.opacify();\n }\n\n animate() {\n const offset = this.currentSlide * (this.width + this.gap);\n const myAnimation: AnimationFactory = this.buildAnimation(offset);\n this.player = myAnimation.create(this.carousel.nativeElement);\n this.player.play();\n }\n\n ngAfterViewInit() {\n this.width = this.nativeElement.offsetWidth;\n setTimeout(() => {\n this.onResize(null);\n }, 10);\n this.opacify();\n }\n\n hasPrev() {\n return this.items.length > 0 && this.showControls && this.currentSlide > 0;\n }\n\n hasNext() {\n return (\n this.items.length > 0 &&\n this.showControls &&\n this.currentSlide < this.items.length - 1\n );\n }\n\n private opacify() {\n this.items.forEach((item, index) => {\n console.log(item.nativeElement.offsetHeight);\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n private resize() {\n let biggest = 80;\n\n this.items.forEach((item, index) => {\n item.nativeElement.style.height = 'auto';\n });\n this.items.forEach((item, index) => {\n if (item.nativeElement.offsetHeight > biggest) {\n biggest = item.nativeElement.offsetHeight;\n }\n });\n this.items.forEach((item, index) => {\n item.nativeElement.style.height = biggest + 'px';\n });\n }\n}\n","<button\n *ngIf=\"hasPrev()\"\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n>\n <mat-icon class=\"large\">chevron_left</mat-icon>\n</button>\n<button\n *ngIf=\"hasNext()\"\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n class=\"controls next\"\n>\n <mat-icon class=\"large\">chevron_right</mat-icon>\n</button>\n\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content></ng-content>\n</section>\n\n<div class=\"dots\" *ngIf=\"showDots\">\n <span\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) + ' ' + (i + 1) + '/' + items.length\n \"\n [class.active]=\"i == currentSlide\"\n *ngFor=\"let item of items; index as i\"\n (click)=\"goto(i)\"\n ></span>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-carousel.mjs","sources":["../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.html","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.ts","../../../../projects/onemrva/design-system/mat-carousel/src/onemrva-mat-carousel.component.html","../../../../projects/onemrva/design-system/mat-carousel/onemrvapublic-design-system-mat-carousel.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n})\nexport class OnemrvaMatCarouselItemComponent {\n @ViewChild(TemplateRef) tpl!: TemplateRef<any>;\n\n public nativeElement: HTMLElement;\n\n constructor(private element: ElementRef) {\n this.nativeElement = element.nativeElement;\n }\n\n @HostBinding('class.show')\n public show = false;\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport {\n animate,\n AnimationBuilder,\n AnimationFactory,\n AnimationPlayer,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule, TranslateModule],\n templateUrl: './onemrva-mat-carousel.component.html',\n animations: [\n trigger('inOutAnimation', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('1000ms ease-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('1000ms ease-in', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n @ContentChildren(OnemrvaMatCarouselItemComponent)\n items!: QueryList<OnemrvaMatCarouselItemComponent>;\n\n nativeElement: HTMLElement;\n\n @ViewChild('carouselWrapper')\n carousel!: ElementRef;\n\n private player?: AnimationPlayer;\n\n @Input() timing = '250ms ease-in';\n @Input() gap = 32;\n @Input() padding = 64;\n @Input() showControls = true;\n @Input() autoplay = 0;\n @Input() showDots = true;\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width = 0;\n private destroyed: Subject<any> = new Subject<any>();\n\n constructor(\n private builder: AnimationBuilder,\n private element: ElementRef,\n private renderer: Renderer2,\n ) {\n this.nativeElement = this.element.nativeElement;\n }\n\n ngOnInit() {\n if (this.autoplay > 0) {\n interval(this.autoplay)\n .pipe(takeUntil(this.destroyed))\n .subscribe(_i => {\n this.next();\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(_event: any) {\n this.width = this.nativeElement.offsetWidth - 2 * this.padding;\n this.items.forEach(item => {\n this.renderer.setStyle(item.nativeElement, 'width', `${this.width}px`);\n this.renderer.setStyle(\n item.nativeElement,\n 'margin-right',\n `${this.gap}px`,\n );\n this.animate();\n });\n this.resize();\n }\n\n private buildAnimation(offset: number) {\n return this.builder.build([\n animate(this.timing, style({ transform: `translateX(-${offset}px)` })),\n ]);\n }\n\n goto(index: number) {\n if (index >= 0 && index < this.items.length) {\n this.currentSlide = index;\n this.animate();\n this.opacify();\n }\n }\n\n next() {\n //if( this.currentSlide + 1 === this.items.length ) return;\n this.currentSlide = (this.currentSlide + 1) % this.items.length;\n this.animate();\n this.opacify();\n }\n\n prev() {\n if (this.currentSlide === 0) return;\n this.currentSlide =\n (this.currentSlide - 1 + this.items.length) % this.items.length;\n this.animate();\n this.opacify();\n }\n\n animate() {\n const offset = this.currentSlide * (this.width + this.gap);\n const myAnimation: AnimationFactory = this.buildAnimation(offset);\n this.player = myAnimation.create(this.carousel.nativeElement);\n this.player.play();\n }\n\n ngAfterViewInit() {\n this.width = this.nativeElement.offsetWidth;\n setTimeout(() => {\n this.onResize(null);\n }, 10);\n this.opacify();\n }\n\n hasPrev() {\n return this.items.length > 0 && this.showControls && this.currentSlide > 0;\n }\n\n hasNext() {\n return (\n this.items.length > 0 &&\n this.showControls &&\n this.currentSlide < this.items.length - 1\n );\n }\n\n private opacify() {\n this.items.forEach((item, index) => {\n console.log(item.nativeElement.offsetHeight);\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n private resize() {\n let biggest = 80;\n\n this.items.forEach(item => {\n if (item.nativeElement.offsetHeight > biggest) {\n biggest = item.nativeElement.offsetHeight;\n }\n });\n this.items.forEach(item => {\n item.nativeElement.style.height = biggest + 'px';\n });\n }\n}\n","<button\n *ngIf=\"hasPrev()\"\n [@inOutAnimation]\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n>\n <mat-icon class=\"large\">chevron_left</mat-icon>\n</button>\n<button\n *ngIf=\"hasNext()\"\n [@inOutAnimation]\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n class=\"controls next\"\n>\n <mat-icon class=\"large\">chevron_right</mat-icon>\n</button>\n\n<section\n class=\"carousel-wrapper\"\n [ngStyle]=\"carouselWrapperStyle\"\n #carouselWrapper\n>\n <ng-content></ng-content>\n</section>\n\n<div class=\"dots\" *ngIf=\"showDots\">\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) + ' ' + (i + 1) + '/' + items.length\n \"\n [class.active]=\"i === currentSlide\"\n *ngFor=\"let item of items; index as i\"\n (click)=\"goto(i)\"\n ></span>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-copy-to-clipboard.mjs","sources":["../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.ts","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.html","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/onemrvapublic-design-system-mat-copy-to-clipboard.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';\n\n@Component({\n selector: 'copy-to-clipboard',\n templateUrl: 'copy-to-clipboard.component.html',\n styleUrls: ['copy-to-clipboard.component.scss'],\n standalone: true,\n imports: [CommonModule, MatIconModule, TranslateModule, MatTooltipModule],\n})\nexport class OnemrvaCopyToClipboardComponent {\n checked: boolean = false;\n\n @ViewChild('clipboardCopyContent') content!: ElementRef;\n @ViewChild('cccTooltip') matTooltip!: MatTooltip;\n\n @Input()\n tooltip: string = '';\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onCopy: EventEmitter<void> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onClick: EventEmitter<Event> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onHover: EventEmitter<Event> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onLeave: EventEmitter<Event> = new EventEmitter();\n\n constructor(\n private elt: ElementRef,\n private translate: TranslateService,\n private clipboard: Clipboard,\n ) {}\n\n @HostListener('click', ['$event.target']) clicked(e: Event) {\n this.onClick.emit(e);\n }\n\n @HostListener('mouseenter') onMouseEnter(e: Event) {\n this.onHover.emit(e);\n }\n\n @HostListener('mouseleave') onMouseLeave(e: Event) {\n this.onLeave.emit(e);\n }\n\n get getTooltipText() {\n return this.tooltip\n ? this.translate.instant(this.tooltip)\n : this.translate.instant('copied.to.clipboard');\n }\n\n copy($event: any) {\n $event.stopPropagation();\n\n this.matTooltip.show();\n\n this.clipboard.copy(this.content.nativeElement.innerHTML);\n\n this.onCopy.emit();\n this.checked = true;\n\n setTimeout(() => {\n this.checked = false;\n this.matTooltip.hide();\n }, 2000);\n }\n}\n","<span class=\"onemrva-copy-to-clipboard-container\">\n <span #clipboardCopyContent>\n <ng-content></ng-content>\n </span>\n <mat-icon class=\"small\" (click)=\"copy($event)\" *ngIf=\"!checked\">\n content_copy\n </mat-icon>\n <mat-icon class=\"small\" color=\"success\" *ngIf=\"checked\">check</mat-icon>\n <span\n [matTooltip]=\"getTooltipText\"\n matTooltipPosition=\"above\"\n #cccTooltip=\"matTooltip\"\n ></span>\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-copy-to-clipboard.mjs","sources":["../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.ts","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.html","../../../../projects/onemrva/design-system/mat-copy-to-clipboard/onemrvapublic-design-system-mat-copy-to-clipboard.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';\n\n@Component({\n selector: 'copy-to-clipboard',\n templateUrl: 'copy-to-clipboard.component.html',\n styleUrls: ['copy-to-clipboard.component.scss'],\n standalone: true,\n imports: [CommonModule, MatIconModule, TranslateModule, MatTooltipModule],\n})\nexport class OnemrvaCopyToClipboardComponent {\n checked = false;\n\n @ViewChild('clipboardCopyContent') content!: ElementRef;\n @ViewChild('cccTooltip') matTooltip!: MatTooltip;\n\n @Input()\n tooltip = '';\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onCopy = new EventEmitter<void>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onClick = new EventEmitter<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onHover = new EventEmitter<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onLeave = new EventEmitter<Event>();\n\n constructor(\n private elt: ElementRef,\n private translate: TranslateService,\n private clipboard: Clipboard,\n ) {}\n\n @HostListener('click', ['$event.target']) clicked(e: Event) {\n this.onClick.emit(e);\n }\n\n @HostListener('mouseenter') onMouseEnter(e: Event) {\n this.onHover.emit(e);\n }\n\n @HostListener('mouseleave') onMouseLeave(e: Event) {\n this.onLeave.emit(e);\n }\n\n get getTooltipText() {\n return this.tooltip\n ? this.translate.instant(this.tooltip)\n : this.translate.instant('copied.to.clipboard');\n }\n\n copy($event: any) {\n $event.stopPropagation();\n\n this.matTooltip.show();\n\n this.clipboard.copy(this.content.nativeElement.innerHTML);\n\n this.onCopy.emit();\n this.checked = true;\n\n setTimeout(() => {\n this.checked = false;\n this.matTooltip.hide();\n }, 2000);\n }\n}\n","<span class=\"onemrva-copy-to-clipboard-container\">\n <span #clipboardCopyContent>\n <ng-content></ng-content>\n </span>\n <mat-icon class=\"small\" (click)=\"copy($event)\" *ngIf=\"!checked\">\n content_copy\n </mat-icon>\n <mat-icon class=\"small\" color=\"success\" *ngIf=\"checked\">check</mat-icon>\n <span\n [matTooltip]=\"getTooltipText\"\n matTooltipPosition=\"above\"\n #cccTooltip=\"matTooltip\"\n ></span>\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-file-upload.mjs","sources":["../../../../projects/onemrva/design-system/mat-file-upload/src/models/progress-file.model.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.html","../../../../projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.service.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.store.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/directives/dnd.directive.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.html","../../../../projects/onemrva/design-system/mat-file-upload/src/components/index.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.module.ts","../../../../projects/onemrva/design-system/mat-file-upload/index.ts","../../../../projects/onemrva/design-system/mat-file-upload/onemrvapublic-design-system-mat-file-upload.ts"],"sourcesContent":["import { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\nexport interface ProgressFile {\n file?: File;\n message: string;\n progress: number;\n color: OnemrvaMatColor; // color 1 - 1 with status\n url: string | null;\n id: string | null; // backend identifier\n enableProgressBar: boolean;\n data?: any;\n\n name: string;\n lastModified?: number;\n size: number;\n type: string;\n}\n\nexport interface ReferencedProgressFile extends ProgressFile {\n ref: symbol; // ref is a frontend identifier\n}\n\n/**\n * format bytes\n * @param bytes (File size in bytes)\n * @param decimals (Decimals point)\n */\nexport function formatBytes(bytes: number, decimals: number = 2) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals || 2;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n}\n\nexport function formattedSize(size: number, decimals: number = 2) {\n return formatBytes(size, decimals);\n}\n\nexport function convertToProgressFile(\n id: string,\n name: string,\n message: string = '',\n progress = 100,\n color = OnemrvaMatColor.PRIMARY,\n url: string | null = null,\n enableProgressBar: boolean = false,\n data: string | null = null,\n size = 0,\n type = '',\n): ProgressFile {\n return {\n id: id!,\n name: name!,\n message: message,\n progress: progress,\n color: color,\n url: url,\n enableProgressBar: enableProgressBar,\n data: data,\n size: size,\n type: type,\n };\n}\n\nexport function convertToReferencedProgressFile(\n id: string,\n name: string,\n message: string = '',\n progress = 100,\n color = OnemrvaMatColor.PRIMARY,\n url: string | null = null,\n enableProgressBar: boolean = false,\n data: string | null = null,\n size = 0,\n type = '',\n): ReferencedProgressFile {\n return {\n id: id!,\n ref: Symbol(name),\n name: name!,\n message: message,\n progress: progress,\n color: color,\n url: url,\n enableProgressBar: enableProgressBar,\n data: data,\n size: size,\n type: type,\n };\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\nimport { of } from 'rxjs';\nimport { ActionConfig } from '../../models/action-config.model';\nimport {\n formattedSize,\n ReferencedProgressFile,\n} from '../../models/progress-file.model';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'file-panel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./onemrva-file-panel.component.scss'],\n templateUrl: './onemrva-file-panel.component.html',\n})\nexport class OnemrvaFilePanelComponent {\n @HostBinding('attr.id')\n @Input()\n public id = `onemrva-file-panel-${NEXT_ID++}`;\n\n @HostBinding('attr.data-cy')\n @Input()\n dataCy: string = 'onemrva-file-panel-' + NEXT_ID;\n\n @Input()\n file!: ReferencedProgressFile;\n\n @Input()\n actions: ActionConfig[] = [];\n\n @Input()\n showProgress: boolean = true;\n\n @Input()\n displayDate: string = '';\n\n get progress$() {\n return of(this.file.progress);\n }\n\n get size() {\n return formattedSize(this.file.size);\n }\n\n get color(): OnemrvaMatColor {\n return this.file.color;\n }\n\n /** @hidden @internal */\n @HostBinding('mat-accent')\n public get _colorAccent(): boolean {\n return this.color === OnemrvaMatColor.ACCENT;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-error')\n public get _isError(): boolean {\n return this.color === OnemrvaMatColor.ERROR;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-warn')\n public get _isWarn(): boolean {\n return this.color === OnemrvaMatColor.WARN;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-success')\n public get _isSuccess(): boolean {\n return this.color === OnemrvaMatColor.SUCCESS;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-primary')\n public get _isPrimary(): boolean {\n return this.color === OnemrvaMatColor.PRIMARY;\n }\n}\n","<div class=\"file-panel-title\" [attr.data-cy]=\"dataCy\">\n <div class=\"file-panel-title-left\">\n <mat-icon *ngIf=\"file.color === 'error'\" class=\"filled mat-error\"\n >error</mat-icon\n >\n <mat-icon *ngIf=\"file.color === 'success'\" class=\"filled mat-success\"\n >check_circle</mat-icon\n >\n <mat-icon *ngIf=\"file.color === 'warn'\" class=\"filled mat-warn\"\n >warning</mat-icon\n >\n <span class=\"file-name\">\n {{ file.name }}\n </span>\n </div>\n <div class=\"file-panel-title-action\">\n <ng-container *ngIf=\"actions.length > 0\">\n <ng-container *ngFor=\"let action of actions\">\n <mat-icon\n *ngIf=\"action.showAction(file)\"\n role=\"button\"\n color=\"primary\"\n [attr.data-cy]=\"action.dataCy\"\n matTooltip=\"{{ action.tooltipCode | translate }}\"\n [attr.aria-label]=\"action.ariaCode | translate\"\n class=\"clickable\"\n (click)=\"action.clickHandler(file)\"\n >{{ action.iconName }}</mat-icon\n >\n </ng-container>\n </ng-container>\n </div>\n</div>\n<div class=\"file-panel-content\">\n <ng-container *ngIf=\"file.message === ''\">\n <div class=\"fileInfos\">\n <span>{{ displayDate }}</span>\n\n <span class=\"float-right\" *ngIf=\"file.size > 0\">{{ size }}</span>\n </div>\n\n <div\n class=\"onemrva-progress-bar\"\n *ngIf=\"showProgress && file.enableProgressBar\"\n >\n <div class=\"onemrva-progress-bar-outer mt-s\" #onemrvaProgressBar>\n <div\n class=\"onemrva-progress-bar-inner\"\n [ngStyle]=\"{ width: (progress$ | async) + '%' }\"\n [ngClass]=\"{\n 'progress-success': (progress$ | async)! >= 100,\n }\"\n data-cy=\"file-upload-progress\"\n [attr.value]=\"progress$ | async\"\n ></div>\n </div>\n </div>\n </ng-container>\n <p *ngIf=\"file.message !== ''\" class=\"message\">{{ file.message }}</p>\n</div>\n","import {\n HttpEvent,\n HttpEventType,\n HttpProgressEvent,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError, interval, map, Observable, of, take } from 'rxjs';\nimport { ProgressFile } from './models/progress-file.model';\n\nexport interface OnemrvaMatFileUploadInterface {\n listUploadedFiles: (inputs: any) => Observable<ProgressFile[]>;\n upload: (file: ProgressFile) => Observable<HttpEvent<any>>;\n deleteFile: (id: any) => Observable<any>;\n retry: (file: any) => Observable<any>;\n downloadFile?: (id: any) => Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaMatFileUploadService\n implements OnemrvaMatFileUploadInterface\n{\n constructor() {\n alert(\n \"Don't forget to add a provider in your component with your own implementation of OnemrvaMatFileUploadInterface. Check out the demo to have an example of how to do it\",\n );\n }\n\n listUploadedFiles(_inputs: any): Observable<ProgressFile[]> {\n return of([]);\n }\n\n upload(_file: ProgressFile): Observable<HttpEvent<any>> {\n return interval(50).pipe(\n take(101),\n map(i => {\n if (i < 100) {\n return {\n type: HttpEventType.UploadProgress,\n loaded: i,\n total: 100,\n } as HttpProgressEvent;\n } else {\n if (i >= 100 && Math.random() > 0.5) {\n throw 'Fake error thrown';\n }\n return new HttpResponse<any>();\n }\n }),\n catchError(() => of(new HttpResponse<any>({ body: {}, status: 500 }))),\n );\n }\n\n deleteFile(_id: any): Observable<any> {\n return of('F = m.a');\n }\n\n retry(file: any): Observable<any> {\n return of(file);\n }\n\n downloadFile(id: any): Observable<any> {\n alert(`Missing download implementation for file ID ${id}`);\n return of(true);\n }\n}\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n catchError,\n filter,\n forkJoin,\n interval,\n map,\n merge,\n mergeMap,\n Observable,\n of,\n switchMap,\n take,\n takeWhile,\n tap,\n throttle,\n withLatestFrom,\n} from 'rxjs';\nimport { OnemrvaMatFileUploadService } from './onemrva-mat-file-upload.service';\nimport {\n formattedSize,\n ProgressFile,\n ReferencedProgressFile,\n} from './models/progress-file.model';\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { OnemrvaMatFileUploadStoreItf } from './onemrva-mat-file-upload-itf.store';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\nexport interface FileUploadStoreEvent {\n type: string;\n payload?: any;\n}\n\nexport interface UploadState {\n upload: ReferencedProgressFile[];\n accept: string[];\n maxFileSize: number;\n fileUploadError: string;\n event: FileUploadStoreEvent;\n}\n\nconst INIT_STATE: UploadState = {\n upload: [],\n accept: [],\n maxFileSize: 0,\n fileUploadError: '',\n event: {\n type: 'INIT',\n },\n};\n\nexport type CustomValidationFn = (\n input: [ReferencedProgressFile, ReferencedProgressFile[]],\n) => ReferencedProgressFile;\n\nexport const CUSTOM_VALIDATION_FN = new InjectionToken<CustomValidationFn>(\n 'x1, x2 = (-b -+ sqrt(rho))/2a',\n);\n\n@Injectable()\nexport class OnemrvaMatFileUploadStore\n extends ComponentStore<UploadState>\n implements OnemrvaMatFileUploadStoreItf\n{\n private fn: CustomValidationFn = (\n x: [ReferencedProgressFile, ReferencedProgressFile[]],\n ) => {\n return x[0];\n };\n\n constructor(\n private fileUploadService: OnemrvaMatFileUploadService,\n private translateService: TranslateService,\n @Optional()\n @Inject(CUSTOM_VALIDATION_FN)\n public customValidationFn: CustomValidationFn,\n ) {\n super(INIT_STATE);\n if (customValidationFn) this.fn = customValidationFn;\n }\n\n /*\n * U P D A T E R S\n */\n public readonly setAccept = this.updater((state, accept: string[]) => ({\n ...state,\n accept,\n event: {\n type: 'setAccept',\n payload: accept,\n },\n }));\n\n public readonly setMaxFileSize = this.updater(\n (state, maxFileSize: number) => ({\n ...state,\n maxFileSize,\n event: {\n type: 'setMaxFileSize',\n payload: maxFileSize,\n },\n }),\n );\n\n private readonly emptyList = this.updater(state => {\n return {\n ...state,\n upload: [],\n event: {\n type: 'emptyList',\n },\n };\n });\n\n private readonly pushFile = this.updater(\n (state, payload: ReferencedProgressFile) => {\n return {\n ...state,\n upload: [...state.upload, { ...payload }],\n event: {\n type: 'pushFile',\n payload,\n },\n };\n },\n );\n\n public readonly setData = this.updater(\n (state, payload: { ref: symbol; data: any }) => {\n return {\n ...state,\n upload: state.upload.map((file: ReferencedProgressFile) =>\n file.ref === payload.ref ? { ...file, data: payload.data } : file,\n ),\n event: {\n type: 'setData',\n payload,\n },\n };\n },\n );\n\n private readonly setSuccess = this.updater(\n (state, payload: { ref: symbol; body: any }) => {\n const newFile = {\n ...state.upload.find(f => f.ref === payload.ref),\n ...payload.body,\n color: 'success',\n progress: 100,\n };\n\n return {\n ...state,\n upload: state.upload.map(file =>\n file.ref === payload.ref ? newFile : file,\n ),\n event: {\n type: 'setData',\n payload: newFile,\n },\n };\n },\n );\n\n private readonly setFail = this.updater(\n (\n state,\n payload: { ref: symbol; message: string; color: OnemrvaMatColor },\n ) => ({\n ...state,\n upload: state.upload.map(file =>\n file.ref === payload.ref\n ? { ...file, message: payload.message, color: payload.color }\n : file,\n ),\n event: {\n type: 'setFail',\n payload,\n },\n }),\n );\n\n private readonly setProgress = this.updater(\n (state, payload: { ref: symbol; progress: number }) => ({\n ...state,\n upload: state.upload.map(file =>\n file.ref === payload.ref\n ? { ...file, progress: payload.progress }\n : file,\n ),\n event: {\n type: 'setProgress',\n payload,\n },\n }),\n );\n\n private readonly reset = this.updater((state, ref: symbol) => ({\n ...state,\n upload: state.upload.map(file =>\n file.ref === ref\n ? { ...file, progress: 0, message: '', color: '' }\n : file,\n ),\n event: {\n type: 'reset',\n payload: ref,\n },\n }));\n\n private readonly remove = this.updater(\n (state, payload: ReferencedProgressFile) => ({\n ...state,\n upload: state.upload.filter(f => f.ref !== payload.ref),\n event: {\n type: 'remove',\n payload,\n },\n }),\n );\n\n private readonly enableProgressBar = this.updater(state => ({\n ...state,\n upload: state.upload.map(file => ({ ...file, enableProgressBar: true })),\n event: {\n type: 'enableProgressBar',\n },\n }));\n\n public readonly setFileUploadError = this.updater(\n (state, fileUploadError: string) => ({\n ...state,\n fileUploadError,\n event: {\n type: 'setFileUploadError',\n payload: fileUploadError,\n },\n }),\n );\n\n public readonly clearFileUploadError = this.updater(state => ({\n ...state,\n fileUploadError: '',\n event: {\n type: 'clearFileUploadError',\n },\n }));\n\n /*\n * S E L E C T O R S\n */\n readonly files$ = this.select(state => state.upload);\n readonly accept$ = this.select(state => state.accept);\n readonly event$ = this.select(state => state.event);\n readonly maxFileSize$ = this.select(state => state.maxFileSize);\n readonly fileUploadError$ = this.select(state => state.fileUploadError);\n\n /*\n * A C T I O N S / E F F E C T S\n */\n readonly listUploadedFiles = this.effect((inputs$: Observable<any>) => {\n return inputs$.pipe(\n tap(() => {\n this.emptyList();\n }),\n mergeMap((inputs: any) => {\n return this.fileUploadService.listUploadedFiles(inputs).pipe(\n take(1),\n withLatestFrom(this.files$),\n tap(([newfiles, registeredFiles]) => {\n newfiles.forEach(file => {\n if (\n registeredFiles.findIndex(rfile => rfile.id === file.id) < 0\n ) {\n this.pushFile({\n ...file,\n color: 'success',\n progress: 100,\n ref: Symbol('H.psi = E.psi'),\n name: file!.name,\n lastModified: file!.lastModified,\n size: file!.size,\n type: file!.type,\n });\n }\n });\n }),\n catchError(() => of([])),\n );\n }),\n );\n });\n\n readonly deleteFile = this.effect(\n (file$: Observable<ReferencedProgressFile>) => {\n return file$.pipe(\n tap(() => {\n this.clearFileUploadError();\n }),\n withLatestFrom(this.files$),\n map(this.fn),\n mergeMap((file: any) =>\n this.fileUploadService.deleteFile(file.id).pipe(\n take(1),\n tap(() => {\n this.remove(file);\n }),\n catchError(() => {\n this.setFail({\n ref: file.ref,\n color: OnemrvaMatColor.WARN,\n message: 'file.upload.delete.error',\n });\n return of(null);\n }),\n ),\n ),\n );\n },\n );\n\n readonly removeFile = this.effect(\n (file$: Observable<ReferencedProgressFile>) => {\n return file$.pipe(\n tap(() => {\n this.clearFileUploadError();\n }),\n withLatestFrom(this.files$),\n map(this.fn),\n tap(file => {\n this.remove(file);\n }),\n );\n },\n );\n\n private progressFileChecker = (file$: Observable<any>) => {\n return file$.pipe(\n withLatestFrom(this.accept$),\n map(([file, accept]) => {\n // Step 1 - Add a new file in the view\n let f: ReferencedProgressFile = { ...file };\n if (file.ref === undefined) {\n f = {\n ...f,\n ref: Symbol('v_sound = sqrt(gamma.P / rho)'),\n name: file!.name,\n lastModified: file!.lastModified,\n size: file!.size,\n type: file!.type,\n };\n this.pushFile(f);\n }\n\n // Step 2 - Check file extension\n if (!accept.includes(file.file!.type)) {\n this.setFail({\n ref: f.ref,\n color: OnemrvaMatColor.ERROR,\n message: this.translateService.instant(\n 'file.upload.type.not.supported',\n ),\n });\n // This trick coupled with the next filter is used to avoid catchError, which would break the effect\n return { ...f, message: 'ERROR' };\n }\n return f;\n }),\n filter(x => x.message !== 'ERROR'),\n withLatestFrom(this.maxFileSize$),\n map(([refFile, maxFileSize]) => {\n // Step 3 - Check file size\n if (maxFileSize !== 0 && refFile.size > maxFileSize) {\n this.setFail({\n ref: refFile.ref,\n color: OnemrvaMatColor.ERROR,\n message:\n this.translateService.instant('file.upload.too.big') +\n ' ' +\n formattedSize(refFile.size),\n });\n // Same trick for error management\n return { ...refFile, message: 'ERROR' };\n }\n return refFile;\n }),\n filter(x => x.message !== 'ERROR'),\n withLatestFrom(this.files$),\n map(this.fn), // For custom validations\n tap(x => {\n if (!!x.message && x.message.startsWith('ERROR:'))\n this.setFileUploadError(x.message.replace('ERROR:', '').trim());\n else this.clearFileUploadError();\n }),\n filter(x => !x.message.startsWith('ERROR')),\n take(1),\n );\n };\n\n private loadStep = (file: any) => {\n if (file.color === OnemrvaMatColor.WARN) this.reset(file.ref);\n\n this.enableProgressBar();\n\n return this.fileUploadService.upload(file).pipe(\n throttle(() => interval(200), { leading: true, trailing: true }),\n tap((event: HttpEvent<any>) => {\n if (event.type === HttpEventType.UploadProgress) {\n this.setProgress({\n ref: file.ref,\n progress: Math.round((100 * event.loaded) / event.total!),\n });\n }\n\n if (event.type === HttpEventType.Response) {\n this.setSuccess({ ref: file.ref, body: event.body });\n }\n }),\n takeWhile(\n (event: HttpEvent<any>) => event.type === HttpEventType.UploadProgress,\n ),\n catchError(() => {\n this.setFail({\n ref: file.ref,\n color: OnemrvaMatColor.WARN,\n message: 'file.upload.retry.error',\n });\n return of(null);\n }),\n );\n };\n\n /**\n * For adding one file panel (creation of file panel reference skipped if already created) at a time.\n * Upload to BE not triggered\n */\n readonly addForPotentialUpload = this.effect(\n (file$: Observable<ProgressFile>) => this.progressFileChecker(file$),\n );\n\n /**\n * For adding an array of file panels (creation of file panels reference skipped if already created).\n * Uploads to BE not triggered\n */\n readonly addSeveralForPotentialUpload = this.effect(\n (files$: Observable<ProgressFile[]>) =>\n files$.pipe(\n switchMap(files =>\n forkJoin(files.map(file => this.progressFileChecker(of(file)))),\n ),\n ),\n );\n\n /**\n * For adding a file panel (creation of file panels reference skipped if already created) then uploading it\n */\n readonly uploadFile = this.effect((file$: Observable<ProgressFile>) => {\n return this.progressFileChecker(file$).pipe(mergeMap(this.loadStep));\n });\n\n readonly retryFile = this.effect(\n (file$: Observable<ReferencedProgressFile>) =>\n this.progressFileChecker(file$).pipe(mergeMap(this.loadStep)),\n );\n\n /**\n * For adding several file panels (creation of file panels reference skipped if already created) then uploading them\n */\n readonly uploadFiles = this.effect((files$: Observable<ProgressFile[]>) =>\n files$.pipe(\n switchMap(files =>\n merge(\n ...files.map(file =>\n this.progressFileChecker(of(file)).pipe(switchMap(this.loadStep)),\n ),\n ),\n ),\n ),\n );\n}\n","import {\n Directive,\n Output,\n EventEmitter,\n HostBinding,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appDnd]',\n})\nexport class DndDirective {\n @HostBinding('class.fileover') fileOver: boolean = false;\n\n @Output() fileDropped = new EventEmitter<any>();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Observable, take } from 'rxjs';\nimport { mimeTypes } from 'mime-wrapper';\nimport {\n state,\n keyframes,\n style,\n animate,\n trigger,\n transition,\n} from '@angular/animations';\nimport {\n formatBytes,\n ProgressFile,\n ReferencedProgressFile,\n} from '../../models/progress-file.model';\nimport { OnemrvaMatFileUploadStore } from '../../onemrva-mat-file-upload.store';\nimport { TranslateService } from '@ngx-translate/core';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'onemrva-mat-file-upload',\n templateUrl: 'onemrva-mat-file-upload.component.html',\n animations: [\n trigger('inOutAnimation', [\n state('in', style({ opacity: 1 })),\n transition(':enter', [\n animate(\n 300,\n keyframes([\n style({ opacity: 0, offset: 0 }),\n style({ opacity: 0.25, offset: 0.25 }),\n style({ opacity: 0.5, offset: 0.5 }),\n style({ opacity: 0.75, offset: 0.75 }),\n style({ opacity: 1, offset: 1 }),\n ]),\n ),\n ]),\n transition(':leave', [\n animate(\n 300,\n keyframes([\n style({ opacity: 1, offset: 0 }),\n style({ opacity: 0.75, offset: 0.25 }),\n style({ opacity: 0.5, offset: 0.5 }),\n style({ opacity: 0.25, offset: 0.75 }),\n style({ opacity: 0, offset: 1 }),\n ]),\n ),\n ]),\n ]),\n ],\n})\nexport class OnemrvaMatFileUploadComponent implements OnInit {\n @Input()\n accept: Array<string> = [];\n acceptString = '';\n\n @Input()\n maxFileSize: number = 0;\n\n @Input()\n numberOfFiles: number = 0;\n\n @Input()\n uploadOnDrop: boolean = true;\n\n @Input()\n initialFiles: ProgressFile[] = [];\n\n @Input()\n errorMessage: string = '';\n\n @Input()\n dropFilesHereTextTranslationKey: string = 'file.upload.drag.and.drop';\n\n fileUploadErrorMessage$: Observable<string>;\n\n files$: Observable<ReferencedProgressFile[]>;\n\n @Input() filePanelTemplate!: TemplateRef<any>;\n\n retryFile = new EventEmitter<{ index: number; cmpRef: symbol }>();\n\n /**\n * Sets the `data-cy` of the element. If not set, the first component instance will have `data-cy` = `\"onemrva-mat-multi-select-0\"`.\n *\n * @example\n * ```html\n * <onemrva-mat-multi-select id=\"my-first-multi-select\"></onemrva-mat-multi-select>\n * ```\n */\n @HostBinding('attr.data-cy')\n @Input()\n public dataCy = `onemrva-mat-multi-select-${NEXT_ID++}`;\n\n @ViewChild(`fileDropRef`)\n fileDropRef!: ElementRef;\n\n inputId = `fileDropRef-${NEXT_ID}`;\n maxFileSizeFormatted: string = '';\n\n constructor(\n public dialog: MatDialog,\n private translate: TranslateService,\n private fileUploadStore: OnemrvaMatFileUploadStore,\n ) {\n this.files$ = fileUploadStore.files$;\n\n this.fileUploadErrorMessage$ = this.fileUploadStore.fileUploadError$;\n }\n\n ngOnInit(): void {\n if (this.accept.length > 0) {\n this.acceptString = this.accept\n .map(val => {\n const t = mimeTypes.getExtension(val);\n return `.${t}`;\n })\n .filter(val => {\n return val.length > 1;\n })\n .join(', ');\n\n this.fileUploadStore.setAccept(this.accept);\n }\n\n this.maxFileSizeFormatted = formatBytes(this.maxFileSize);\n this.fileUploadStore.setMaxFileSize(this.maxFileSize);\n }\n\n /**\n * on file drop handler\n */\n onFileDropped($event: FileList) {\n this.prepareFilesList($event);\n }\n\n /**\n * handle file from browsing\n */\n fileBrowseHandler($event: Event) {\n const elm = $event.target as HTMLInputElement,\n files = elm.files as FileList;\n\n this.prepareFilesList(files);\n }\n\n /**\n * Convert Files list to normal array list\n * @param files (Files List)\n */\n prepareFilesList(files: FileList) {\n this.fileUploadStore.files$.pipe(take(1)).subscribe(value => {\n // if numberOffiles is set and the total length of files is smaller than it\n if (\n this.numberOfFiles > 0 &&\n files.length + value.length > this.numberOfFiles\n ) {\n // too many files\n this.errorMessage = this.translate.instant(\n 'file.upload.too.many.files',\n );\n } else {\n // clear error message\n this.errorMessage = '';\n\n const fs: ProgressFile[] = [];\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file === null) continue;\n\n const item: ProgressFile = {\n file,\n progress: 0,\n message: '',\n color: 'primary',\n url: null,\n id: null,\n enableProgressBar: this.uploadOnDrop,\n\n name: file!.name,\n lastModified: file!.lastModified,\n size: file!.size,\n type: file!.type,\n };\n\n fs.push(item);\n }\n\n if (this.uploadOnDrop) this.fileUploadStore.uploadFiles(fs);\n else this.fileUploadStore.addSeveralForPotentialUpload(fs);\n\n this.fileDropRef.nativeElement.value = null;\n }\n });\n }\n}\n","<ng-container *ngIf=\"files$ | async as files\">\n <div\n class=\"onemrva-mat-file-upload-drop-area\"\n appDnd\n (fileDropped)=\"onFileDropped($event)\"\n [ngClass]=\"{\n 'fu-error': errorMessage !== '',\n filein: files.length > 0,\n }\"\n >\n <input\n type=\"file\"\n #fileDropRef\n [attr.id]=\"inputId\"\n role=\"button\"\n multiple\n (change)=\"fileBrowseHandler($event)\"\n accept=\"{{ acceptString }}\"\n />\n <p\n class=\"outer\"\n *ngIf=\"numberOfFiles === 0 || numberOfFiles > files.length\"\n >\n <span class=\"inner\">\n <mat-icon class=\"onemrva-upload\">download</mat-icon>\n </span>\n\n <span class=\"inner\">\n {{ dropFilesHereTextTranslationKey | translate }}\n </span>\n\n <span class=\"inner\">\n {{ 'file.upload.or' | translate }}\n\n <label for=\"{{ inputId }}\" class=\"content\">\n {{ 'file.upload.browse.for.file' | translate }}\n </label>\n </span>\n\n <span class=\"inner\" aria-disabled=\"true\">\n <span *ngIf=\"maxFileSize > 0\">\n {{ 'file.upload.maximum' | translate }}\n {{ maxFileSizeFormatted }}\n\n <span *ngIf=\"acceptString.length > 0\">{{ '| ' }}</span>\n\n {{ acceptString }}\n </span>\n </span>\n </p>\n <ul class=\"files-list\">\n <li *ngFor=\"let file of files\">\n <ng-container\n *ngTemplateOutlet=\"\n filePanelTemplate;\n context: { file, $implicit: file }\n \"\n ></ng-container>\n </li>\n </ul>\n </div>\n\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage | translate }}</mat-error>\n\n <mat-error *ngIf=\"fileUploadErrorMessage$ | async as fileUploadErrorMessage\">\n {{ fileUploadErrorMessage | translate }}\n </mat-error>\n</ng-container>\n","import { OnemrvaFilePanelComponent } from './onemrva-mat-file-panel/onemrva-file-panel.component';\nimport { OnemrvaMatFileUploadComponent } from './onemrva-mat-file-upload/onemrva-mat-file-upload.component';\n\nexport const components: any[] = [\n OnemrvaFilePanelComponent,\n OnemrvaMatFileUploadComponent,\n];\n\nexport * from './onemrva-mat-file-panel/onemrva-file-panel.component';\nexport * from './onemrva-mat-file-upload/onemrva-mat-file-upload.component';\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DndDirective } from './directives/dnd.directive';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { components } from './components';\nimport { MatInputModule } from '@angular/material/input';\n\n@NgModule({\n declarations: [components, DndDirective],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatTooltipModule,\n MatDialogModule,\n TranslateModule,\n MatIconModule,\n MatInputModule,\n ],\n exports: [components],\n})\nexport class OnemrvaMatFileUploadModule {}\n","/*\n * Public API Surface of mat-file upload\n */\n\nexport * from './src/components';\nexport * from './src/onemrva-mat-file-upload.module';\nexport * from './src/onemrva-mat-file-upload.store';\nexport * from './src/onemrva-mat-file-upload.service';\nexport * from './src/models/progress-file.model';\nexport * from './src/models/action-config.model';\nexport * from './src/onemrva-mat-file-upload-itf.store';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NEXT_ID","i4","i1","i2","i3.OnemrvaMatFileUploadStore","i5","i7.DndDirective","i1.OnemrvaFilePanelComponent","i2.OnemrvaMatFileUploadComponent"],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-file-upload.mjs","sources":["../../../../projects/onemrva/design-system/mat-file-upload/src/models/progress-file.model.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.html","../../../../projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.service.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.store.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/directives/dnd.directive.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.html","../../../../projects/onemrva/design-system/mat-file-upload/src/components/index.ts","../../../../projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.module.ts","../../../../projects/onemrva/design-system/mat-file-upload/index.ts","../../../../projects/onemrva/design-system/mat-file-upload/onemrvapublic-design-system-mat-file-upload.ts"],"sourcesContent":["import { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\nexport interface ProgressFile {\n file?: File;\n message: string;\n progress: number;\n color: OnemrvaMatColor; // color 1 - 1 with status\n url: string | null;\n id: string | null; // backend identifier\n enableProgressBar: boolean;\n data?: any;\n\n name: string;\n lastModified?: number;\n size: number;\n type: string;\n}\n\nexport interface ReferencedProgressFile extends ProgressFile {\n ref: symbol; // ref is a frontend identifier\n}\n\n/**\n * format bytes\n * @param bytes (File size in bytes)\n * @param decimals (Decimals point)\n */\nexport function formatBytes(bytes: number, decimals = 2) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals || 2;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n}\n\nexport function formattedSize(size: number, decimals = 2) {\n return formatBytes(size, decimals);\n}\n\nexport function convertToProgressFile(\n id: string,\n name: string,\n message = '',\n progress = 100,\n color = OnemrvaMatColor.PRIMARY,\n url: string | null = null,\n enableProgressBar = false,\n data: string | null = null,\n size = 0,\n type = '',\n): ProgressFile {\n return {\n id: id!,\n name: name!,\n message: message,\n progress: progress,\n color: color,\n url: url,\n enableProgressBar: enableProgressBar,\n data: data,\n size: size,\n type: type,\n };\n}\n\nexport function convertToReferencedProgressFile(\n id: string,\n name: string,\n message = '',\n progress = 100,\n color = OnemrvaMatColor.PRIMARY,\n url: string | null = null,\n enableProgressBar = false,\n data: string | null = null,\n size = 0,\n type = '',\n): ReferencedProgressFile {\n return {\n id: id!,\n ref: Symbol(name),\n name: name!,\n message: message,\n progress: progress,\n color: color,\n url: url,\n enableProgressBar: enableProgressBar,\n data: data,\n size: size,\n type: type,\n };\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\nimport { of } from 'rxjs';\nimport { ActionConfig } from '../../models/action-config.model';\nimport {\n formattedSize,\n ReferencedProgressFile,\n} from '../../models/progress-file.model';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'file-panel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./onemrva-file-panel.component.scss'],\n templateUrl: './onemrva-file-panel.component.html',\n})\nexport class OnemrvaFilePanelComponent {\n @HostBinding('attr.id')\n @Input()\n public id = `onemrva-file-panel-${NEXT_ID++}`;\n\n @HostBinding('attr.data-cy')\n @Input()\n dataCy: string = 'onemrva-file-panel-' + NEXT_ID;\n\n @Input()\n file!: ReferencedProgressFile;\n\n @Input()\n actions: ActionConfig[] = [];\n\n @Input()\n showProgress = true;\n\n @Input()\n displayDate = '';\n\n get progress$() {\n return of(this.file.progress);\n }\n\n get size() {\n return formattedSize(this.file.size);\n }\n\n get color(): OnemrvaMatColor {\n return this.file.color;\n }\n\n /** @hidden @internal */\n @HostBinding('mat-accent')\n public get _colorAccent(): boolean {\n return this.color === OnemrvaMatColor.ACCENT;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-error')\n public get _isError(): boolean {\n return this.color === OnemrvaMatColor.ERROR;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-warn')\n public get _isWarn(): boolean {\n return this.color === OnemrvaMatColor.WARN;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-success')\n public get _isSuccess(): boolean {\n return this.color === OnemrvaMatColor.SUCCESS;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-primary')\n public get _isPrimary(): boolean {\n return this.color === OnemrvaMatColor.PRIMARY;\n }\n}\n","<div class=\"file-panel-title\" [attr.data-cy]=\"dataCy\">\n <div class=\"file-panel-title-left\">\n <mat-icon *ngIf=\"file.color === 'error'\" class=\"filled mat-error\"\n >error</mat-icon\n >\n <mat-icon *ngIf=\"file.color === 'success'\" class=\"filled mat-success\"\n >check_circle</mat-icon\n >\n <mat-icon *ngIf=\"file.color === 'warn'\" class=\"filled mat-warn\"\n >warning</mat-icon\n >\n <span class=\"file-name\">\n {{ file.name }}\n </span>\n </div>\n <div class=\"file-panel-title-action\">\n <ng-container *ngIf=\"actions.length > 0\">\n <ng-container *ngFor=\"let action of actions\">\n <mat-icon\n *ngIf=\"action.showAction(file)\"\n role=\"button\"\n color=\"primary\"\n [attr.data-cy]=\"action.dataCy\"\n matTooltip=\"{{ action.tooltipCode | translate }}\"\n [attr.aria-label]=\"action.ariaCode | translate\"\n class=\"clickable\"\n (click)=\"action.clickHandler(file)\"\n >{{ action.iconName }}</mat-icon\n >\n </ng-container>\n </ng-container>\n </div>\n</div>\n<div class=\"file-panel-content\">\n <ng-container *ngIf=\"file.message === ''\">\n <div class=\"fileInfos\">\n <span>{{ displayDate }}</span>\n\n <span class=\"float-right\" *ngIf=\"file.size > 0\">{{ size }}</span>\n </div>\n\n <div\n class=\"onemrva-progress-bar\"\n *ngIf=\"showProgress && file.enableProgressBar\"\n >\n <div class=\"onemrva-progress-bar-outer mt-s\" #onemrvaProgressBar>\n <div\n class=\"onemrva-progress-bar-inner\"\n [ngStyle]=\"{ width: (progress$ | async) + '%' }\"\n [ngClass]=\"{\n 'progress-success': (progress$ | async)! >= 100,\n }\"\n data-cy=\"file-upload-progress\"\n [attr.value]=\"progress$ | async\"\n ></div>\n </div>\n </div>\n </ng-container>\n <p *ngIf=\"file.message !== ''\" class=\"message\">{{ file.message }}</p>\n</div>\n","import {\n HttpEvent,\n HttpEventType,\n HttpProgressEvent,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError, interval, map, Observable, of, take } from 'rxjs';\nimport { ProgressFile } from './models/progress-file.model';\n\nexport interface OnemrvaMatFileUploadInterface {\n listUploadedFiles: (inputs: any) => Observable<ProgressFile[]>;\n upload: (file: ProgressFile) => Observable<HttpEvent<any>>;\n deleteFile: (id: any) => Observable<any>;\n retry: (file: any) => Observable<any>;\n downloadFile?: (id: any) => Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemrvaMatFileUploadService\n implements OnemrvaMatFileUploadInterface\n{\n constructor() {\n alert(\n \"Don't forget to add a provider in your component with your own implementation of OnemrvaMatFileUploadInterface. Check out the demo to have an example of how to do it\",\n );\n }\n\n listUploadedFiles(_inputs: any): Observable<ProgressFile[]> {\n return of([]);\n }\n\n upload(_file: ProgressFile): Observable<HttpEvent<any>> {\n return interval(50).pipe(\n take(101),\n map(i => {\n if (i < 100) {\n return {\n type: HttpEventType.UploadProgress,\n loaded: i,\n total: 100,\n } as HttpProgressEvent;\n } else {\n if (i >= 100 && Math.random() > 0.5) {\n throw 'Fake error thrown';\n }\n return new HttpResponse<any>();\n }\n }),\n catchError(() => of(new HttpResponse<any>({ body: {}, status: 500 }))),\n );\n }\n\n deleteFile(_id: any): Observable<any> {\n return of('F = m.a');\n }\n\n retry(file: any): Observable<any> {\n return of(file);\n }\n\n downloadFile(id: any): Observable<any> {\n alert(`Missing download implementation for file ID ${id}`);\n return of(true);\n }\n}\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n catchError,\n filter,\n forkJoin,\n interval,\n map,\n merge,\n mergeMap,\n Observable,\n of,\n switchMap,\n take,\n takeWhile,\n tap,\n throttle,\n withLatestFrom,\n} from 'rxjs';\nimport { OnemrvaMatFileUploadService } from './onemrva-mat-file-upload.service';\nimport {\n formattedSize,\n ProgressFile,\n ReferencedProgressFile,\n} from './models/progress-file.model';\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { OnemrvaMatFileUploadStoreItf } from './onemrva-mat-file-upload-itf.store';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\nexport interface FileUploadStoreEvent {\n type: string;\n payload?: any;\n}\n\nexport interface UploadState {\n upload: ReferencedProgressFile[];\n accept: string[];\n maxFileSize: number;\n fileUploadError: string;\n event: FileUploadStoreEvent;\n}\n\nconst INIT_STATE: UploadState = {\n upload: [],\n accept: [],\n maxFileSize: 0,\n fileUploadError: '',\n event: {\n type: 'INIT',\n },\n};\n\nexport type CustomValidationFn = (\n input: [ReferencedProgressFile, ReferencedProgressFile[]],\n) => ReferencedProgressFile;\n\nexport const CUSTOM_VALIDATION_FN = new InjectionToken<CustomValidationFn>(\n 'x1, x2 = (-b -+ sqrt(rho))/2a',\n);\n\n@Injectable()\nexport class OnemrvaMatFileUploadStore\n extends ComponentStore<UploadState>\n implements OnemrvaMatFileUploadStoreItf\n{\n private fn: CustomValidationFn = (\n x: [ReferencedProgressFile, ReferencedProgressFile[]],\n ) => {\n return x[0];\n };\n\n constructor(\n private fileUploadService: OnemrvaMatFileUploadService,\n private translateService: TranslateService,\n @Optional()\n @Inject(CUSTOM_VALIDATION_FN)\n public customValidationFn: CustomValidationFn,\n ) {\n super(INIT_STATE);\n if (customValidationFn) this.fn = customValidationFn;\n }\n\n /*\n * U P D A T E R S\n */\n public readonly setAccept = this.updater((state, accept: string[]) => ({\n ...state,\n accept,\n event: {\n type: 'setAccept',\n payload: accept,\n },\n }));\n\n public readonly setMaxFileSize = this.updater(\n (state, maxFileSize: number) => ({\n ...state,\n maxFileSize,\n event: {\n type: 'setMaxFileSize',\n payload: maxFileSize,\n },\n }),\n );\n\n private readonly emptyList = this.updater(state => {\n return {\n ...state,\n upload: [],\n event: {\n type: 'emptyList',\n },\n };\n });\n\n private readonly pushFile = this.updater(\n (state, payload: ReferencedProgressFile) => {\n return {\n ...state,\n upload: [...state.upload, { ...payload }],\n event: {\n type: 'pushFile',\n payload,\n },\n };\n },\n );\n\n public readonly setData = this.updater(\n (state, payload: { ref: symbol; data: any }) => {\n return {\n ...state,\n upload: state.upload.map((file: ReferencedProgressFile) =>\n file.ref === payload.ref ? { ...file, data: payload.data } : file,\n ),\n event: {\n type: 'setData',\n payload,\n },\n };\n },\n );\n\n private readonly setSuccess = this.updater(\n (state, payload: { ref: symbol; body: any }) => {\n const newFile = {\n ...state.upload.find(f => f.ref === payload.ref),\n ...payload.body,\n color: 'success',\n progress: 100,\n };\n\n return {\n ...state,\n upload: state.upload.map(file =>\n file.ref === payload.ref ? newFile : file,\n ),\n event: {\n type: 'setData',\n payload: newFile,\n },\n };\n },\n );\n\n private readonly setFail = this.updater(\n (\n state,\n payload: { ref: symbol; message: string; color: OnemrvaMatColor },\n ) => ({\n ...state,\n upload: state.upload.map(file =>\n file.ref === payload.ref\n ? { ...file, message: payload.message, color: payload.color }\n : file,\n ),\n event: {\n type: 'setFail',\n payload,\n },\n }),\n );\n\n private readonly setProgress = this.updater(\n (state, payload: { ref: symbol; progress: number }) => ({\n ...state,\n upload: state.upload.map(file =>\n file.ref === payload.ref\n ? { ...file, progress: payload.progress }\n : file,\n ),\n event: {\n type: 'setProgress',\n payload,\n },\n }),\n );\n\n private readonly reset = this.updater((state, ref: symbol) => ({\n ...state,\n upload: state.upload.map(file =>\n file.ref === ref\n ? { ...file, progress: 0, message: '', color: '' }\n : file,\n ),\n event: {\n type: 'reset',\n payload: ref,\n },\n }));\n\n private readonly remove = this.updater(\n (state, payload: ReferencedProgressFile) => ({\n ...state,\n upload: state.upload.filter(f => f.ref !== payload.ref),\n event: {\n type: 'remove',\n payload,\n },\n }),\n );\n\n private readonly enableProgressBar = this.updater(state => ({\n ...state,\n upload: state.upload.map(file => ({ ...file, enableProgressBar: true })),\n event: {\n type: 'enableProgressBar',\n },\n }));\n\n public readonly setFileUploadError = this.updater(\n (state, fileUploadError: string) => ({\n ...state,\n fileUploadError,\n event: {\n type: 'setFileUploadError',\n payload: fileUploadError,\n },\n }),\n );\n\n public readonly clearFileUploadError = this.updater(state => ({\n ...state,\n fileUploadError: '',\n event: {\n type: 'clearFileUploadError',\n },\n }));\n\n /*\n * S E L E C T O R S\n */\n readonly files$ = this.select(state => state.upload);\n readonly accept$ = this.select(state => state.accept);\n readonly event$ = this.select(state => state.event);\n readonly maxFileSize$ = this.select(state => state.maxFileSize);\n readonly fileUploadError$ = this.select(state => state.fileUploadError);\n\n /*\n * A C T I O N S / E F F E C T S\n */\n readonly listUploadedFiles = this.effect((inputs$: Observable<any>) => {\n return inputs$.pipe(\n tap(() => {\n this.emptyList();\n }),\n mergeMap((inputs: any) => {\n return this.fileUploadService.listUploadedFiles(inputs).pipe(\n take(1),\n withLatestFrom(this.files$),\n tap(([newfiles, registeredFiles]) => {\n newfiles.forEach(file => {\n if (\n registeredFiles.findIndex(rfile => rfile.id === file.id) < 0\n ) {\n this.pushFile({\n ...file,\n color: 'success',\n progress: 100,\n ref: Symbol('H.psi = E.psi'),\n name: file!.name,\n lastModified: file!.lastModified,\n size: file!.size,\n type: file!.type,\n });\n }\n });\n }),\n catchError(() => of([])),\n );\n }),\n );\n });\n\n readonly deleteFile = this.effect(\n (file$: Observable<ReferencedProgressFile>) => {\n return file$.pipe(\n tap(() => {\n this.clearFileUploadError();\n }),\n withLatestFrom(this.files$),\n map(this.fn),\n mergeMap((file: any) =>\n this.fileUploadService.deleteFile(file.id).pipe(\n take(1),\n tap(() => {\n this.remove(file);\n }),\n catchError(() => {\n this.setFail({\n ref: file.ref,\n color: OnemrvaMatColor.WARN,\n message: 'file.upload.delete.error',\n });\n return of(null);\n }),\n ),\n ),\n );\n },\n );\n\n readonly removeFile = this.effect(\n (file$: Observable<ReferencedProgressFile>) => {\n return file$.pipe(\n tap(() => {\n this.clearFileUploadError();\n }),\n withLatestFrom(this.files$),\n map(this.fn),\n tap(file => {\n this.remove(file);\n }),\n );\n },\n );\n\n private progressFileChecker = (file$: Observable<any>) => {\n return file$.pipe(\n withLatestFrom(this.accept$),\n map(([file, accept]) => {\n // Step 1 - Add a new file in the view\n let f: ReferencedProgressFile = { ...file };\n if (file.ref === undefined) {\n f = {\n ...f,\n ref: Symbol('v_sound = sqrt(gamma.P / rho)'),\n name: file!.name,\n lastModified: file!.lastModified,\n size: file!.size,\n type: file!.type,\n };\n this.pushFile(f);\n }\n\n // Step 2 - Check file extension\n if (!accept.includes(file.file!.type)) {\n this.setFail({\n ref: f.ref,\n color: OnemrvaMatColor.ERROR,\n message: this.translateService.instant(\n 'file.upload.type.not.supported',\n ),\n });\n // This trick coupled with the next filter is used to avoid catchError, which would break the effect\n return { ...f, message: 'ERROR' };\n }\n return f;\n }),\n filter(x => x.message !== 'ERROR'),\n withLatestFrom(this.maxFileSize$),\n map(([refFile, maxFileSize]) => {\n // Step 3 - Check file size\n if (maxFileSize !== 0 && refFile.size > maxFileSize) {\n this.setFail({\n ref: refFile.ref,\n color: OnemrvaMatColor.ERROR,\n message:\n this.translateService.instant('file.upload.too.big') +\n ' ' +\n formattedSize(refFile.size),\n });\n // Same trick for error management\n return { ...refFile, message: 'ERROR' };\n }\n return refFile;\n }),\n filter(x => x.message !== 'ERROR'),\n withLatestFrom(this.files$),\n map(this.fn), // For custom validations\n tap(x => {\n if (!!x.message && x.message.startsWith('ERROR:'))\n this.setFileUploadError(x.message.replace('ERROR:', '').trim());\n else this.clearFileUploadError();\n }),\n filter(x => !x.message.startsWith('ERROR')),\n take(1),\n );\n };\n\n private loadStep = (file: any) => {\n if (file.color === OnemrvaMatColor.WARN) this.reset(file.ref);\n\n this.enableProgressBar();\n\n return this.fileUploadService.upload(file).pipe(\n throttle(() => interval(200), { leading: true, trailing: true }),\n tap((event: HttpEvent<any>) => {\n if (event.type === HttpEventType.UploadProgress) {\n this.setProgress({\n ref: file.ref,\n progress: Math.round((100 * event.loaded) / event.total!),\n });\n }\n\n if (event.type === HttpEventType.Response) {\n this.setSuccess({ ref: file.ref, body: event.body });\n }\n }),\n takeWhile(\n (event: HttpEvent<any>) => event.type === HttpEventType.UploadProgress,\n ),\n catchError(() => {\n this.setFail({\n ref: file.ref,\n color: OnemrvaMatColor.WARN,\n message: 'file.upload.retry.error',\n });\n return of(null);\n }),\n );\n };\n\n /**\n * For adding one file panel (creation of file panel reference skipped if already created) at a time.\n * Upload to BE not triggered\n */\n readonly addForPotentialUpload = this.effect(\n (file$: Observable<ProgressFile>) => this.progressFileChecker(file$),\n );\n\n /**\n * For adding an array of file panels (creation of file panels reference skipped if already created).\n * Uploads to BE not triggered\n */\n readonly addSeveralForPotentialUpload = this.effect(\n (files$: Observable<ProgressFile[]>) =>\n files$.pipe(\n switchMap(files =>\n forkJoin(files.map(file => this.progressFileChecker(of(file)))),\n ),\n ),\n );\n\n /**\n * For adding a file panel (creation of file panels reference skipped if already created) then uploading it\n */\n readonly uploadFile = this.effect((file$: Observable<ProgressFile>) => {\n return this.progressFileChecker(file$).pipe(mergeMap(this.loadStep));\n });\n\n readonly retryFile = this.effect(\n (file$: Observable<ReferencedProgressFile>) =>\n this.progressFileChecker(file$).pipe(mergeMap(this.loadStep)),\n );\n\n /**\n * For adding several file panels (creation of file panels reference skipped if already created) then uploading them\n */\n readonly uploadFiles = this.effect((files$: Observable<ProgressFile[]>) =>\n files$.pipe(\n switchMap(files =>\n merge(\n ...files.map(file =>\n this.progressFileChecker(of(file)).pipe(switchMap(this.loadStep)),\n ),\n ),\n ),\n ),\n );\n}\n","import {\n Directive,\n Output,\n EventEmitter,\n HostBinding,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appDnd]',\n})\nexport class DndDirective {\n @HostBinding('class.fileover') fileOver = false;\n\n @Output() fileDropped = new EventEmitter<any>();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Observable, take } from 'rxjs';\nimport { mimeTypes } from 'mime-wrapper';\nimport {\n state,\n keyframes,\n style,\n animate,\n trigger,\n transition,\n} from '@angular/animations';\nimport {\n formatBytes,\n ProgressFile,\n ReferencedProgressFile,\n} from '../../models/progress-file.model';\nimport { OnemrvaMatFileUploadStore } from '../../onemrva-mat-file-upload.store';\nimport { TranslateService } from '@ngx-translate/core';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'onemrva-mat-file-upload',\n templateUrl: 'onemrva-mat-file-upload.component.html',\n animations: [\n trigger('inOutAnimation', [\n state('in', style({ opacity: 1 })),\n transition(':enter', [\n animate(\n 300,\n keyframes([\n style({ opacity: 0, offset: 0 }),\n style({ opacity: 0.25, offset: 0.25 }),\n style({ opacity: 0.5, offset: 0.5 }),\n style({ opacity: 0.75, offset: 0.75 }),\n style({ opacity: 1, offset: 1 }),\n ]),\n ),\n ]),\n transition(':leave', [\n animate(\n 300,\n keyframes([\n style({ opacity: 1, offset: 0 }),\n style({ opacity: 0.75, offset: 0.25 }),\n style({ opacity: 0.5, offset: 0.5 }),\n style({ opacity: 0.25, offset: 0.75 }),\n style({ opacity: 0, offset: 1 }),\n ]),\n ),\n ]),\n ]),\n ],\n})\nexport class OnemrvaMatFileUploadComponent implements OnInit {\n @Input()\n accept: string[] = [];\n acceptString = '';\n\n @Input()\n maxFileSize = 0;\n\n @Input()\n numberOfFiles = 0;\n\n @Input()\n uploadOnDrop = true;\n\n @Input()\n initialFiles: ProgressFile[] = [];\n\n @Input()\n errorMessage = '';\n\n @Input()\n dropFilesHereTextTranslationKey = 'file.upload.drag.and.drop';\n\n fileUploadErrorMessage$: Observable<string>;\n\n files$: Observable<ReferencedProgressFile[]>;\n\n @Input() filePanelTemplate!: TemplateRef<any>;\n\n retryFile = new EventEmitter<{ index: number; cmpRef: symbol }>();\n\n /**\n * Sets the `data-cy` of the element. If not set, the first component instance will have `data-cy` = `\"onemrva-mat-multi-select-0\"`.\n *\n * @example\n * ```html\n * <onemrva-mat-multi-select id=\"my-first-multi-select\"></onemrva-mat-multi-select>\n * ```\n */\n @HostBinding('attr.data-cy')\n @Input()\n public dataCy = `onemrva-mat-multi-select-${NEXT_ID++}`;\n\n @ViewChild(`fileDropRef`)\n fileDropRef!: ElementRef;\n\n inputId = `fileDropRef-${NEXT_ID}`;\n maxFileSizeFormatted = '';\n\n constructor(\n public dialog: MatDialog,\n private translate: TranslateService,\n private fileUploadStore: OnemrvaMatFileUploadStore,\n ) {\n this.files$ = fileUploadStore.files$;\n\n this.fileUploadErrorMessage$ = this.fileUploadStore.fileUploadError$;\n }\n\n ngOnInit(): void {\n if (this.accept.length > 0) {\n this.acceptString = this.accept\n .map(val => {\n const t = mimeTypes.getExtension(val);\n return `.${t}`;\n })\n .filter(val => {\n return val.length > 1;\n })\n .join(', ');\n\n this.fileUploadStore.setAccept(this.accept);\n }\n\n this.maxFileSizeFormatted = formatBytes(this.maxFileSize);\n this.fileUploadStore.setMaxFileSize(this.maxFileSize);\n }\n\n /**\n * on file drop handler\n */\n onFileDropped($event: FileList) {\n this.prepareFilesList($event);\n }\n\n /**\n * handle file from browsing\n */\n fileBrowseHandler($event: Event) {\n const elm = $event.target as HTMLInputElement,\n files = elm.files as FileList;\n\n this.prepareFilesList(files);\n }\n\n /**\n * Convert Files list to normal array list\n * @param files (Files List)\n */\n prepareFilesList(files: FileList) {\n this.fileUploadStore.files$.pipe(take(1)).subscribe(value => {\n // if numberOffiles is set and the total length of files is smaller than it\n if (\n this.numberOfFiles > 0 &&\n files.length + value.length > this.numberOfFiles\n ) {\n // too many files\n this.errorMessage = this.translate.instant(\n 'file.upload.too.many.files',\n );\n } else {\n // clear error message\n this.errorMessage = '';\n\n const fs: ProgressFile[] = [];\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file === null) continue;\n\n const item: ProgressFile = {\n file,\n progress: 0,\n message: '',\n color: 'primary',\n url: null,\n id: null,\n enableProgressBar: this.uploadOnDrop,\n\n name: file!.name,\n lastModified: file!.lastModified,\n size: file!.size,\n type: file!.type,\n };\n\n fs.push(item);\n }\n\n if (this.uploadOnDrop) this.fileUploadStore.uploadFiles(fs);\n else this.fileUploadStore.addSeveralForPotentialUpload(fs);\n\n this.fileDropRef.nativeElement.value = null;\n }\n });\n }\n}\n","<ng-container *ngIf=\"files$ | async as files\">\n <div\n class=\"onemrva-mat-file-upload-drop-area\"\n appDnd\n (fileDropped)=\"onFileDropped($event)\"\n [ngClass]=\"{\n 'fu-error': errorMessage !== '',\n filein: files.length > 0,\n }\"\n >\n <input\n type=\"file\"\n #fileDropRef\n [attr.id]=\"inputId\"\n role=\"button\"\n multiple\n (change)=\"fileBrowseHandler($event)\"\n accept=\"{{ acceptString }}\"\n />\n <p\n class=\"outer\"\n *ngIf=\"numberOfFiles === 0 || numberOfFiles > files.length\"\n >\n <span class=\"inner\">\n <mat-icon class=\"onemrva-upload\">download</mat-icon>\n </span>\n\n <span class=\"inner\">\n {{ dropFilesHereTextTranslationKey | translate }}\n </span>\n\n <span class=\"inner\">\n {{ 'file.upload.or' | translate }}\n\n <label for=\"{{ inputId }}\" class=\"content\">\n {{ 'file.upload.browse.for.file' | translate }}\n </label>\n </span>\n\n <span class=\"inner\" aria-disabled=\"true\">\n <span *ngIf=\"maxFileSize > 0\">\n {{ 'file.upload.maximum' | translate }}\n {{ maxFileSizeFormatted }}\n\n <span *ngIf=\"acceptString.length > 0\">{{ '| ' }}</span>\n\n {{ acceptString }}\n </span>\n </span>\n </p>\n <ul class=\"files-list\">\n <li *ngFor=\"let file of files\">\n <ng-container\n *ngTemplateOutlet=\"\n filePanelTemplate;\n context: { file, $implicit: file }\n \"\n ></ng-container>\n </li>\n </ul>\n </div>\n\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage | translate }}</mat-error>\n\n <mat-error *ngIf=\"fileUploadErrorMessage$ | async as fileUploadErrorMessage\">\n {{ fileUploadErrorMessage | translate }}\n </mat-error>\n</ng-container>\n","import { OnemrvaFilePanelComponent } from './onemrva-mat-file-panel/onemrva-file-panel.component';\nimport { OnemrvaMatFileUploadComponent } from './onemrva-mat-file-upload/onemrva-mat-file-upload.component';\n\nexport const components: any[] = [\n OnemrvaFilePanelComponent,\n OnemrvaMatFileUploadComponent,\n];\n\nexport * from './onemrva-mat-file-panel/onemrva-file-panel.component';\nexport * from './onemrva-mat-file-upload/onemrva-mat-file-upload.component';\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DndDirective } from './directives/dnd.directive';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { components } from './components';\nimport { MatInputModule } from '@angular/material/input';\n\n@NgModule({\n declarations: [components, DndDirective],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatTooltipModule,\n MatDialogModule,\n TranslateModule,\n MatIconModule,\n MatInputModule,\n ],\n exports: [components],\n})\nexport class OnemrvaMatFileUploadModule {}\n","/*\n * Public API Surface of mat-file upload\n */\n\nexport * from './src/components';\nexport * from './src/onemrva-mat-file-upload.module';\nexport * from './src/onemrva-mat-file-upload.store';\nexport * from './src/onemrva-mat-file-upload.service';\nexport * from './src/models/progress-file.model';\nexport * from './src/models/action-config.model';\nexport * from './src/onemrva-mat-file-upload-itf.store';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NEXT_ID","i4","i1","i2","i3.OnemrvaMatFileUploadStore","i5","i7.DndDirective","i1.OnemrvaFilePanelComponent","i2.OnemrvaMatFileUploadComponent"],"mappings":"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"}