@sd-angular/core 1.3.16 → 1.3.18

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 (535) hide show
  1. package/assets/img/file-types/eps/001-file.eps +143 -143
  2. package/assets/img/file-types/eps/002-file-1.eps +136 -136
  3. package/assets/img/file-types/eps/003-file-2.eps +130 -130
  4. package/assets/img/file-types/eps/004-file-3.eps +127 -127
  5. package/assets/img/file-types/eps/005-file-4.eps +120 -120
  6. package/assets/img/file-types/eps/006-file-5.eps +133 -133
  7. package/assets/img/file-types/eps/007-file-6.eps +133 -133
  8. package/assets/img/file-types/eps/008-file-7.eps +144 -144
  9. package/assets/img/file-types/eps/009-file-8.eps +150 -150
  10. package/assets/img/file-types/eps/010-file-9.eps +155 -155
  11. package/assets/img/file-types/eps/011-file-10.eps +124 -124
  12. package/assets/img/file-types/eps/012-file-11.eps +147 -147
  13. package/assets/img/file-types/eps/013-file-12.eps +125 -125
  14. package/assets/img/file-types/eps/014-file-13.eps +129 -129
  15. package/assets/img/file-types/eps/015-file-14.eps +143 -143
  16. package/assets/img/file-types/eps/016-file-15.eps +130 -130
  17. package/assets/img/file-types/eps/017-file-16.eps +197 -197
  18. package/assets/img/file-types/eps/018-file-17.eps +146 -146
  19. package/assets/img/file-types/eps/019-file-18.eps +131 -131
  20. package/assets/img/file-types/eps/020-file-19.eps +137 -137
  21. package/assets/img/file-types/eps/021-file-20.eps +134 -134
  22. package/assets/img/file-types/eps/022-file-21.eps +130 -130
  23. package/assets/img/file-types/eps/023-file-22.eps +161 -161
  24. package/assets/img/file-types/eps/024-file-23.eps +144 -144
  25. package/assets/img/file-types/eps/025-file-24.eps +164 -164
  26. package/assets/img/file-types/eps/026-file-25.eps +135 -135
  27. package/assets/img/file-types/eps/027-file-26.eps +124 -124
  28. package/assets/img/file-types/eps/028-file-27.eps +120 -120
  29. package/assets/img/file-types/eps/029-file-28.eps +141 -141
  30. package/assets/img/file-types/eps/030-file-29.eps +130 -130
  31. package/assets/img/file-types/eps/031-file-30.eps +157 -157
  32. package/assets/img/file-types/eps/032-file-31.eps +139 -139
  33. package/assets/img/file-types/eps/033-file-32.eps +139 -139
  34. package/assets/img/file-types/eps/034-file-33.eps +189 -189
  35. package/assets/img/file-types/eps/035-file-34.eps +162 -162
  36. package/assets/img/file-types/eps/036-file-35.eps +142 -142
  37. package/assets/img/file-types/eps/037-file-36.eps +123 -123
  38. package/assets/img/file-types/eps/038-file-37.eps +127 -127
  39. package/assets/img/file-types/eps/039-file-38.eps +146 -146
  40. package/assets/img/file-types/eps/040-file-39.eps +126 -126
  41. package/assets/img/file-types/eps/041-file-40.eps +117 -117
  42. package/assets/img/file-types/eps/042-file-41.eps +156 -156
  43. package/assets/img/file-types/eps/043-file-42.eps +118 -118
  44. package/assets/img/file-types/eps/044-file-43.eps +172 -172
  45. package/assets/img/file-types/eps/045-file-44.eps +201 -201
  46. package/assets/img/file-types/eps/046-file-45.eps +94 -94
  47. package/assets/img/file-types/eps/047-file-46.eps +176 -176
  48. package/assets/img/file-types/eps/048-file-47.eps +238 -238
  49. package/assets/img/file-types/eps/049-file-48.eps +187 -187
  50. package/assets/img/file-types/eps/050-file-49.eps +137 -137
  51. package/bundles/sd-angular-core-grid-material.umd.js +7 -6
  52. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  53. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  54. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  55. package/bundles/sd-angular-core-popover.umd.js +24 -8
  56. package/bundles/sd-angular-core-popover.umd.js.map +1 -1
  57. package/bundles/sd-angular-core-popover.umd.min.js +1 -1
  58. package/bundles/sd-angular-core-popover.umd.min.js.map +1 -1
  59. package/esm2015/api/index.js +1 -1
  60. package/esm2015/api/sd-angular-core-api.js +1 -1
  61. package/esm2015/api/src/lib/api.model.js +1 -1
  62. package/esm2015/api/src/lib/api.module.js +1 -1
  63. package/esm2015/api/src/lib/api.service.js +1 -1
  64. package/esm2015/api/src/lib/http.interceptor.js +1 -1
  65. package/esm2015/api/src/lib/http.service.js +1 -1
  66. package/esm2015/api/src/lib/token.service.js +1 -1
  67. package/esm2015/api/src/public-api.js +1 -1
  68. package/esm2015/autocomplete/index.js +1 -1
  69. package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
  70. package/esm2015/autocomplete/src/lib/autocomplete-display-def.directive.js +1 -1
  71. package/esm2015/autocomplete/src/lib/autocomplete.component.js +1 -1
  72. package/esm2015/autocomplete/src/lib/autocomplete.module.js +1 -1
  73. package/esm2015/autocomplete/src/public-api.js +1 -1
  74. package/esm2015/badge/index.js +1 -1
  75. package/esm2015/badge/sd-angular-core-badge.js +1 -1
  76. package/esm2015/badge/src/lib/badge.component.js +1 -1
  77. package/esm2015/badge/src/lib/badge.module.js +1 -1
  78. package/esm2015/badge/src/public-api.js +1 -1
  79. package/esm2015/button/index.js +1 -1
  80. package/esm2015/button/sd-angular-core-button.js +1 -1
  81. package/esm2015/button/src/lib/button.component.js +1 -1
  82. package/esm2015/button/src/lib/button.module.js +1 -1
  83. package/esm2015/button/src/public-api.js +1 -1
  84. package/esm2015/cache/index.js +1 -1
  85. package/esm2015/cache/sd-angular-core-cache.js +1 -1
  86. package/esm2015/cache/src/lib/cache.model.js +1 -1
  87. package/esm2015/cache/src/lib/cache.service.js +1 -1
  88. package/esm2015/cache/src/public-api.js +1 -1
  89. package/esm2015/chart/index.js +1 -1
  90. package/esm2015/chart/sd-angular-core-chart.js +1 -1
  91. package/esm2015/chart/src/lib/chart.component.js +1 -1
  92. package/esm2015/chart/src/lib/chart.model.js +1 -1
  93. package/esm2015/chart/src/lib/chart.module.js +1 -1
  94. package/esm2015/chart/src/public-api.js +1 -1
  95. package/esm2015/checkbox/index.js +1 -1
  96. package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
  97. package/esm2015/checkbox/src/lib/checkbox.component.js +1 -1
  98. package/esm2015/checkbox/src/lib/checkbox.module.js +1 -1
  99. package/esm2015/checkbox/src/public-api.js +1 -1
  100. package/esm2015/chip/index.js +1 -1
  101. package/esm2015/chip/sd-angular-core-chip.js +1 -1
  102. package/esm2015/chip/src/lib/chip.component.js +1 -1
  103. package/esm2015/chip/src/lib/chip.model.js +1 -1
  104. package/esm2015/chip/src/lib/chip.module.js +1 -1
  105. package/esm2015/chip/src/lib/directives/sd-chip-display-def.directive.js +1 -1
  106. package/esm2015/chip/src/lib/pipes/removable-chip.pipe.js +1 -1
  107. package/esm2015/chip/src/public-api.js +1 -1
  108. package/esm2015/comment/index.js +1 -1
  109. package/esm2015/comment/sd-angular-core-comment.js +1 -1
  110. package/esm2015/comment/src/lib/comment.component.js +1 -1
  111. package/esm2015/comment/src/lib/comment.model.js +1 -1
  112. package/esm2015/comment/src/lib/comment.module.js +1 -1
  113. package/esm2015/comment/src/public-api.js +1 -1
  114. package/esm2015/common/index.js +1 -1
  115. package/esm2015/common/sd-angular-core-common.js +1 -1
  116. package/esm2015/common/src/lib/common.module.js +1 -1
  117. package/esm2015/common/src/lib/configurations/firebase.configuration.js +1 -1
  118. package/esm2015/common/src/lib/configurations/form.configuration.js +1 -1
  119. package/esm2015/common/src/lib/directives/sd-lable.directive.js +1 -1
  120. package/esm2015/common/src/lib/directives/sd-let.directive.js +1 -1
  121. package/esm2015/common/src/lib/directives/sd-scroll.directive.js +1 -1
  122. package/esm2015/common/src/lib/directives/sd-suffix.directive.js +1 -1
  123. package/esm2015/common/src/lib/directives/view-def.directive.js +1 -1
  124. package/esm2015/common/src/lib/models/sd-form-control.js +1 -1
  125. package/esm2015/common/src/lib/services/browser.service.js +1 -1
  126. package/esm2015/common/src/lib/typings/array.extension.js +1 -1
  127. package/esm2015/common/src/lib/typings/date.extension.js +1 -1
  128. package/esm2015/common/src/lib/typings/number.extension.js +1 -1
  129. package/esm2015/common/src/lib/typings/string.extension.js +1 -1
  130. package/esm2015/common/src/public-api.js +1 -1
  131. package/esm2015/confirm/index.js +1 -1
  132. package/esm2015/confirm/sd-angular-core-confirm.js +1 -1
  133. package/esm2015/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.js +1 -1
  134. package/esm2015/confirm/src/lib/confirm.module.js +1 -1
  135. package/esm2015/confirm/src/lib/confirm.service.js +1 -1
  136. package/esm2015/confirm/src/public-api.js +1 -1
  137. package/esm2015/date-month/index.js +1 -1
  138. package/esm2015/date-month/sd-angular-core-date-month.js +1 -1
  139. package/esm2015/date-month/src/lib/date-month.component.js +1 -1
  140. package/esm2015/date-month/src/lib/date-month.module.js +1 -1
  141. package/esm2015/date-month/src/public-api.js +1 -1
  142. package/esm2015/date-range/index.js +1 -1
  143. package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
  144. package/esm2015/date-range/src/lib/date-range.component.js +1 -1
  145. package/esm2015/date-range/src/lib/date-range.module.js +1 -1
  146. package/esm2015/date-range/src/public-api.js +1 -1
  147. package/esm2015/date-time/index.js +1 -1
  148. package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
  149. package/esm2015/date-time/src/lib/date-time.component.js +1 -1
  150. package/esm2015/date-time/src/lib/date-time.module.js +1 -1
  151. package/esm2015/date-time/src/public-api.js +1 -1
  152. package/esm2015/db/index.js +1 -1
  153. package/esm2015/db/sd-angular-core-db.js +1 -1
  154. package/esm2015/db/src/lib/db.model.js +1 -1
  155. package/esm2015/db/src/lib/db.service.js +1 -1
  156. package/esm2015/db/src/public-api.js +1 -1
  157. package/esm2015/dynamic-report/index.js +1 -1
  158. package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
  159. package/esm2015/dynamic-report/src/lib/dynamic-report.component.js +1 -1
  160. package/esm2015/dynamic-report/src/lib/dynamic-report.module.js +1 -1
  161. package/esm2015/dynamic-report/src/public-api.js +1 -1
  162. package/esm2015/editor/index.js +1 -1
  163. package/esm2015/editor/sd-angular-core-editor.js +1 -1
  164. package/esm2015/editor/src/lib/constant.js +1 -1
  165. package/esm2015/editor/src/lib/editor.component.js +1 -1
  166. package/esm2015/editor/src/lib/editor.model.js +1 -1
  167. package/esm2015/editor/src/lib/editor.module.js +1 -1
  168. package/esm2015/editor/src/public-api.js +1 -1
  169. package/esm2015/excel/index.js +1 -1
  170. package/esm2015/excel/sd-angular-core-excel.js +1 -1
  171. package/esm2015/excel/src/lib/excel.model.js +1 -1
  172. package/esm2015/excel/src/lib/excel.service.js +1 -1
  173. package/esm2015/excel/src/public-api.js +1 -1
  174. package/esm2015/export/index.js +1 -1
  175. package/esm2015/export/sd-angular-core-export.js +1 -1
  176. package/esm2015/export/src/lib/export.model.js +1 -1
  177. package/esm2015/export/src/lib/export.service.js +1 -1
  178. package/esm2015/export/src/public-api.js +1 -1
  179. package/esm2015/filter/index.js +1 -1
  180. package/esm2015/filter/sd-angular-core-filter.js +1 -1
  181. package/esm2015/filter/src/lib/directives/sd-filter-def.directive.js +1 -1
  182. package/esm2015/filter/src/lib/filter.component.js +1 -1
  183. package/esm2015/filter/src/lib/filter.model.js +1 -1
  184. package/esm2015/filter/src/lib/filter.module.js +1 -1
  185. package/esm2015/filter/src/lib/filter.service.js +1 -1
  186. package/esm2015/filter/src/lib/pipes/values-local.pipe.js +1 -1
  187. package/esm2015/filter/src/lib/pipes/values-server.pipe.js +1 -1
  188. package/esm2015/filter/src/public-api.js +1 -1
  189. package/esm2015/form/index.js +1 -1
  190. package/esm2015/form/sd-angular-core-form.js +1 -1
  191. package/esm2015/form/src/lib/form.module.js +1 -1
  192. package/esm2015/form/src/public-api.js +1 -1
  193. package/esm2015/grid/index.js +1 -1
  194. package/esm2015/grid/sd-angular-core-grid.js +1 -1
  195. package/esm2015/grid/src/lib/components/grid-config/grid-config.component.js +1 -1
  196. package/esm2015/grid/src/lib/components/grid-config/grid-config.model.js +1 -1
  197. package/esm2015/grid/src/lib/components/grid-desktop-column-children-view/grid-desktop-column-children-view.component.js +1 -1
  198. package/esm2015/grid/src/lib/components/grid-desktop-column-edit/grid-desktop-column-edit.component.js +1 -1
  199. package/esm2015/grid/src/lib/components/grid-desktop-column-view/grid-desktop-column-view.component.js +1 -1
  200. package/esm2015/grid/src/lib/components/grid-desktop-inline-filter/grid-desktop-inline-filter.component.js +1 -1
  201. package/esm2015/grid/src/lib/components/grid-import-excel/grid-import-excel.component.js +1 -1
  202. package/esm2015/grid/src/lib/components/grid-mobile-item-view/grid-mobile-item-view.component.js +1 -1
  203. package/esm2015/grid/src/lib/components/grid-popup-editor/grid-popup-editor.component.js +1 -1
  204. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.component.js +1 -1
  205. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.model.js +1 -1
  206. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.component.js +1 -1
  207. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.model.js +1 -1
  208. package/esm2015/grid/src/lib/components/grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component.js +1 -1
  209. package/esm2015/grid/src/lib/components/grid-sub-information/grid-sub-information.component.js +1 -1
  210. package/esm2015/grid/src/lib/directives/cell-def.directive.js +1 -1
  211. package/esm2015/grid/src/lib/directives/cell-editor-def.directive.js +1 -1
  212. package/esm2015/grid/src/lib/directives/cell-footer-def.directive.js +1 -1
  213. package/esm2015/grid/src/lib/directives/sub-information-header-def.directive.js +1 -1
  214. package/esm2015/grid/src/lib/grid.component.js +1 -1
  215. package/esm2015/grid/src/lib/grid.model.js +1 -1
  216. package/esm2015/grid/src/lib/grid.module.js +1 -1
  217. package/esm2015/grid/src/lib/models/filter-info.model.js +1 -1
  218. package/esm2015/grid/src/lib/models/grid-configuration.model.js +1 -1
  219. package/esm2015/grid/src/lib/models/handler-dotnet.js +1 -1
  220. package/esm2015/grid/src/lib/models/handler-local.js +1 -1
  221. package/esm2015/grid/src/lib/models/handler.js +1 -1
  222. package/esm2015/grid/src/lib/pipes/cell-desktop-class-name.pipe.js +1 -1
  223. package/esm2015/grid/src/lib/pipes/cell-mobile-class-name.pipe.js +1 -1
  224. package/esm2015/grid/src/lib/pipes/column-command-filter.pipe.js +1 -1
  225. package/esm2015/grid/src/lib/pipes/column-html-template.pipe.js +1 -1
  226. package/esm2015/grid/src/lib/pipes/column-title.pipe.js +1 -1
  227. package/esm2015/grid/src/lib/pipes/column-values.pipe.js +1 -1
  228. package/esm2015/grid/src/lib/pipes/command-disabled.pipe.js +1 -1
  229. package/esm2015/grid/src/lib/pipes/command-filter.pipe.js +1 -1
  230. package/esm2015/grid/src/lib/pipes/command-hidden.pipe.js +1 -1
  231. package/esm2015/grid/src/lib/pipes/command-icon.pipe.js +1 -1
  232. package/esm2015/grid/src/lib/pipes/command-title.pipe.js +1 -1
  233. package/esm2015/grid/src/lib/pipes/dynamic-items.pipe.js +1 -1
  234. package/esm2015/grid/src/lib/pipes/editor-dynamic-item.pipe.js +1 -1
  235. package/esm2015/grid/src/lib/pipes/editor-handler.pipe.js +1 -1
  236. package/esm2015/grid/src/lib/pipes/editor-popup-visible.pipe.js +1 -1
  237. package/esm2015/grid/src/lib/pipes/editor-sub-information-handler.pipe.js +1 -1
  238. package/esm2015/grid/src/lib/pipes/editor-validate.pipe.js +1 -1
  239. package/esm2015/grid/src/lib/pipes/filter-mobile.pipe.js +1 -1
  240. package/esm2015/grid/src/lib/pipes/mobile-command-filter.js +1 -1
  241. package/esm2015/grid/src/lib/pipes/mobile-view-html-template.pipe.js +1 -1
  242. package/esm2015/grid/src/lib/pipes/value-transform.pipe.js +1 -1
  243. package/esm2015/grid/src/public-api.js +1 -1
  244. package/esm2015/grid-material/index.js +1 -1
  245. package/esm2015/grid-material/sd-angular-core-grid-material.js +1 -1
  246. package/esm2015/grid-material/src/lib/components/column-inline-filter/column-inline-filter.component.js +1 -1
  247. package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +1 -1
  248. package/esm2015/grid-material/src/lib/components/desktop-cell-children-view/desktop-cell-children-view.component.js +1 -1
  249. package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +1 -1
  250. package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +1 -1
  251. package/esm2015/grid-material/src/lib/components/desktop-command/desktop-command.component.js +1 -1
  252. package/esm2015/grid-material/src/lib/components/desktop-editor-validation/desktop-editor-validation.component.js +1 -1
  253. package/esm2015/grid-material/src/lib/components/dynamic-column/dynamic-column.component.js +1 -1
  254. package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +2 -2
  255. package/esm2015/grid-material/src/lib/components/popup-export/popup-export.component.js +1 -1
  256. package/esm2015/grid-material/src/lib/components/popup-filter/popup-filter.component.js +1 -1
  257. package/esm2015/grid-material/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +1 -1
  258. package/esm2015/grid-material/src/lib/components/quick-action/quick-action.component.js +1 -1
  259. package/esm2015/grid-material/src/lib/directives/sd-material-cell-def.directive.js +1 -1
  260. package/esm2015/grid-material/src/lib/directives/sd-material-empty-data-def.directive.js +1 -1
  261. package/esm2015/grid-material/src/lib/directives/sd-material-filter-def.directive.js +1 -1
  262. package/esm2015/grid-material/src/lib/directives/sd-material-footer-def.directive.js +1 -1
  263. package/esm2015/grid-material/src/lib/directives/sd-material-sub-information-def.directive.js +1 -1
  264. package/esm2015/grid-material/src/lib/functions/calculate-sd-id.js +1 -1
  265. package/esm2015/grid-material/src/lib/grid-material.component.js +1 -1
  266. package/esm2015/grid-material/src/lib/grid-material.module.js +4 -2
  267. package/esm2015/grid-material/src/lib/models/grid-action.model.js +1 -1
  268. package/esm2015/grid-material/src/lib/models/grid-cell.model.js +1 -1
  269. package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
  270. package/esm2015/grid-material/src/lib/models/grid-command.model.js +1 -1
  271. package/esm2015/grid-material/src/lib/models/grid-config.model.js +1 -1
  272. package/esm2015/grid-material/src/lib/models/grid-configuration.model.js +1 -1
  273. package/esm2015/grid-material/src/lib/models/grid-editor.model.js +1 -1
  274. package/esm2015/grid-material/src/lib/models/grid-export.model.js +1 -1
  275. package/esm2015/grid-material/src/lib/models/grid-filter.model.js +1 -1
  276. package/esm2015/grid-material/src/lib/models/grid-group.model.js +1 -1
  277. package/esm2015/grid-material/src/lib/models/grid-option.model.js +1 -1
  278. package/esm2015/grid-material/src/lib/models/grid-reload.model.js +1 -1
  279. package/esm2015/grid-material/src/lib/models/grid-selection.model.js +1 -1
  280. package/esm2015/grid-material/src/lib/models/grid-style.model.js +1 -1
  281. package/esm2015/grid-material/src/lib/models/grid-sub-information.model.js +1 -1
  282. package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
  283. package/esm2015/grid-material/src/lib/pipes/cell-view.pipe.js +1 -1
  284. package/esm2015/grid-material/src/lib/pipes/column-badge.pipe.js +1 -1
  285. package/esm2015/grid-material/src/lib/pipes/column-children-filter.pipe.js +1 -1
  286. package/esm2015/grid-material/src/lib/pipes/column-html-template.pipe.js +1 -1
  287. package/esm2015/grid-material/src/lib/pipes/column-title.pipe.js +1 -1
  288. package/esm2015/grid-material/src/lib/pipes/column-tooltip.pipe.js +1 -1
  289. package/esm2015/grid-material/src/lib/pipes/column-transform.pipe.js +1 -1
  290. package/esm2015/grid-material/src/lib/pipes/column-values.pipe.js +1 -1
  291. package/esm2015/grid-material/src/lib/pipes/command-disable.pipe.js +1 -1
  292. package/esm2015/grid-material/src/lib/pipes/command-filter.pipe.js +1 -1
  293. package/esm2015/grid-material/src/lib/pipes/command-icon.pipe.js +1 -1
  294. package/esm2015/grid-material/src/lib/pipes/command-title.pipe.js +1 -1
  295. package/esm2015/grid-material/src/lib/pipes/editor-handler-column.pipe.js +1 -1
  296. package/esm2015/grid-material/src/lib/pipes/editor-handler-row.pipe.js +1 -1
  297. package/esm2015/grid-material/src/lib/pipes/editor-validate.pipe.js +1 -1
  298. package/esm2015/grid-material/src/lib/pipes/filter-column.pipe.js +1 -1
  299. package/esm2015/grid-material/src/lib/pipes/filter-external.pipe.js +1 -1
  300. package/esm2015/grid-material/src/lib/pipes/grid-configuration-result.pipe.js +1 -1
  301. package/esm2015/grid-material/src/lib/pipes/sd-group.pipe.js +1 -1
  302. package/esm2015/grid-material/src/lib/pipes/selection-action-filter.pipe.js +1 -1
  303. package/esm2015/grid-material/src/lib/pipes/selection-disable.pipe.js +1 -1
  304. package/esm2015/grid-material/src/lib/pipes/selection-visible-select-all.pipe.js +1 -1
  305. package/esm2015/grid-material/src/lib/pipes/selection-visible.pipe.js +1 -1
  306. package/esm2015/grid-material/src/lib/pipes/style-row-css.pipe.js +1 -1
  307. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.model.js +1 -1
  308. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.service.js +1 -1
  309. package/esm2015/grid-material/src/lib/services/grid-configuration.service.js +1 -1
  310. package/esm2015/grid-material/src/lib/services/grid-filter.service.js +1 -1
  311. package/esm2015/grid-material/src/public-api.js +1 -1
  312. package/esm2015/group/index.js +1 -1
  313. package/esm2015/group/sd-angular-core-group.js +1 -1
  314. package/esm2015/group/src/lib/group.component.js +1 -1
  315. package/esm2015/group/src/lib/group.module.js +1 -1
  316. package/esm2015/group/src/public-api.js +1 -1
  317. package/esm2015/header-title/index.js +1 -1
  318. package/esm2015/header-title/sd-angular-core-header-title.js +1 -1
  319. package/esm2015/header-title/src/lib/header-title.component.js +1 -1
  320. package/esm2015/header-title/src/lib/header-title.module.js +1 -1
  321. package/esm2015/header-title/src/public-api.js +1 -1
  322. package/esm2015/image-preview/index.js +1 -1
  323. package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
  324. package/esm2015/image-preview/src/lib/directives/image-preview.directive.js +1 -1
  325. package/esm2015/image-preview/src/lib/image-preview/image-preview.component.js +1 -1
  326. package/esm2015/image-preview/src/lib/image-preview/image-preview.module.js +1 -1
  327. package/esm2015/image-preview/src/lib/models/image-preview.model.js +1 -1
  328. package/esm2015/image-preview/src/public-api.js +1 -1
  329. package/esm2015/input/index.js +1 -1
  330. package/esm2015/input/sd-angular-core-input.js +1 -1
  331. package/esm2015/input/src/lib/directives/input-suffix.directive.js +1 -1
  332. package/esm2015/input/src/lib/directives/touch.directive.js +1 -1
  333. package/esm2015/input/src/lib/input-tooltip.pipe.js +1 -1
  334. package/esm2015/input/src/lib/input.component.js +1 -1
  335. package/esm2015/input/src/lib/input.module.js +1 -1
  336. package/esm2015/input/src/public-api.js +1 -1
  337. package/esm2015/input-currency/index.js +1 -1
  338. package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
  339. package/esm2015/input-currency/src/lib/input-currency-tooltip.pipe.js +1 -1
  340. package/esm2015/input-currency/src/lib/input-currency.component.js +1 -1
  341. package/esm2015/input-currency/src/lib/input-currency.module.js +1 -1
  342. package/esm2015/input-currency/src/public-api.js +1 -1
  343. package/esm2015/input-dropdown/index.js +1 -1
  344. package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
  345. package/esm2015/input-dropdown/src/lib/input-tooltip.pipe.js +1 -1
  346. package/esm2015/input-dropdown/src/lib/input.component.js +1 -1
  347. package/esm2015/input-dropdown/src/lib/input.module.js +1 -1
  348. package/esm2015/input-dropdown/src/public-api.js +1 -1
  349. package/esm2015/input-number/index.js +1 -1
  350. package/esm2015/input-number/sd-angular-core-input-number.js +1 -1
  351. package/esm2015/input-number/src/lib/input-number.component.js +1 -1
  352. package/esm2015/input-number/src/lib/input-number.module.js +1 -1
  353. package/esm2015/input-number/src/public-api.js +1 -1
  354. package/esm2015/input-upload-file/index.js +1 -1
  355. package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
  356. package/esm2015/input-upload-file/src/lib/input-upload-file.component.js +1 -1
  357. package/esm2015/input-upload-file/src/lib/input-upload-file.module.js +1 -1
  358. package/esm2015/input-upload-file/src/public-api.js +1 -1
  359. package/esm2015/json-editor/index.js +1 -1
  360. package/esm2015/json-editor/sd-angular-core-json-editor.js +1 -1
  361. package/esm2015/json-editor/src/lib/json-editor.component.js +1 -1
  362. package/esm2015/json-editor/src/lib/json-editor.module.js +1 -1
  363. package/esm2015/json-editor/src/public-api.js +1 -1
  364. package/esm2015/konva/index.js +1 -1
  365. package/esm2015/konva/sd-angular-core-konva.js +1 -1
  366. package/esm2015/konva/src/lib/konva.module.js +1 -1
  367. package/esm2015/konva/src/lib/merge-images/merge-images.component.js +1 -1
  368. package/esm2015/konva/src/public-api.js +1 -1
  369. package/esm2015/label/index.js +1 -1
  370. package/esm2015/label/sd-angular-core-label.js +1 -1
  371. package/esm2015/label/src/lib/label.component.js +1 -1
  372. package/esm2015/label/src/lib/label.module.js +1 -1
  373. package/esm2015/label/src/public-api.js +1 -1
  374. package/esm2015/lib/core.module.js +1 -1
  375. package/esm2015/lib/material.module.js +1 -1
  376. package/esm2015/loading/index.js +1 -1
  377. package/esm2015/loading/sd-angular-core-loading.js +1 -1
  378. package/esm2015/loading/src/lib/loading.service.js +1 -1
  379. package/esm2015/loading/src/public-api.js +1 -1
  380. package/esm2015/modal/index.js +1 -1
  381. package/esm2015/modal/sd-angular-core-modal.js +1 -1
  382. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component.js +1 -1
  383. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component.js +1 -1
  384. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component.js +1 -1
  385. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet.component.js +1 -1
  386. package/esm2015/modal/src/lib/modal/modal-body/modal-body.component.js +1 -1
  387. package/esm2015/modal/src/lib/modal/modal-footer/modal-footer.component.js +1 -1
  388. package/esm2015/modal/src/lib/modal/modal-header/modal-header.component.js +1 -1
  389. package/esm2015/modal/src/lib/modal/modal.component.js +1 -1
  390. package/esm2015/modal/src/lib/modal.module.js +1 -1
  391. package/esm2015/modal/src/public-api.js +1 -1
  392. package/esm2015/modal-resizable/index.js +1 -1
  393. package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
  394. package/esm2015/modal-resizable/src/lib/modal-resizable/modal-resizable.component.js +1 -1
  395. package/esm2015/modal-resizable/src/lib/modal-resizable.module.js +1 -1
  396. package/esm2015/modal-resizable/src/public-api.js +1 -1
  397. package/esm2015/notify/index.js +1 -1
  398. package/esm2015/notify/sd-angular-core-notify.js +1 -1
  399. package/esm2015/notify/src/lib/components/dialog-confirm/dialog-confirm.component.js +1 -1
  400. package/esm2015/notify/src/lib/configurations/notify.configuration.js +1 -1
  401. package/esm2015/notify/src/lib/notify.module.js +1 -1
  402. package/esm2015/notify/src/lib/notify.service.js +1 -1
  403. package/esm2015/notify/src/public-api.js +1 -1
  404. package/esm2015/popover/index.js +1 -1
  405. package/esm2015/popover/sd-angular-core-popover.js +1 -1
  406. package/esm2015/popover/src/lib/directives/popover-content.directive.js +1 -1
  407. package/esm2015/popover/src/lib/directives/popover-trigger.directive.js +1 -1
  408. package/esm2015/popover/src/lib/popover/popover.component.js +20 -9
  409. package/esm2015/popover/src/lib/popover.model.js +1 -1
  410. package/esm2015/popover/src/lib/popover.module.js +1 -1
  411. package/esm2015/popover/src/public-api.js +1 -1
  412. package/esm2015/public-api.js +1 -1
  413. package/esm2015/quick-action/index.js +1 -1
  414. package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
  415. package/esm2015/quick-action/src/lib/quick-action.component.js +1 -1
  416. package/esm2015/quick-action/src/lib/quick-action.module.js +1 -1
  417. package/esm2015/quick-action/src/public-api.js +1 -1
  418. package/esm2015/radio/index.js +1 -1
  419. package/esm2015/radio/sd-angular-core-radio.js +1 -1
  420. package/esm2015/radio/src/lib/radio.component.js +1 -1
  421. package/esm2015/radio/src/lib/radio.module.js +1 -1
  422. package/esm2015/radio/src/public-api.js +1 -1
  423. package/esm2015/sd-angular-core.js +1 -1
  424. package/esm2015/select/index.js +1 -1
  425. package/esm2015/select/sd-angular-core-select.js +1 -1
  426. package/esm2015/select/src/lib/select-display-def.directive.js +1 -1
  427. package/esm2015/select/src/lib/select.component.js +1 -1
  428. package/esm2015/select/src/lib/select.module.js +1 -1
  429. package/esm2015/select/src/public-api.js +1 -1
  430. package/esm2015/select-badge/index.js +1 -1
  431. package/esm2015/select-badge/sd-angular-core-select-badge.js +1 -1
  432. package/esm2015/select-badge/src/lib/select-badge-display-def.directive.js +1 -1
  433. package/esm2015/select-badge/src/lib/select-badge.component.js +1 -1
  434. package/esm2015/select-badge/src/lib/select-badge.module.js +1 -1
  435. package/esm2015/select-badge/src/public-api.js +1 -1
  436. package/esm2015/select-editor/index.js +1 -1
  437. package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
  438. package/esm2015/select-editor/src/lib/select-editor.component.js +1 -1
  439. package/esm2015/select-editor/src/lib/select-editor.module.js +1 -1
  440. package/esm2015/select-editor/src/public-api.js +1 -1
  441. package/esm2015/service/index.js +1 -1
  442. package/esm2015/service/sd-angular-core-service.js +1 -1
  443. package/esm2015/service/src/lib/service.module.js +1 -1
  444. package/esm2015/service/src/public-api.js +1 -1
  445. package/esm2015/setting/index.js +1 -1
  446. package/esm2015/setting/sd-angular-core-setting.js +1 -1
  447. package/esm2015/setting/src/lib/setting.model.js +1 -1
  448. package/esm2015/setting/src/lib/setting.service.js +1 -1
  449. package/esm2015/setting/src/public-api.js +1 -1
  450. package/esm2015/side-drawer/index.js +1 -1
  451. package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
  452. package/esm2015/side-drawer/src/lib/side-drawer/side-drawer.component.js +1 -1
  453. package/esm2015/side-drawer/src/lib/side-drawer.module.js +1 -1
  454. package/esm2015/side-drawer/src/public-api.js +1 -1
  455. package/esm2015/switch/index.js +1 -1
  456. package/esm2015/switch/sd-angular-core-switch.js +1 -1
  457. package/esm2015/switch/src/lib/switch.component.js +1 -1
  458. package/esm2015/switch/src/lib/switch.module.js +1 -1
  459. package/esm2015/switch/src/public-api.js +1 -1
  460. package/esm2015/tab-router/index.js +1 -1
  461. package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
  462. package/esm2015/tab-router/src/lib/actions/tab-router.action.js +1 -1
  463. package/esm2015/tab-router/src/lib/components/tab-router-item/tab-router-item.component.js +1 -1
  464. package/esm2015/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.js +1 -1
  465. package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +1 -1
  466. package/esm2015/tab-router/src/lib/decorators/tab.decorator.js +1 -1
  467. package/esm2015/tab-router/src/lib/directives/router-link-mouse-down.directive.js +1 -1
  468. package/esm2015/tab-router/src/lib/events/tab-router.event.js +1 -1
  469. package/esm2015/tab-router/src/lib/models/tab-router.model.js +1 -1
  470. package/esm2015/tab-router/src/lib/pipes/tab-info.pipe.js +1 -1
  471. package/esm2015/tab-router/src/lib/services/tab-decorator.service.js +1 -1
  472. package/esm2015/tab-router/src/lib/services/tab-router.service.js +1 -1
  473. package/esm2015/tab-router/src/lib/tab-router.module.js +1 -1
  474. package/esm2015/tab-router/src/public-api.js +1 -1
  475. package/esm2015/textarea/index.js +1 -1
  476. package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
  477. package/esm2015/textarea/src/lib/textarea.component.js +1 -1
  478. package/esm2015/textarea/src/lib/textarea.module.js +1 -1
  479. package/esm2015/textarea/src/public-api.js +1 -1
  480. package/esm2015/time/index.js +1 -1
  481. package/esm2015/time/sd-angular-core-time.js +1 -1
  482. package/esm2015/time/src/lib/time.component.js +1 -1
  483. package/esm2015/time/src/lib/time.module.js +1 -1
  484. package/esm2015/time/src/public-api.js +1 -1
  485. package/esm2015/timeline/index.js +1 -1
  486. package/esm2015/timeline/sd-angular-core-timeline.js +1 -1
  487. package/esm2015/timeline/src/lib/components/timeline.component.js +1 -1
  488. package/esm2015/timeline/src/lib/directives/timeline-def.directive.js +1 -1
  489. package/esm2015/timeline/src/lib/timeline.module.js +1 -1
  490. package/esm2015/timeline/src/public-api.js +1 -1
  491. package/esm2015/translate/index.js +1 -1
  492. package/esm2015/translate/sd-angular-core-translate.js +1 -1
  493. package/esm2015/translate/src/lib/translate.model.js +1 -1
  494. package/esm2015/translate/src/lib/translate.module.js +1 -1
  495. package/esm2015/translate/src/lib/translate.pipe.js +1 -1
  496. package/esm2015/translate/src/lib/translate.service.js +1 -1
  497. package/esm2015/upload-excel/index.js +1 -1
  498. package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
  499. package/esm2015/upload-excel/src/lib/pipes/columm-hidden.pipe.js +1 -1
  500. package/esm2015/upload-excel/src/lib/pipes/column-transform.pipe.js +1 -1
  501. package/esm2015/upload-excel/src/lib/upload-excel.component.js +1 -1
  502. package/esm2015/upload-excel/src/lib/upload-excel.model.js +1 -1
  503. package/esm2015/upload-excel/src/lib/upload-excel.module.js +1 -1
  504. package/esm2015/upload-excel/src/public-api.js +1 -1
  505. package/esm2015/upload-file/index.js +1 -1
  506. package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
  507. package/esm2015/upload-file/src/lib/upload-file.component.js +1 -1
  508. package/esm2015/upload-file/src/lib/upload-file.module.js +1 -1
  509. package/esm2015/upload-file/src/public-api.js +1 -1
  510. package/esm2015/utility/index.js +1 -1
  511. package/esm2015/utility/sd-angular-core-utility.js +1 -1
  512. package/esm2015/utility/src/lib/directives/desktop.directive.js +1 -1
  513. package/esm2015/utility/src/lib/directives/mobile-tablet.directive.js +1 -1
  514. package/esm2015/utility/src/lib/directives/mobile.directive.js +1 -1
  515. package/esm2015/utility/src/lib/directives/tablet.directive.js +1 -1
  516. package/esm2015/utility/src/lib/pipes/currency.pipe.js +1 -1
  517. package/esm2015/utility/src/lib/pipes/safe-html.pipe.js +1 -1
  518. package/esm2015/utility/src/lib/pipes/time-different.pipe.js +1 -1
  519. package/esm2015/utility/src/lib/utility.module.js +1 -1
  520. package/esm2015/utility/src/lib/utility.service.js +1 -1
  521. package/esm2015/utility/src/public-api.js +1 -1
  522. package/esm2015/view/index.js +1 -1
  523. package/esm2015/view/sd-angular-core-view.js +1 -1
  524. package/esm2015/view/src/lib/view.module.js +1 -1
  525. package/esm2015/view/src/public-api.js +1 -1
  526. package/fesm2015/sd-angular-core-grid-material.js +4 -2
  527. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  528. package/fesm2015/sd-angular-core-popover.js +19 -8
  529. package/fesm2015/sd-angular-core-popover.js.map +1 -1
  530. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  531. package/grid-material/src/lib/models/grid-filter.model.d.ts +1 -0
  532. package/package.json +1 -1
  533. package/popover/sd-angular-core-popover.metadata.json +1 -1
  534. package/popover/src/lib/popover/popover.component.d.ts +1 -1
  535. package/{sd-angular-core-1.3.16.tgz → sd-angular-core-1.3.18.tgz} +0 -0
@@ -25,7 +25,7 @@ PopoverContentDirective.ctorParameters = () => [
25
25
  { type: TemplateRef }
26
26
  ];
27
27
 
28
- var _xPosition;
28
+ var _previousPanelClass, _xPosition;
29
29
  class PopoverComponent {
30
30
  constructor(cdRef, deviceService) {
31
31
  this.cdRef = cdRef;
@@ -35,7 +35,7 @@ class PopoverComponent {
35
35
  this.isMobileOrTablet = false;
36
36
  this.mouseState$ = new BehaviorSubject(false);
37
37
  this.trigger = null;
38
- this.panelClass = '';
38
+ _previousPanelClass.set(this, void 0);
39
39
  this.width = 'sm';
40
40
  this.height = 'auto';
41
41
  this.type = 'normal';
@@ -80,6 +80,21 @@ class PopoverComponent {
80
80
  };
81
81
  this.isMobileOrTablet = !deviceService.isDesktop();
82
82
  }
83
+ set panelClass(classes) {
84
+ const previousPanelClass = __classPrivateFieldGet(this, _previousPanelClass);
85
+ if (previousPanelClass && previousPanelClass.length) {
86
+ previousPanelClass.split(' ').forEach((className) => {
87
+ this.classList[className] = false;
88
+ });
89
+ }
90
+ __classPrivateFieldSet(this, _previousPanelClass, classes);
91
+ if (classes && classes.length) {
92
+ classes.split(' ').forEach((className) => {
93
+ this.classList[className] = true;
94
+ });
95
+ }
96
+ }
97
+ ;
83
98
  get position() {
84
99
  return __classPrivateFieldGet(this, _xPosition);
85
100
  }
@@ -97,13 +112,9 @@ class PopoverComponent {
97
112
  }
98
113
  }
99
114
  ngOnChanges(changes) {
100
- var _a;
101
115
  if (changes.type) {
102
116
  const type = changes.type.currentValue;
103
117
  const preType = changes.type.previousValue;
104
- this.classList = (_a = this.classList) !== null && _a !== void 0 ? _a : {
105
- 'sd-popover--normal': true
106
- };
107
118
  if (preType) {
108
119
  this.classList[`sd-popover--${preType}`] = false;
109
120
  }
@@ -135,7 +146,7 @@ class PopoverComponent {
135
146
  this.mouseState$.complete();
136
147
  }
137
148
  }
138
- _xPosition = new WeakMap();
149
+ _previousPanelClass = new WeakMap(), _xPosition = new WeakMap();
139
150
  PopoverComponent.decorators = [
140
151
  { type: Component, args: [{
141
152
  selector: 'sd-popover',
@@ -154,7 +165,7 @@ PopoverComponent.propDecorators = {
154
165
  templateRef: [{ type: ViewChild, args: [TemplateRef,] }],
155
166
  panel: [{ type: ViewChild, args: ['panel',] }],
156
167
  popoverContent: [{ type: ContentChild, args: [PopoverContentDirective,] }],
157
- panelClass: [{ type: Input }],
168
+ panelClass: [{ type: Input, args: ['class',] }],
158
169
  width: [{ type: Input }],
159
170
  height: [{ type: Input }],
160
171
  type: [{ type: Input }],
@@ -1 +1 @@
1
- {"version":3,"file":"sd-angular-core-popover.js","sources":["../../../../projects/sd-core/popover/src/lib/directives/popover-content.directive.ts","../../../../projects/sd-core/popover/src/lib/popover/popover.component.ts","../../../../projects/sd-core/popover/src/lib/directives/popover-trigger.directive.ts","../../../../projects/sd-core/popover/src/lib/popover.module.ts","../../../../projects/sd-core/popover/src/public-api.ts","../../../../projects/sd-core/popover/sd-angular-core-popover.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdPopoverContent]'\r\n})\r\nexport class PopoverContentDirective {\r\n\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n OnChanges,\r\n SimpleChanges,\r\n ContentChild\r\n} from '@angular/core';\r\nimport { Position } from '../popover.model';\r\nimport * as uuid from 'uuid';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { PopoverTriggerDirective } from '../directives/popover-trigger.directive';\r\nimport { PopoverContentDirective } from '../directives/popover-content.directive';\r\n\r\nexport interface SdPopover {\r\n close: () => void;\r\n}\r\n\r\n@Component({\r\n selector: 'sd-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'sdPopover',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PopoverComponent implements SdPopover, OnChanges, OnInit, OnDestroy {\r\n classList: Record<string, boolean> = {};\r\n panelId = `sd-popover-panel-${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n mouseState$ = new BehaviorSubject<boolean>(false);\r\n trigger: PopoverTriggerDirective = null;\r\n\r\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\r\n @ViewChild('panel') panel: ElementRef<HTMLDivElement>;\r\n @ContentChild(PopoverContentDirective) popoverContent: PopoverContentDirective\r\n\r\n @Input() panelClass: string = '';\r\n @Input() width: 'lg' | 'md' | 'sm' | string = 'sm';\r\n @Input() height: string = 'auto';\r\n @Input() type: 'normal' | 'primary' | 'info' | 'success' | 'warning' | 'danger' = 'normal';\r\n @Input()\r\n get position(): Position {\r\n return this.#xPosition;\r\n }\r\n set position(value: Position) {\r\n this.#xPosition = value;\r\n this.setPositionClasses();\r\n }\r\n #xPosition: Position;\r\n\r\n @Output() readonly closed = new EventEmitter<void>();\r\n @Output() readonly opened = new EventEmitter<any>();\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n _hostClick(targetElement) {\r\n if (this.panel?.nativeElement) {\r\n const isInside = this.panel.nativeElement.contains(targetElement);\r\n if (!isInside) {\r\n this.setMouseState(false);\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n private deviceService: DeviceDetectorService\r\n ) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.type) {\r\n const type = changes.type.currentValue;\r\n const preType = changes.type.previousValue;\r\n this.classList = this.classList ?? {\r\n 'sd-popover--normal': true\r\n };\r\n if (preType) {\r\n this.classList[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n this.classList[`sd-popover--${type}`] = true;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setPositionClasses();\r\n this.width = this.width || '80vw';\r\n if (!this.isMobileOrTablet) {\r\n switch (this.width) {\r\n case 'lg':\r\n this.width = '80vw';\r\n break;\r\n case 'md':\r\n this.width = '60vw';\r\n break;\r\n case 'sm':\r\n this.width = '40vw';\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closed.complete();\r\n this.opened.complete();\r\n this.mouseState$.complete();\r\n }\r\n\r\n close = () => {\r\n this.mouseState$.next(false);\r\n this.closed.emit();\r\n };\r\n\r\n setPositionClasses = (pos: Position = this.position) => {\r\n const classes = this.classList;\r\n classes['sd-popover-above'] = pos === 'above';\r\n classes['sd-popover-below'] = pos === 'below';\r\n\r\n this.cdRef?.markForCheck();\r\n };\r\n\r\n addArrowTranslateX = (offset: number) => {\r\n const arrowElement: HTMLElement = document.querySelector(`#${this.panelId} .sd-popover-arrow`);\r\n if (arrowElement && offset) {\r\n try {\r\n const style = window.getComputedStyle(arrowElement);\r\n const matrix = new WebKitCSSMatrix(style.transform);\r\n const translateX = matrix.m41 + offset;\r\n const translateY = matrix.m42;\r\n arrowElement.style.transform = `translateX(${translateX}px) translateY(${translateY}px)`;\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n setMouseState = (visible: boolean) => {\r\n if (!visible) {\r\n // chỉ được tắt khi đang không focus element nào bên trong panel\r\n // tránh lỗi có control mở overlay khiến cho mất mouseenter ở panel\r\n const activeElement = document.activeElement;\r\n const panelElement = this.panel.nativeElement;\r\n if (panelElement?.contains(activeElement)) {\r\n return;\r\n }\r\n }\r\n this.mouseState$.next(visible);\r\n };\r\n}\r\n","import { Directionality } from \"@angular/cdk/bidi\";\r\nimport {\r\n FlexibleConnectedPositionStrategy,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n} from \"@angular/cdk/overlay\";\r\nimport { Platform } from \"@angular/cdk/platform\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { fromEvent, merge, Subject, Subscription } from \"rxjs\";\r\nimport {\r\n auditTime,\r\n debounceTime,\r\n distinctUntilChanged,\r\n filter,\r\n map,\r\n mapTo,\r\n takeUntil,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { Position } from \"../popover.model\";\r\nimport { PopoverComponent } from \"../popover/popover.component\";\r\n\r\n@Directive({\r\n selector: \"[sdPopoverTriggerFor]\",\r\n host: {\r\n \"aria-haspopup\": \"true\",\r\n class: \"sd-popover-trigger\",\r\n },\r\n exportAs: \"sdPopoverTrigger\",\r\n})\r\nexport class PopoverTriggerDirective implements AfterViewInit, OnDestroy {\r\n #overlayRef: OverlayRef | null = null;\r\n #popoverClose$ = Subscription.EMPTY;\r\n #portal: TemplatePortal;\r\n #destroy$ = new Subject();\r\n\r\n popoverOpen = false;\r\n\r\n @Input(\"sdPopoverTriggerFor\")\r\n get popover() {\r\n return this.#popover;\r\n }\r\n set popover(popover: PopoverComponent) {\r\n if (!popover || popover === this.#popover) {\r\n return;\r\n }\r\n this.#popover = popover;\r\n this.#popoverClose$.unsubscribe();\r\n if (popover) {\r\n this.#popoverClose$ = popover.closed.subscribe(() => {\r\n this.#destroyPopover();\r\n });\r\n }\r\n }\r\n #popover: PopoverComponent;\r\n\r\n @Input(\"sdPopoverData\")\r\n popoverData: any;\r\n\r\n @Input(\"sdPopoverDisabled\")\r\n disabled: boolean = false;\r\n\r\n @Output() popoverOpened = new EventEmitter<void>();\r\n @Output() popoverClosed = new EventEmitter<void>();\r\n\r\n constructor(\r\n private _overlay: Overlay,\r\n private _element: ElementRef<HTMLElement>,\r\n private _ngZone: NgZone,\r\n private viewContainerRef: ViewContainerRef,\r\n private elementRef: ElementRef,\r\n private platform: Platform,\r\n @Optional() private _dir: Directionality\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.popover) {\r\n const nativeElement = this.elementRef.nativeElement;\r\n\r\n const hostMouseState$ = merge(\r\n fromEvent(nativeElement, \"mouseenter\").pipe(mapTo(true)),\r\n fromEvent(nativeElement, \"mouseleave\").pipe(mapTo(false))\r\n );\r\n\r\n const popoverMouseState$ = this.popover.mouseState$.pipe(\r\n // chỉ lấy luồng emit open bởi chính trigger (tránh lỗi nhiều trigger cho một popover)\r\n filter((v) => !this.popover.trigger || this.popover.trigger == this)\r\n );\r\n\r\n const mergedMouseState$ = merge(popoverMouseState$, hostMouseState$);\r\n\r\n mergedMouseState$\r\n .pipe(\r\n debounceTime(100),\r\n distinctUntilChanged(),\r\n filter(() => this.platform.isBrowser),\r\n takeUntil(this.#destroy$)\r\n )\r\n .subscribe((visible) => {\r\n if (visible && !this.disabled) {\r\n this.openPopover();\r\n } else {\r\n this.closePopover();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#destroy$.next();\r\n this.#destroy$.complete();\r\n if (this.#overlayRef) {\r\n this.#overlayRef.dispose();\r\n this.#overlayRef = null;\r\n }\r\n }\r\n\r\n openPopover = () => {\r\n if (this.popoverOpen) {\r\n return;\r\n }\r\n\r\n const overlayRef = this.#createOverlay();\r\n const overlayConfig = overlayRef.getConfig();\r\n const positionStrategy =\r\n overlayConfig.positionStrategy as FlexibleConnectedPositionStrategy;\r\n this.#setPosition(positionStrategy);\r\n overlayConfig.hasBackdrop = false;\r\n overlayRef.attach(this.#getPortal());\r\n this.popover.trigger = this;\r\n this.#setIsPopoverOpen(true);\r\n this.popover.opened.next(this.popoverData);\r\n };\r\n\r\n closePopover = () => {\r\n this.popover.closed.emit();\r\n };\r\n\r\n #setIsPopoverOpen = (isOpen: boolean) => {\r\n this.popoverOpen = isOpen;\r\n this.popoverOpen ? this.popoverOpened.emit() : this.popoverClosed.emit();\r\n };\r\n\r\n #getPortal = (): TemplatePortal => {\r\n if (\r\n !this.#portal ||\r\n this.#portal.templateRef !== this.popover.templateRef ||\r\n this.#portal.context?.data !== this.popoverData\r\n ) {\r\n this.#portal = new TemplatePortal(\r\n this.popover.templateRef,\r\n this.viewContainerRef,\r\n {\r\n data: this.popoverData\r\n }\r\n );\r\n }\r\n\r\n return this.#portal;\r\n };\r\n\r\n #createOverlay = () => {\r\n if (!this.#overlayRef) {\r\n const config = this.#getOverlayConfig();\r\n this.#subscribeToPositions(\r\n config.positionStrategy as FlexibleConnectedPositionStrategy\r\n );\r\n this.#overlayRef = this._overlay.create(config);\r\n }\r\n\r\n return this.#overlayRef;\r\n };\r\n\r\n #setPosition = (positionStrategy: FlexibleConnectedPositionStrategy) => {\r\n let originX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let originY: \"top\" | \"center\" | \"bottom\" = \"top\";\r\n let overlayX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let overlayY: \"top\" | \"center\" | \"bottom\" = \"bottom\";\r\n let offsetX = 0;\r\n let offsetY = 16;\r\n\r\n switch (this.popover.position) {\r\n case \"above\":\r\n originY = \"top\";\r\n overlayY = \"bottom\";\r\n break;\r\n case \"below\":\r\n originY = \"bottom\";\r\n overlayY = \"top\";\r\n break;\r\n }\r\n\r\n positionStrategy.withPositions([\r\n // theo input\r\n { originX, originY, overlayX, overlayY, offsetY: originY == \"top\" ? -offsetY : offsetY },\r\n // giữa trên\r\n {\r\n originX: \"center\",\r\n originY: \"top\",\r\n overlayX: \"center\",\r\n overlayY: \"bottom\",\r\n offsetX,\r\n offsetY: -offsetY,\r\n },\r\n // giữa dưới\r\n {\r\n originX: \"center\",\r\n originY: \"bottom\",\r\n overlayX: \"center\",\r\n overlayY: \"top\",\r\n offsetX,\r\n offsetY,\r\n },\r\n ]);\r\n };\r\n\r\n #getOverlayConfig = () => {\r\n return new OverlayConfig({\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(this._element)\r\n .withLockedPosition()\r\n .withGrowAfterOpen()\r\n .withTransformOriginOn(\".sd-popover-panel\"),\r\n backdropClass: \"cdk-overlay-transparent-backdrop\",\r\n panelClass: this.popover.panelClass,\r\n direction: this._dir,\r\n width: this.popover.width,\r\n height: this.popover.height,\r\n });\r\n };\r\n\r\n #subscribeToPositions = (position: FlexibleConnectedPositionStrategy) => {\r\n if (this.popover.setPositionClasses) {\r\n position.positionChanges.subscribe((change) => {\r\n const pos: Position =\r\n change.connectionPair.overlayY === \"top\" ? \"below\" : \"above\";\r\n\r\n if (this._ngZone) {\r\n this._ngZone.run(() => this.popover.setPositionClasses(pos));\r\n } else {\r\n this.popover.setPositionClasses(pos);\r\n }\r\n\r\n const originElement: HTMLElement = this.elementRef.nativeElement;\r\n const overlayElement: HTMLElement = (\r\n this.viewContainerRef.get(0) as any\r\n )?.rootNodes[0];\r\n if (originElement && overlayElement) {\r\n const originRect = originElement.getBoundingClientRect();\r\n const overlayRect = overlayElement.getBoundingClientRect();\r\n const originLeft = originRect.left + originRect.width / 2;\r\n const overlayLeft = overlayRect.left + overlayRect.width / 2;\r\n\r\n const offset = originLeft - overlayLeft;\r\n\r\n this.popover.addArrowTranslateX(offset);\r\n }\r\n });\r\n }\r\n };\r\n\r\n #destroyPopover = () => {\r\n if (!this.#overlayRef || !this.popoverOpen) {\r\n return;\r\n }\r\n this.#overlayRef.detach();\r\n this.#setIsPopoverOpen(false);\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover/popover.component';\r\nimport { PopoverTriggerDirective } from './directives/popover-trigger.directive';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { PopoverContentDirective } from './directives/popover-content.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PopoverComponent, \r\n PopoverTriggerDirective, \r\n PopoverContentDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n exports: [\r\n PopoverComponent, \r\n PopoverTriggerDirective,\r\n PopoverContentDirective\r\n ]\r\n})\r\nexport class SdPopoverModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdPopoverModule } from './lib/popover.module';\r\n\r\nexport * from './lib/popover/popover.component';\r\nexport * from './lib/directives/popover-trigger.directive';\r\nexport * from './lib/directives/popover-content.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
1
+ {"version":3,"file":"sd-angular-core-popover.js","sources":["../../../../projects/sd-core/popover/src/lib/directives/popover-content.directive.ts","../../../../projects/sd-core/popover/src/lib/popover/popover.component.ts","../../../../projects/sd-core/popover/src/lib/directives/popover-trigger.directive.ts","../../../../projects/sd-core/popover/src/lib/popover.module.ts","../../../../projects/sd-core/popover/src/public-api.ts","../../../../projects/sd-core/popover/sd-angular-core-popover.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdPopoverContent]'\r\n})\r\nexport class PopoverContentDirective {\r\n\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n OnChanges,\r\n SimpleChanges,\r\n ContentChild\r\n} from '@angular/core';\r\nimport { Position } from '../popover.model';\r\nimport * as uuid from 'uuid';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { PopoverTriggerDirective } from '../directives/popover-trigger.directive';\r\nimport { PopoverContentDirective } from '../directives/popover-content.directive';\r\n\r\nexport interface SdPopover {\r\n close: () => void;\r\n}\r\n\r\n@Component({\r\n selector: 'sd-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'sdPopover',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PopoverComponent implements SdPopover, OnChanges, OnInit, OnDestroy {\r\n classList: Record<string, boolean> = {};\r\n panelId = `sd-popover-panel-${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n mouseState$ = new BehaviorSubject<boolean>(false);\r\n trigger: PopoverTriggerDirective = null;\r\n\r\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\r\n @ViewChild('panel') panel: ElementRef<HTMLDivElement>;\r\n @ContentChild(PopoverContentDirective) popoverContent: PopoverContentDirective\r\n\r\n @Input('class') \r\n set panelClass(classes: string) {\r\n const previousPanelClass = this.#previousPanelClass;\r\n\r\n if (previousPanelClass && previousPanelClass.length) {\r\n previousPanelClass.split(' ').forEach((className: string) => {\r\n this.classList[className] = false;\r\n });\r\n }\r\n\r\n this.#previousPanelClass = classes;\r\n\r\n if (classes && classes.length) {\r\n classes.split(' ').forEach((className: string) => {\r\n this.classList[className] = true;\r\n });\r\n }\r\n };\r\n #previousPanelClass: string;\r\n @Input() width: 'lg' | 'md' | 'sm' | string = 'sm';\r\n @Input() height: string = 'auto';\r\n @Input() type: 'normal' | 'primary' | 'info' | 'success' | 'warning' | 'danger' = 'normal';\r\n @Input()\r\n get position(): Position {\r\n return this.#xPosition;\r\n }\r\n set position(value: Position) {\r\n this.#xPosition = value;\r\n this.setPositionClasses();\r\n }\r\n #xPosition: Position;\r\n\r\n @Output() readonly closed = new EventEmitter<void>();\r\n @Output() readonly opened = new EventEmitter<any>();\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n _hostClick(targetElement) {\r\n if (this.panel?.nativeElement) {\r\n const isInside = this.panel.nativeElement.contains(targetElement);\r\n if (!isInside) {\r\n this.setMouseState(false);\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n private deviceService: DeviceDetectorService\r\n ) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.type) {\r\n const type = changes.type.currentValue;\r\n const preType = changes.type.previousValue;\r\n if (preType) {\r\n this.classList[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n this.classList[`sd-popover--${type}`] = true;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setPositionClasses();\r\n this.width = this.width || '80vw';\r\n if (!this.isMobileOrTablet) {\r\n switch (this.width) {\r\n case 'lg':\r\n this.width = '80vw';\r\n break;\r\n case 'md':\r\n this.width = '60vw';\r\n break;\r\n case 'sm':\r\n this.width = '40vw';\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closed.complete();\r\n this.opened.complete();\r\n this.mouseState$.complete();\r\n }\r\n\r\n close = () => {\r\n this.mouseState$.next(false);\r\n this.closed.emit();\r\n };\r\n\r\n setPositionClasses = (pos: Position = this.position) => {\r\n const classes = this.classList;\r\n classes['sd-popover-above'] = pos === 'above';\r\n classes['sd-popover-below'] = pos === 'below';\r\n\r\n this.cdRef?.markForCheck();\r\n };\r\n\r\n addArrowTranslateX = (offset: number) => {\r\n const arrowElement: HTMLElement = document.querySelector(`#${this.panelId} .sd-popover-arrow`);\r\n if (arrowElement && offset) {\r\n try {\r\n const style = window.getComputedStyle(arrowElement);\r\n const matrix = new WebKitCSSMatrix(style.transform);\r\n const translateX = matrix.m41 + offset;\r\n const translateY = matrix.m42;\r\n arrowElement.style.transform = `translateX(${translateX}px) translateY(${translateY}px)`;\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n setMouseState = (visible: boolean) => {\r\n if (!visible) {\r\n // chỉ được tắt khi đang không focus element nào bên trong panel\r\n // tránh lỗi có control mở overlay khiến cho mất mouseenter ở panel\r\n const activeElement = document.activeElement;\r\n const panelElement = this.panel.nativeElement;\r\n if (panelElement?.contains(activeElement)) {\r\n return;\r\n }\r\n }\r\n this.mouseState$.next(visible);\r\n };\r\n}\r\n","import { Directionality } from \"@angular/cdk/bidi\";\r\nimport {\r\n FlexibleConnectedPositionStrategy,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n} from \"@angular/cdk/overlay\";\r\nimport { Platform } from \"@angular/cdk/platform\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { fromEvent, merge, Subject, Subscription } from \"rxjs\";\r\nimport {\r\n auditTime,\r\n debounceTime,\r\n distinctUntilChanged,\r\n filter,\r\n map,\r\n mapTo,\r\n takeUntil,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { Position } from \"../popover.model\";\r\nimport { PopoverComponent } from \"../popover/popover.component\";\r\n\r\n@Directive({\r\n selector: \"[sdPopoverTriggerFor]\",\r\n host: {\r\n \"aria-haspopup\": \"true\",\r\n class: \"sd-popover-trigger\",\r\n },\r\n exportAs: \"sdPopoverTrigger\",\r\n})\r\nexport class PopoverTriggerDirective implements AfterViewInit, OnDestroy {\r\n #overlayRef: OverlayRef | null = null;\r\n #popoverClose$ = Subscription.EMPTY;\r\n #portal: TemplatePortal;\r\n #destroy$ = new Subject();\r\n\r\n popoverOpen = false;\r\n\r\n @Input(\"sdPopoverTriggerFor\")\r\n get popover() {\r\n return this.#popover;\r\n }\r\n set popover(popover: PopoverComponent) {\r\n if (!popover || popover === this.#popover) {\r\n return;\r\n }\r\n this.#popover = popover;\r\n this.#popoverClose$.unsubscribe();\r\n if (popover) {\r\n this.#popoverClose$ = popover.closed.subscribe(() => {\r\n this.#destroyPopover();\r\n });\r\n }\r\n }\r\n #popover: PopoverComponent;\r\n\r\n @Input(\"sdPopoverData\")\r\n popoverData: any;\r\n\r\n @Input(\"sdPopoverDisabled\")\r\n disabled: boolean = false;\r\n\r\n @Output() popoverOpened = new EventEmitter<void>();\r\n @Output() popoverClosed = new EventEmitter<void>();\r\n\r\n constructor(\r\n private _overlay: Overlay,\r\n private _element: ElementRef<HTMLElement>,\r\n private _ngZone: NgZone,\r\n private viewContainerRef: ViewContainerRef,\r\n private elementRef: ElementRef,\r\n private platform: Platform,\r\n @Optional() private _dir: Directionality\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.popover) {\r\n const nativeElement = this.elementRef.nativeElement;\r\n\r\n const hostMouseState$ = merge(\r\n fromEvent(nativeElement, \"mouseenter\").pipe(mapTo(true)),\r\n fromEvent(nativeElement, \"mouseleave\").pipe(mapTo(false))\r\n );\r\n\r\n const popoverMouseState$ = this.popover.mouseState$.pipe(\r\n // chỉ lấy luồng emit open bởi chính trigger (tránh lỗi nhiều trigger cho một popover)\r\n filter((v) => !this.popover.trigger || this.popover.trigger == this)\r\n );\r\n\r\n const mergedMouseState$ = merge(popoverMouseState$, hostMouseState$);\r\n\r\n mergedMouseState$\r\n .pipe(\r\n debounceTime(100),\r\n distinctUntilChanged(),\r\n filter(() => this.platform.isBrowser),\r\n takeUntil(this.#destroy$)\r\n )\r\n .subscribe((visible) => {\r\n if (visible && !this.disabled) {\r\n this.openPopover();\r\n } else {\r\n this.closePopover();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#destroy$.next();\r\n this.#destroy$.complete();\r\n if (this.#overlayRef) {\r\n this.#overlayRef.dispose();\r\n this.#overlayRef = null;\r\n }\r\n }\r\n\r\n openPopover = () => {\r\n if (this.popoverOpen) {\r\n return;\r\n }\r\n\r\n const overlayRef = this.#createOverlay();\r\n const overlayConfig = overlayRef.getConfig();\r\n const positionStrategy =\r\n overlayConfig.positionStrategy as FlexibleConnectedPositionStrategy;\r\n this.#setPosition(positionStrategy);\r\n overlayConfig.hasBackdrop = false;\r\n overlayRef.attach(this.#getPortal());\r\n this.popover.trigger = this;\r\n this.#setIsPopoverOpen(true);\r\n this.popover.opened.next(this.popoverData);\r\n };\r\n\r\n closePopover = () => {\r\n this.popover.closed.emit();\r\n };\r\n\r\n #setIsPopoverOpen = (isOpen: boolean) => {\r\n this.popoverOpen = isOpen;\r\n this.popoverOpen ? this.popoverOpened.emit() : this.popoverClosed.emit();\r\n };\r\n\r\n #getPortal = (): TemplatePortal => {\r\n if (\r\n !this.#portal ||\r\n this.#portal.templateRef !== this.popover.templateRef ||\r\n this.#portal.context?.data !== this.popoverData\r\n ) {\r\n this.#portal = new TemplatePortal(\r\n this.popover.templateRef,\r\n this.viewContainerRef,\r\n {\r\n data: this.popoverData\r\n }\r\n );\r\n }\r\n\r\n return this.#portal;\r\n };\r\n\r\n #createOverlay = () => {\r\n if (!this.#overlayRef) {\r\n const config = this.#getOverlayConfig();\r\n this.#subscribeToPositions(\r\n config.positionStrategy as FlexibleConnectedPositionStrategy\r\n );\r\n this.#overlayRef = this._overlay.create(config);\r\n }\r\n\r\n return this.#overlayRef;\r\n };\r\n\r\n #setPosition = (positionStrategy: FlexibleConnectedPositionStrategy) => {\r\n let originX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let originY: \"top\" | \"center\" | \"bottom\" = \"top\";\r\n let overlayX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let overlayY: \"top\" | \"center\" | \"bottom\" = \"bottom\";\r\n let offsetX = 0;\r\n let offsetY = 16;\r\n\r\n switch (this.popover.position) {\r\n case \"above\":\r\n originY = \"top\";\r\n overlayY = \"bottom\";\r\n break;\r\n case \"below\":\r\n originY = \"bottom\";\r\n overlayY = \"top\";\r\n break;\r\n }\r\n\r\n positionStrategy.withPositions([\r\n // theo input\r\n { originX, originY, overlayX, overlayY, offsetY: originY == \"top\" ? -offsetY : offsetY },\r\n // giữa trên\r\n {\r\n originX: \"center\",\r\n originY: \"top\",\r\n overlayX: \"center\",\r\n overlayY: \"bottom\",\r\n offsetX,\r\n offsetY: -offsetY,\r\n },\r\n // giữa dưới\r\n {\r\n originX: \"center\",\r\n originY: \"bottom\",\r\n overlayX: \"center\",\r\n overlayY: \"top\",\r\n offsetX,\r\n offsetY,\r\n },\r\n ]);\r\n };\r\n\r\n #getOverlayConfig = () => {\r\n return new OverlayConfig({\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(this._element)\r\n .withLockedPosition()\r\n .withGrowAfterOpen()\r\n .withTransformOriginOn(\".sd-popover-panel\"),\r\n backdropClass: \"cdk-overlay-transparent-backdrop\",\r\n panelClass: this.popover.panelClass,\r\n direction: this._dir,\r\n width: this.popover.width,\r\n height: this.popover.height,\r\n });\r\n };\r\n\r\n #subscribeToPositions = (position: FlexibleConnectedPositionStrategy) => {\r\n if (this.popover.setPositionClasses) {\r\n position.positionChanges.subscribe((change) => {\r\n const pos: Position =\r\n change.connectionPair.overlayY === \"top\" ? \"below\" : \"above\";\r\n\r\n if (this._ngZone) {\r\n this._ngZone.run(() => this.popover.setPositionClasses(pos));\r\n } else {\r\n this.popover.setPositionClasses(pos);\r\n }\r\n\r\n const originElement: HTMLElement = this.elementRef.nativeElement;\r\n const overlayElement: HTMLElement = (\r\n this.viewContainerRef.get(0) as any\r\n )?.rootNodes[0];\r\n if (originElement && overlayElement) {\r\n const originRect = originElement.getBoundingClientRect();\r\n const overlayRect = overlayElement.getBoundingClientRect();\r\n const originLeft = originRect.left + originRect.width / 2;\r\n const overlayLeft = overlayRect.left + overlayRect.width / 2;\r\n\r\n const offset = originLeft - overlayLeft;\r\n\r\n this.popover.addArrowTranslateX(offset);\r\n }\r\n });\r\n }\r\n };\r\n\r\n #destroyPopover = () => {\r\n if (!this.#overlayRef || !this.popoverOpen) {\r\n return;\r\n }\r\n this.#overlayRef.detach();\r\n this.#setIsPopoverOpen(false);\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover/popover.component';\r\nimport { PopoverTriggerDirective } from './directives/popover-trigger.directive';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { PopoverContentDirective } from './directives/popover-content.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PopoverComponent, \r\n PopoverTriggerDirective, \r\n PopoverContentDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n exports: [\r\n PopoverComponent, \r\n PopoverTriggerDirective,\r\n PopoverContentDirective\r\n ]\r\n})\r\nexport class SdPopoverModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdPopoverModule } from './lib/popover.module';\r\n\r\nexport * from './lib/popover/popover.component';\r\nexport * from './lib/directives/popover-trigger.directive';\r\nexport * from './lib/directives/popover-content.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}