@onemrvapublic/design-system 22.0.0-develop.9 → 22.0.1-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +4 -3
  2. package/card/src/onemrva-card.component.scss +23 -0
  3. package/fesm2022/onemrvapublic-design-system-card.mjs +32 -14
  4. package/fesm2022/onemrvapublic-design-system-card.mjs.map +1 -1
  5. package/fesm2022/onemrvapublic-design-system-collapsible-page-divider.mjs +3 -3
  6. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +13 -3
  7. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
  8. package/fesm2022/onemrvapublic-design-system-layout.mjs +193 -59
  9. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  10. package/fesm2022/onemrvapublic-design-system-mat-address.mjs +3 -3
  11. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +7 -18
  12. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
  13. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +20 -10
  14. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs.map +1 -1
  15. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +24 -6
  16. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
  17. package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs +13 -3
  18. package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs.map +1 -1
  19. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +13 -3
  20. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
  21. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +13 -3
  22. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -1
  23. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +11 -3
  24. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
  25. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +10 -3
  26. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs.map +1 -1
  27. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +39 -19
  28. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
  29. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +16 -6
  30. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -1
  31. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +13 -3
  32. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
  33. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +13 -3
  34. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
  35. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +13 -3
  36. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
  37. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +13 -3
  38. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
  39. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +16 -6
  40. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
  41. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +17 -7
  42. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
  43. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +17 -7
  44. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
  45. package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs +39 -9
  46. package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs.map +1 -1
  47. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +13 -3
  48. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
  49. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +18 -8
  50. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
  51. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +72 -22
  52. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
  53. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +43 -13
  54. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
  55. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +13 -3
  56. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
  57. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +23 -16
  58. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
  59. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +17 -7
  60. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
  61. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +17 -7
  62. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
  63. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +11 -14
  64. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
  65. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +18 -10
  66. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
  67. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +17 -7
  68. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
  69. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +15 -7
  70. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
  71. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +20 -16
  72. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
  73. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +56 -16
  74. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
  75. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +15 -7
  76. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs.map +1 -1
  77. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +22 -12
  78. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
  79. package/fesm2022/onemrvapublic-design-system-page-error.mjs +24 -6
  80. package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -1
  81. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +48 -16
  82. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
  83. package/fesm2022/onemrvapublic-design-system-shared.mjs +109 -90
  84. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  85. package/fesm2022/onemrvapublic-design-system-timeline.mjs +7 -7
  86. package/fesm2022/onemrvapublic-design-system-timeline.mjs.map +1 -1
  87. package/fesm2022/onemrvapublic-design-system.mjs +1 -1
  88. package/fesm2022/onemrvapublic-design-system.mjs.map +1 -1
  89. package/mat-paginator/src/onemrva-mat-paginator.component.scss +2 -31
  90. package/mat-tooltip/src/onemrva-mat-tooltip.component.scss +1 -0
  91. package/package.json +3 -3
  92. package/theme/overrides/_form-field.scss +2 -0
  93. package/theme/overrides/_select.scss +2 -1
  94. package/theme/overrides/_table.scss +8 -11
  95. package/theme/palettes/_palette.scss +1 -1
  96. package/types/onemrvapublic-design-system-card.d.ts +18 -9
  97. package/types/onemrvapublic-design-system-flag-icon.d.ts +10 -0
  98. package/types/onemrvapublic-design-system-layout.d.ts +132 -0
  99. package/types/onemrvapublic-design-system-mat-avatar.d.ts +4 -15
  100. package/types/onemrvapublic-design-system-mat-breadcrumb.d.ts +10 -0
  101. package/types/onemrvapublic-design-system-mat-carousel.d.ts +18 -0
  102. package/types/onemrvapublic-design-system-mat-choice-chip.d.ts +10 -0
  103. package/types/onemrvapublic-design-system-mat-copy-to-clipboard.d.ts +10 -0
  104. package/types/onemrvapublic-design-system-mat-country-item.d.ts +10 -0
  105. package/types/onemrvapublic-design-system-mat-datepicker-header.d.ts +8 -0
  106. package/types/onemrvapublic-design-system-mat-empty-row.d.ts +7 -0
  107. package/types/onemrvapublic-design-system-mat-file-upload.d.ts +20 -0
  108. package/types/onemrvapublic-design-system-mat-input-address.d.ts +10 -0
  109. package/types/onemrvapublic-design-system-mat-input-birthplace.d.ts +10 -0
  110. package/types/onemrvapublic-design-system-mat-input-country.d.ts +10 -0
  111. package/types/onemrvapublic-design-system-mat-input-enterprise-number.d.ts +10 -0
  112. package/types/onemrvapublic-design-system-mat-input-iban.d.ts +10 -0
  113. package/types/onemrvapublic-design-system-mat-input-phone.d.ts +10 -0
  114. package/types/onemrvapublic-design-system-mat-message-box.d.ts +10 -0
  115. package/types/onemrvapublic-design-system-mat-multi-select.d.ts +10 -0
  116. package/types/onemrvapublic-design-system-mat-navigation.d.ts +20 -0
  117. package/types/onemrvapublic-design-system-mat-notification.d.ts +10 -0
  118. package/types/onemrvapublic-design-system-mat-paginator.d.ts +10 -0
  119. package/types/onemrvapublic-design-system-mat-panel.d.ts +50 -0
  120. package/types/onemrvapublic-design-system-mat-pop-over.d.ts +30 -0
  121. package/types/onemrvapublic-design-system-mat-progress-bar.d.ts +10 -0
  122. package/types/onemrvapublic-design-system-mat-select-search.d.ts +10 -0
  123. package/types/onemrvapublic-design-system-mat-selectable-box.d.ts +10 -0
  124. package/types/onemrvapublic-design-system-mat-side-menu.d.ts +10 -0
  125. package/types/onemrvapublic-design-system-mat-skeleton.d.ts +4 -7
  126. package/types/onemrvapublic-design-system-mat-spinner.d.ts +8 -0
  127. package/types/onemrvapublic-design-system-mat-stepper.d.ts +10 -0
  128. package/types/onemrvapublic-design-system-mat-sticker.d.ts +8 -0
  129. package/types/onemrvapublic-design-system-mat-table-of-content.d.ts +10 -0
  130. package/types/onemrvapublic-design-system-mat-task-list.d.ts +40 -0
  131. package/types/onemrvapublic-design-system-mat-toast.d.ts +8 -0
  132. package/types/onemrvapublic-design-system-mat-tooltip.d.ts +10 -0
  133. package/types/onemrvapublic-design-system-page-error.d.ts +18 -0
  134. package/types/onemrvapublic-design-system-page-not-found.d.ts +32 -0
  135. package/types/onemrvapublic-design-system-shared.d.ts +13 -3
  136. package/types/onemrvapublic-design-system.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-avatar.mjs","sources":["../../../../projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.component.ts","../../../../projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.component.html","../../../../projects/onemrva/design-system/mat-avatar/onemrvapublic-design-system-mat-avatar.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n inject,\n OnInit,\n TemplateRef,\n input,\n viewChild,\n computed,\n} from '@angular/core';\nimport { mkenum } from '@onemrvapublic/design-system/utils';\nimport { NgTemplateOutlet, SlicePipe } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nlet NEXT_ID = 0;\n\nexport const MatAvatarType = mkenum({\n INITIALS: 'initials',\n TEXT: 'text',\n IMAGE: 'image',\n ICON: 'icon',\n CUSTOM: 'custom',\n});\nexport type MatAvatarType = (typeof MatAvatarType)[keyof typeof MatAvatarType];\n\n/**\n * Avatar provides a way to display an image, icon or initials to the user.\n *\n * @MatModule OnemrvaMatAvatarModule\n *\n * @MatTheme onemrva-mat-avatar-theme, onemrva-mat-icon-theme\n *\n * @MatKeywords avatar, profile, picture, initials\n *\n * @MatGroup Layouts\n *\n * @remarks\n *\n * The Ignite UI Avatar provides an easy way to add an avatar icon to your application. This icon can be an\n * image, someone's initials or a material icon from the Google Material icon set.\n *\n * @example\n * ```html\n * <onemrva-mat-avatar initials=\"MS\" [roundShape]=\"true\" size=\"large\">\n * </onemrva-mat-avatar>\n * ```\n */\n@Component({\n selector: 'onemrva-mat-avatar',\n templateUrl: 'onemrva-mat-avatar.component.html',\n styleUrl: 'onemrva-mat-avatar.component.scss',\n standalone: true,\n imports: [MatIconModule, NgTemplateOutlet, SlicePipe],\n host: {\n '[attr.aria-label]': '\"avatar\"',\n '[attr.role]': '\"img\"',\n class: 'onemrva-mat-avatar',\n '[attr.aria-roledescription]': 'roleDescription',\n '[attr.id]': 'id()',\n '[class.onemrva-mat-avatar--rounded]': 'roundShape()',\n '[class.onemrva-mat-avatar--image]': '_isImageType()',\n '[class.onemrva-mat-avatar--icon]': '_isIconType()',\n '[class.onemrva-mat-avatar--initials]': '_isInitialsType()',\n '[class.onemrva-mat-avatar--text]': '_isTextType()',\n },\n})\nexport class OnemrvaMatAvatarComponent implements OnInit {\n readonly id = input(`onemrva-mat-avatar-${NEXT_ID++}`);\n readonly roundShape = input(true);\n readonly initials = input('');\n readonly text = input('');\n readonly icon = input('');\n readonly src = input('');\n\n protected readonly defaultTemplate = viewChild('defaultTemplate', {\n read: TemplateRef,\n });\n protected readonly imageTemplate = viewChild('imageTemplate', {\n read: TemplateRef,\n });\n protected readonly initialsTemplate = viewChild('initialsTemplate', {\n read: TemplateRef,\n });\n protected readonly textTemplate = viewChild('textTemplate', {\n read: TemplateRef,\n });\n protected readonly iconTemplate = viewChild('iconTemplate', {\n read: TemplateRef,\n });\n\n public roleDescription = '';\n public elementRef = inject(ElementRef);\n\n protected readonly _isImageType = computed(\n () => this.type === MatAvatarType.IMAGE,\n );\n protected readonly _isIconType = computed(\n () => this.type === MatAvatarType.ICON,\n );\n protected readonly _isInitialsType = computed(\n () => this.type === MatAvatarType.INITIALS,\n );\n protected readonly _isTextType = computed(\n () => this.type === MatAvatarType.TEXT,\n );\n\n public get type(): MatAvatarType {\n if (this.initials()) {\n return MatAvatarType.INITIALS;\n }\n\n if (this.src()) {\n return MatAvatarType.IMAGE;\n }\n\n return MatAvatarType.ICON;\n }\n\n public get template(): TemplateRef<any> | undefined {\n switch (this.type) {\n case MatAvatarType.IMAGE:\n return this.imageTemplate();\n case MatAvatarType.INITIALS:\n return this.initialsTemplate();\n case MatAvatarType.TEXT:\n return this.textTemplate();\n case MatAvatarType.ICON:\n return this.iconTemplate();\n default:\n return this.defaultTemplate();\n }\n }\n\n public getSrcUrl() {\n return `url(${this.src()})`;\n }\n\n public ngOnInit() {\n this.roleDescription = this.getRole();\n }\n\n private getRole(): string {\n switch (this.type) {\n case MatAvatarType.IMAGE:\n return 'image avatar';\n case MatAvatarType.ICON:\n return 'icon avatar';\n case MatAvatarType.INITIALS:\n return 'initials avatar';\n default:\n return 'custom avatar';\n }\n }\n}\n","<ng-template #defaultTemplate>\n <ng-content />\n</ng-template>\n\n<ng-template #imageTemplate>\n <div\n #image\n class=\"onemrva-avatar__image\"\n [style.background-image]=\"getSrcUrl()\"\n ></div>\n</ng-template>\n\n<ng-template #initialsTemplate>\n <span>{{ initials() | slice: 0 : 2 }}</span>\n</ng-template>\n\n<ng-template #textTemplate>\n <span>{{ text() }}</span>\n</ng-template>\n\n<ng-template #iconTemplate>\n <mat-icon>{{ icon() }}</mat-icon>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template\" />\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-avatar.mjs","sources":["../../../../projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.component.ts","../../../../projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.component.html","../../../../projects/onemrva/design-system/mat-avatar/onemrvapublic-design-system-mat-avatar.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n inject,\n OnInit,\n TemplateRef,\n input,\n viewChild,\n computed,\n} from '@angular/core';\nimport { mkenum } from '@onemrvapublic/design-system/utils';\nimport { NgTemplateOutlet, SlicePipe } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nlet NEXT_ID = 0;\n\nexport const MatAvatarType = mkenum({\n INITIALS: 'initials',\n TEXT: 'text',\n IMAGE: 'image',\n ICON: 'icon',\n CUSTOM: 'custom',\n});\nexport type MatAvatarType = (typeof MatAvatarType)[keyof typeof MatAvatarType];\n\n/**\n * Avatar provides a way to display an image, icon or initials to the user.\n *\n * Exposes 6 inputs and 0 outputs.\n * Inputs: id, roundShape, initials, text, icon, src.\n * Outputs: none.\n *\n * @MatKeywords avatar, profile, picture, initials\n * @MatGroup Layouts\n * @MatTheme onemrva-mat-avatar-theme, onemrva-mat-icon-theme\n */\n@Component({\n selector: 'onemrva-mat-avatar',\n templateUrl: 'onemrva-mat-avatar.component.html',\n styleUrl: 'onemrva-mat-avatar.component.scss',\n standalone: true,\n imports: [MatIconModule, NgTemplateOutlet, SlicePipe],\n host: {\n '[attr.aria-label]': '\"avatar\"',\n '[attr.role]': '\"img\"',\n class: 'onemrva-mat-avatar',\n '[attr.aria-roledescription]': 'roleDescription',\n '[attr.id]': 'id()',\n '[class.onemrva-mat-avatar--rounded]': 'roundShape()',\n '[class.onemrva-mat-avatar--image]': '_isImageType()',\n '[class.onemrva-mat-avatar--icon]': '_isIconType()',\n '[class.onemrva-mat-avatar--initials]': '_isInitialsType()',\n '[class.onemrva-mat-avatar--text]': '_isTextType()',\n },\n})\nexport class OnemrvaMatAvatarComponent implements OnInit {\n readonly id = input(`onemrva-mat-avatar-${NEXT_ID++}`);\n readonly roundShape = input(true);\n readonly initials = input('');\n readonly text = input('');\n readonly icon = input('');\n readonly src = input('');\n\n protected readonly defaultTemplate = viewChild('defaultTemplate', {\n read: TemplateRef,\n });\n protected readonly imageTemplate = viewChild('imageTemplate', {\n read: TemplateRef,\n });\n protected readonly initialsTemplate = viewChild('initialsTemplate', {\n read: TemplateRef,\n });\n protected readonly textTemplate = viewChild('textTemplate', {\n read: TemplateRef,\n });\n protected readonly iconTemplate = viewChild('iconTemplate', {\n read: TemplateRef,\n });\n\n public roleDescription = '';\n public elementRef = inject(ElementRef);\n\n protected readonly _isImageType = computed(\n () => this.type === MatAvatarType.IMAGE,\n );\n protected readonly _isIconType = computed(\n () => this.type === MatAvatarType.ICON,\n );\n protected readonly _isInitialsType = computed(\n () => this.type === MatAvatarType.INITIALS,\n );\n protected readonly _isTextType = computed(\n () => this.type === MatAvatarType.TEXT,\n );\n\n public get type(): MatAvatarType {\n if (this.initials()) {\n return MatAvatarType.INITIALS;\n }\n\n if (this.src()) {\n return MatAvatarType.IMAGE;\n }\n\n return MatAvatarType.ICON;\n }\n\n public get template(): TemplateRef<any> | undefined {\n switch (this.type) {\n case MatAvatarType.IMAGE:\n return this.imageTemplate();\n case MatAvatarType.INITIALS:\n return this.initialsTemplate();\n case MatAvatarType.TEXT:\n return this.textTemplate();\n case MatAvatarType.ICON:\n return this.iconTemplate();\n default:\n return this.defaultTemplate();\n }\n }\n\n public getSrcUrl() {\n return `url(${this.src()})`;\n }\n\n public ngOnInit() {\n this.roleDescription = this.getRole();\n }\n\n private getRole(): string {\n switch (this.type) {\n case MatAvatarType.IMAGE:\n return 'image avatar';\n case MatAvatarType.ICON:\n return 'icon avatar';\n case MatAvatarType.INITIALS:\n return 'initials avatar';\n default:\n return 'custom avatar';\n }\n }\n}\n","<ng-template #defaultTemplate>\n <ng-content />\n</ng-template>\n\n<ng-template #imageTemplate>\n <div\n #image\n class=\"onemrva-avatar__image\"\n [style.background-image]=\"getSrcUrl()\"\n ></div>\n</ng-template>\n\n<ng-template #initialsTemplate>\n <span>{{ initials() | slice: 0 : 2 }}</span>\n</ng-template>\n\n<ng-template #textTemplate>\n <span>{{ text() }}</span>\n</ng-template>\n\n<ng-template #iconTemplate>\n <mat-icon>{{ icon() }}</mat-icon>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template\" />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -48,14 +48,24 @@ class OnemrvaMatBreadcrumbService {
48
48
  }
49
49
  this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbService, providedIn: 'root' }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbService, providedIn: 'root' }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbService, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbService, decorators: [{
55
55
  type: Injectable,
56
56
  args: [{ providedIn: 'root' }]
57
57
  }], ctorParameters: () => [] });
58
58
 
59
+ /**
60
+ * Breadcrumb trail showing the current navigation hierarchy.
61
+ *
62
+ * Exposes 1 input and 0 outputs.
63
+ * Inputs: paths: OnemrvaBreadcrumb[].
64
+ * Outputs: none.
65
+ *
66
+ * @MatKeywords breadcrumb, navigation, path, trail
67
+ * @MatGroup Navigation
68
+ */
59
69
  class OnemrvaMatBreadcrumbComponent {
60
70
  constructor() {
61
71
  this.paths = input([], /* @ts-ignore */
@@ -70,26 +80,26 @@ class OnemrvaMatBreadcrumbComponent {
70
80
  }
71
81
  });
72
82
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: OnemrvaMatBreadcrumbComponent, isStandalone: true, selector: "onemrva-mat-breadcrumb", inputs: { paths: { classPropertyName: "paths", publicName: "paths", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n", styles: [".onemrva-mat-breadcrumb{display:flex;list-style:none;padding:0;align-items:baseline}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container{margin-right:8px}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container .chevron-right{margin:0 var(--spacer);font-family:var(--icon-font);content:\"\\e5e1\";line-height:1rem;font-size:1rem;vertical-align:middle;height:1rem;width:.25rem}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child) .onemrva-mat-breadcrumb-link{text-decoration:none;color:var(--mat-sys-primary);display:inline-block;font:var(--mat-sys-body-small-size)}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child):hover .onemrva-mat-breadcrumb-link{text-decoration:underline;color:var(--mat-sys-primary);cursor:pointer}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link{display:inline-block;text-decoration:none}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link:hover{cursor:default}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child:hover{cursor:default}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: OnemrvaMatBreadcrumbComponent, isStandalone: true, selector: "onemrva-mat-breadcrumb", inputs: { paths: { classPropertyName: "paths", publicName: "paths", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n", styles: [".onemrva-mat-breadcrumb{display:flex;list-style:none;padding:0;align-items:baseline}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container{margin-right:8px}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container .chevron-right{margin:0 var(--spacer);font-family:var(--icon-font);content:\"\\e5e1\";line-height:1rem;font-size:1rem;vertical-align:middle;height:1rem;width:.25rem}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child) .onemrva-mat-breadcrumb-link{text-decoration:none;color:var(--mat-sys-primary);display:inline-block;font:var(--mat-sys-body-small-size)}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child):hover .onemrva-mat-breadcrumb-link{text-decoration:underline;color:var(--mat-sys-primary);cursor:pointer}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link{display:inline-block;text-decoration:none}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link:hover{cursor:default}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child:hover{cursor:default}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
75
85
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbComponent, decorators: [{
77
87
  type: Component,
78
88
  args: [{ selector: 'onemrva-mat-breadcrumb', imports: [RouterLink, MatIcon, TranslatePipe], standalone: true, template: "@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n", styles: [".onemrva-mat-breadcrumb{display:flex;list-style:none;padding:0;align-items:baseline}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container{margin-right:8px}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container .chevron-right{margin:0 var(--spacer);font-family:var(--icon-font);content:\"\\e5e1\";line-height:1rem;font-size:1rem;vertical-align:middle;height:1rem;width:.25rem}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child) .onemrva-mat-breadcrumb-link{text-decoration:none;color:var(--mat-sys-primary);display:inline-block;font:var(--mat-sys-body-small-size)}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:not(:last-child):hover .onemrva-mat-breadcrumb-link{text-decoration:underline;color:var(--mat-sys-primary);cursor:pointer}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link{display:inline-block;text-decoration:none}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child .onemrva-mat-breadcrumb-link:hover{cursor:default}.onemrva-mat-breadcrumb .onemrva-mat-breadcrumb-link-container:last-child:hover{cursor:default}\n"] }]
79
89
  }], ctorParameters: () => [], propDecorators: { paths: [{ type: i0.Input, args: [{ isSignal: true, alias: "paths", required: false }] }] } });
80
90
 
81
91
  class OnemrvaMatBreadcrumbModule {
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
83
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, imports: [CommonModule,
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
93
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbModule, imports: [CommonModule,
84
94
  MatIconModule,
85
95
  RouterModule,
86
96
  OnemrvaMatBreadcrumbComponent] }); }
87
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, imports: [CommonModule,
97
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbModule, imports: [CommonModule,
88
98
  MatIconModule,
89
99
  RouterModule,
90
100
  OnemrvaMatBreadcrumbComponent] }); }
91
101
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatBreadcrumbModule, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatBreadcrumbModule, decorators: [{
93
103
  type: NgModule,
94
104
  args: [{
95
105
  declarations: [],
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-breadcrumb.mjs","sources":["../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/index.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/onemrvapublic-design-system-mat-breadcrumb.ts"],"sourcesContent":["import { DestroyRef, Injectable, Signal, inject, signal } from '@angular/core';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\n\n@Injectable({ providedIn: 'root' })\nexport class OnemrvaMatBreadcrumbService {\n private readonly router = inject(Router);\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly _breadcrumbs = signal<OnemrvaBreadcrumb[]>(\n this.buildFromSnapshot(),\n );\n\n /** Readonly signal for consumers (components/templates) */\n readonly breadcrumbs: Signal<OnemrvaBreadcrumb[]> =\n this._breadcrumbs.asReadonly();\n\n constructor() {\n // Keep it in sync after navigations\n this.router.events\n .pipe(\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this._breadcrumbs.set(this.buildFromSnapshot());\n });\n }\n\n private buildFromSnapshot(): OnemrvaBreadcrumb[] {\n const root = this.router.routerState.snapshot.root;\n const breadcrumbs: OnemrvaBreadcrumb[] = [];\n this.addBreadcrumb(root, [], breadcrumbs);\n return breadcrumbs;\n }\n\n private addBreadcrumb(\n route: ActivatedRouteSnapshot | null,\n parentUrl: string[],\n breadcrumbs: OnemrvaBreadcrumb[],\n ): void {\n if (!route) return;\n\n const routeUrl = parentUrl.concat(route.url.map(u => u.path));\n\n const navigationTitle = route.data?.['navigationTitle'];\n if (navigationTitle) {\n const url = '/' + routeUrl.join('/');\n\n const breadcrumb: OnemrvaBreadcrumb = {\n label: navigationTitle,\n url,\n translate: !!route.data?.['translate'],\n };\n\n const last = breadcrumbs[breadcrumbs.length - 1];\n if (last && last.url === url)\n breadcrumbs[breadcrumbs.length - 1] = breadcrumb;\n else breadcrumbs.push(breadcrumb);\n }\n\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\n }\n}\n","import { Component, effect, inject, input, Signal } from '@angular/core';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\nimport { OnemrvaMatBreadcrumbService } from './onemrva-mat-breadcrumb.service';\nimport { RouterLink } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-breadcrumb',\n templateUrl: 'onemrva-mat-breadcrumb.component.html',\n styleUrls: ['onemrva-mat-breadcrumb.component.scss'],\n imports: [RouterLink, MatIcon, TranslatePipe],\n standalone: true,\n})\nexport class OnemrvaMatBreadcrumbComponent {\n public paths = input<OnemrvaBreadcrumb[]>([]);\n\n breadcrumbs!: Signal<OnemrvaBreadcrumb[]>;\n\n breadcrumbService = inject(OnemrvaMatBreadcrumbService);\n\n constructor() {\n effect(() => {\n if (this.paths() && this.paths().length > 0) {\n this.breadcrumbs = this.paths;\n } else {\n this.breadcrumbs = this.breadcrumbService.breadcrumbs;\n }\n });\n }\n}\n","@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { OnemrvaMatBreadcrumbComponent } from './onemrva-mat-breadcrumb.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n OnemrvaMatBreadcrumbComponent,\n ],\n exports: [],\n})\nexport class OnemrvaMatBreadcrumbModule {}\n","/*\n * Public API Surface of mat-breadcrumb\n */\n\nexport * from './src/onemrva-mat-breadcrumb.component';\nexport * from './src/onemrva-mat-breadcrumb.module';\nexport * from './src/onemrva-mat-breadcrumb.model';\nexport * from './src/onemrva-mat-breadcrumb.service';\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-breadcrumb.mjs","sources":["../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html","../../../../projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/index.ts","../../../../projects/onemrva/design-system/mat-breadcrumb/onemrvapublic-design-system-mat-breadcrumb.ts"],"sourcesContent":["import { DestroyRef, Injectable, Signal, inject, signal } from '@angular/core';\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\n\n@Injectable({ providedIn: 'root' })\nexport class OnemrvaMatBreadcrumbService {\n private readonly router = inject(Router);\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly _breadcrumbs = signal<OnemrvaBreadcrumb[]>(\n this.buildFromSnapshot(),\n );\n\n /** Readonly signal for consumers (components/templates) */\n readonly breadcrumbs: Signal<OnemrvaBreadcrumb[]> =\n this._breadcrumbs.asReadonly();\n\n constructor() {\n // Keep it in sync after navigations\n this.router.events\n .pipe(\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this._breadcrumbs.set(this.buildFromSnapshot());\n });\n }\n\n private buildFromSnapshot(): OnemrvaBreadcrumb[] {\n const root = this.router.routerState.snapshot.root;\n const breadcrumbs: OnemrvaBreadcrumb[] = [];\n this.addBreadcrumb(root, [], breadcrumbs);\n return breadcrumbs;\n }\n\n private addBreadcrumb(\n route: ActivatedRouteSnapshot | null,\n parentUrl: string[],\n breadcrumbs: OnemrvaBreadcrumb[],\n ): void {\n if (!route) return;\n\n const routeUrl = parentUrl.concat(route.url.map(u => u.path));\n\n const navigationTitle = route.data?.['navigationTitle'];\n if (navigationTitle) {\n const url = '/' + routeUrl.join('/');\n\n const breadcrumb: OnemrvaBreadcrumb = {\n label: navigationTitle,\n url,\n translate: !!route.data?.['translate'],\n };\n\n const last = breadcrumbs[breadcrumbs.length - 1];\n if (last && last.url === url)\n breadcrumbs[breadcrumbs.length - 1] = breadcrumb;\n else breadcrumbs.push(breadcrumb);\n }\n\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\n }\n}\n","import { Component, effect, inject, input, Signal } from '@angular/core';\nimport { OnemrvaBreadcrumb } from './onemrva-mat-breadcrumb.model';\nimport { OnemrvaMatBreadcrumbService } from './onemrva-mat-breadcrumb.service';\nimport { RouterLink } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Breadcrumb trail showing the current navigation hierarchy.\n *\n * Exposes 1 input and 0 outputs.\n * Inputs: paths: OnemrvaBreadcrumb[].\n * Outputs: none.\n *\n * @MatKeywords breadcrumb, navigation, path, trail\n * @MatGroup Navigation\n */\n@Component({\n selector: 'onemrva-mat-breadcrumb',\n templateUrl: 'onemrva-mat-breadcrumb.component.html',\n styleUrls: ['onemrva-mat-breadcrumb.component.scss'],\n imports: [RouterLink, MatIcon, TranslatePipe],\n standalone: true,\n})\nexport class OnemrvaMatBreadcrumbComponent {\n public paths = input<OnemrvaBreadcrumb[]>([]);\n\n breadcrumbs!: Signal<OnemrvaBreadcrumb[]>;\n\n breadcrumbService = inject(OnemrvaMatBreadcrumbService);\n\n constructor() {\n effect(() => {\n if (this.paths() && this.paths().length > 0) {\n this.breadcrumbs = this.paths;\n } else {\n this.breadcrumbs = this.breadcrumbService.breadcrumbs;\n }\n });\n }\n}\n","@if (breadcrumbs()) {\n <ng-container>\n @if (breadcrumbs().length > 0) {\n <ul class=\"onemrva-mat-breadcrumb\">\n @for (\n breadcrumb of breadcrumbs();\n track breadcrumb.label;\n let bridx = $index\n ) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container\"\n [style.display]=\"\n breadcrumbs().length <= 6 || bridx <= 2 ? 'list-item' : 'none'\n \"\n >\n <div\n [routerLink]=\"breadcrumb.url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n @if (breadcrumb.translate) {\n {{ breadcrumb.label | translate }}\n } @else {\n {{ breadcrumb.label }}\n }\n </div>\n\n @if (bridx < breadcrumbs().length - 1) {\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n }\n </li>\n @if (breadcrumbs().length > 6) {\n <li\n class=\"onemrva-mat-breadcrumb-link-container onemrva-mat-breadcrumb-link-container-hidden\"\n >\n ...\n <mat-icon class=\"chevron-right\" style=\"width: 10px\"\n >chevron_right</mat-icon\n >\n </li>\n <li class=\"onemrva-mat-breadcrumb-link-container\">\n @if (breadcrumbs()[breadcrumbs().length - 1].url) {\n <div\n [routerLink]=\"breadcrumbs()[breadcrumbs().length - 1].url\"\n class=\"onemrva-mat-breadcrumb-link\"\n >\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n } @else {\n <div class=\"onemrva-mat-breadcrumb-link\">\n {{ breadcrumbs()[breadcrumbs().length - 1].label }}\n </div>\n }\n </li>\n }\n }\n </ul>\n }\n </ng-container>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { OnemrvaMatBreadcrumbComponent } from './onemrva-mat-breadcrumb.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n OnemrvaMatBreadcrumbComponent,\n ],\n exports: [],\n})\nexport class OnemrvaMatBreadcrumbModule {}\n","/*\n * Public API Surface of mat-breadcrumb\n */\n\nexport * from './src/onemrva-mat-breadcrumb.component';\nexport * from './src/onemrva-mat-breadcrumb.module';\nexport * from './src/onemrva-mat-breadcrumb.model';\nexport * from './src/onemrva-mat-breadcrumb.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,6 +9,14 @@ import { TranslatePipe } from '@ngx-translate/core';
9
9
  import { Subject, interval, takeUntil } from 'rxjs';
10
10
  import { MatTooltip } from '@angular/material/tooltip';
11
11
 
12
+ /**
13
+ * Single slide inside an onemrva-mat-carousel.
14
+ *
15
+ * This component exposes no configurable inputs or outputs.
16
+ *
17
+ * @MatKeywords carousel, slide, item, media
18
+ * @MatGroup Media
19
+ */
12
20
  class OnemrvaMatCarouselItemComponent {
13
21
  constructor() {
14
22
  this.tpl = viewChild.required(TemplateRef);
@@ -17,16 +25,26 @@ class OnemrvaMatCarouselItemComponent {
17
25
  this.element = inject(ElementRef);
18
26
  this.nativeElement = this.element.nativeElement;
19
27
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatCarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.1", type: OnemrvaMatCarouselItemComponent, isStandalone: true, selector: "onemrva-mat-carousel-item", host: { properties: { "class.show": "show()" } }, viewQueries: [{ propertyName: "tpl", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n", styles: [":host{vertical-align:top;position:relative;display:inline-block;opacity:1;transition:opacity .5s ease-in-out}:host.semiTransparent{opacity:.3}\n"] }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatCarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", type: OnemrvaMatCarouselItemComponent, isStandalone: true, selector: "onemrva-mat-carousel-item", host: { properties: { "class.show": "show()" } }, viewQueries: [{ propertyName: "tpl", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n", styles: [":host{vertical-align:top;position:relative;display:inline-block;opacity:1;transition:opacity .5s ease-in-out}:host.semiTransparent{opacity:.3}\n"] }); }
22
30
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatCarouselItemComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatCarouselItemComponent, decorators: [{
24
32
  type: Component,
25
33
  args: [{ selector: 'onemrva-mat-carousel-item', standalone: true, imports: [], host: {
26
34
  '[class.show]': 'show()',
27
35
  }, template: "<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n", styles: [":host{vertical-align:top;position:relative;display:inline-block;opacity:1;transition:opacity .5s ease-in-out}:host.semiTransparent{opacity:.3}\n"] }]
28
36
  }], ctorParameters: () => [], propDecorators: { tpl: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
29
37
 
38
+ /**
39
+ * Auto-advancing carousel with configurable navigation controls.
40
+ *
41
+ * Exposes 6 inputs and 0 outputs.
42
+ * Inputs: timing, gap, padding, showControls, autoplay, showDots.
43
+ * Outputs: none.
44
+ *
45
+ * @MatKeywords carousel, slider, slideshow, gallery, media
46
+ * @MatGroup Media
47
+ */
30
48
  class OnemrvaMatCarouselComponent {
31
49
  constructor() {
32
50
  this.items = contentChildren(OnemrvaMatCarouselItemComponent, /* @ts-ignore */
@@ -152,10 +170,10 @@ class OnemrvaMatCarouselComponent {
152
170
  item.nativeElement.style.height = biggest + 'px';
153
171
  });
154
172
  }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: OnemrvaMatCarouselComponent, isStandalone: true, selector: "onemrva-mat-carousel", inputs: { timing: { classPropertyName: "timing", publicName: "timing", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, showControls: { classPropertyName: "showControls", publicName: "showControls", isSignal: true, isRequired: false, transformFunction: null }, autoplay: { classPropertyName: "autoplay", publicName: "autoplay", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, queries: [{ propertyName: "items", predicate: OnemrvaMatCarouselItemComponent, isSignal: true }], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carouselWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (hasPrev()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'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 />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n", styles: [":host{position:relative;display:block;width:calc(100% - 128px);overflow:hidden;padding:0 calc(var(--spacer) * 8)}:host .carousel-wrapper{display:block;width:60000px;position:relative;overflow:hidden;margin:0;padding:0}:host .controls{position:absolute;top:calc(50% - 2rem);z-index:6}:host .controls.next{float:right;right:2rem}:host .controls.previous{float:left;left:2rem}:host .dots{text-align:center;margin-top:var(--spacer)}:host .dots .dot{cursor:pointer;width:.75rem;height:.75rem;margin:var(--spacer);background-color:var(--mat-sys-outline-variant);border-radius:50%;display:inline-block;transition:background-color .6s ease}:host .dots .dot.active{background-color:var(--mat-sys-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
174
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: OnemrvaMatCarouselComponent, isStandalone: true, selector: "onemrva-mat-carousel", inputs: { timing: { classPropertyName: "timing", publicName: "timing", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, showControls: { classPropertyName: "showControls", publicName: "showControls", isSignal: true, isRequired: false, transformFunction: null }, autoplay: { classPropertyName: "autoplay", publicName: "autoplay", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, queries: [{ propertyName: "items", predicate: OnemrvaMatCarouselItemComponent, isSignal: true }], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carouselWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (hasPrev()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'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 />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n", styles: [":host{position:relative;display:block;width:calc(100% - 128px);overflow:hidden;padding:0 calc(var(--spacer) * 8)}:host .carousel-wrapper{display:block;width:60000px;position:relative;overflow:hidden;margin:0;padding:0}:host .controls{position:absolute;top:calc(50% - 2rem);z-index:6}:host .controls.next{float:right;right:2rem}:host .controls.previous{float:left;left:2rem}:host .dots{text-align:center;margin-top:var(--spacer)}:host .dots .dot{cursor:pointer;width:.75rem;height:.75rem;margin:var(--spacer);background-color:var(--mat-sys-outline-variant);border-radius:50%;display:inline-block;transition:background-color .6s ease}:host .dots .dot.active{background-color:var(--mat-sys-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
157
175
  }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatCarouselComponent, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatCarouselComponent, decorators: [{
159
177
  type: Component,
160
178
  args: [{ selector: 'onemrva-mat-carousel', standalone: true, imports: [MatButtonModule, MatIconModule, TranslatePipe, MatTooltip, NgStyle], encapsulation: ViewEncapsulation.Emulated, host: {
161
179
  '(window:resize)': 'onResize($event)',
@@ -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 TemplateRef,\n inject,\n viewChild,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n styleUrl: './onemrva-mat-carousel-item.component.scss',\n host: {\n '[class.show]': 'show()',\n },\n})\nexport class OnemrvaMatCarouselItemComponent {\n readonly tpl = viewChild.required(TemplateRef);\n\n public nativeElement: HTMLElement;\n\n readonly show = signal(false);\n\n element: ElementRef = inject(ElementRef);\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n input,\n contentChildren,\n viewChild,\n} from '@angular/core';\nimport { NgStyle } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [MatButtonModule, MatIconModule, TranslatePipe, MatTooltip, NgStyle],\n templateUrl: './onemrva-mat-carousel.component.html',\n styleUrl: './onemrva-mat-carousel.component.scss',\n encapsulation: ViewEncapsulation.Emulated,\n host: {\n '(window:resize)': 'onResize($event)',\n },\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n readonly items = contentChildren(OnemrvaMatCarouselItemComponent);\n\n nativeElement: HTMLElement;\n\n readonly carousel = viewChild.required<ElementRef>('carouselWrapper');\n\n private player?: Animation;\n\n readonly timing = input('250ms ease-in');\n readonly gap = input(32);\n readonly padding = input(64);\n readonly showControls = input(true);\n readonly autoplay = input(0);\n readonly showDots = input(true);\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width = 0;\n destroyed: Subject<any> = new Subject<any>();\n\n element: ElementRef = inject(ElementRef);\n renderer: Renderer2 = inject(Renderer2);\n\n constructor() {\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 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 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.currentSlide = isNaN(this.currentSlide) ? 1 : this.currentSlide;\n\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 timingParts = this.timing().split(' ');\n const duration = timingParts[0];\n const easing = timingParts[1] || 'ease';\n\n const durationMs = duration.endsWith('ms')\n ? parseInt(duration)\n : parseFloat(duration) * 1000;\n\n // this.player = this.carousel().nativeElement.animate(\n // [{ transform: `translateX(-${offset}px)` }],\n // {\n // duration: durationMs,\n // easing: easing,\n // fill: 'forwards',\n // },\n // );\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 (\n this.items().length > 0 && this.showControls() && this.currentSlide > 0\n );\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 opacify() {\n this.items().forEach((item, index) => {\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n resize() {\n let biggest = 80;\n\n this.items().forEach(item => {\n item.nativeElement.style.height = 'auto';\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","@if (hasPrev()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'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 />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\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 TemplateRef,\n inject,\n viewChild,\n signal,\n} from '@angular/core';\n\n/**\n * Single slide inside an onemrva-mat-carousel.\n *\n * This component exposes no configurable inputs or outputs.\n *\n * @MatKeywords carousel, slide, item, media\n * @MatGroup Media\n */\n@Component({\n selector: 'onemrva-mat-carousel-item',\n standalone: true,\n imports: [],\n templateUrl: './onemrva-mat-carousel-item.component.html',\n styleUrl: './onemrva-mat-carousel-item.component.scss',\n host: {\n '[class.show]': 'show()',\n },\n})\nexport class OnemrvaMatCarouselItemComponent {\n readonly tpl = viewChild.required(TemplateRef);\n\n public nativeElement: HTMLElement;\n\n readonly show = signal(false);\n\n element: ElementRef = inject(ElementRef);\n constructor() {\n this.nativeElement = this.element.nativeElement;\n }\n}\n","<!--<ng-template>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n\n<ng-content />\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n input,\n contentChildren,\n viewChild,\n} from '@angular/core';\nimport { NgStyle } from '@angular/common';\nimport { OnemrvaMatCarouselItemComponent } from './mat-carousel-item/onemrva-mat-carousel-item.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { interval, Subject, takeUntil } from 'rxjs';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n/**\n * Auto-advancing carousel with configurable navigation controls.\n *\n * Exposes 6 inputs and 0 outputs.\n * Inputs: timing, gap, padding, showControls, autoplay, showDots.\n * Outputs: none.\n *\n * @MatKeywords carousel, slider, slideshow, gallery, media\n * @MatGroup Media\n */\n@Component({\n selector: 'onemrva-mat-carousel',\n standalone: true,\n imports: [MatButtonModule, MatIconModule, TranslatePipe, MatTooltip, NgStyle],\n templateUrl: './onemrva-mat-carousel.component.html',\n styleUrl: './onemrva-mat-carousel.component.scss',\n encapsulation: ViewEncapsulation.Emulated,\n host: {\n '(window:resize)': 'onResize($event)',\n },\n})\nexport class OnemrvaMatCarouselComponent\n implements AfterViewInit, OnInit, OnDestroy\n{\n readonly items = contentChildren(OnemrvaMatCarouselItemComponent);\n\n nativeElement: HTMLElement;\n\n readonly carousel = viewChild.required<ElementRef>('carouselWrapper');\n\n private player?: Animation;\n\n readonly timing = input('250ms ease-in');\n readonly gap = input(32);\n readonly padding = input(64);\n readonly showControls = input(true);\n readonly autoplay = input(0);\n readonly showDots = input(true);\n\n public currentSlide = 0;\n carouselWrapperStyle = {};\n\n width = 0;\n destroyed: Subject<any> = new Subject<any>();\n\n element: ElementRef = inject(ElementRef);\n renderer: Renderer2 = inject(Renderer2);\n\n constructor() {\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 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 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.currentSlide = isNaN(this.currentSlide) ? 1 : this.currentSlide;\n\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 timingParts = this.timing().split(' ');\n const duration = timingParts[0];\n const easing = timingParts[1] || 'ease';\n\n const durationMs = duration.endsWith('ms')\n ? parseInt(duration)\n : parseFloat(duration) * 1000;\n\n // this.player = this.carousel().nativeElement.animate(\n // [{ transform: `translateX(-${offset}px)` }],\n // {\n // duration: durationMs,\n // easing: easing,\n // fill: 'forwards',\n // },\n // );\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 (\n this.items().length > 0 && this.showControls() && this.currentSlide > 0\n );\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 opacify() {\n this.items().forEach((item, index) => {\n if (index !== this.currentSlide) {\n item.nativeElement.className = 'semiTransparent';\n } else {\n item.nativeElement.className = '';\n }\n });\n }\n resize() {\n let biggest = 80;\n\n this.items().forEach(item => {\n item.nativeElement.style.height = 'auto';\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","@if (hasPrev()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"prev()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.previous' | translate\"\n [matTooltip]=\"'carousel.previous' | translate\"\n class=\"controls previous\"\n >\n <mat-icon class=\"large\">chevron_left</mat-icon>\n </button>\n}\n@if (hasNext()) {\n <button\n animate.enter=\"fadeIn\"\n animate.leave=\"fadeOut\"\n (click)=\"next()\"\n mat-icon-button\n color=\"primary\"\n [attr.aria-label]=\"'carousel.next' | translate\"\n [matTooltip]=\"'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 />\n</section>\n\n@if (showDots()) {\n <div class=\"dots\">\n @for (item of items(); track item; let dotidx = $index) {\n <span\n tabindex=\"1\"\n class=\"dot\"\n role=\"button\"\n [attr.aria-label]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [matTooltip]=\"\n ('carousel.goto' | translate) +\n ' ' +\n (dotidx + 1) +\n '/' +\n items().length\n \"\n [class.active]=\"dotidx === currentSlide\"\n (click)=\"goto(dotidx)\"\n ></span>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,6 +3,16 @@ import { input, signal, computed, forwardRef, ViewEncapsulation, Component } fro
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { MatCheckbox } from '@angular/material/checkbox';
5
5
 
6
+ /**
7
+ * Toggle chip implementing ControlValueAccessor for use in forms.
8
+ *
9
+ * Exposes 2 inputs and 0 outputs.
10
+ * Inputs: valueInput: boolean | null, disabledInput: boolean | null.
11
+ * Outputs: none.
12
+ *
13
+ * @MatKeywords choice-chip, chip, toggle, checkbox, select
14
+ * @MatGroup Forms
15
+ */
6
16
  class OnemrvaMatChoiceChipComponent {
7
17
  constructor() {
8
18
  // Optional external input (only if you want non-forms usage too)
@@ -45,8 +55,8 @@ class OnemrvaMatChoiceChipComponent {
45
55
  this.onChange(checked);
46
56
  this.onTouched();
47
57
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatChoiceChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: OnemrvaMatChoiceChipComponent, isStandalone: true, selector: "onemrva-mat-choice-chip", inputs: { valueInput: { classPropertyName: "valueInput", publicName: "valueInput", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabledInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.opacity": "_opacity()" } }, providers: [
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatChoiceChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: OnemrvaMatChoiceChipComponent, isStandalone: true, selector: "onemrva-mat-choice-chip", inputs: { valueInput: { classPropertyName: "valueInput", publicName: "valueInput", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabledInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.opacity": "_opacity()" } }, providers: [
50
60
  {
51
61
  provide: NG_VALUE_ACCESSOR,
52
62
  useExisting: forwardRef(() => OnemrvaMatChoiceChipComponent),
@@ -54,7 +64,7 @@ class OnemrvaMatChoiceChipComponent {
54
64
  },
55
65
  ], ngImport: i0, template: "<mat-checkbox\n class=\"onemrva-choice-chip\"\n [checked]=\"value()\"\n [disabled]=\"disabled()\"\n color=\"primary\"\n (change)=\"onInputChange($event.checked)\"\n (blur)=\"onTouched()\"\n>\n <ng-content />\n</mat-checkbox>\n", styles: [".onemrva-theme onemrva-mat-choice-chip{--mat-checkbox-selected-checkmark-color: var(--mat-sys-on-primary)}.onemrva-theme onemrva-mat-choice-chip .mat-mdc-checkbox:not(.mat-mdc-checkbox-checked) .mat-internal-form-field>label{padding-left:14px}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip{-webkit-user-select:none;user-select:none;border:1px solid var(--mat-sys-primary);border-radius:var(--button-border-radius);background:var(--mat-sys-primary-container);padding:0}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip label{color:var(--mat-sys-primary);font-family:var(--mat-sys-label-large-font);font-size:var(--mat-sys-label-large-size);font-weight:var(--mat-sys-label-large-weight);line-height:var(--mat-sys-label-large-line-height)}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip.mat-mdc-checkbox-checked{background-color:var(--mat-sys-primary);color:var(--mat-sys-on-primary)}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:var(--mat-sys-primary);background:none!important;border:none!important;top:-6px;left:10px}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip.mat-mdc-checkbox-checked label{line-height:var(--mdc-chip-container-height);padding:5px 14px;color:var(--mat-sys-on-primary)}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip .mdc-checkbox__ripple{display:none}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip .mdc-form-field{display:inline-block}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip .mdc-form-field .mdc-checkbox{padding:0;margin:0;transition:width .4s}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip .mdc-form-field .mdc-checkbox .mdc-checkbox__ripple,.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip .mdc-form-field .mdc-checkbox input{display:none}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip:not(.mat-mdc-checkbox-checked) label{line-height:var(--mdc-chip-container-height);padding:5px 14px}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip:not(.mat-mdc-checkbox-checked) .mdc-checkbox{visibility:hidden;width:0}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip.mdc-checkbox--disabled{background-color:var(--mat-sys-primary-container);border-color:var(--mat-sys-primary-fixed-dim)}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip.mdc-checkbox--disabled .mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mat-sys-primary-fixed-dim)}.onemrva-theme onemrva-mat-choice-chip mat-checkbox.onemrva-choice-chip.mdc-checkbox--disabled label{color:var(--mat-sys-on-surface)}\n"], dependencies: [{ kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], encapsulation: i0.ViewEncapsulation.None }); }
56
66
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaMatChoiceChipComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaMatChoiceChipComponent, decorators: [{
58
68
  type: Component,
59
69
  args: [{ selector: 'onemrva-mat-choice-chip', standalone: true, imports: [MatCheckbox], encapsulation: ViewEncapsulation.None, host: {
60
70
  '[style.opacity]': '_opacity()',
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-choice-chip.mjs","sources":["../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.ts","../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.html","../../../../projects/onemrva/design-system/mat-choice-chip/index.ts","../../../../projects/onemrva/design-system/mat-choice-chip/onemrvapublic-design-system-mat-choice-chip.ts"],"sourcesContent":["import {\n Component,\n forwardRef,\n ViewEncapsulation,\n signal,\n input,\n computed,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatCheckbox } from '@angular/material/checkbox';\n\n@Component({\n selector: 'onemrva-mat-choice-chip',\n templateUrl: 'onemrva-mat-choice-chip.component.html',\n styleUrls: ['onemrva-mat-choice-chip.component.scss'],\n standalone: true,\n imports: [MatCheckbox],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.opacity]': '_opacity()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnemrvaMatChoiceChipComponent),\n multi: true,\n },\n ],\n})\nexport class OnemrvaMatChoiceChipComponent implements ControlValueAccessor {\n // Optional external input (only if you want non-forms usage too)\n readonly valueInput = input<boolean | null>(null);\n readonly disabledInput = input<boolean | null>(null);\n\n // Writable internal state for CVA\n private readonly _value = signal(false);\n private readonly _disabled = signal(false);\n\n // What the template should bind to\n readonly value = () => this.valueInput() ?? this._value();\n readonly disabled = () => this.disabledInput() ?? this._disabled();\n\n readonly _opacity = computed(() => (this.disabled() ? 0.4 : 1));\n\n private onChange: (val: boolean) => void = () => {\n /* empty */\n };\n public onTouched: () => void = () => {\n /* empty */\n };\n\n writeValue(val: boolean): void {\n this._value.set(val);\n }\n\n registerOnChange(fn: (val: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n // Called from template\n onInputChange(checked: boolean) {\n this._value.set(checked);\n this.onChange(checked);\n this.onTouched();\n }\n}\n","<mat-checkbox\n class=\"onemrva-choice-chip\"\n [checked]=\"value()\"\n [disabled]=\"disabled()\"\n color=\"primary\"\n (change)=\"onInputChange($event.checked)\"\n (blur)=\"onTouched()\"\n>\n <ng-content />\n</mat-checkbox>\n","/*\n * Public API Surface of mat-sticker\n */\n\nexport * from './src/onemrva-mat-choice-chip.component';\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-choice-chip.mjs","sources":["../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.ts","../../../../projects/onemrva/design-system/mat-choice-chip/src/onemrva-mat-choice-chip.component.html","../../../../projects/onemrva/design-system/mat-choice-chip/index.ts","../../../../projects/onemrva/design-system/mat-choice-chip/onemrvapublic-design-system-mat-choice-chip.ts"],"sourcesContent":["import {\n Component,\n forwardRef,\n ViewEncapsulation,\n signal,\n input,\n computed,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatCheckbox } from '@angular/material/checkbox';\n\n/**\n * Toggle chip implementing ControlValueAccessor for use in forms.\n *\n * Exposes 2 inputs and 0 outputs.\n * Inputs: valueInput: boolean | null, disabledInput: boolean | null.\n * Outputs: none.\n *\n * @MatKeywords choice-chip, chip, toggle, checkbox, select\n * @MatGroup Forms\n */\n@Component({\n selector: 'onemrva-mat-choice-chip',\n templateUrl: 'onemrva-mat-choice-chip.component.html',\n styleUrls: ['onemrva-mat-choice-chip.component.scss'],\n standalone: true,\n imports: [MatCheckbox],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.opacity]': '_opacity()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnemrvaMatChoiceChipComponent),\n multi: true,\n },\n ],\n})\nexport class OnemrvaMatChoiceChipComponent implements ControlValueAccessor {\n // Optional external input (only if you want non-forms usage too)\n readonly valueInput = input<boolean | null>(null);\n readonly disabledInput = input<boolean | null>(null);\n\n // Writable internal state for CVA\n private readonly _value = signal(false);\n private readonly _disabled = signal(false);\n\n // What the template should bind to\n readonly value = () => this.valueInput() ?? this._value();\n readonly disabled = () => this.disabledInput() ?? this._disabled();\n\n readonly _opacity = computed(() => (this.disabled() ? 0.4 : 1));\n\n private onChange: (val: boolean) => void = () => {\n /* empty */\n };\n public onTouched: () => void = () => {\n /* empty */\n };\n\n writeValue(val: boolean): void {\n this._value.set(val);\n }\n\n registerOnChange(fn: (val: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n // Called from template\n onInputChange(checked: boolean) {\n this._value.set(checked);\n this.onChange(checked);\n this.onTouched();\n }\n}\n","<mat-checkbox\n class=\"onemrva-choice-chip\"\n [checked]=\"value()\"\n [disabled]=\"disabled()\"\n color=\"primary\"\n (change)=\"onInputChange($event.checked)\"\n (blur)=\"onTouched()\"\n>\n <ng-content />\n</mat-checkbox>\n","/*\n * Public API Surface of mat-sticker\n */\n\nexport * from './src/onemrva-mat-choice-chip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,6 +7,16 @@ import { TranslateService } from '@ngx-translate/core';
7
7
  import * as i2 from '@angular/material/tooltip';
8
8
  import { MatTooltipModule } from '@angular/material/tooltip';
9
9
 
10
+ /**
11
+ * Button that copies a value or element text to the clipboard.
12
+ *
13
+ * Exposes 1 input and 4 outputs.
14
+ * Inputs: tooltip.
15
+ * Outputs: onCopy: void, onClick: Event, onHover: Event, onLeave: Event.
16
+ *
17
+ * @MatKeywords copy, clipboard, copy-to-clipboard, action
18
+ * @MatGroup Misc
19
+ */
10
20
  class OnemrvaCopyToClipboardComponent {
11
21
  constructor() {
12
22
  this.translate = inject(TranslateService);
@@ -51,10 +61,10 @@ class OnemrvaCopyToClipboardComponent {
51
61
  this.matTooltip().hide();
52
62
  }, 2000);
53
63
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaCopyToClipboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: OnemrvaCopyToClipboardComponent, isStandalone: true, selector: "copy-to-clipboard", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCopy: "onCopy", onClick: "onClick", onHover: "onHover", onLeave: "onLeave" }, host: { listeners: { "click": "clicked($event)", "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["clipboardCopyContent"], descendants: true, isSignal: true }, { propertyName: "matTooltip", first: true, predicate: ["cccTooltip"], descendants: true, isSignal: true }], ngImport: i0, template: "<span class=\"onemrva-copy-to-clipboard-container\">\n <span #clipboardCopyContent>\n <ng-content />\n </span>\n @if (!checked) {\n <mat-icon class=\"small\" (click)=\"copy($event)\"> content_copy </mat-icon>\n }\n @if (checked) {\n <mat-icon class=\"small\" color=\"success\">check</mat-icon>\n }\n <span\n [matTooltip]=\"getTooltipText\"\n matTooltipPosition=\"above\"\n #cccTooltip=\"matTooltip\"\n ></span>\n</span>\n", styles: [".onemrva-copy-to-clipboard-container mat-icon{line-height:18px;cursor:pointer;margin-left:4px;margin-right:4px}.onemrva-copy-to-clipboard-container .hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaCopyToClipboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: OnemrvaCopyToClipboardComponent, isStandalone: true, selector: "copy-to-clipboard", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCopy: "onCopy", onClick: "onClick", onHover: "onHover", onLeave: "onLeave" }, host: { listeners: { "click": "clicked($event)", "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["clipboardCopyContent"], descendants: true, isSignal: true }, { propertyName: "matTooltip", first: true, predicate: ["cccTooltip"], descendants: true, isSignal: true }], ngImport: i0, template: "<span class=\"onemrva-copy-to-clipboard-container\">\n <span #clipboardCopyContent>\n <ng-content />\n </span>\n @if (!checked) {\n <mat-icon class=\"small\" (click)=\"copy($event)\"> content_copy </mat-icon>\n }\n @if (checked) {\n <mat-icon class=\"small\" color=\"success\">check</mat-icon>\n }\n <span\n [matTooltip]=\"getTooltipText\"\n matTooltipPosition=\"above\"\n #cccTooltip=\"matTooltip\"\n ></span>\n</span>\n", styles: [".onemrva-copy-to-clipboard-container mat-icon{line-height:18px;cursor:pointer;margin-left:4px;margin-right:4px}.onemrva-copy-to-clipboard-container .hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
56
66
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaCopyToClipboardComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaCopyToClipboardComponent, decorators: [{
58
68
  type: Component,
59
69
  args: [{ selector: 'copy-to-clipboard', standalone: true, imports: [MatIconModule, MatTooltipModule], host: {
60
70
  '(click)': 'clicked($event)',
@@ -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 {\n Component,\n ElementRef,\n inject,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { 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: [MatIconModule, MatTooltipModule],\n host: {\n '(click)': 'clicked($event)',\n '(mouseenter)': 'onMouseEnter($event)',\n '(mouseleave)': 'onMouseLeave($event)',\n },\n})\nexport class OnemrvaCopyToClipboardComponent {\n private translate = inject(TranslateService);\n private clipboard = inject(Clipboard);\n\n checked = false;\n\n readonly content = viewChild.required<ElementRef>('clipboardCopyContent');\n readonly matTooltip = viewChild.required<MatTooltip>('cccTooltip');\n\n readonly tooltip = input('');\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onCopy = output<void>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onClick = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onHover = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onLeave = output<Event>();\n\n clicked(e: MouseEvent) {\n this.onClick.emit(e);\n }\n\n onMouseEnter(e: MouseEvent) {\n this.onHover.emit(e);\n }\n\n onMouseLeave(e: Event) {\n this.onLeave.emit(e);\n }\n\n get getTooltipText() {\n const tooltip = this.tooltip();\n return tooltip\n ? this.translate.instant(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(undefined);\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 />\n </span>\n @if (!checked) {\n <mat-icon class=\"small\" (click)=\"copy($event)\"> content_copy </mat-icon>\n }\n @if (checked) {\n <mat-icon class=\"small\" color=\"success\">check</mat-icon>\n }\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":";;;;;;;;;MAyBa,+BAA+B,CAAA;AAZ5C,IAAA,WAAA,GAAA;AAaU,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACpC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAErC,IAAA,CAAA,OAAO,GAAG,KAAK;AAEN,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAa,sBAAsB,CAAC;AAChE,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAa,YAAY,CAAC;QAEzD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,EAAE;oFAAC;;QAGnB,IAAA,CAAA,MAAM,GAAG,MAAM,EAAQ;;QAEvB,IAAA,CAAA,OAAO,GAAG,MAAM,EAAS;;QAEzB,IAAA,CAAA,OAAO,GAAG,MAAM,EAAS;;QAEzB,IAAA,CAAA,OAAO,GAAG,MAAM,EAAS;AAoCnC,IAAA;AAlCC,IAAA,OAAO,CAAC,CAAa,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtB;AAEA,IAAA,YAAY,CAAC,CAAa,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtB;AAEA,IAAA,YAAY,CAAC,CAAQ,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtB;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,QAAA,OAAO;cACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;cAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACnD;AAEA,IAAA,IAAI,CAAC,MAAW,EAAA;QACd,MAAM,CAAC,eAAe,EAAE;AAExB,QAAA,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;AAExB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;AAE3D,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QAEnB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;QAC1B,CAAC,EAAE,IAAI,CAAC;IACV;8GArDW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzB5C,icAgBA,EAAA,MAAA,EAAA,CAAA,6KAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,aAAa,mLAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAO9B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAZ3C,SAAS;+BACE,mBAAmB,EAAA,UAAA,EAGjB,IAAI,EAAA,OAAA,EACP,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAA,IAAA,EACpC;AACJ,wBAAA,SAAS,EAAE,iBAAiB;AAC5B,wBAAA,cAAc,EAAE,sBAAsB;AACtC,wBAAA,cAAc,EAAE,sBAAsB;AACvC,qBAAA,EAAA,QAAA,EAAA,icAAA,EAAA,MAAA,EAAA,CAAA,6KAAA,CAAA,EAAA;AAQiD,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,sBAAsB,oEACnB,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEhCnE;;AAEG;;;;"}
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 {\n Component,\n ElementRef,\n inject,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';\n\n/**\n * Button that copies a value or element text to the clipboard.\n *\n * Exposes 1 input and 4 outputs.\n * Inputs: tooltip.\n * Outputs: onCopy: void, onClick: Event, onHover: Event, onLeave: Event.\n *\n * @MatKeywords copy, clipboard, copy-to-clipboard, action\n * @MatGroup Misc\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: [MatIconModule, MatTooltipModule],\n host: {\n '(click)': 'clicked($event)',\n '(mouseenter)': 'onMouseEnter($event)',\n '(mouseleave)': 'onMouseLeave($event)',\n },\n})\nexport class OnemrvaCopyToClipboardComponent {\n private translate = inject(TranslateService);\n private clipboard = inject(Clipboard);\n\n checked = false;\n\n readonly content = viewChild.required<ElementRef>('clipboardCopyContent');\n readonly matTooltip = viewChild.required<MatTooltip>('cccTooltip');\n\n readonly tooltip = input('');\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onCopy = output<void>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onClick = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onHover = output<Event>();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onLeave = output<Event>();\n\n clicked(e: MouseEvent) {\n this.onClick.emit(e);\n }\n\n onMouseEnter(e: MouseEvent) {\n this.onHover.emit(e);\n }\n\n onMouseLeave(e: Event) {\n this.onLeave.emit(e);\n }\n\n get getTooltipText() {\n const tooltip = this.tooltip();\n return tooltip\n ? this.translate.instant(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(undefined);\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 />\n </span>\n @if (!checked) {\n <mat-icon class=\"small\" (click)=\"copy($event)\"> content_copy </mat-icon>\n }\n @if (checked) {\n <mat-icon class=\"small\" color=\"success\">check</mat-icon>\n }\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,6 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, ViewEncapsulation, Component } from '@angular/core';
3
3
 
4
+ /**
5
+ * Single country option displaying flag and translated name.
6
+ *
7
+ * Exposes 2 inputs and 0 outputs.
8
+ * Inputs: countryCode: string | null, countryName: string | null | undefined.
9
+ * Outputs: none.
10
+ *
11
+ * @MatKeywords country, flag, option, select, list-item
12
+ * @MatGroup Forms
13
+ */
4
14
  class OnemrvaCountryItemComponent {
5
15
  constructor() {
6
16
  this.countryCode = input('xx', /* @ts-ignore */
@@ -8,10 +18,10 @@ class OnemrvaCountryItemComponent {
8
18
  this.countryName = input('', /* @ts-ignore */
9
19
  ...(ngDevMode ? [{ debugName: "countryName" }] : /* istanbul ignore next */ []));
10
20
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaCountryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: OnemrvaCountryItemComponent, isStandalone: true, selector: "mat-country-item", inputs: { countryCode: { classPropertyName: "countryCode", publicName: "countryCode", isSignal: true, isRequired: false, transformFunction: null }, countryName: { classPropertyName: "countryName", publicName: "countryName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"onemrva-country-item\">\n <span class=\"description\">{{ countryName() }}</span>\n</div>\n", styles: [".onemrva-country-item{display:flex;align-items:center}.onemrva-country-item .description{display:flex;margin-left:.5em}.mat-form-field-disabled .onemrva-country-item flag-icon{opacity:.4}\n"], encapsulation: i0.ViewEncapsulation.None }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaCountryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: OnemrvaCountryItemComponent, isStandalone: true, selector: "mat-country-item", inputs: { countryCode: { classPropertyName: "countryCode", publicName: "countryCode", isSignal: true, isRequired: false, transformFunction: null }, countryName: { classPropertyName: "countryName", publicName: "countryName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"onemrva-country-item\">\n <span class=\"description\">{{ countryName() }}</span>\n</div>\n", styles: [".onemrva-country-item{display:flex;align-items:center}.onemrva-country-item .description{display:flex;margin-left:.5em}.mat-form-field-disabled .onemrva-country-item flag-icon{opacity:.4}\n"], encapsulation: i0.ViewEncapsulation.None }); }
13
23
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: OnemrvaCountryItemComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OnemrvaCountryItemComponent, decorators: [{
15
25
  type: Component,
16
26
  args: [{ selector: 'mat-country-item', standalone: true, encapsulation: ViewEncapsulation.None, template: "<div class=\"onemrva-country-item\">\n <span class=\"description\">{{ countryName() }}</span>\n</div>\n", styles: [".onemrva-country-item{display:flex;align-items:center}.onemrva-country-item .description{display:flex;margin-left:.5em}.mat-form-field-disabled .onemrva-country-item flag-icon{opacity:.4}\n"] }]
17
27
  }], propDecorators: { countryCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "countryCode", required: false }] }], countryName: [{ type: i0.Input, args: [{ isSignal: true, alias: "countryName", required: false }] }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-country-item.mjs","sources":["../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.ts","../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.html","../../../../projects/onemrva/design-system/mat-country-item/index.ts","../../../../projects/onemrva/design-system/mat-country-item/onemrvapublic-design-system-mat-country-item.ts"],"sourcesContent":["import { Component, ViewEncapsulation, input } from '@angular/core';\n\n@Component({\n selector: 'mat-country-item',\n styleUrls: ['./onemrva-mat-country-item.component.scss'],\n templateUrl: './onemrva-mat-country-item.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaCountryItemComponent {\n readonly countryCode = input<string | null>('xx');\n readonly countryName = input<string | null | undefined>('');\n}\n","<div class=\"onemrva-country-item\">\n <span class=\"description\">{{ countryName() }}</span>\n</div>\n","/*\n * Public API Surface of mat-country-item\n */\n\nexport * from './src/onemrva-mat-country-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MASa,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,IAAI;wFAAC;QACxC,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,EAAE;wFAAC;AAC5D,IAAA;8GAHY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,4WCTxC,0GAGA,EAAA,MAAA,EAAA,CAAA,+LAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDMa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAGhB,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0GAAA,EAAA,MAAA,EAAA,CAAA,+LAAA,CAAA,EAAA;;;AEPvC;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-country-item.mjs","sources":["../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.ts","../../../../projects/onemrva/design-system/mat-country-item/src/onemrva-mat-country-item.component.html","../../../../projects/onemrva/design-system/mat-country-item/index.ts","../../../../projects/onemrva/design-system/mat-country-item/onemrvapublic-design-system-mat-country-item.ts"],"sourcesContent":["import { Component, ViewEncapsulation, input } from '@angular/core';\n\n/**\n * Single country option displaying flag and translated name.\n *\n * Exposes 2 inputs and 0 outputs.\n * Inputs: countryCode: string | null, countryName: string | null | undefined.\n * Outputs: none.\n *\n * @MatKeywords country, flag, option, select, list-item\n * @MatGroup Forms\n */\n@Component({\n selector: 'mat-country-item',\n styleUrls: ['./onemrva-mat-country-item.component.scss'],\n templateUrl: './onemrva-mat-country-item.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaCountryItemComponent {\n readonly countryCode = input<string | null>('xx');\n readonly countryName = input<string | null | undefined>('');\n}\n","<div class=\"onemrva-country-item\">\n <span class=\"description\">{{ countryName() }}</span>\n</div>\n","/*\n * Public API Surface of mat-country-item\n */\n\nexport * from './src/onemrva-mat-country-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;;;;;;;;AASG;MAQU,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,IAAI;wFAAC;QACxC,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,EAAE;wFAAC;AAC5D,IAAA;8GAHY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,4WCnBxC,0GAGA,EAAA,MAAA,EAAA,CAAA,+LAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDgBa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAGhB,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0GAAA,EAAA,MAAA,EAAA,CAAA,+LAAA,CAAA,EAAA;;;AEjBvC;;AAEG;;ACFH;;AAEG;;;;"}