@spicainternational/ngx-sds-components 8.1.1 → 8.3.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 (186) hide show
  1. package/README.md +16 -16
  2. package/esm2022/public-api.mjs +1 -1
  3. package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +3 -3
  4. package/esm2022/src/lib/app-switcher/app-switcher.model.mjs +1 -1
  5. package/esm2022/src/lib/app-switcher/public-api.mjs +1 -1
  6. package/esm2022/src/lib/avatar/avatar-group.component.mjs +3 -3
  7. package/esm2022/src/lib/avatar/avatar-group.model.mjs +1 -1
  8. package/esm2022/src/lib/avatar/avatar.component.mjs +3 -3
  9. package/esm2022/src/lib/avatar/public-api.mjs +1 -1
  10. package/esm2022/src/lib/badge/badge.directive.mjs +1 -1
  11. package/esm2022/src/lib/badge/badge.types.mjs +1 -1
  12. package/esm2022/src/lib/badge/components/badge.component.mjs +3 -3
  13. package/esm2022/src/lib/badge/public-api.mjs +1 -1
  14. package/esm2022/src/lib/callout/callout.component.mjs +3 -3
  15. package/esm2022/src/lib/callout/public-api.mjs +1 -1
  16. package/esm2022/src/lib/color-picker/color-picker.component.mjs +3 -3
  17. package/esm2022/src/lib/color-picker/public-api.mjs +1 -1
  18. package/esm2022/src/lib/date-picker/date-picker.component.mjs +3 -3
  19. package/esm2022/src/lib/date-picker/date-picker.model.mjs +1 -1
  20. package/esm2022/src/lib/date-picker/public-api.mjs +1 -1
  21. package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +1 -1
  22. package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +1 -1
  23. package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +1 -1
  24. package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +1 -1
  25. package/esm2022/src/lib/date-pipes/date-time-formats.constants.mjs +1 -1
  26. package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +1 -1
  27. package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +1 -1
  28. package/esm2022/src/lib/date-pipes/public-api.mjs +1 -1
  29. package/esm2022/src/lib/drawer/drawer.component.mjs +3 -3
  30. package/esm2022/src/lib/drawer/public-api.mjs +1 -1
  31. package/esm2022/src/lib/duration-box/duration-box.component.mjs +3 -3
  32. package/esm2022/src/lib/duration-box/duration.service.mjs +1 -1
  33. package/esm2022/src/lib/duration-box/public-api.mjs +1 -1
  34. package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +1 -1
  35. package/esm2022/src/lib/duration-pipe/public-api.mjs +1 -1
  36. package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +1 -1
  37. package/esm2022/src/lib/ellipsis/public-api.mjs +1 -1
  38. package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +3 -3
  39. package/esm2022/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
  40. package/esm2022/src/lib/expansion-panel/public-api.mjs +1 -1
  41. package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +1 -1
  42. package/esm2022/src/lib/highlight-text/directives/index.mjs +1 -1
  43. package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +1 -1
  44. package/esm2022/src/lib/highlight-text/pipes/index.mjs +1 -1
  45. package/esm2022/src/lib/highlight-text/public-api.mjs +1 -1
  46. package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +1 -1
  47. package/esm2022/src/lib/highlight-text/utils/index.mjs +1 -1
  48. package/esm2022/src/lib/intersection/directives/index.mjs +1 -1
  49. package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +1 -1
  50. package/esm2022/src/lib/intersection/public-api.mjs +1 -1
  51. package/esm2022/src/lib/intersection/services/index.mjs +1 -1
  52. package/esm2022/src/lib/intersection/services/intersection.service.mjs +1 -1
  53. package/esm2022/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
  54. package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +19 -29
  55. package/esm2022/src/lib/keyboard-shortcut/public-api.mjs +1 -1
  56. package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +3 -3
  57. package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +3 -3
  58. package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +3 -3
  59. package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +3 -3
  60. package/esm2022/src/lib/layout/public-api.mjs +1 -1
  61. package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +3 -3
  62. package/esm2022/src/lib/message/message.component.mjs +3 -3
  63. package/esm2022/src/lib/message/public-api.mjs +1 -1
  64. package/esm2022/src/lib/modal/dialog/dialog.component.mjs +3 -3
  65. package/esm2022/src/lib/modal/modal.component.mjs +3 -3
  66. package/esm2022/src/lib/modal/modal.model.mjs +1 -1
  67. package/esm2022/src/lib/modal/public-api.mjs +1 -1
  68. package/esm2022/src/lib/navigation/models/navigation-models.mjs +1 -1
  69. package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +3 -3
  70. package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +5 -8
  71. package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +3 -3
  72. package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +121 -22
  73. package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +3 -3
  74. package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +61 -23
  75. package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +3 -3
  76. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +3 -3
  77. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +3 -3
  78. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +3 -3
  79. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
  80. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +3 -3
  81. package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +5 -5
  82. package/esm2022/src/lib/navigation/public-api.mjs +1 -1
  83. package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +1 -1
  84. package/esm2022/src/lib/number-box/number-box.component.mjs +3 -3
  85. package/esm2022/src/lib/number-box/public-api.mjs +1 -1
  86. package/esm2022/src/lib/page-header/page-header.component.mjs +3 -3
  87. package/esm2022/src/lib/page-header/public-api.mjs +1 -1
  88. package/esm2022/src/lib/pane/pane.component.mjs +3 -3
  89. package/esm2022/src/lib/pane/pane.model.mjs +1 -1
  90. package/esm2022/src/lib/pane/public-api.mjs +1 -1
  91. package/esm2022/src/lib/quick-info/quick-info.component.mjs +3 -3
  92. package/esm2022/src/lib/quick-info/quick-info.model.mjs +1 -1
  93. package/esm2022/src/lib/ripple/public-api.mjs +1 -1
  94. package/esm2022/src/lib/ripple/ripple.directive.mjs +1 -1
  95. package/esm2022/src/lib/segmented-control/public-api.mjs +1 -1
  96. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +3 -3
  97. package/esm2022/src/lib/side-bar/side-bar.component.mjs +22 -16
  98. package/esm2022/src/lib/static-value/public-api.mjs +1 -1
  99. package/esm2022/src/lib/static-value/static-value.component.mjs +3 -3
  100. package/esm2022/src/lib/table-actions/public-api.mjs +1 -1
  101. package/esm2022/src/lib/table-actions/table-actions.component.mjs +3 -3
  102. package/esm2022/src/lib/timeline/components/timeline.component.mjs +13 -3
  103. package/esm2022/src/lib/timeline/models/timeline.model.mjs +1 -1
  104. package/esm2022/src/lib/timeline/public-api.mjs +1 -1
  105. package/esm2022/src/lib/timeline/services/timeline.service.mjs +1 -1
  106. package/esm2022/src/lib/timeline/types/timeline.types.mjs +1 -1
  107. package/esm2022/src/lib/timer/public-api.mjs +1 -1
  108. package/esm2022/src/lib/timer/services/index.mjs +1 -1
  109. package/esm2022/src/lib/timer/services/timer.service.mjs +1 -1
  110. package/esm2022/src/lib/timer/utils/index.mjs +1 -1
  111. package/esm2022/src/lib/timer/utils/timer.utils.mjs +1 -1
  112. package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +3 -3
  113. package/esm2022/src/lib/tooltip/public-api.mjs +1 -1
  114. package/esm2022/src/lib/tooltip/tooltip.directive.mjs +1 -1
  115. package/esm2022/src/lib/tooltip/tooltip.types.mjs +1 -1
  116. package/esm2022/src/lib/tooltip/utils/tooltip.utils.mjs +1 -1
  117. package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +1 -1
  118. package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +1 -1
  119. package/esm2022/src/lib/utils/date-time/public-api.mjs +1 -1
  120. package/esm2022/src/lib/utils/public-api.mjs +1 -1
  121. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +2 -2
  122. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
  123. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
  124. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
  125. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +2 -2
  126. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
  127. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +2 -2
  128. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
  129. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +2 -2
  130. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
  131. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
  132. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  133. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
  134. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +2 -2
  135. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
  136. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +2 -2
  137. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
  138. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
  139. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
  140. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +2 -2
  141. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
  142. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
  143. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
  144. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +18 -28
  145. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
  146. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +10 -10
  147. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
  148. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +2 -2
  149. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
  150. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
  151. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
  152. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +215 -83
  153. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  154. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -2
  155. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
  156. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +2 -2
  157. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
  158. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +2 -2
  159. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
  160. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +2 -2
  161. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
  162. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -1
  163. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +2 -2
  164. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
  165. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +21 -15
  166. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
  167. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +2 -2
  168. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
  169. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +2 -2
  170. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
  171. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +12 -2
  172. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
  173. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
  174. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +2 -2
  175. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
  176. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
  177. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
  178. package/fesm2022/spicainternational-ngx-sds-components.mjs.map +1 -1
  179. package/package.json +1 -1
  180. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +5 -10
  181. package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +1 -2
  182. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +20 -1
  183. package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +22 -9
  184. package/src/lib/ripple/sds-ripple.css +20 -20
  185. package/src/lib/side-bar/side-bar.component.d.ts +13 -7
  186. package/src/lib/timeline/components/timeline.component.d.ts +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-modal.mjs","sources":["../../../projects/ngx-sds-components/src/lib/modal/modal.component.ts","../../../projects/ngx-sds-components/src/lib/modal/modal.component.html","../../../projects/ngx-sds-components/src/lib/modal/dialog/dialog.component.ts","../../../projects/ngx-sds-components/src/lib/modal/dialog/dialog.component.html","../../../projects/ngx-sds-components/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.ts"],"sourcesContent":["import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n EventEmitter,\r\n ContentChild,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { faXmark } from '@fortawesome/pro-regular-svg-icons';\r\nimport { ModalTranslations } from './modal.model';\r\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\r\n\r\n@Component({\r\n selector: 'sds-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'],\r\n standalone: true,\r\n imports: [\r\n CdkTrapFocus,\r\n NgClass,\r\n CdkDrag,\r\n NgIf,\r\n CdkDragHandle,\r\n ],\r\n})\r\nexport class SdsModalComponent implements OnInit, OnChanges {\r\n @ContentChild('header') headerContent: ElementRef = { nativeElement: undefined };\r\n\r\n @Input() public modalTitle?: string;\r\n @Input() public showHeader: boolean = true;\r\n @Input() public showFooter: boolean = true;\r\n @Input() public size: 'sm' | 'md' | 'lg' | 'xl' | '820' | 'xxl' = 'md';\r\n @Input() public modalDialogId?: string;\r\n @Input() public showCloseButton: boolean = true;\r\n @Input() public autoFocusCloseButton: boolean = false;\r\n\r\n @Input() public translations: ModalTranslations;\r\n @Input() public isScrollable = true;\r\n @Input() public isVerticallyCentered = true;\r\n @Input() public closeOnEscape = false;\r\n\r\n @Input() public downSizing: 'discrete' | 'continuous' = 'discrete';\r\n\r\n /**\r\n * Allow the modal to be draggable by the user. Default is true.\r\n *\r\n * @memberof SdsModalComponent\r\n */\r\n @Input() public isDraggable = true;\r\n\r\n /**\r\n * Constrain modal to the viewport. Default is true.\r\n *\r\n * @memberof SdsModalComponent\r\n */\r\n @Input() public isDragConstrained = true;\r\n\r\n /**\r\n * @deprecated Use isOpenChange instead\r\n */\r\n @Output() public modalOpen: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n /**\r\n * @deprecated Use isOpenChange instead\r\n */\r\n @Output() public modalClose: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() public closeClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() public closeEscapeKeypress: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public closeIcon = faXmark;\r\n\r\n // public isOpen: boolean = false;\r\n @Input() public isOpen: boolean = false;\r\n @Output() public isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @ViewChild('modal', { static: false }) private _modal: ElementRef | undefined;\r\n @ViewChild('closeButton', { static: false }) private _closeButton: ElementRef | undefined;\r\n \r\n\r\n constructor() {\r\n this.translations = {\r\n close: undefined\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['isOpen']) {\r\n if (this.isOpen) {\r\n this.open();\r\n } else {\r\n this.close();\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public open(): void {\r\n if (this._modal != undefined) {\r\n this._modal.nativeElement.style.display = 'block';\r\n this.isOpen = true;\r\n if(this.autoFocusCloseButton)\r\n this._closeButton?.nativeElement.focus();\r\n this.modalOpen.emit();\r\n }\r\n }\r\n\r\n public close(): void {\r\n if (this._modal != undefined) {\r\n this._modal.nativeElement.style.display = 'none';\r\n this.isOpen = false;\r\n this.modalClose.emit();\r\n\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n }\r\n\r\n public onCloseButtonClick(){\r\n this.closeClick.emit();\r\n this.close();\r\n }\r\n\r\n onKeydown(event: KeyboardEvent){\r\n if (\r\n event.code === 'Escape' &&\r\n this.closeOnEscape && \r\n this._modal != undefined && \r\n this._modal.nativeElement.style.display === 'block'){\r\n // console.log(`${this.constructor.name} got event: ${event.code}`);\r\n this.closeEscapeKeypress.emit();\r\n this.close();\r\n }\r\n }\r\n}\r\n","<div \r\n #modal \r\n class=\"modal modal-backdrop\" \r\n (keydown)=\"onKeydown($event)\" \r\n [cdkTrapFocus]=\"isOpen\" \r\n [cdkTrapFocusAutoCapture]=\"true\" \r\n >\r\n <div\r\n class=\"modal-dialog\"\r\n [class.modal-dialog-scrollable] = \"isScrollable\"\r\n [class.downsize-continuous] = \"downSizing === 'continuous'\"\r\n [class.modal-dialog-centered] = \"isVerticallyCentered\"\r\n [attr.id]=\"modalDialogId\"\r\n [ngClass]=\"'modal-' + size\"\r\n role=\"document\"\r\n >\r\n <div \r\n class=\"modal-content\" \r\n cdkDrag [cdkDragDisabled]=\"!isDraggable\" [cdkDragBoundary]=\"isDragConstrained ? '.modal-backdrop' : ''\"\r\n >\r\n\r\n <div *ngIf=\"isDraggable\" class=\"modal-drag-handle\" cdkDragHandle></div>\r\n\r\n <div \r\n *ngIf=\"showHeader && headerContent\" \r\n class=\"modal-header\" \r\n >\r\n <ng-content select='header'></ng-content>\r\n </div> \r\n\r\n <div \r\n *ngIf=\"showHeader && !headerContent\" \r\n class=\"modal-header\"\r\n >\r\n\r\n <h5 class=\"modal-title\">{{modalTitle}}</h5>\r\n <button \r\n #closeButton\r\n *ngIf=\"showCloseButton\"\r\n type=\"button\" \r\n class=\"btn-close sds-fs-75\" \r\n [title]=\"translations.close ?? ''\"\r\n (click)=\"onCloseButtonClick()\">\r\n </button>\r\n </div>\r\n\r\n <div \r\n class=\"modal-body\"\r\n [class.pt-0]=\"showHeader\"\r\n [class.pb-0]=\"showFooter\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"showFooter\" class=\"modal-footer\">\r\n <ng-content select=\"footer\"></ng-content>\r\n </div> \r\n </div>\r\n </div>\r\n</div>","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { SdsModalComponent } from '../modal.component';\r\nimport { ButtonType } from './dialog.types';\r\nimport { NgIf } from '@angular/common';\r\n\r\ntype modalButton = 'primary' | 'secondary' | 'close';\r\n\r\n@Component({\r\n selector: 'sds-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n standalone: true,\r\n imports: [SdsModalComponent, NgIf],\r\n})\r\nexport class SdsDialogComponent implements OnInit {\r\n /**\r\n * @deprecated Use dialogTitle instead\r\n */\r\n @Input() public title: string = '';\r\n @Input() public dialogTitle: string = '';\r\n \r\n @Input() public closeText?: string = 'close';\r\n @Input() public size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\r\n\r\n @Input() public primaryButtonText: string = 'Ok';\r\n @Input() public primaryButtonClass: string = 'sds-btn-primary';\r\n @Input() public primaryButtonType: ButtonType = 'button';\r\n @Input() public primaryButtonId?: string;\r\n @Input() public primaryButtonDisabled: boolean = false;\r\n \r\n @Input() public secondaryButtonText: string = 'Cancel'; \r\n @Input() public secondaryButtonClass: string = 'sds-btn-secondary';\r\n @Input() public secondaryButtonType: ButtonType = 'button';\r\n @Input() public secondaryButtonId?: string;\r\n @Input() public secondaryButtonDisabled: boolean = false;\r\n\r\n @Input() public closeOnEscape: boolean = true;\r\n @Input() public showHeader: boolean = true;\r\n @Input() public showCloseButton: boolean = true;\r\n @Input() public showPrimaryButton: boolean = true;\r\n @Input() public showSecondaryButton: boolean = true;\r\n @Input() public autofocusElement: 'primary' | 'secondary' | 'close' | 'content' = 'primary';\r\n\r\n @Input() public modalDialogId?: string;\r\n\r\n /**\r\n * @deprecated Use isOpenChange instead\r\n */\r\n @Output() public dialogOpen: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n /**\r\n * @deprecated Use isOpenChange instead\r\n */\r\n @Output() public dialogClose: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n\r\n @Input() public isOpen: boolean = false;\r\n @Output() public isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output() public primaryButtonClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() public secondaryButtonClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @ViewChild('modal', { static: true }) private _modal: SdsModalComponent | undefined;\r\n @ViewChild('content', { read: ElementRef, static: true }) private _content?: ElementRef;\r\n @ViewChild('primaryButton', { read: ElementRef, static: false }) private _primaryButton?: ElementRef;\r\n @ViewChild('secondaryButton', { read: ElementRef, static: false }) private _secondaryButton?: ElementRef;\r\n\r\n private _callback?: Function;\r\n private _callbackData: any;\r\n\r\n // public isOpen: boolean = false;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n if (this.autofocusElement == 'primary' && !this.showPrimaryButton) {\r\n this.autofocusElement = 'secondary';\r\n }\r\n if (this.autofocusElement == 'secondary' && !this.showSecondaryButton) {\r\n this.autofocusElement = 'close';\r\n }\r\n if (this.autofocusElement == 'close' && !this.showCloseButton) {\r\n this.autofocusElement = 'content';\r\n }\r\n }\r\n\r\n public open(callback?: (button: modalButton, data: any) => void, data?: any): void{\r\n this._callback = callback;\r\n this._callbackData = data;\r\n\r\n if (this._modal != undefined) {\r\n this.isOpen = true;\r\n // this._modal.open();\r\n\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n }\r\n\r\n private close(): void {\r\n if (this._modal != undefined) {\r\n this.isOpen = false;\r\n // this._modal.close();\r\n\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n }\r\n\r\n public onSecondaryClick(): void {\r\n if (this._callback) {\r\n this._callback('secondary', this._callbackData);\r\n }\r\n this.secondaryButtonClick.emit();\r\n this.close();\r\n }\r\n\r\n public onPrimaryClick(): void {\r\n if (this._callback) {\r\n this._callback('primary', this._callbackData);\r\n }\r\n this.primaryButtonClick.emit();\r\n this.close();\r\n }\r\n\r\n public onCloseClick(): void {\r\n if (this._callback) {\r\n this._callback('close', this._callbackData);\r\n }\r\n this.close();\r\n }\r\n\r\n public onCloseEscapeKeypress(): void {\r\n if (this._callback) {\r\n this._callback('close', this._callbackData);\r\n }\r\n this.close();\r\n }\r\n\r\n public onModalClose(): void {\r\n this.dialogClose.emit();\r\n }\r\n\r\n public onModalOpen(): void {\r\n this.dialogOpen.emit();\r\n switch (this.autofocusElement) {\r\n case 'primary':\r\n this._primaryButton?.nativeElement.focus();\r\n break;\r\n case 'secondary':\r\n this._secondaryButton?.nativeElement.focus();\r\n break;\r\n case 'content':\r\n this._content?.nativeElement.focus();\r\n break;\r\n default:\r\n break;\r\n }\r\n } \r\n\r\n}\r\n\r\n\r\n\r\n","<sds-modal\r\n #modal\r\n [modalTitle]=\"dialogTitle || title\"\r\n [size]=\"size\"\r\n [modalDialogId]=\"modalDialogId\"\r\n [showCloseButton]=\"showCloseButton\"\r\n [showHeader]=\"showHeader\"\r\n [translations]=\"{ close: closeText}\"\r\n [autoFocusCloseButton]=\"autofocusElement === 'close'\"\r\n [closeOnEscape]=\"closeOnEscape\"\r\n (closeClick)=\"onCloseClick()\"\r\n (closeEscapeKeypress)=\"onCloseEscapeKeypress()\"\r\n (modalClose)=\"onModalClose()\"\r\n (modalOpen)=\"onModalOpen()\"\r\n [(isOpen)]=\"isOpen\"\r\n>\r\n\r\n <div #content [attr.tabindex]=\"autofocusElement === 'content' ? 0 : undefined\" >\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-container #footer ngProjectAs='footer'>\r\n <button\r\n #secondaryButton\r\n *ngIf=\"showSecondaryButton\"\r\n [attr.id]=\"secondaryButtonId\"\r\n [disabled]=\"secondaryButtonDisabled\"\r\n class=\"btn\"\r\n [class]=\"secondaryButtonClass\"\r\n (click)=\"onSecondaryClick()\"\r\n >{{secondaryButtonText}}</button>\r\n <button\r\n #primaryButton\r\n *ngIf=\"showPrimaryButton\"\r\n [attr.id]=\"primaryButtonId\"\r\n [disabled]=\"primaryButtonDisabled\"\r\n class=\"btn\"\r\n [class]=\"primaryButtonClass\"\r\n (click)=\"onPrimaryClick()\"\r\n >{{primaryButtonText}}</button>\r\n </ng-container>\r\n</sds-modal>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MA+Ba,iBAAiB,CAAA;AAuD1B,IAAA,WAAA,GAAA;AAtDwB,QAAA,IAAA,CAAA,aAAa,GAAe,EAAE,aAAa,EAAE,SAAS,EAAE;QAGhE,IAAU,CAAA,UAAA,GAAY,IAAI;QAC1B,IAAU,CAAA,UAAA,GAAY,IAAI;QAC1B,IAAI,CAAA,IAAA,GAA8C,IAAI;QAEtD,IAAe,CAAA,eAAA,GAAY,IAAI;QAC/B,IAAoB,CAAA,oBAAA,GAAY,KAAK;QAGrC,IAAY,CAAA,YAAA,GAAG,IAAI;QACnB,IAAoB,CAAA,oBAAA,GAAG,IAAI;QAC3B,IAAa,CAAA,aAAA,GAAG,KAAK;QAErB,IAAU,CAAA,UAAA,GAA8B,UAAU;AAElE;;;;AAIG;QACa,IAAW,CAAA,WAAA,GAAG,IAAI;AAElC;;;;AAIG;QACa,IAAiB,CAAA,iBAAA,GAAG,IAAI;AAExC;;AAEG;AACc,QAAA,IAAA,CAAA,SAAS,GAAuB,IAAI,YAAY,EAAQ;AAEzE;;AAEG;AACc,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ;AAEzD,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ;AACzD,QAAA,IAAA,CAAA,mBAAmB,GAAuB,IAAI,YAAY,EAAQ;QAE5E,IAAS,CAAA,SAAA,GAAG,OAAO;;QAGV,IAAM,CAAA,MAAA,GAAY,KAAK;AACtB,QAAA,IAAA,CAAA,YAAY,GAA0B,IAAI,YAAY,EAAW;QAO9E,IAAI,CAAC,YAAY,GAAG;AAChB,YAAA,KAAK,EAAE;SACV;;AAEL,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,IAAI,EAAE;;iBACR;gBACH,IAAI,CAAC,KAAK,EAAE;;;;AAKxB,IAAA,QAAQ;IAED,IAAI,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO;AACjD,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;YAClB,IAAG,IAAI,CAAC,oBAAoB;AACxB,gBAAA,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE;AAC5C,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;;IAItB,KAAK,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAChD,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YAEtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;IAIpC,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QACtB,IAAI,CAAC,KAAK,EAAE;;AAGhB,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,IACI,KAAK,CAAC,IAAI,KAAK,QAAQ;AACvB,YAAA,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,MAAM,IAAI,SAAS;YACxB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAC;;AAEhD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC/B,IAAI,CAAC,KAAK,EAAE;;;+GAzGf,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/B9B,2lEA2DM,EAAA,MAAA,EAAA,CAAA,m6BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDnCE,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,aAAa,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGR,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;+BACI,WAAW,EAAA,UAAA,EAGT,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,OAAO;wBACP,OAAO;wBACP,IAAI;wBACJ,aAAa;AAChB,qBAAA,EAAA,QAAA,EAAA,2lEAAA,EAAA,MAAA,EAAA,CAAA,m6BAAA,CAAA,EAAA;wDAGuB,aAAa,EAAA,CAAA;sBAApC,YAAY;uBAAC,QAAQ;gBAEN,UAAU,EAAA,CAAA;sBAAzB;gBACe,UAAU,EAAA,CAAA;sBAAzB;gBACe,UAAU,EAAA,CAAA;sBAAzB;gBACe,IAAI,EAAA,CAAA;sBAAnB;gBACe,aAAa,EAAA,CAAA;sBAA5B;gBACe,eAAe,EAAA,CAAA;sBAA9B;gBACe,oBAAoB,EAAA,CAAA;sBAAnC;gBAEe,YAAY,EAAA,CAAA;sBAA3B;gBACe,YAAY,EAAA,CAAA;sBAA3B;gBACe,oBAAoB,EAAA,CAAA;sBAAnC;gBACe,aAAa,EAAA,CAAA;sBAA5B;gBAEe,UAAU,EAAA,CAAA;sBAAzB;gBAOe,WAAW,EAAA,CAAA;sBAA1B;gBAOe,iBAAiB,EAAA,CAAA;sBAAhC;gBAKgB,SAAS,EAAA,CAAA;sBAAzB;gBAKgB,UAAU,EAAA,CAAA;sBAA1B;gBAEgB,UAAU,EAAA,CAAA;sBAA1B;gBACgB,mBAAmB,EAAA,CAAA;sBAAnC;gBAKe,MAAM,EAAA,CAAA;sBAArB;gBACgB,YAAY,EAAA,CAAA;sBAA5B;gBAE8C,MAAM,EAAA,CAAA;sBAApD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gBACgB,YAAY,EAAA,CAAA;sBAAhE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;;MErElC,kBAAkB,CAAA;;AA0D3B,IAAA,WAAA,GAAA;AAzDA;;AAEG;QACa,IAAK,CAAA,KAAA,GAAW,EAAE;QAClB,IAAW,CAAA,WAAA,GAAW,EAAE;QAExB,IAAS,CAAA,SAAA,GAAY,OAAO;QAC5B,IAAI,CAAA,IAAA,GAA8B,IAAI;QAEtC,IAAiB,CAAA,iBAAA,GAAW,IAAI;QAChC,IAAkB,CAAA,kBAAA,GAAW,iBAAiB;QAC9C,IAAiB,CAAA,iBAAA,GAAe,QAAQ;QAExC,IAAqB,CAAA,qBAAA,GAAY,KAAK;QAEtC,IAAmB,CAAA,mBAAA,GAAW,QAAQ;QACtC,IAAoB,CAAA,oBAAA,GAAW,mBAAmB;QAClD,IAAmB,CAAA,mBAAA,GAAe,QAAQ;QAE1C,IAAuB,CAAA,uBAAA,GAAY,KAAK;QAExC,IAAa,CAAA,aAAA,GAAY,IAAI;QAC7B,IAAU,CAAA,UAAA,GAAY,IAAI;QAC1B,IAAe,CAAA,eAAA,GAAY,IAAI;QAC/B,IAAiB,CAAA,iBAAA,GAAY,IAAI;QACjC,IAAmB,CAAA,mBAAA,GAAY,IAAI;QACnC,IAAgB,CAAA,gBAAA,GAAmD,SAAS;AAI5F;;AAEG;AACc,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ;AAE1E;;AAEG;AACc,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ;QAG3D,IAAM,CAAA,MAAA,GAAY,KAAK;AACtB,QAAA,IAAA,CAAA,YAAY,GAA0B,IAAI,YAAY,EAAW;AAEjE,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAI,YAAY,EAAQ;AACjE,QAAA,IAAA,CAAA,oBAAoB,GAAuB,IAAI,YAAY,EAAQ;;IAcpF,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC/D,YAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW;;QAEvC,IAAI,IAAI,CAAC,gBAAgB,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACnE,YAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO;;QAEnC,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAC3D,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;;IAIlC,IAAI,CAAC,QAAmD,EAAE,IAAU,EAAA;AACvE,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;YAGlB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;IAInC,KAAK,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;YAGnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;IAIpC,gBAAgB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;;AAEnD,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE;QAChC,IAAI,CAAC,KAAK,EAAE;;IAGT,cAAc,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;;AAEjD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAC9B,IAAI,CAAC,KAAK,EAAE;;IAGT,YAAY,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;;QAE/C,IAAI,CAAC,KAAK,EAAE;;IAGT,qBAAqB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;;QAE/C,IAAI,CAAC,KAAK,EAAE;;IAGT,YAAY,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;;IAGpB,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AACtB,QAAA,QAAQ,IAAI,CAAC,gBAAgB;AACzB,YAAA,KAAK,SAAS;AACV,gBAAA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,EAAE;gBAC1C;AACJ,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,KAAK,EAAE;gBAC5C;AACJ,YAAA,KAAK,SAAS;AACV,gBAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE;gBACpC;AACJ,YAAA;gBACI;;;+GA5IH,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAiDG,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACJ,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACR,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjEpD,s/CAyCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED7Bc,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAExB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cAGV,IAAI,EAAA,OAAA,EACP,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAA,QAAA,EAAA,s/CAAA,EAAA;wDAMlB,KAAK,EAAA,CAAA;sBAApB;gBACe,WAAW,EAAA,CAAA;sBAA1B;gBAEe,SAAS,EAAA,CAAA;sBAAxB;gBACe,IAAI,EAAA,CAAA;sBAAnB;gBAEe,iBAAiB,EAAA,CAAA;sBAAhC;gBACe,kBAAkB,EAAA,CAAA;sBAAjC;gBACe,iBAAiB,EAAA,CAAA;sBAAhC;gBACe,eAAe,EAAA,CAAA;sBAA9B;gBACe,qBAAqB,EAAA,CAAA;sBAApC;gBAEe,mBAAmB,EAAA,CAAA;sBAAlC;gBACe,oBAAoB,EAAA,CAAA;sBAAnC;gBACe,mBAAmB,EAAA,CAAA;sBAAlC;gBACe,iBAAiB,EAAA,CAAA;sBAAhC;gBACe,uBAAuB,EAAA,CAAA;sBAAtC;gBAEe,aAAa,EAAA,CAAA;sBAA5B;gBACe,UAAU,EAAA,CAAA;sBAAzB;gBACe,eAAe,EAAA,CAAA;sBAA9B;gBACe,iBAAiB,EAAA,CAAA;sBAAhC;gBACe,mBAAmB,EAAA,CAAA;sBAAlC;gBACe,gBAAgB,EAAA,CAAA;sBAA/B;gBAEe,aAAa,EAAA,CAAA;sBAA5B;gBAKgB,UAAU,EAAA,CAAA;sBAA1B;gBAKgB,WAAW,EAAA,CAAA;sBAA3B;gBAGe,MAAM,EAAA,CAAA;sBAArB;gBACgB,YAAY,EAAA,CAAA;sBAA5B;gBAEgB,kBAAkB,EAAA,CAAA;sBAAlC;gBACgB,oBAAoB,EAAA,CAAA;sBAApC;gBAE6C,MAAM,EAAA,CAAA;sBAAnD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC8B,QAAQ,EAAA,CAAA;sBAAzE,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;gBACiB,cAAc,EAAA,CAAA;sBAAtF,SAAS;uBAAC,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;gBACY,gBAAgB,EAAA,CAAA;sBAA1F,SAAS;uBAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;;;AEjErE;;AAEG;;;;"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-modal.mjs","sources":["../../../projects/ngx-sds-components/src/lib/modal/modal.component.ts","../../../projects/ngx-sds-components/src/lib/modal/modal.component.html","../../../projects/ngx-sds-components/src/lib/modal/dialog/dialog.component.ts","../../../projects/ngx-sds-components/src/lib/modal/dialog/dialog.component.html","../../../projects/ngx-sds-components/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n EventEmitter,\n ContentChild,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport { faXmark } from '@fortawesome/pro-regular-svg-icons';\nimport { ModalTranslations } from './modal.model';\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { NgClass, NgIf } from '@angular/common';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'sds-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n standalone: true,\n imports: [\n CdkTrapFocus,\n NgClass,\n CdkDrag,\n NgIf,\n CdkDragHandle,\n ],\n})\nexport class SdsModalComponent implements OnInit, OnChanges {\n @ContentChild('header') headerContent: ElementRef = { nativeElement: undefined };\n\n @Input() public modalTitle?: string;\n @Input() public showHeader: boolean = true;\n @Input() public showFooter: boolean = true;\n @Input() public size: 'sm' | 'md' | 'lg' | 'xl' | '820' | 'xxl' = 'md';\n @Input() public modalDialogId?: string;\n @Input() public showCloseButton: boolean = true;\n @Input() public autoFocusCloseButton: boolean = false;\n\n @Input() public translations: ModalTranslations;\n @Input() public isScrollable = true;\n @Input() public isVerticallyCentered = true;\n @Input() public closeOnEscape = false;\n\n @Input() public downSizing: 'discrete' | 'continuous' = 'discrete';\n\n /**\n * Allow the modal to be draggable by the user. Default is true.\n *\n * @memberof SdsModalComponent\n */\n @Input() public isDraggable = true;\n\n /**\n * Constrain modal to the viewport. Default is true.\n *\n * @memberof SdsModalComponent\n */\n @Input() public isDragConstrained = true;\n\n /**\n * @deprecated Use isOpenChange instead\n */\n @Output() public modalOpen: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @deprecated Use isOpenChange instead\n */\n @Output() public modalClose: EventEmitter<void> = new EventEmitter<void>();\n\n @Output() public closeClick: EventEmitter<void> = new EventEmitter<void>();\n @Output() public closeEscapeKeypress: EventEmitter<void> = new EventEmitter<void>();\n\n public closeIcon = faXmark;\n\n // public isOpen: boolean = false;\n @Input() public isOpen: boolean = false;\n @Output() public isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('modal', { static: false }) private _modal: ElementRef | undefined;\n @ViewChild('closeButton', { static: false }) private _closeButton: ElementRef | undefined;\n \n\n constructor() {\n this.translations = {\n close: undefined\n }\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['isOpen']) {\n if (this.isOpen) {\n this.open();\n } else {\n this.close();\n }\n }\n }\n\n ngOnInit(): void {}\n\n public open(): void {\n if (this._modal != undefined) {\n this._modal.nativeElement.style.display = 'block';\n this.isOpen = true;\n if(this.autoFocusCloseButton)\n this._closeButton?.nativeElement.focus();\n this.modalOpen.emit();\n }\n }\n\n public close(): void {\n if (this._modal != undefined) {\n this._modal.nativeElement.style.display = 'none';\n this.isOpen = false;\n this.modalClose.emit();\n\n this.isOpenChange.emit(this.isOpen);\n }\n }\n\n public onCloseButtonClick(){\n this.closeClick.emit();\n this.close();\n }\n\n onKeydown(event: KeyboardEvent){\n if (\n event.code === 'Escape' &&\n this.closeOnEscape && \n this._modal != undefined && \n this._modal.nativeElement.style.display === 'block'){\n // console.log(`${this.constructor.name} got event: ${event.code}`);\n this.closeEscapeKeypress.emit();\n this.close();\n }\n }\n}\n","<div \n #modal \n class=\"modal modal-backdrop\" \n (keydown)=\"onKeydown($event)\" \n [cdkTrapFocus]=\"isOpen\" \n [cdkTrapFocusAutoCapture]=\"true\" \n >\n <div\n class=\"modal-dialog\"\n [class.modal-dialog-scrollable] = \"isScrollable\"\n [class.downsize-continuous] = \"downSizing === 'continuous'\"\n [class.modal-dialog-centered] = \"isVerticallyCentered\"\n [attr.id]=\"modalDialogId\"\n [ngClass]=\"'modal-' + size\"\n role=\"document\"\n >\n <div \n class=\"modal-content\" \n cdkDrag [cdkDragDisabled]=\"!isDraggable\" [cdkDragBoundary]=\"isDragConstrained ? '.modal-backdrop' : ''\"\n >\n\n <div *ngIf=\"isDraggable\" class=\"modal-drag-handle\" cdkDragHandle></div>\n\n <div \n *ngIf=\"showHeader && headerContent\" \n class=\"modal-header\" \n >\n <ng-content select='header'></ng-content>\n </div> \n\n <div \n *ngIf=\"showHeader && !headerContent\" \n class=\"modal-header\"\n >\n\n <h5 class=\"modal-title\">{{modalTitle}}</h5>\n <button \n #closeButton\n *ngIf=\"showCloseButton\"\n type=\"button\" \n class=\"btn-close sds-fs-75\" \n [title]=\"translations.close ?? ''\"\n (click)=\"onCloseButtonClick()\">\n </button>\n </div>\n\n <div \n class=\"modal-body\"\n [class.pt-0]=\"showHeader\"\n [class.pb-0]=\"showFooter\"\n >\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"showFooter\" class=\"modal-footer\">\n <ng-content select=\"footer\"></ng-content>\n </div> \n </div>\n </div>\n</div>","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { SdsModalComponent } from '../modal.component';\nimport { ButtonType } from './dialog.types';\nimport { NgIf } from '@angular/common';\n\ntype modalButton = 'primary' | 'secondary' | 'close';\n\n@Component({\n selector: 'sds-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n standalone: true,\n imports: [SdsModalComponent, NgIf],\n})\nexport class SdsDialogComponent implements OnInit {\n /**\n * @deprecated Use dialogTitle instead\n */\n @Input() public title: string = '';\n @Input() public dialogTitle: string = '';\n \n @Input() public closeText?: string = 'close';\n @Input() public size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n @Input() public primaryButtonText: string = 'Ok';\n @Input() public primaryButtonClass: string = 'sds-btn-primary';\n @Input() public primaryButtonType: ButtonType = 'button';\n @Input() public primaryButtonId?: string;\n @Input() public primaryButtonDisabled: boolean = false;\n \n @Input() public secondaryButtonText: string = 'Cancel'; \n @Input() public secondaryButtonClass: string = 'sds-btn-secondary';\n @Input() public secondaryButtonType: ButtonType = 'button';\n @Input() public secondaryButtonId?: string;\n @Input() public secondaryButtonDisabled: boolean = false;\n\n @Input() public closeOnEscape: boolean = true;\n @Input() public showHeader: boolean = true;\n @Input() public showCloseButton: boolean = true;\n @Input() public showPrimaryButton: boolean = true;\n @Input() public showSecondaryButton: boolean = true;\n @Input() public autofocusElement: 'primary' | 'secondary' | 'close' | 'content' = 'primary';\n\n @Input() public modalDialogId?: string;\n\n /**\n * @deprecated Use isOpenChange instead\n */\n @Output() public dialogOpen: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @deprecated Use isOpenChange instead\n */\n @Output() public dialogClose: EventEmitter<void> = new EventEmitter<void>();\n\n\n @Input() public isOpen: boolean = false;\n @Output() public isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output() public primaryButtonClick: EventEmitter<void> = new EventEmitter<void>();\n @Output() public secondaryButtonClick: EventEmitter<void> = new EventEmitter<void>();\n\n @ViewChild('modal', { static: true }) private _modal: SdsModalComponent | undefined;\n @ViewChild('content', { read: ElementRef, static: true }) private _content?: ElementRef;\n @ViewChild('primaryButton', { read: ElementRef, static: false }) private _primaryButton?: ElementRef;\n @ViewChild('secondaryButton', { read: ElementRef, static: false }) private _secondaryButton?: ElementRef;\n\n private _callback?: Function;\n private _callbackData: any;\n\n // public isOpen: boolean = false;\n\n constructor() {}\n\n ngOnInit(): void {\n if (this.autofocusElement == 'primary' && !this.showPrimaryButton) {\n this.autofocusElement = 'secondary';\n }\n if (this.autofocusElement == 'secondary' && !this.showSecondaryButton) {\n this.autofocusElement = 'close';\n }\n if (this.autofocusElement == 'close' && !this.showCloseButton) {\n this.autofocusElement = 'content';\n }\n }\n\n public open(callback?: (button: modalButton, data: any) => void, data?: any): void{\n this._callback = callback;\n this._callbackData = data;\n\n if (this._modal != undefined) {\n this.isOpen = true;\n // this._modal.open();\n\n this.isOpenChange.emit(this.isOpen);\n }\n }\n\n private close(): void {\n if (this._modal != undefined) {\n this.isOpen = false;\n // this._modal.close();\n\n this.isOpenChange.emit(this.isOpen);\n }\n }\n\n public onSecondaryClick(): void {\n if (this._callback) {\n this._callback('secondary', this._callbackData);\n }\n this.secondaryButtonClick.emit();\n this.close();\n }\n\n public onPrimaryClick(): void {\n if (this._callback) {\n this._callback('primary', this._callbackData);\n }\n this.primaryButtonClick.emit();\n this.close();\n }\n\n public onCloseClick(): void {\n if (this._callback) {\n this._callback('close', this._callbackData);\n }\n this.close();\n }\n\n public onCloseEscapeKeypress(): void {\n if (this._callback) {\n this._callback('close', this._callbackData);\n }\n this.close();\n }\n\n public onModalClose(): void {\n this.dialogClose.emit();\n }\n\n public onModalOpen(): void {\n this.dialogOpen.emit();\n switch (this.autofocusElement) {\n case 'primary':\n this._primaryButton?.nativeElement.focus();\n break;\n case 'secondary':\n this._secondaryButton?.nativeElement.focus();\n break;\n case 'content':\n this._content?.nativeElement.focus();\n break;\n default:\n break;\n }\n } \n\n}\n\n\n\n","<sds-modal\n #modal\n [modalTitle]=\"dialogTitle || title\"\n [size]=\"size\"\n [modalDialogId]=\"modalDialogId\"\n [showCloseButton]=\"showCloseButton\"\n [showHeader]=\"showHeader\"\n [translations]=\"{ close: closeText}\"\n [autoFocusCloseButton]=\"autofocusElement === 'close'\"\n [closeOnEscape]=\"closeOnEscape\"\n (closeClick)=\"onCloseClick()\"\n (closeEscapeKeypress)=\"onCloseEscapeKeypress()\"\n (modalClose)=\"onModalClose()\"\n (modalOpen)=\"onModalOpen()\"\n [(isOpen)]=\"isOpen\"\n>\n\n <div #content [attr.tabindex]=\"autofocusElement === 'content' ? 0 : undefined\" >\n <ng-content></ng-content>\n </div>\n <ng-container #footer ngProjectAs='footer'>\n <button\n #secondaryButton\n *ngIf=\"showSecondaryButton\"\n [attr.id]=\"secondaryButtonId\"\n [disabled]=\"secondaryButtonDisabled\"\n class=\"btn\"\n [class]=\"secondaryButtonClass\"\n (click)=\"onSecondaryClick()\"\n >{{secondaryButtonText}}</button>\n <button\n #primaryButton\n *ngIf=\"showPrimaryButton\"\n [attr.id]=\"primaryButtonId\"\n [disabled]=\"primaryButtonDisabled\"\n class=\"btn\"\n [class]=\"primaryButtonClass\"\n (click)=\"onPrimaryClick()\"\n >{{primaryButtonText}}</button>\n </ng-container>\n</sds-modal>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}