@testgorilla/tgo-ui 4.2.4 → 5.0.0

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 (425) hide show
  1. package/components/accordion/accordion.component.d.ts +2 -2
  2. package/components/accordion/accordion.component.module.d.ts +2 -2
  3. package/components/accordion/index.d.ts +5 -0
  4. package/components/accordion/public-api.d.ts +4 -0
  5. package/components/ai-feedback/ai-feedback.module.d.ts +2 -2
  6. package/components/ai-feedback/index.d.ts +5 -0
  7. package/components/ai-feedback/public-api.d.ts +4 -0
  8. package/components/alert-banner/alert-banner.component.d.ts +3 -3
  9. package/components/alert-banner/alert-banner.component.module.d.ts +3 -3
  10. package/components/alert-banner/index.d.ts +5 -0
  11. package/components/alert-banner/public-api.d.ts +4 -0
  12. package/components/autocomplete/autocomplete.component.d.ts +2 -2
  13. package/components/autocomplete/autocomplete.component.module.d.ts +9 -10
  14. package/components/autocomplete/index.d.ts +5 -0
  15. package/components/autocomplete/public-api.d.ts +4 -0
  16. package/components/avatar/avatar.component.d.ts +2 -2
  17. package/components/avatar/avatar.component.module.d.ts +4 -4
  18. package/components/avatar/avatar.model.d.ts +1 -1
  19. package/components/avatar/index.d.ts +5 -0
  20. package/components/avatar/public-api.d.ts +4 -0
  21. package/components/badge/badge.component.d.ts +2 -2
  22. package/components/badge/badge.component.module.d.ts +1 -1
  23. package/components/badge/index.d.ts +5 -0
  24. package/components/badge/public-api.d.ts +4 -0
  25. package/components/breadcrumb/breadcrumb.component.d.ts +2 -2
  26. package/components/breadcrumb/breadcrumb.component.module.d.ts +8 -9
  27. package/components/breadcrumb/index.d.ts +5 -0
  28. package/components/breadcrumb/public-api.d.ts +4 -0
  29. package/components/button/button.component.d.ts +2 -2
  30. package/components/button/button.component.module.d.ts +4 -5
  31. package/components/button/button.model.d.ts +1 -1
  32. package/components/button/index.d.ts +5 -0
  33. package/components/button/public-api.d.ts +5 -0
  34. package/components/card/card.component.d.ts +2 -2
  35. package/components/card/card.component.module.d.ts +1 -1
  36. package/components/card/index.d.ts +5 -0
  37. package/components/card/public-api.d.ts +4 -0
  38. package/components/checkbox/checkbox.component.d.ts +2 -2
  39. package/components/checkbox/checkbox.component.module.d.ts +6 -8
  40. package/components/checkbox/index.d.ts +5 -0
  41. package/components/checkbox/public-api.d.ts +4 -0
  42. package/components/checklist/checklist.component.d.ts +1 -2
  43. package/components/checklist/index.d.ts +5 -0
  44. package/components/checklist/public-api.d.ts +3 -0
  45. package/{utils → components/core}/alert-bars.utils.d.ts +1 -2
  46. package/components/core/application-theme.model.d.ts +7 -0
  47. package/components/core/color-contrast.d.ts +28 -0
  48. package/components/core/index.d.ts +5 -0
  49. package/components/core/link-target.model.d.ts +1 -0
  50. package/components/core/public-api.d.ts +25 -0
  51. package/components/core/select-text.directive.d.ts +19 -0
  52. package/{pipes → components/core}/truncate.pipe.d.ts +1 -1
  53. package/{pipes → components/core}/ui-translate.pipe.d.ts +1 -1
  54. package/components/datepicker/datepicker.component.d.ts +1 -1
  55. package/components/datepicker/datepicker.component.module.d.ts +4 -5
  56. package/components/datepicker/index.d.ts +5 -0
  57. package/components/datepicker/public-api.d.ts +6 -0
  58. package/components/{confirm-dialog → dialog/confirm-dialog}/confirm-dialog.component.d.ts +4 -4
  59. package/components/{confirm-dialog → dialog/confirm-dialog}/confirm-dialog.component.module.d.ts +3 -3
  60. package/components/{confirm-dialog → dialog/confirm-dialog}/confirm-dialog.model.d.ts +3 -3
  61. package/components/dialog/dialog-custom/dialog-custom.component.d.ts +22 -0
  62. package/components/dialog/dialog-custom/dialog-custom.component.module.d.ts +10 -0
  63. package/components/dialog/dialog.component.d.ts +4 -4
  64. package/components/dialog/dialog.component.module.d.ts +2 -2
  65. package/components/dialog/dialog.model.d.ts +1 -1
  66. package/components/dialog/dialog.service.d.ts +1 -1
  67. package/components/dialog/index.d.ts +5 -0
  68. package/components/dialog/public-api.d.ts +10 -0
  69. package/components/divider/divider.component.d.ts +1 -1
  70. package/components/divider/index.d.ts +5 -0
  71. package/components/divider/public-api.d.ts +4 -0
  72. package/components/donut-chart/donut-chart.component.d.ts +1 -1
  73. package/components/donut-chart/index.d.ts +5 -0
  74. package/components/donut-chart/public-api.d.ts +3 -0
  75. package/components/dropdown/dropdown.component.d.ts +2 -2
  76. package/components/dropdown/dropdown.component.module.d.ts +5 -6
  77. package/components/dropdown/index.d.ts +5 -0
  78. package/components/dropdown/public-api.d.ts +4 -0
  79. package/components/elevation-shadow/elevation-shadow.component.d.ts +1 -1
  80. package/components/elevation-shadow/index.d.ts +5 -0
  81. package/components/elevation-shadow/public-api.d.ts +3 -0
  82. package/components/empty-state/empty-state.component.d.ts +4 -4
  83. package/components/empty-state/empty-state.component.module.d.ts +3 -3
  84. package/components/empty-state/index.d.ts +5 -0
  85. package/components/empty-state/public-api.d.ts +4 -0
  86. package/components/field/field.component.d.ts +4 -4
  87. package/components/field/field.component.module.d.ts +6 -8
  88. package/components/field/index.d.ts +5 -0
  89. package/components/field/public-api.d.ts +4 -0
  90. package/components/file-upload/file-upload.component.d.ts +1 -2
  91. package/components/file-upload/file-upload.component.module.d.ts +4 -4
  92. package/components/file-upload/index.d.ts +5 -0
  93. package/components/file-upload/public-api.d.ts +3 -0
  94. package/components/filter-button/filter-button.component.d.ts +3 -3
  95. package/components/filter-button/filter-button.component.module.d.ts +7 -8
  96. package/components/filter-button/filter-button.model.d.ts +1 -1
  97. package/components/filter-button/index.d.ts +5 -0
  98. package/components/filter-button/public-api.d.ts +4 -0
  99. package/components/gaussian-chart/gaussian-chart.component.d.ts +1 -1
  100. package/components/gaussian-chart/gaussian-chart.module.d.ts +3 -4
  101. package/components/gaussian-chart/index.d.ts +5 -0
  102. package/components/gaussian-chart/public-api.d.ts +2 -0
  103. package/components/icon/icon.component.d.ts +2 -2
  104. package/components/icon/index.d.ts +5 -0
  105. package/components/icon/public-api.d.ts +6 -0
  106. package/components/icon-label/icon-label.component.d.ts +2 -2
  107. package/components/icon-label/icon-label.component.module.d.ts +1 -1
  108. package/components/icon-label/index.d.ts +5 -0
  109. package/components/icon-label/public-api.d.ts +2 -0
  110. package/components/inline-field/index.d.ts +5 -0
  111. package/components/inline-field/inline-field.component.d.ts +5 -5
  112. package/components/inline-field/inline-field.component.module.d.ts +3 -3
  113. package/components/inline-field/inline-field.model.d.ts +1 -1
  114. package/components/inline-field/public-api.d.ts +4 -0
  115. package/components/logo/index.d.ts +5 -0
  116. package/components/logo/logo.component.d.ts +1 -1
  117. package/components/logo/public-api.d.ts +4 -0
  118. package/components/media-card/index.d.ts +5 -0
  119. package/components/media-card/public-api.d.ts +1 -0
  120. package/components/media-dialog/index.d.ts +5 -0
  121. package/components/media-dialog/public-api.d.ts +2 -0
  122. package/components/multi-input/index.d.ts +5 -0
  123. package/components/multi-input/multi-input.component.module.d.ts +7 -8
  124. package/components/multi-input/public-api.d.ts +5 -0
  125. package/components/navbar/index.d.ts +5 -0
  126. package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +2 -2
  127. package/components/navbar/navbar.component.d.ts +4 -4
  128. package/components/navbar/navbar.component.module.d.ts +7 -7
  129. package/components/navbar/navbar.model.d.ts +2 -2
  130. package/components/navbar/public-api.d.ts +5 -0
  131. package/components/overflow-menu/index.d.ts +5 -0
  132. package/components/overflow-menu/overflow-menu.component.d.ts +3 -3
  133. package/components/overflow-menu/overflow-menu.component.module.d.ts +4 -5
  134. package/components/overflow-menu/overflow-menu.model.d.ts +1 -1
  135. package/components/overflow-menu/public-api.d.ts +4 -0
  136. package/components/page-header/index.d.ts +5 -0
  137. package/components/page-header/page-header.component.d.ts +1 -1
  138. package/components/page-header/page-header.component.module.d.ts +2 -2
  139. package/components/page-header/public-api.d.ts +3 -0
  140. package/components/paginator/index.d.ts +5 -0
  141. package/components/paginator/paginator.component.d.ts +1 -1
  142. package/components/paginator/public-api.d.ts +3 -0
  143. package/components/password-criteria/index.d.ts +5 -0
  144. package/components/password-criteria/password.component.module.d.ts +4 -4
  145. package/components/password-criteria/public-api.d.ts +3 -0
  146. package/components/password-strength/index.d.ts +5 -0
  147. package/components/password-strength/password-strength.component.d.ts +2 -2
  148. package/components/password-strength/password-strength.component.module.d.ts +3 -3
  149. package/components/password-strength/public-api.d.ts +3 -0
  150. package/components/phone-input/index.d.ts +5 -0
  151. package/components/phone-input/phone-input.component.d.ts +1 -1
  152. package/components/phone-input/phone-input.component.module.d.ts +5 -6
  153. package/components/phone-input/public-api.d.ts +5 -0
  154. package/components/progress-bar/index.d.ts +5 -0
  155. package/components/progress-bar/progress-bar.component.d.ts +1 -1
  156. package/components/progress-bar/progress-bar.component.module.d.ts +1 -1
  157. package/components/progress-bar/public-api.d.ts +3 -0
  158. package/components/prompt/index.d.ts +5 -0
  159. package/components/prompt/prompt.component.d.ts +2 -2
  160. package/components/prompt/prompt.module.d.ts +8 -8
  161. package/components/prompt/public-api.d.ts +4 -0
  162. package/components/radial-progress/index.d.ts +5 -0
  163. package/components/radial-progress/public-api.d.ts +4 -0
  164. package/components/radial-progress/radial-progress.component.d.ts +2 -2
  165. package/components/radial-progress/radial-progress.component.module.d.ts +1 -1
  166. package/components/radio-button/index.d.ts +5 -0
  167. package/components/radio-button/public-api.d.ts +4 -0
  168. package/components/radio-button/radio-button.component.d.ts +2 -2
  169. package/components/radio-button/radio-button.component.module.d.ts +2 -2
  170. package/components/rating/index.d.ts +5 -0
  171. package/components/rating/public-api.d.ts +3 -0
  172. package/components/rating/rating.component.d.ts +1 -1
  173. package/components/scale/index.d.ts +5 -0
  174. package/components/scale/public-api.d.ts +3 -0
  175. package/components/scale/scale.component.d.ts +1 -1
  176. package/components/scale-table/index.d.ts +5 -0
  177. package/components/scale-table/public-api.d.ts +3 -0
  178. package/components/scale-table/scale-table.component.d.ts +1 -1
  179. package/components/segmented-bar/index.d.ts +5 -0
  180. package/components/segmented-bar/public-api.d.ts +4 -0
  181. package/components/segmented-bar/segmented-bar.component.d.ts +1 -1
  182. package/components/segmented-bar/segmented-bar.component.module.d.ts +2 -2
  183. package/components/segmented-bar/segmented-bar.model.d.ts +1 -1
  184. package/components/segmented-button/index.d.ts +5 -0
  185. package/components/segmented-button/public-api.d.ts +4 -0
  186. package/components/segmented-button/segmented-button.component.d.ts +1 -1
  187. package/components/selectable-card/index.d.ts +5 -0
  188. package/components/selectable-card/public-api.d.ts +2 -0
  189. package/components/selectable-card/selectable-card.component.d.ts +1 -1
  190. package/components/selectable-card/selectable-card.component.module.d.ts +2 -2
  191. package/components/side-panel/index.d.ts +5 -0
  192. package/components/side-panel/public-api.d.ts +5 -0
  193. package/components/side-panel/side-panel.component.d.ts +1 -1
  194. package/components/side-sheet/index.d.ts +5 -0
  195. package/components/side-sheet/public-api.d.ts +4 -0
  196. package/components/side-sheet/side-sheet.component.d.ts +1 -1
  197. package/components/side-sheet/side-sheet.component.module.d.ts +4 -4
  198. package/components/skeleton/index.d.ts +5 -0
  199. package/components/skeleton/public-api.d.ts +3 -0
  200. package/components/skeleton/skeleton.component.d.ts +2 -2
  201. package/components/slider/index.d.ts +5 -0
  202. package/components/slider/public-api.d.ts +4 -0
  203. package/components/slider/slider.component.d.ts +1 -1
  204. package/components/snackbar/index.d.ts +5 -0
  205. package/components/snackbar/public-api.d.ts +5 -0
  206. package/components/snackbar/snackbar.component.d.ts +4 -4
  207. package/components/snackbar/snackbar.component.module.d.ts +3 -3
  208. package/components/snackbar/snackbar.service.d.ts +1 -1
  209. package/components/spider-chart/index.d.ts +5 -0
  210. package/components/spider-chart/public-api.d.ts +3 -0
  211. package/components/spider-chart/spider-chart.component.d.ts +1 -1
  212. package/components/spider-chart/spider-chart.module.d.ts +3 -4
  213. package/components/spinner/index.d.ts +5 -0
  214. package/components/spinner/public-api.d.ts +4 -0
  215. package/components/spinner/spinner.component.d.ts +2 -2
  216. package/components/spinner/spinner.module.d.ts +2 -2
  217. package/components/stepper/index.d.ts +5 -0
  218. package/components/stepper/public-api.d.ts +7 -0
  219. package/{directives → components/stepper}/step-line-element.directive.d.ts +1 -1
  220. package/components/{step → stepper}/step.component.d.ts +4 -4
  221. package/components/{step → stepper}/step.component.module.d.ts +2 -2
  222. package/components/stepper/stepper.component.d.ts +1 -1
  223. package/components/stepper/stepper.component.module.d.ts +5 -5
  224. package/components/stepper/stepper.model.d.ts +1 -1
  225. package/components/table/index.d.ts +5 -0
  226. package/components/table/public-api.d.ts +6 -0
  227. package/components/table/table.component.d.ts +1 -1
  228. package/components/table/table.component.module.d.ts +6 -9
  229. package/{utils → components/table}/table.utils.d.ts +1 -1
  230. package/components/tabs/index.d.ts +5 -0
  231. package/components/tabs/public-api.d.ts +5 -0
  232. package/components/tabs/tab.directive.d.ts +1 -1
  233. package/components/tabs/tabs.component.d.ts +1 -1
  234. package/components/tabs/tabs.component.module.d.ts +3 -3
  235. package/components/tabs/tabs.model.d.ts +1 -1
  236. package/components/tag/index.d.ts +5 -0
  237. package/components/tag/public-api.d.ts +4 -0
  238. package/components/tag/tag.component.d.ts +2 -2
  239. package/components/tag/tag.component.module.d.ts +3 -3
  240. package/components/toggle/index.d.ts +5 -0
  241. package/components/toggle/public-api.d.ts +3 -0
  242. package/components/toggle/toggle.component.d.ts +1 -1
  243. package/components/toggle/toggle.component.module.d.ts +4 -5
  244. package/components/tooltip/index.d.ts +5 -0
  245. package/components/tooltip/public-api.d.ts +5 -0
  246. package/components/tooltip/tooltip.component.d.ts +1 -1
  247. package/components/tooltip/tooltip.component.module.d.ts +2 -3
  248. package/components/universal-skills/index.d.ts +5 -0
  249. package/components/universal-skills/public-api.d.ts +6 -0
  250. package/components/{universal-skills-spider-charts → universal-skills/spider-charts}/universal-skills-spider-charts.component.d.ts +4 -4
  251. package/components/{universal-skills-spider-charts → universal-skills/spider-charts}/universal-skills-spider-charts.component.module.d.ts +7 -9
  252. package/components/{universal-skills-report → universal-skills}/universal-skills-report.component.d.ts +4 -4
  253. package/components/{universal-skills-report → universal-skills}/universal-skills-report.component.module.d.ts +5 -7
  254. package/{models → components/universal-skills}/universal-skills-report.model.d.ts +1 -1
  255. package/{services → components/universal-skills}/universal-skills.service.d.ts +1 -1
  256. package/components/validation-error/index.d.ts +5 -0
  257. package/components/validation-error/public-api.d.ts +3 -0
  258. package/components/validation-error/validation-error.component.d.ts +1 -1
  259. package/components/validation-error/validation-error.module.d.ts +2 -2
  260. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs +179 -0
  261. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs.map +1 -0
  262. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +59 -0
  263. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -0
  264. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +222 -0
  265. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -0
  266. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +1045 -0
  267. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -0
  268. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +173 -0
  269. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -0
  270. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs +180 -0
  271. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs.map +1 -0
  272. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs +250 -0
  273. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs.map +1 -0
  274. package/fesm2022/testgorilla-tgo-ui-components-button.mjs +635 -0
  275. package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +1 -0
  276. package/fesm2022/testgorilla-tgo-ui-components-card.mjs +164 -0
  277. package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -0
  278. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +402 -0
  279. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -0
  280. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +162 -0
  281. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -0
  282. package/fesm2022/testgorilla-tgo-ui-components-core.mjs +11243 -0
  283. package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +1 -0
  284. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +512 -0
  285. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -0
  286. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +481 -0
  287. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -0
  288. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs +88 -0
  289. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs.map +1 -0
  290. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs +146 -0
  291. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs.map +1 -0
  292. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +434 -0
  293. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -0
  294. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs +75 -0
  295. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs.map +1 -0
  296. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +326 -0
  297. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -0
  298. package/fesm2022/testgorilla-tgo-ui-components-field.mjs +639 -0
  299. package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -0
  300. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs +402 -0
  301. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs.map +1 -0
  302. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +314 -0
  303. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -0
  304. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs +297 -0
  305. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs.map +1 -0
  306. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs +98 -0
  307. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs.map +1 -0
  308. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs +1496 -0
  309. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs.map +1 -0
  310. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +367 -0
  311. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -0
  312. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +218 -0
  313. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +1 -0
  314. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs +54 -0
  315. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs.map +1 -0
  316. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +82 -0
  317. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -0
  318. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs +343 -0
  319. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs.map +1 -0
  320. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs +358 -0
  321. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs.map +1 -0
  322. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs +279 -0
  323. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs.map +1 -0
  324. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs +94 -0
  325. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs.map +1 -0
  326. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +110 -0
  327. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -0
  328. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs +153 -0
  329. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs.map +1 -0
  330. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs +118 -0
  331. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs.map +1 -0
  332. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +428 -0
  333. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -0
  334. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +128 -0
  335. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +1 -0
  336. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs +252 -0
  337. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs.map +1 -0
  338. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +152 -0
  339. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -0
  340. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +373 -0
  341. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -0
  342. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +150 -0
  343. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -0
  344. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs +68 -0
  345. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs.map +1 -0
  346. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +158 -0
  347. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -0
  348. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +137 -0
  349. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -0
  350. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +128 -0
  351. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -0
  352. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +81 -0
  353. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -0
  354. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs +231 -0
  355. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs.map +1 -0
  356. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs +180 -0
  357. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs.map +1 -0
  358. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs +81 -0
  359. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs.map +1 -0
  360. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +274 -0
  361. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -0
  362. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +299 -0
  363. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -0
  364. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs +490 -0
  365. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs.map +1 -0
  366. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +108 -0
  367. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +1 -0
  368. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs +507 -0
  369. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs.map +1 -0
  370. package/fesm2022/testgorilla-tgo-ui-components-table.mjs +394 -0
  371. package/fesm2022/testgorilla-tgo-ui-components-table.mjs.map +1 -0
  372. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs +304 -0
  373. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs.map +1 -0
  374. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +239 -0
  375. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -0
  376. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +216 -0
  377. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -0
  378. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs +272 -0
  379. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs.map +1 -0
  380. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs +381 -0
  381. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs.map +1 -0
  382. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +79 -0
  383. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +1 -0
  384. package/fesm2022/testgorilla-tgo-ui.mjs +118 -27024
  385. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  386. package/package.json +249 -1
  387. package/public-api.d.ts +75 -183
  388. package/components/ai-caveat/ai-caveat.component.d.ts +0 -36
  389. package/components/ai-caveat/ai-caveat.component.module.d.ts +0 -10
  390. package/models/application-theme.model.d.ts +0 -1
  391. package/projects/tgo-canopy-ui/assets/i18n/da-dk.json +0 -820
  392. package/projects/tgo-canopy-ui/assets/i18n/de.json +0 -820
  393. package/projects/tgo-canopy-ui/assets/i18n/en.json +0 -830
  394. package/projects/tgo-canopy-ui/assets/i18n/es.json +0 -820
  395. package/projects/tgo-canopy-ui/assets/i18n/fr.json +0 -820
  396. package/projects/tgo-canopy-ui/assets/i18n/it-it.json +0 -820
  397. package/projects/tgo-canopy-ui/assets/i18n/ja-jp.json +0 -820
  398. package/projects/tgo-canopy-ui/assets/i18n/nb-no.json +0 -820
  399. package/projects/tgo-canopy-ui/assets/i18n/nl.json +0 -820
  400. package/projects/tgo-canopy-ui/assets/i18n/pl-pl.json +0 -820
  401. package/projects/tgo-canopy-ui/assets/i18n/pt-br.json +0 -820
  402. package/projects/tgo-canopy-ui/assets/i18n/sv-se.json +0 -820
  403. /package/{directives → components/autocomplete}/select-text.directive.d.ts +0 -0
  404. /package/{pipes → components/avatar}/name-initials.pipe.d.ts +0 -0
  405. /package/{utils → components/button}/color-contrast.d.ts +0 -0
  406. /package/{utils → components/core}/alert-bar.model.d.ts +0 -0
  407. /package/{utils → components/core}/autocomplete-utils.d.ts +0 -0
  408. /package/{models → components/core}/checkbox.model.d.ts +0 -0
  409. /package/{models → components/core}/colors.model.d.ts +0 -0
  410. /package/{pipes/data-property-getter.d.ts → components/core/data-property-getter.pipe.d.ts} +0 -0
  411. /package/{directives → components/core}/digits-only.directive.d.ts +0 -0
  412. /package/{directives → components/core}/dynamic-component.directive.d.ts +0 -0
  413. /package/{directives → components/core}/ellipse-text.directive.d.ts +0 -0
  414. /package/{pipes → components/core}/has-validation-error.pipe.d.ts +0 -0
  415. /package/{utils → components/core}/hex-to-rgb.d.ts +0 -0
  416. /package/{providers → components/core}/is-large-tablet.d.ts +0 -0
  417. /package/{providers → components/core}/is-mobile.d.ts +0 -0
  418. /package/{models → components/core}/keyboard-events.model.d.ts +0 -0
  419. /package/{utils/localization → components/core}/language.model.d.ts +0 -0
  420. /package/{utils/localization → components/core}/language.service.d.ts +0 -0
  421. /package/{pipes → components/core}/memoize-func.pipe.d.ts +0 -0
  422. /package/{models → components/core}/screen-breakpoints.model.d.ts +0 -0
  423. /package/{pipes → components/core}/ui-ordinal-suffix.pipe.d.ts +0 -0
  424. /package/{directives → components/file-upload}/drag-drop.directive.d.ts +0 -0
  425. /package/{services → components/icon}/icons.service.d.ts +0 -0
@@ -0,0 +1,231 @@
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, inject, EnvironmentInjector, ApplicationRef, TemplateRef, Injector, createComponent, Injectable, signal, viewChild, ViewContainerRef, computed, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { LanguageService, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
5
+ import * as i1 from '@testgorilla/tgo-ui/components/button';
6
+ import { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';
7
+ import { TooltipComponentModule } from '@testgorilla/tgo-ui/components/tooltip';
8
+ import { trigger, state, transition, style, animate } from '@angular/animations';
9
+ import { Subject } from 'rxjs';
10
+
11
+ /* eslint-disable no-underscore-dangle */
12
+ var SidePanelAnimationState;
13
+ (function (SidePanelAnimationState) {
14
+ SidePanelAnimationState["Open"] = "open";
15
+ SidePanelAnimationState["Closed"] = "closed";
16
+ SidePanelAnimationState["ClosedRight"] = "closedRight";
17
+ SidePanelAnimationState["ClosedLeft"] = "closedLeft";
18
+ })(SidePanelAnimationState || (SidePanelAnimationState = {}));
19
+ class SidePanelConfig {
20
+ }
21
+ const defaultSidePanelConfig = {
22
+ position: 'right',
23
+ showBackButton: false,
24
+ title: '',
25
+ data: undefined,
26
+ showHeader: true,
27
+ showCloseButton: true,
28
+ size: 'small',
29
+ };
30
+ const SIDE_PANEL_CONFIG = new InjectionToken('SIDE_PANEL_CONFIG', {
31
+ providedIn: 'root',
32
+ factory: () => defaultSidePanelConfig,
33
+ });
34
+ /**
35
+ * Reference to a side panel opened via the SidePanelService.
36
+ * Similar to MatDialogRef from Angular Material.
37
+ */
38
+ class SidePanelRef {
39
+ constructor() {
40
+ this._afterClosed = new Subject();
41
+ }
42
+ /**
43
+ * Observable that emits when the side panel is closed.
44
+ * Emits the result passed to the close method, or undefined if no result was provided.
45
+ */
46
+ afterClosed() {
47
+ return this._afterClosed.asObservable();
48
+ }
49
+ /**
50
+ * Closes the side panel with an optional result.
51
+ * @param result Optional data to be emitted via afterClosed()
52
+ */
53
+ close(result) {
54
+ // This will be overridden by the service
55
+ }
56
+ /** @internal */
57
+ _emitClose(result) {
58
+ this._afterClosed.next(result);
59
+ this._afterClosed.complete();
60
+ }
61
+ }
62
+
63
+ const sidePanelAnimationDuration = 150;
64
+ const sidePanelAnimation = [
65
+ trigger('slideInOut', [
66
+ state(`${SidePanelAnimationState.Open}`, style({ transform: 'translateX(0)' })),
67
+ state(`${SidePanelAnimationState.ClosedRight}`, style({ transform: 'translateX(100%)' })),
68
+ state(`${SidePanelAnimationState.ClosedLeft}`, style({ transform: 'translateX(-100%)' })),
69
+ transition(`${SidePanelAnimationState.Open} <=> ${SidePanelAnimationState.ClosedRight}`, [
70
+ animate(`${sidePanelAnimationDuration}ms ease-in-out`),
71
+ ]),
72
+ transition(`${SidePanelAnimationState.Open} <=> ${SidePanelAnimationState.ClosedLeft}`, [
73
+ animate(`${sidePanelAnimationDuration}ms ease-in-out`),
74
+ ]),
75
+ ]),
76
+ ];
77
+ const backdropAnimation = [
78
+ trigger('fadeInOut', [
79
+ state(`${SidePanelAnimationState.Open}`, style({ opacity: 0.25 })),
80
+ state(`${SidePanelAnimationState.Closed}`, style({ opacity: 0 })),
81
+ transition(`${SidePanelAnimationState.Open} <=> ${SidePanelAnimationState.Closed}`, [
82
+ animate(`${sidePanelAnimationDuration}ms ease-in-out`),
83
+ ]),
84
+ ]),
85
+ ];
86
+
87
+ const SIDE_PANEL_DATA = new InjectionToken('SIDE_PANEL_DATA');
88
+
89
+ class SidePanelService {
90
+ constructor() {
91
+ this.defaultSidePanelConfig = inject(SIDE_PANEL_CONFIG);
92
+ this.injector = inject(EnvironmentInjector);
93
+ this.appRef = inject(ApplicationRef);
94
+ }
95
+ open(content, config, parentInjector) {
96
+ const panelConfig = { ...this.defaultSidePanelConfig, ...config };
97
+ const sidePanelRef = new SidePanelRef();
98
+ this.currentSidePanelRef = sidePanelRef;
99
+ sidePanelRef.close = (result) => {
100
+ this.close(result);
101
+ };
102
+ if (!this.SidePanelComponentRef) {
103
+ const injector = this.createSidePanelInjector(panelConfig, parentInjector);
104
+ const SidePanelComponentRef = this.createSidePanelComponent(panelConfig.position, injector);
105
+ this.SidePanelComponentRef = SidePanelComponentRef;
106
+ }
107
+ if (content instanceof TemplateRef) {
108
+ this.loadTemplate(content);
109
+ }
110
+ else {
111
+ this.loadComponent(content, sidePanelRef);
112
+ }
113
+ this.SidePanelComponentRef.instance.open();
114
+ return sidePanelRef;
115
+ }
116
+ close(result) {
117
+ if (this.SidePanelComponentRef) {
118
+ this.SidePanelComponentRef.instance.close(result);
119
+ }
120
+ }
121
+ destroyComponent(result) {
122
+ if (this.currentSidePanelRef) {
123
+ this.currentSidePanelRef._emitClose(result);
124
+ this.currentSidePanelRef = undefined;
125
+ }
126
+ if (this.SidePanelComponentRef) {
127
+ this.appRef.detachView(this.SidePanelComponentRef.hostView);
128
+ this.SidePanelComponentRef.destroy();
129
+ this.SidePanelComponentRef = undefined;
130
+ }
131
+ if (this.contentComponentRef) {
132
+ this.contentComponentRef.destroy();
133
+ this.contentComponentRef = undefined;
134
+ }
135
+ }
136
+ createSidePanelInjector(config, parentInjector) {
137
+ return Injector.create({
138
+ parent: parentInjector,
139
+ providers: [
140
+ { provide: SidePanelConfig, useValue: config },
141
+ { provide: SIDE_PANEL_DATA, useValue: config.data },
142
+ ],
143
+ });
144
+ }
145
+ createSidePanelComponent(position, injector) {
146
+ const sidePanelComponentRef = createComponent(SidePanelComponent, {
147
+ environmentInjector: this.injector,
148
+ elementInjector: injector,
149
+ });
150
+ this.appRef.attachView(sidePanelComponentRef.hostView);
151
+ const sidePanelEl = sidePanelComponentRef.hostView.rootNodes[0];
152
+ sidePanelEl.querySelector('.side-panel')?.classList.add(position);
153
+ document.body.appendChild(sidePanelEl);
154
+ return sidePanelComponentRef;
155
+ }
156
+ loadComponent(component, sidePanelRef) {
157
+ const viewContainerRef = this.SidePanelComponentRef?.instance.sidePanelContainer;
158
+ if (viewContainerRef) {
159
+ viewContainerRef().clear();
160
+ this.contentComponentRef = viewContainerRef().createComponent(component);
161
+ // Set the component instance on the SidePanelRef
162
+ sidePanelRef.componentInstance = this.contentComponentRef.instance;
163
+ }
164
+ }
165
+ loadTemplate(template) {
166
+ const viewContainerRef = this.SidePanelComponentRef?.instance.sidePanelContainer;
167
+ if (viewContainerRef) {
168
+ viewContainerRef().clear();
169
+ this.embeddedViewRef = viewContainerRef().createEmbeddedView(template);
170
+ }
171
+ }
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SidePanelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
173
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SidePanelService, providedIn: 'root' }); }
174
+ }
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SidePanelService, decorators: [{
176
+ type: Injectable,
177
+ args: [{
178
+ providedIn: 'root',
179
+ }]
180
+ }], ctorParameters: () => [] });
181
+
182
+ class SidePanelComponent {
183
+ constructor() {
184
+ this.sidePanelPosition = signal('right');
185
+ this.sidePanelContainer = viewChild.required('sidePanelContainer', { read: ViewContainerRef });
186
+ this.sidePanel = viewChild.required('sidePanel');
187
+ this.backdrop = viewChild.required('sidePanelBackdrop');
188
+ this.language = LanguageService.defaultLanguage;
189
+ this.isOpen = signal(false);
190
+ this.size = signal(undefined);
191
+ this.isSmall = computed(() => this.size() === 'small');
192
+ this.isLarge = computed(() => this.size() === 'large');
193
+ this.animation = computed(() => {
194
+ if (this.isOpen()) {
195
+ return SidePanelAnimationState.Open;
196
+ }
197
+ return this.sidePanelPosition() === 'left'
198
+ ? SidePanelAnimationState.ClosedLeft
199
+ : SidePanelAnimationState.ClosedRight;
200
+ });
201
+ this.sidePanelService = inject(SidePanelService);
202
+ this.sidePanelConfig = inject(SidePanelConfig);
203
+ const { position, size } = this.sidePanelConfig;
204
+ this.sidePanelPosition.set(position);
205
+ this.size.set(size);
206
+ }
207
+ open() {
208
+ setTimeout(() => {
209
+ this.isOpen.set(true);
210
+ });
211
+ }
212
+ close(result) {
213
+ this.isOpen.set(false);
214
+ setTimeout(() => {
215
+ this.sidePanelService.destroyComponent(result);
216
+ }, sidePanelAnimationDuration);
217
+ }
218
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SidePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
219
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: SidePanelComponent, isStandalone: true, selector: "ui-side-panel", viewQueries: [{ propertyName: "sidePanelContainer", first: true, predicate: ["sidePanelContainer"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "sidePanel", first: true, predicate: ["sidePanel"], descendants: true, isSignal: true }, { propertyName: "backdrop", first: true, predicate: ["sidePanelBackdrop"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"side-panel-backdrop\" #sidePanelBackdrop (click)=\"close()\" [@fadeInOut]=\"isOpen() ? 'open' : 'closed'\"></div>\n<div\n class=\"side-panel\"\n [class]=\"sidePanelConfig.panelClass\"\n [class.side-panel-small]=\"isSmall()\"\n [class.side-panel-large]=\"isLarge()\"\n #sidePanel\n [@slideInOut]=\"animation()\"\n>\n @if (sidePanelConfig.showHeader) {\n <div class=\"side-panel-header\">\n <div class=\"side-panel-title-container\">\n @if (sidePanelConfig.showBackButton) {\n <ui-button\n class=\"side-panel-action\"\n [variant]=\"'icon-button'\"\n [iconName]=\"'Arrow-chevron-left-filled'\"\n (click)=\"close()\"\n [tooltip]=\"('COMMON.BACK' | uiTranslate | async)!\"\n size=\"medium\"\n ></ui-button>\n }\n <span class=\"side-panel-title h3 bold\">{{ sidePanelConfig.title }}</span>\n </div>\n @if (sidePanelConfig.showCloseButton) {\n <ui-button\n class=\"side-panel-action side-panel-action-close\"\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [tooltip]=\"('COMMON.CLOSE' | uiTranslate | async)!\"\n (click)=\"close()\"\n size=\"medium\"\n ></ui-button>\n }\n </div>\n }\n\n <div class=\"side-panel-content\">\n <ng-container #sidePanelContainer></ng-container>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.side-panel{position:fixed;top:0;bottom:0;background-color:#fff;padding:32px;box-shadow:2px 24px 48px 8px #00000014;z-index:999999;display:flex;flex-direction:column;will-change:transform;transform:translate(100%)}.side-panel.side-panel-small{width:600px}@media (max-width: 600px){.side-panel.side-panel-small{width:100%}}.side-panel.side-panel-large{width:956px}@media (max-width: 600px){.side-panel.side-panel-large{width:100%}}@media (max-width: 960px){.side-panel.side-panel-large{width:100%}}.side-panel-action-close{margin-left:8px}.side-panel-title-container{display:flex;gap:8px}.side-panel.left{left:0}.side-panel.right{right:0}.side-panel-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:899;opacity:0}.side-panel-title{display:block;display:-webkit-box;max-height:3em;line-height:1.6em;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal}.side-panel-content{overflow:auto;flex:1}.side-panel-header{position:sticky;min-height:30px;display:flex;justify-content:space-between;margin-bottom:32px}\n"], dependencies: [{ kind: "ngmodule", type: TooltipComponentModule }, { kind: "ngmodule", type: ButtonComponentModule }, { kind: "component", type: i1.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [sidePanelAnimation, backdropAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
220
+ }
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SidePanelComponent, decorators: [{
222
+ type: Component,
223
+ args: [{ selector: 'ui-side-panel', animations: [sidePanelAnimation, backdropAnimation], changeDetection: ChangeDetectionStrategy.OnPush, imports: [TooltipComponentModule, ButtonComponentModule, UiTranslatePipe, AsyncPipe, NgClass], template: "<div class=\"side-panel-backdrop\" #sidePanelBackdrop (click)=\"close()\" [@fadeInOut]=\"isOpen() ? 'open' : 'closed'\"></div>\n<div\n class=\"side-panel\"\n [class]=\"sidePanelConfig.panelClass\"\n [class.side-panel-small]=\"isSmall()\"\n [class.side-panel-large]=\"isLarge()\"\n #sidePanel\n [@slideInOut]=\"animation()\"\n>\n @if (sidePanelConfig.showHeader) {\n <div class=\"side-panel-header\">\n <div class=\"side-panel-title-container\">\n @if (sidePanelConfig.showBackButton) {\n <ui-button\n class=\"side-panel-action\"\n [variant]=\"'icon-button'\"\n [iconName]=\"'Arrow-chevron-left-filled'\"\n (click)=\"close()\"\n [tooltip]=\"('COMMON.BACK' | uiTranslate | async)!\"\n size=\"medium\"\n ></ui-button>\n }\n <span class=\"side-panel-title h3 bold\">{{ sidePanelConfig.title }}</span>\n </div>\n @if (sidePanelConfig.showCloseButton) {\n <ui-button\n class=\"side-panel-action side-panel-action-close\"\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [tooltip]=\"('COMMON.CLOSE' | uiTranslate | async)!\"\n (click)=\"close()\"\n size=\"medium\"\n ></ui-button>\n }\n </div>\n }\n\n <div class=\"side-panel-content\">\n <ng-container #sidePanelContainer></ng-container>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.side-panel{position:fixed;top:0;bottom:0;background-color:#fff;padding:32px;box-shadow:2px 24px 48px 8px #00000014;z-index:999999;display:flex;flex-direction:column;will-change:transform;transform:translate(100%)}.side-panel.side-panel-small{width:600px}@media (max-width: 600px){.side-panel.side-panel-small{width:100%}}.side-panel.side-panel-large{width:956px}@media (max-width: 600px){.side-panel.side-panel-large{width:100%}}@media (max-width: 960px){.side-panel.side-panel-large{width:100%}}.side-panel-action-close{margin-left:8px}.side-panel-title-container{display:flex;gap:8px}.side-panel.left{left:0}.side-panel.right{right:0}.side-panel-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:899;opacity:0}.side-panel-title{display:block;display:-webkit-box;max-height:3em;line-height:1.6em;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal}.side-panel-content{overflow:auto;flex:1}.side-panel-header{position:sticky;min-height:30px;display:flex;justify-content:space-between;margin-bottom:32px}\n"] }]
224
+ }], ctorParameters: () => [] });
225
+
226
+ /**
227
+ * Generated bundle index. Do not edit.
228
+ */
229
+
230
+ export { SIDE_PANEL_CONFIG, SIDE_PANEL_DATA, SidePanelAnimationState, SidePanelComponent, SidePanelConfig, SidePanelRef, SidePanelService, backdropAnimation, defaultSidePanelConfig, sidePanelAnimation, sidePanelAnimationDuration };
231
+ //# sourceMappingURL=testgorilla-tgo-ui-components-side-panel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testgorilla-tgo-ui-components-side-panel.mjs","sources":["../../../components/side-panel/side-panel.model.ts","../../../components/side-panel/side-panel.animations.ts","../../../components/side-panel/side-panel-data-injection-token.ts","../../../components/side-panel/side-panel.service.ts","../../../components/side-panel/side-panel.component.ts","../../../components/side-panel/side-panel.component.html","../../../components/side-panel/testgorilla-tgo-ui-components-side-panel.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport { InjectionToken } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nexport type SidePanelPosition = 'left' | 'right';\n\nexport enum SidePanelAnimationState {\n Open = 'open',\n Closed = 'closed',\n ClosedRight = 'closedRight',\n ClosedLeft = 'closedLeft',\n}\n\nexport type SidePanelSize = 'small' | 'large';\n\nexport class SidePanelConfig {\n title: string;\n position: SidePanelPosition;\n showBackButton: boolean;\n data?: unknown;\n showCloseButton?: boolean;\n showHeader?: boolean;\n panelClass?: string;\n size?: SidePanelSize;\n}\n\nexport const defaultSidePanelConfig: SidePanelConfig = {\n position: 'right',\n showBackButton: false,\n title: '',\n data: undefined,\n showHeader: true,\n showCloseButton: true,\n size: 'small',\n};\n\nexport const SIDE_PANEL_CONFIG = new InjectionToken<SidePanelConfig>('SIDE_PANEL_CONFIG', {\n providedIn: 'root',\n factory: () => defaultSidePanelConfig,\n});\n\n/**\n * Reference to a side panel opened via the SidePanelService.\n * Similar to MatDialogRef from Angular Material.\n */\nexport class SidePanelRef<T = any, R = any> {\n private readonly _afterClosed = new Subject<T | undefined>();\n\n /**\n * Instance of the component loaded into the side panel.\n * Will be undefined if a TemplateRef was used instead of a component.\n */\n componentInstance?: R;\n\n /**\n * Observable that emits when the side panel is closed.\n * Emits the result passed to the close method, or undefined if no result was provided.\n */\n afterClosed(): Observable<T | undefined> {\n return this._afterClosed.asObservable();\n }\n\n /**\n * Closes the side panel with an optional result.\n * @param result Optional data to be emitted via afterClosed()\n */\n close(result?: T): void {\n // This will be overridden by the service\n }\n\n /** @internal */\n _emitClose(result?: T): void {\n this._afterClosed.next(result);\n this._afterClosed.complete();\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { SidePanelAnimationState } from './side-panel.model';\n\nexport const sidePanelAnimationDuration = 150;\n\nexport const sidePanelAnimation = [\n trigger('slideInOut', [\n state(`${SidePanelAnimationState.Open}`, style({ transform: 'translateX(0)' })),\n state(`${SidePanelAnimationState.ClosedRight}`, style({ transform: 'translateX(100%)' })),\n state(`${SidePanelAnimationState.ClosedLeft}`, style({ transform: 'translateX(-100%)' })),\n transition(`${SidePanelAnimationState.Open} <=> ${SidePanelAnimationState.ClosedRight}`, [\n animate(`${sidePanelAnimationDuration}ms ease-in-out`),\n ]),\n transition(`${SidePanelAnimationState.Open} <=> ${SidePanelAnimationState.ClosedLeft}`, [\n animate(`${sidePanelAnimationDuration}ms ease-in-out`),\n ]),\n ]),\n];\n\nexport const backdropAnimation = [\n trigger('fadeInOut', [\n state(`${SidePanelAnimationState.Open}`, style({ opacity: 0.25 })),\n state(`${SidePanelAnimationState.Closed}`, style({ opacity: 0 })),\n transition(`${SidePanelAnimationState.Open} <=> ${SidePanelAnimationState.Closed}`, [\n animate(`${sidePanelAnimationDuration}ms ease-in-out`),\n ]),\n ]),\n];\n","import { InjectionToken } from '@angular/core';\n\nexport const SIDE_PANEL_DATA = new InjectionToken<unknown>('SIDE_PANEL_DATA');\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EmbeddedViewRef,\n EnvironmentInjector,\n inject,\n Injectable,\n Injector,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport { SIDE_PANEL_DATA } from './side-panel-data-injection-token';\nimport { SidePanelComponent } from './side-panel.component';\nimport { SIDE_PANEL_CONFIG, SidePanelConfig, SidePanelPosition, SidePanelRef } from './side-panel.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SidePanelService {\n private SidePanelComponentRef?: ComponentRef<SidePanelComponent>;\n private contentComponentRef?: ComponentRef<any>;\n private embeddedViewRef?: EmbeddedViewRef<any>;\n private currentSidePanelRef?: SidePanelRef<any>;\n private defaultSidePanelConfig: SidePanelConfig = inject(SIDE_PANEL_CONFIG);\n private injector = inject(EnvironmentInjector);\n private appRef = inject(ApplicationRef);\n\n constructor() {}\n\n open<T = any, R = any>(\n content: Type<R> | TemplateRef<any>,\n config: Partial<SidePanelConfig>,\n parentInjector?: Injector\n ): SidePanelRef<T, R> {\n const panelConfig: SidePanelConfig = { ...this.defaultSidePanelConfig, ...config };\n\n const sidePanelRef = new SidePanelRef<T, R>();\n this.currentSidePanelRef = sidePanelRef;\n\n sidePanelRef.close = (result?: T) => {\n this.close(result);\n };\n\n if (!this.SidePanelComponentRef) {\n const injector = this.createSidePanelInjector(panelConfig, parentInjector);\n const SidePanelComponentRef = this.createSidePanelComponent(panelConfig.position, injector);\n this.SidePanelComponentRef = SidePanelComponentRef;\n }\n\n if (content instanceof TemplateRef) {\n this.loadTemplate(content);\n } else {\n this.loadComponent(content, sidePanelRef);\n }\n\n this.SidePanelComponentRef.instance.open();\n\n return sidePanelRef;\n }\n\n close<T = any>(result?: T): void {\n if (this.SidePanelComponentRef) {\n this.SidePanelComponentRef.instance.close(result);\n }\n }\n\n destroyComponent<T = any>(result?: T): void {\n if (this.currentSidePanelRef) {\n this.currentSidePanelRef._emitClose(result);\n this.currentSidePanelRef = undefined;\n }\n\n if (this.SidePanelComponentRef) {\n this.appRef.detachView(this.SidePanelComponentRef.hostView);\n this.SidePanelComponentRef.destroy();\n this.SidePanelComponentRef = undefined;\n }\n\n if (this.contentComponentRef) {\n this.contentComponentRef.destroy();\n this.contentComponentRef = undefined;\n }\n }\n\n private createSidePanelInjector(config: SidePanelConfig, parentInjector?: Injector): Injector {\n return Injector.create({\n parent: parentInjector,\n providers: [\n { provide: SidePanelConfig, useValue: config },\n { provide: SIDE_PANEL_DATA, useValue: config.data },\n ],\n });\n }\n\n private createSidePanelComponent(position: SidePanelPosition, injector: Injector): ComponentRef<SidePanelComponent> {\n const sidePanelComponentRef = createComponent(SidePanelComponent, {\n environmentInjector: this.injector,\n elementInjector: injector,\n });\n\n this.appRef.attachView(sidePanelComponentRef.hostView);\n\n const sidePanelEl = (sidePanelComponentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n sidePanelEl.querySelector('.side-panel')?.classList.add(position);\n\n document.body.appendChild(sidePanelEl);\n\n return sidePanelComponentRef;\n }\n\n private loadComponent<R = any>(component: Type<R>, sidePanelRef: SidePanelRef<any, R>): void {\n const viewContainerRef = this.SidePanelComponentRef?.instance.sidePanelContainer;\n if (viewContainerRef) {\n viewContainerRef().clear();\n this.contentComponentRef = viewContainerRef().createComponent(component);\n // Set the component instance on the SidePanelRef\n sidePanelRef.componentInstance = this.contentComponentRef.instance as R;\n }\n }\n\n private loadTemplate(template: TemplateRef<any>): void {\n const viewContainerRef = this.SidePanelComponentRef?.instance.sidePanelContainer;\n if (viewContainerRef) {\n viewContainerRef().clear();\n this.embeddedViewRef = viewContainerRef().createEmbeddedView(template);\n }\n }\n}\n","import { AsyncPipe, NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n signal,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { LanguageService } from '@testgorilla/tgo-ui/components/core';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { TooltipComponentModule } from '@testgorilla/tgo-ui/components/tooltip';\nimport { backdropAnimation, sidePanelAnimation, sidePanelAnimationDuration } from './side-panel.animations';\nimport { SidePanelAnimationState, SidePanelConfig, SidePanelPosition, SidePanelSize } from './side-panel.model';\nimport { SidePanelService } from './side-panel.service';\n\n@Component({\n selector: 'ui-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.scss'],\n animations: [sidePanelAnimation, backdropAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TooltipComponentModule, ButtonComponentModule, UiTranslatePipe, AsyncPipe, NgClass]\n})\nexport class SidePanelComponent {\n sidePanelPosition = signal<SidePanelPosition>('right');\n\n sidePanelContainer = viewChild.required('sidePanelContainer', { read: ViewContainerRef });\n sidePanel = viewChild.required<ElementRef<HTMLDivElement>>('sidePanel');\n backdrop = viewChild.required<ElementRef<HTMLDivElement>>('sidePanelBackdrop');\n language = LanguageService.defaultLanguage;\n isOpen = signal<boolean>(false);\n size = signal<SidePanelSize | undefined>(undefined);\n isSmall = computed(() => this.size() === 'small');\n isLarge = computed(() => this.size() === 'large');\n\n animation = computed(() => {\n if (this.isOpen()) {\n return SidePanelAnimationState.Open;\n }\n\n return this.sidePanelPosition() === 'left'\n ? SidePanelAnimationState.ClosedLeft\n : SidePanelAnimationState.ClosedRight;\n });\n\n private sidePanelService = inject(SidePanelService);\n public sidePanelConfig = inject(SidePanelConfig);\n\n constructor() {\n const { position, size } = this.sidePanelConfig;\n this.sidePanelPosition.set(position);\n this.size.set(size);\n }\n\n open(): void {\n setTimeout(() => {\n this.isOpen.set(true);\n });\n }\n\n close(result?: any): void {\n this.isOpen.set(false);\n setTimeout(() => {\n this.sidePanelService.destroyComponent(result);\n }, sidePanelAnimationDuration);\n }\n}\n","<div class=\"side-panel-backdrop\" #sidePanelBackdrop (click)=\"close()\" [@fadeInOut]=\"isOpen() ? 'open' : 'closed'\"></div>\n<div\n class=\"side-panel\"\n [class]=\"sidePanelConfig.panelClass\"\n [class.side-panel-small]=\"isSmall()\"\n [class.side-panel-large]=\"isLarge()\"\n #sidePanel\n [@slideInOut]=\"animation()\"\n>\n @if (sidePanelConfig.showHeader) {\n <div class=\"side-panel-header\">\n <div class=\"side-panel-title-container\">\n @if (sidePanelConfig.showBackButton) {\n <ui-button\n class=\"side-panel-action\"\n [variant]=\"'icon-button'\"\n [iconName]=\"'Arrow-chevron-left-filled'\"\n (click)=\"close()\"\n [tooltip]=\"('COMMON.BACK' | uiTranslate | async)!\"\n size=\"medium\"\n ></ui-button>\n }\n <span class=\"side-panel-title h3 bold\">{{ sidePanelConfig.title }}</span>\n </div>\n @if (sidePanelConfig.showCloseButton) {\n <ui-button\n class=\"side-panel-action side-panel-action-close\"\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [tooltip]=\"('COMMON.CLOSE' | uiTranslate | async)!\"\n (click)=\"close()\"\n size=\"medium\"\n ></ui-button>\n }\n </div>\n }\n\n <div class=\"side-panel-content\">\n <ng-container #sidePanelContainer></ng-container>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ViewContainerRef, Injectable, EventEmitter, HostListener, ViewChild, Output, Input, Optional, Inject, Component, NgModule } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { Subject } from 'rxjs';
5
+ import * as i2 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import * as i3 from '@testgorilla/tgo-ui/components/button';
8
+ import { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';
9
+ import * as i4 from '@angular/material/tooltip';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
11
+ import * as i5 from '@angular/material/sidenav';
12
+ import { MatSidenavModule } from '@angular/material/sidenav';
13
+ import * as i6 from '@testgorilla/tgo-ui/components/logo';
14
+ import { LogoComponentModule } from '@testgorilla/tgo-ui/components/logo';
15
+ import * as i7 from '@testgorilla/tgo-ui/components/core';
16
+ import { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
17
+ import { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';
18
+
19
+ class SideSheetService {
20
+ constructor(applicationRef) {
21
+ this.applicationRef = applicationRef;
22
+ this.componentRef$ = new Subject();
23
+ }
24
+ open(config) {
25
+ const { componentRef, ...configFields } = config;
26
+ const rootViewContainerRef = this.applicationRef.components[0].injector.get(ViewContainerRef);
27
+ const componentReference = rootViewContainerRef.createComponent(config.componentRef);
28
+ this.componentRef$.next({ ...configFields, componentRef: componentReference });
29
+ return componentReference.instance;
30
+ }
31
+ close() {
32
+ this.componentRef$.next(null);
33
+ }
34
+ getComponentRef() {
35
+ return this.componentRef$.asObservable();
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetService, providedIn: 'root' }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetService, decorators: [{
41
+ type: Injectable,
42
+ args: [{
43
+ providedIn: 'root',
44
+ }]
45
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }] });
46
+
47
+ class SideSheetComponent {
48
+ onEscPress(_) {
49
+ void this.drawer.close();
50
+ }
51
+ constructor(defaultAppTheme, sideSheetService, destroyRef) {
52
+ this.defaultAppTheme = defaultAppTheme;
53
+ this.sideSheetService = sideSheetService;
54
+ this.destroyRef = destroyRef;
55
+ /**
56
+ * Set position. Defaults "end"
57
+ *
58
+ * @type {SideSheetPosition}
59
+ * @memberof SideSheetComponent
60
+ */
61
+ this.position = 'end';
62
+ /**
63
+ *
64
+ * Defines the application theme
65
+ *
66
+ * @type {ApplicationTheme}
67
+ * @memberof SideSheetComponent
68
+ */
69
+ this.applicationTheme = 'light';
70
+ this.openChange = new EventEmitter();
71
+ this.title = '';
72
+ this.showBackButton = false;
73
+ this.showTitleTooltip = false;
74
+ this.showLogo = false;
75
+ this.componentRef$ = this.sideSheetService.getComponentRef();
76
+ if (defaultAppTheme) {
77
+ this.applicationTheme = defaultAppTheme;
78
+ }
79
+ }
80
+ ngOnInit() {
81
+ this.setComponentRef();
82
+ }
83
+ setComponentRef() {
84
+ this.componentRef$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(config => {
85
+ if (config && config.componentRef && this.container && this.drawer) {
86
+ this.setConfig(config);
87
+ this.drawer.toggle();
88
+ this.container.clear();
89
+ this.container.insert(config.componentRef.hostView);
90
+ }
91
+ else if (!config) {
92
+ this.drawer.toggle();
93
+ this.container.clear();
94
+ }
95
+ });
96
+ }
97
+ setConfig(config) {
98
+ this.title = config.title ?? '';
99
+ this.showLogo = config.showLogo ?? false;
100
+ this.showBackButton = config.showBackButton ?? false;
101
+ this.showTitleTooltip = config.showTitleTooltip ?? false;
102
+ if (config.closed) {
103
+ config.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
104
+ void this.drawer.close();
105
+ });
106
+ }
107
+ }
108
+ onClose() {
109
+ this.drawer.toggle();
110
+ }
111
+ onOpenChange(isOpened) {
112
+ this.openChange.emit(isOpened);
113
+ }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: SideSheetService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: SideSheetComponent, isStandalone: false, selector: "ui-side-sheet", inputs: { position: "position", applicationTheme: "applicationTheme" }, outputs: { openChange: "openChange" }, host: { listeners: { "keydown.esc": "onEscPress($event)" } }, viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<ng-container>\n <mat-drawer-container class=\"side-sheet-container\" [attr.theme]=\"applicationTheme\" [hasBackdrop]=\"true\">\n <mat-drawer (closedStart)=\"onOpenChange(false)\" (openedStart)=\"onOpenChange(true)\" #drawer [mode]=\"'over'\" [autoFocus]=\"false\" class=\"side-sheet-content\" [position]=\"position\">\n <div class=\"header\">\n <div class=\"title\">\n <ui-button\n *ngIf=\"showBackButton\"\n [variant]=\"'icon-button'\"\n [iconName]=\"applicationTheme === 'classic' ? 'Arrow_left' : 'Arrow-chevron-left-filled'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"(('COMMON.BACK') | uiTranslate | async)!\"\n (click)=\"onClose()\"\n ></ui-button>\n <span\n *ngIf=\"title\"\n [matTooltip]=\"showTitleTooltip ? title : ''\"\n [matTooltipClass]=\"applicationTheme\"\n >{{ title }}</span>\n <ui-logo *ngIf=\"showLogo\"></ui-logo>\n </div>\n <ui-button\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"(('COMMON.CLOSE') | uiTranslate | async)!\"\n (click)=\"onClose()\"\n ></ui-button>\n </div>\n <ng-container #container></ng-container>\n </mat-drawer>\n <mat-drawer-content>\n <ng-content></ng-content>\n </mat-drawer-content>\n </mat-drawer-container>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.side-sheet-container{position:absolute;inset:0;background:transparent}.side-sheet-container ::ng-deep .mat-drawer-backdrop{background-color:#000;opacity:25%}.side-sheet-container .side-sheet-content.mat-drawer-opened{width:600px;box-shadow:2px 24px 48px 8px #00000014;padding:0 32px 32px;align-items:flex-start;flex-direction:column;z-index:3;background:#f6f6f6}.side-sheet-container .side-sheet-content.mat-drawer-opened .header{background:#f6f6f6;padding:32px 5px;width:100%;display:flex;top:0;position:sticky;justify-content:center}.side-sheet-container .side-sheet-content.mat-drawer-opened .header ui-button{margin-top:-5px}.side-sheet-container .side-sheet-content.mat-drawer-opened .header .title{display:flex;justify-content:left;margin-right:8px;width:100%;gap:8px}.side-sheet-container .side-sheet-content.mat-drawer-opened .header .title span{line-height:28px;font-size:20px;font-weight:700;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 600px){.side-sheet-container .side-sheet-content.mat-drawer-opened{padding:0 16px 16px;width:100%}.side-sheet-container .side-sheet-content.mat-drawer-opened .header{padding:32px 16px}}.side-sheet-container[theme=dark] .side-sheet-content,.side-sheet-container[theme=light] .side-sheet-content{box-shadow:0 4px 100px #24242414}.side-sheet-container[theme=dark] .side-sheet-content .header .title span,.side-sheet-container[theme=light] .side-sheet-content .header .title span{color:#242424}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i5.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i5.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i6.LogoComponent, selector: "ui-logo", inputs: ["type", "applicationTheme", "label", "width", "allowResizing"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.UiTranslatePipe, name: "uiTranslate" }] }); }
116
+ }
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetComponent, decorators: [{
118
+ type: Component,
119
+ args: [{ selector: 'ui-side-sheet', standalone: false, template: "<ng-container>\n <mat-drawer-container class=\"side-sheet-container\" [attr.theme]=\"applicationTheme\" [hasBackdrop]=\"true\">\n <mat-drawer (closedStart)=\"onOpenChange(false)\" (openedStart)=\"onOpenChange(true)\" #drawer [mode]=\"'over'\" [autoFocus]=\"false\" class=\"side-sheet-content\" [position]=\"position\">\n <div class=\"header\">\n <div class=\"title\">\n <ui-button\n *ngIf=\"showBackButton\"\n [variant]=\"'icon-button'\"\n [iconName]=\"applicationTheme === 'classic' ? 'Arrow_left' : 'Arrow-chevron-left-filled'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"(('COMMON.BACK') | uiTranslate | async)!\"\n (click)=\"onClose()\"\n ></ui-button>\n <span\n *ngIf=\"title\"\n [matTooltip]=\"showTitleTooltip ? title : ''\"\n [matTooltipClass]=\"applicationTheme\"\n >{{ title }}</span>\n <ui-logo *ngIf=\"showLogo\"></ui-logo>\n </div>\n <ui-button\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"(('COMMON.CLOSE') | uiTranslate | async)!\"\n (click)=\"onClose()\"\n ></ui-button>\n </div>\n <ng-container #container></ng-container>\n </mat-drawer>\n <mat-drawer-content>\n <ng-content></ng-content>\n </mat-drawer-content>\n </mat-drawer-container>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.side-sheet-container{position:absolute;inset:0;background:transparent}.side-sheet-container ::ng-deep .mat-drawer-backdrop{background-color:#000;opacity:25%}.side-sheet-container .side-sheet-content.mat-drawer-opened{width:600px;box-shadow:2px 24px 48px 8px #00000014;padding:0 32px 32px;align-items:flex-start;flex-direction:column;z-index:3;background:#f6f6f6}.side-sheet-container .side-sheet-content.mat-drawer-opened .header{background:#f6f6f6;padding:32px 5px;width:100%;display:flex;top:0;position:sticky;justify-content:center}.side-sheet-container .side-sheet-content.mat-drawer-opened .header ui-button{margin-top:-5px}.side-sheet-container .side-sheet-content.mat-drawer-opened .header .title{display:flex;justify-content:left;margin-right:8px;width:100%;gap:8px}.side-sheet-container .side-sheet-content.mat-drawer-opened .header .title span{line-height:28px;font-size:20px;font-weight:700;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 600px){.side-sheet-container .side-sheet-content.mat-drawer-opened{padding:0 16px 16px;width:100%}.side-sheet-container .side-sheet-content.mat-drawer-opened .header{padding:32px 16px}}.side-sheet-container[theme=dark] .side-sheet-content,.side-sheet-container[theme=light] .side-sheet-content{box-shadow:0 4px 100px #24242414}.side-sheet-container[theme=dark] .side-sheet-content .header .title span,.side-sheet-container[theme=light] .side-sheet-content .header .title span{color:#242424}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"] }]
120
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
121
+ type: Optional
122
+ }, {
123
+ type: Inject,
124
+ args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
125
+ }] }, { type: SideSheetService }, { type: i0.DestroyRef }], propDecorators: { position: [{
126
+ type: Input
127
+ }], applicationTheme: [{
128
+ type: Input
129
+ }], openChange: [{
130
+ type: Output
131
+ }], drawer: [{
132
+ type: ViewChild,
133
+ args: ['drawer']
134
+ }], container: [{
135
+ type: ViewChild,
136
+ args: ['container', { read: ViewContainerRef, static: false }]
137
+ }], onEscPress: [{
138
+ type: HostListener,
139
+ args: ['keydown.esc', ['$event']]
140
+ }] } });
141
+
142
+ class SideSheetComponentModule {
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
144
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: SideSheetComponentModule, declarations: [SideSheetComponent], imports: [CommonModule,
145
+ IconComponentModule,
146
+ ButtonComponentModule,
147
+ MatTooltipModule,
148
+ MatSidenavModule,
149
+ UiTranslatePipe,
150
+ LogoComponentModule], exports: [SideSheetComponent] }); }
151
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetComponentModule, imports: [CommonModule,
152
+ IconComponentModule,
153
+ ButtonComponentModule,
154
+ MatTooltipModule,
155
+ MatSidenavModule,
156
+ LogoComponentModule] }); }
157
+ }
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideSheetComponentModule, decorators: [{
159
+ type: NgModule,
160
+ args: [{
161
+ declarations: [SideSheetComponent],
162
+ exports: [SideSheetComponent],
163
+ imports: [
164
+ CommonModule,
165
+ IconComponentModule,
166
+ ButtonComponentModule,
167
+ MatTooltipModule,
168
+ MatSidenavModule,
169
+ UiTranslatePipe,
170
+ LogoComponentModule,
171
+ ],
172
+ }]
173
+ }] });
174
+
175
+ /**
176
+ * Generated bundle index. Do not edit.
177
+ */
178
+
179
+ export { SideSheetComponent, SideSheetComponentModule, SideSheetService };
180
+ //# sourceMappingURL=testgorilla-tgo-ui-components-side-sheet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testgorilla-tgo-ui-components-side-sheet.mjs","sources":["../../../components/side-sheet/side-sheet.service.ts","../../../components/side-sheet/side-sheet.component.ts","../../../components/side-sheet/side-sheet.component.html","../../../components/side-sheet/side-sheet.component.module.ts","../../../components/side-sheet/testgorilla-tgo-ui-components-side-sheet.ts"],"sourcesContent":["import { ApplicationRef, Injectable, ViewContainerRef } from '@angular/core';\nimport { SideSheetConfig } from './side-sheet.model';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SideSheetService {\n private componentRef$ = new Subject<SideSheetConfig | null>();\n\n constructor(private applicationRef: ApplicationRef) {}\n\n open<T>(config: SideSheetConfig): T {\n const { componentRef, ...configFields } = config;\n const rootViewContainerRef = this.applicationRef.components[0].injector.get(ViewContainerRef);\n const componentReference = rootViewContainerRef.createComponent(config.componentRef);\n this.componentRef$.next({ ...configFields, componentRef: componentReference });\n return componentReference.instance as T;\n }\n\n close(): void {\n this.componentRef$.next(null);\n }\n\n getComponentRef(): Observable<SideSheetConfig | null> {\n return this.componentRef$.asObservable();\n }\n}\n","import {\n Component,\n DestroyRef,\n EventEmitter, HostListener,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { SideSheetService } from './side-sheet.service';\nimport { SideSheetConfig, SideSheetPosition } from './side-sheet.model';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\n\n@Component({\n selector: 'ui-side-sheet',\n templateUrl: './side-sheet.component.html',\n styleUrls: ['./side-sheet.component.scss'],\n standalone: false\n})\nexport class SideSheetComponent implements OnInit {\n /**\n * Set position. Defaults \"end\"\n *\n * @type {SideSheetPosition}\n * @memberof SideSheetComponent\n */\n @Input() position: SideSheetPosition = 'end';\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof SideSheetComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n @Output() openChange = new EventEmitter<boolean>();\n\n @ViewChild('drawer') drawer: MatDrawer;\n @ViewChild('container', { read: ViewContainerRef, static: false }) container: ViewContainerRef;\n\n @HostListener('keydown.esc', ['$event'])\n onEscPress(_: KeyboardEvent): void {\n void this.drawer.close();\n }\n\n protected title = '';\n protected showBackButton = false;\n protected showTitleTooltip = false;\n protected showLogo = false;\n protected componentRef$ = this.sideSheetService.getComponentRef();\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n private sideSheetService: SideSheetService,\n private destroyRef: DestroyRef,\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit(): void {\n this.setComponentRef();\n }\n\n private setComponentRef(): void {\n this.componentRef$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(config => {\n if (config && config.componentRef && this.container && this.drawer) {\n this.setConfig(config);\n this.drawer.toggle();\n this.container.clear();\n this.container.insert(config.componentRef.hostView);\n } else if (!config) {\n this.drawer.toggle();\n this.container.clear();\n }\n });\n }\n\n private setConfig(config: SideSheetConfig): void {\n this.title = config.title ?? '';\n this.showLogo = config.showLogo ?? false;\n this.showBackButton = config.showBackButton ?? false;\n this.showTitleTooltip = config.showTitleTooltip ?? false;\n\n if (config.closed) {\n config.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n void this.drawer.close();\n });\n }\n }\n\n protected onClose(): void {\n this.drawer.toggle();\n }\n\n onOpenChange(isOpened: boolean): void {\n this.openChange.emit(isOpened);\n }\n}\n","<ng-container>\n <mat-drawer-container class=\"side-sheet-container\" [attr.theme]=\"applicationTheme\" [hasBackdrop]=\"true\">\n <mat-drawer (closedStart)=\"onOpenChange(false)\" (openedStart)=\"onOpenChange(true)\" #drawer [mode]=\"'over'\" [autoFocus]=\"false\" class=\"side-sheet-content\" [position]=\"position\">\n <div class=\"header\">\n <div class=\"title\">\n <ui-button\n *ngIf=\"showBackButton\"\n [variant]=\"'icon-button'\"\n [iconName]=\"applicationTheme === 'classic' ? 'Arrow_left' : 'Arrow-chevron-left-filled'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"(('COMMON.BACK') | uiTranslate | async)!\"\n (click)=\"onClose()\"\n ></ui-button>\n <span\n *ngIf=\"title\"\n [matTooltip]=\"showTitleTooltip ? title : ''\"\n [matTooltipClass]=\"applicationTheme\"\n >{{ title }}</span>\n <ui-logo *ngIf=\"showLogo\"></ui-logo>\n </div>\n <ui-button\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"(('COMMON.CLOSE') | uiTranslate | async)!\"\n (click)=\"onClose()\"\n ></ui-button>\n </div>\n <ng-container #container></ng-container>\n </mat-drawer>\n <mat-drawer-content>\n <ng-content></ng-content>\n </mat-drawer-content>\n </mat-drawer-container>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SideSheetComponent } from './side-sheet.component';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { LogoComponentModule } from '@testgorilla/tgo-ui/components/logo';\n\n@NgModule({\n declarations: [SideSheetComponent],\n exports: [SideSheetComponent],\n imports: [\n CommonModule,\n IconComponentModule,\n ButtonComponentModule,\n MatTooltipModule,\n MatSidenavModule,\n UiTranslatePipe,\n LogoComponentModule,\n ],\n})\nexport class SideSheetComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SideSheetService"],"mappings":"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"}