@sd-angular/core 1.3.149 → 1.3.151

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 (658) hide show
  1. package/api/sd-angular-core-api.metadata.json +1 -1
  2. package/api/src/lib/api.service.d.ts +1 -5
  3. package/assets/img/file-types/eps/001-file.eps +143 -143
  4. package/assets/img/file-types/eps/002-file-1.eps +136 -136
  5. package/assets/img/file-types/eps/003-file-2.eps +130 -130
  6. package/assets/img/file-types/eps/004-file-3.eps +127 -127
  7. package/assets/img/file-types/eps/005-file-4.eps +120 -120
  8. package/assets/img/file-types/eps/006-file-5.eps +133 -133
  9. package/assets/img/file-types/eps/007-file-6.eps +133 -133
  10. package/assets/img/file-types/eps/008-file-7.eps +144 -144
  11. package/assets/img/file-types/eps/009-file-8.eps +150 -150
  12. package/assets/img/file-types/eps/010-file-9.eps +155 -155
  13. package/assets/img/file-types/eps/011-file-10.eps +124 -124
  14. package/assets/img/file-types/eps/012-file-11.eps +147 -147
  15. package/assets/img/file-types/eps/013-file-12.eps +125 -125
  16. package/assets/img/file-types/eps/014-file-13.eps +129 -129
  17. package/assets/img/file-types/eps/015-file-14.eps +143 -143
  18. package/assets/img/file-types/eps/016-file-15.eps +130 -130
  19. package/assets/img/file-types/eps/017-file-16.eps +197 -197
  20. package/assets/img/file-types/eps/018-file-17.eps +146 -146
  21. package/assets/img/file-types/eps/019-file-18.eps +131 -131
  22. package/assets/img/file-types/eps/020-file-19.eps +137 -137
  23. package/assets/img/file-types/eps/021-file-20.eps +134 -134
  24. package/assets/img/file-types/eps/022-file-21.eps +130 -130
  25. package/assets/img/file-types/eps/023-file-22.eps +161 -161
  26. package/assets/img/file-types/eps/024-file-23.eps +144 -144
  27. package/assets/img/file-types/eps/025-file-24.eps +164 -164
  28. package/assets/img/file-types/eps/026-file-25.eps +135 -135
  29. package/assets/img/file-types/eps/027-file-26.eps +124 -124
  30. package/assets/img/file-types/eps/028-file-27.eps +120 -120
  31. package/assets/img/file-types/eps/029-file-28.eps +141 -141
  32. package/assets/img/file-types/eps/030-file-29.eps +130 -130
  33. package/assets/img/file-types/eps/031-file-30.eps +157 -157
  34. package/assets/img/file-types/eps/032-file-31.eps +139 -139
  35. package/assets/img/file-types/eps/033-file-32.eps +139 -139
  36. package/assets/img/file-types/eps/034-file-33.eps +189 -189
  37. package/assets/img/file-types/eps/035-file-34.eps +162 -162
  38. package/assets/img/file-types/eps/036-file-35.eps +142 -142
  39. package/assets/img/file-types/eps/037-file-36.eps +123 -123
  40. package/assets/img/file-types/eps/038-file-37.eps +127 -127
  41. package/assets/img/file-types/eps/039-file-38.eps +146 -146
  42. package/assets/img/file-types/eps/040-file-39.eps +126 -126
  43. package/assets/img/file-types/eps/041-file-40.eps +117 -117
  44. package/assets/img/file-types/eps/042-file-41.eps +156 -156
  45. package/assets/img/file-types/eps/043-file-42.eps +118 -118
  46. package/assets/img/file-types/eps/044-file-43.eps +172 -172
  47. package/assets/img/file-types/eps/045-file-44.eps +201 -201
  48. package/assets/img/file-types/eps/046-file-45.eps +94 -94
  49. package/assets/img/file-types/eps/047-file-46.eps +176 -176
  50. package/assets/img/file-types/eps/048-file-47.eps +238 -238
  51. package/assets/img/file-types/eps/049-file-48.eps +187 -187
  52. package/assets/img/file-types/eps/050-file-49.eps +137 -137
  53. package/bundles/sd-angular-core-api.umd.js +27 -59
  54. package/bundles/sd-angular-core-api.umd.js.map +1 -1
  55. package/bundles/sd-angular-core-api.umd.min.js +1 -1
  56. package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
  57. package/bundles/sd-angular-core-common.umd.js +92 -0
  58. package/bundles/sd-angular-core-common.umd.js.map +1 -1
  59. package/bundles/sd-angular-core-common.umd.min.js +1 -1
  60. package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
  61. package/bundles/sd-angular-core-input-dropdown.umd.js +9 -12
  62. package/bundles/sd-angular-core-input-dropdown.umd.js.map +1 -1
  63. package/bundles/sd-angular-core-input-dropdown.umd.min.js +2 -2
  64. package/bundles/sd-angular-core-input-dropdown.umd.min.js.map +1 -1
  65. package/bundles/sd-angular-core-table.umd.js +585 -991
  66. package/bundles/sd-angular-core-table.umd.js.map +1 -1
  67. package/bundles/sd-angular-core-table.umd.min.js +1 -1
  68. package/bundles/sd-angular-core-table.umd.min.js.map +1 -1
  69. package/bundles/sd-angular-core-utility.umd.js +10 -56
  70. package/bundles/sd-angular-core-utility.umd.js.map +1 -1
  71. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  72. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  73. package/common/sd-angular-core-common.d.ts +1 -0
  74. package/common/sd-angular-core-common.metadata.json +1 -1
  75. package/common/src/lib/directives/sd-for.directive.d.ts +16 -0
  76. package/esm2015/api/index.js +1 -1
  77. package/esm2015/api/sd-angular-core-api.js +1 -1
  78. package/esm2015/api/src/lib/api.model.js +1 -1
  79. package/esm2015/api/src/lib/api.module.js +1 -1
  80. package/esm2015/api/src/lib/api.service.js +3 -36
  81. package/esm2015/api/src/lib/http.interceptor.js +1 -1
  82. package/esm2015/api/src/lib/http.service.js +1 -1
  83. package/esm2015/api/src/lib/token.service.js +1 -1
  84. package/esm2015/api/src/public-api.js +1 -1
  85. package/esm2015/autocomplete/index.js +1 -1
  86. package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
  87. package/esm2015/autocomplete/src/lib/autocomplete-display-def.directive.js +1 -1
  88. package/esm2015/autocomplete/src/lib/autocomplete.component.js +1 -1
  89. package/esm2015/autocomplete/src/lib/autocomplete.module.js +1 -1
  90. package/esm2015/autocomplete/src/public-api.js +1 -1
  91. package/esm2015/badge/index.js +1 -1
  92. package/esm2015/badge/sd-angular-core-badge.js +1 -1
  93. package/esm2015/badge/src/lib/badge.component.js +1 -1
  94. package/esm2015/badge/src/lib/badge.module.js +1 -1
  95. package/esm2015/badge/src/public-api.js +1 -1
  96. package/esm2015/button/index.js +1 -1
  97. package/esm2015/button/sd-angular-core-button.js +1 -1
  98. package/esm2015/button/src/lib/button.component.js +1 -1
  99. package/esm2015/button/src/lib/button.module.js +1 -1
  100. package/esm2015/button/src/public-api.js +1 -1
  101. package/esm2015/cache/index.js +1 -1
  102. package/esm2015/cache/sd-angular-core-cache.js +1 -1
  103. package/esm2015/cache/src/lib/cache.model.js +1 -1
  104. package/esm2015/cache/src/lib/cache.service.js +1 -1
  105. package/esm2015/cache/src/public-api.js +1 -1
  106. package/esm2015/chart/index.js +1 -1
  107. package/esm2015/chart/sd-angular-core-chart.js +1 -1
  108. package/esm2015/chart/src/lib/chart.component.js +1 -1
  109. package/esm2015/chart/src/lib/chart.model.js +1 -1
  110. package/esm2015/chart/src/lib/chart.module.js +1 -1
  111. package/esm2015/chart/src/public-api.js +1 -1
  112. package/esm2015/checkbox/index.js +1 -1
  113. package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
  114. package/esm2015/checkbox/src/lib/checkbox.component.js +1 -1
  115. package/esm2015/checkbox/src/lib/checkbox.module.js +1 -1
  116. package/esm2015/checkbox/src/public-api.js +1 -1
  117. package/esm2015/chip/index.js +1 -1
  118. package/esm2015/chip/sd-angular-core-chip.js +1 -1
  119. package/esm2015/chip/src/lib/chip.component.js +1 -1
  120. package/esm2015/chip/src/lib/chip.model.js +1 -1
  121. package/esm2015/chip/src/lib/chip.module.js +1 -1
  122. package/esm2015/chip/src/lib/directives/sd-chip-display-def.directive.js +1 -1
  123. package/esm2015/chip/src/lib/pipes/removable-chip.pipe.js +1 -1
  124. package/esm2015/chip/src/public-api.js +1 -1
  125. package/esm2015/comment/index.js +1 -1
  126. package/esm2015/comment/sd-angular-core-comment.js +1 -1
  127. package/esm2015/comment/src/lib/comment.component.js +1 -1
  128. package/esm2015/comment/src/lib/comment.model.js +1 -1
  129. package/esm2015/comment/src/lib/comment.module.js +1 -1
  130. package/esm2015/comment/src/public-api.js +1 -1
  131. package/esm2015/common/index.js +1 -1
  132. package/esm2015/common/sd-angular-core-common.js +2 -1
  133. package/esm2015/common/src/lib/common.module.js +4 -1
  134. package/esm2015/common/src/lib/configurations/firebase.configuration.js +1 -1
  135. package/esm2015/common/src/lib/configurations/form.configuration.js +1 -1
  136. package/esm2015/common/src/lib/directives/sd-for.directive.js +82 -0
  137. package/esm2015/common/src/lib/directives/sd-lable.directive.js +1 -1
  138. package/esm2015/common/src/lib/directives/sd-let.directive.js +1 -1
  139. package/esm2015/common/src/lib/directives/sd-scroll.directive.js +1 -1
  140. package/esm2015/common/src/lib/directives/sd-suffix.directive.js +1 -1
  141. package/esm2015/common/src/lib/directives/view-def.directive.js +1 -1
  142. package/esm2015/common/src/lib/models/sd-form-control.js +1 -1
  143. package/esm2015/common/src/lib/others/detectIncognito.js +1 -1
  144. package/esm2015/common/src/lib/services/browser.service.js +1 -1
  145. package/esm2015/common/src/lib/typings/array.extension.js +1 -1
  146. package/esm2015/common/src/lib/typings/date.extension.js +1 -1
  147. package/esm2015/common/src/lib/typings/index.js +1 -1
  148. package/esm2015/common/src/lib/typings/number.extension.js +1 -1
  149. package/esm2015/common/src/lib/typings/string.extension.js +1 -1
  150. package/esm2015/common/src/lib/typings/utility.extension.js +1 -1
  151. package/esm2015/common/src/public-api.js +1 -1
  152. package/esm2015/confirm/index.js +1 -1
  153. package/esm2015/confirm/sd-angular-core-confirm.js +1 -1
  154. package/esm2015/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.js +1 -1
  155. package/esm2015/confirm/src/lib/confirm.module.js +1 -1
  156. package/esm2015/confirm/src/lib/confirm.service.js +1 -1
  157. package/esm2015/confirm/src/public-api.js +1 -1
  158. package/esm2015/date-month/index.js +1 -1
  159. package/esm2015/date-month/sd-angular-core-date-month.js +1 -1
  160. package/esm2015/date-month/src/lib/date-month.component.js +1 -1
  161. package/esm2015/date-month/src/lib/date-month.module.js +1 -1
  162. package/esm2015/date-month/src/public-api.js +1 -1
  163. package/esm2015/date-range/index.js +1 -1
  164. package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
  165. package/esm2015/date-range/src/lib/date-range.component.js +1 -1
  166. package/esm2015/date-range/src/lib/date-range.module.js +1 -1
  167. package/esm2015/date-range/src/public-api.js +1 -1
  168. package/esm2015/date-time/index.js +1 -1
  169. package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
  170. package/esm2015/date-time/src/lib/date-time.component.js +1 -1
  171. package/esm2015/date-time/src/lib/date-time.module.js +1 -1
  172. package/esm2015/date-time/src/public-api.js +1 -1
  173. package/esm2015/db/index.js +1 -1
  174. package/esm2015/db/sd-angular-core-db.js +1 -1
  175. package/esm2015/db/src/lib/db.model.js +1 -1
  176. package/esm2015/db/src/lib/db.service.js +1 -1
  177. package/esm2015/db/src/public-api.js +1 -1
  178. package/esm2015/dynamic-report/index.js +1 -1
  179. package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
  180. package/esm2015/dynamic-report/src/lib/dynamic-report.component.js +1 -1
  181. package/esm2015/dynamic-report/src/lib/dynamic-report.module.js +1 -1
  182. package/esm2015/dynamic-report/src/public-api.js +1 -1
  183. package/esm2015/editor/index.js +1 -1
  184. package/esm2015/editor/sd-angular-core-editor.js +1 -1
  185. package/esm2015/editor/src/lib/constant.js +1 -1
  186. package/esm2015/editor/src/lib/editor.component.js +1 -1
  187. package/esm2015/editor/src/lib/editor.model.js +1 -1
  188. package/esm2015/editor/src/lib/editor.module.js +1 -1
  189. package/esm2015/editor/src/public-api.js +1 -1
  190. package/esm2015/export/index.js +1 -1
  191. package/esm2015/export/sd-angular-core-export.js +1 -1
  192. package/esm2015/export/src/lib/excel.model.js +1 -1
  193. package/esm2015/export/src/lib/export.model.js +1 -1
  194. package/esm2015/export/src/lib/export.service.js +1 -1
  195. package/esm2015/export/src/public-api.js +1 -1
  196. package/esm2015/filter/index.js +1 -1
  197. package/esm2015/filter/sd-angular-core-filter.js +1 -1
  198. package/esm2015/filter/src/lib/directives/sd-filter-def.directive.js +1 -1
  199. package/esm2015/filter/src/lib/filter.component.js +1 -1
  200. package/esm2015/filter/src/lib/filter.model.js +1 -1
  201. package/esm2015/filter/src/lib/filter.module.js +1 -1
  202. package/esm2015/filter/src/lib/filter.service.js +1 -1
  203. package/esm2015/filter/src/lib/pipes/values-local.pipe.js +1 -1
  204. package/esm2015/filter/src/lib/pipes/values-server.pipe.js +1 -1
  205. package/esm2015/filter/src/public-api.js +1 -1
  206. package/esm2015/form/index.js +1 -1
  207. package/esm2015/form/sd-angular-core-form.js +1 -1
  208. package/esm2015/form/src/lib/form.module.js +1 -1
  209. package/esm2015/form/src/public-api.js +1 -1
  210. package/esm2015/grid/index.js +1 -1
  211. package/esm2015/grid/sd-angular-core-grid.js +1 -1
  212. package/esm2015/grid/src/lib/components/grid-config/grid-config.component.js +1 -1
  213. package/esm2015/grid/src/lib/components/grid-config/grid-config.model.js +1 -1
  214. package/esm2015/grid/src/lib/components/grid-desktop-column-children-view/grid-desktop-column-children-view.component.js +1 -1
  215. package/esm2015/grid/src/lib/components/grid-desktop-column-edit/grid-desktop-column-edit.component.js +1 -1
  216. package/esm2015/grid/src/lib/components/grid-desktop-column-view/grid-desktop-column-view.component.js +1 -1
  217. package/esm2015/grid/src/lib/components/grid-desktop-inline-filter/grid-desktop-inline-filter.component.js +1 -1
  218. package/esm2015/grid/src/lib/components/grid-import-excel/grid-import-excel.component.js +1 -1
  219. package/esm2015/grid/src/lib/components/grid-mobile-item-view/grid-mobile-item-view.component.js +1 -1
  220. package/esm2015/grid/src/lib/components/grid-popup-editor/grid-popup-editor.component.js +1 -1
  221. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.component.js +1 -1
  222. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.model.js +1 -1
  223. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.component.js +1 -1
  224. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.model.js +1 -1
  225. package/esm2015/grid/src/lib/components/grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component.js +1 -1
  226. package/esm2015/grid/src/lib/components/grid-sub-information/grid-sub-information.component.js +1 -1
  227. package/esm2015/grid/src/lib/directives/cell-def.directive.js +1 -1
  228. package/esm2015/grid/src/lib/directives/cell-editor-def.directive.js +1 -1
  229. package/esm2015/grid/src/lib/directives/cell-footer-def.directive.js +1 -1
  230. package/esm2015/grid/src/lib/directives/sub-information-header-def.directive.js +1 -1
  231. package/esm2015/grid/src/lib/grid.component.js +1 -1
  232. package/esm2015/grid/src/lib/grid.model.js +1 -1
  233. package/esm2015/grid/src/lib/grid.module.js +1 -1
  234. package/esm2015/grid/src/lib/models/filter-info.model.js +1 -1
  235. package/esm2015/grid/src/lib/models/grid-configuration.model.js +1 -1
  236. package/esm2015/grid/src/lib/models/handler-dotnet.js +1 -1
  237. package/esm2015/grid/src/lib/models/handler-local.js +1 -1
  238. package/esm2015/grid/src/lib/models/handler.js +1 -1
  239. package/esm2015/grid/src/lib/pipes/cell-desktop-class-name.pipe.js +1 -1
  240. package/esm2015/grid/src/lib/pipes/cell-mobile-class-name.pipe.js +1 -1
  241. package/esm2015/grid/src/lib/pipes/column-command-filter.pipe.js +1 -1
  242. package/esm2015/grid/src/lib/pipes/column-html-template.pipe.js +1 -1
  243. package/esm2015/grid/src/lib/pipes/column-title.pipe.js +1 -1
  244. package/esm2015/grid/src/lib/pipes/column-values.pipe.js +1 -1
  245. package/esm2015/grid/src/lib/pipes/command-disabled.pipe.js +1 -1
  246. package/esm2015/grid/src/lib/pipes/command-filter.pipe.js +1 -1
  247. package/esm2015/grid/src/lib/pipes/command-hidden.pipe.js +1 -1
  248. package/esm2015/grid/src/lib/pipes/command-icon.pipe.js +1 -1
  249. package/esm2015/grid/src/lib/pipes/command-title.pipe.js +1 -1
  250. package/esm2015/grid/src/lib/pipes/dynamic-items.pipe.js +1 -1
  251. package/esm2015/grid/src/lib/pipes/editor-dynamic-item.pipe.js +1 -1
  252. package/esm2015/grid/src/lib/pipes/editor-handler.pipe.js +1 -1
  253. package/esm2015/grid/src/lib/pipes/editor-popup-visible.pipe.js +1 -1
  254. package/esm2015/grid/src/lib/pipes/editor-sub-information-handler.pipe.js +1 -1
  255. package/esm2015/grid/src/lib/pipes/editor-validate.pipe.js +1 -1
  256. package/esm2015/grid/src/lib/pipes/filter-mobile.pipe.js +1 -1
  257. package/esm2015/grid/src/lib/pipes/mobile-command-filter.js +1 -1
  258. package/esm2015/grid/src/lib/pipes/mobile-view-html-template.pipe.js +1 -1
  259. package/esm2015/grid/src/lib/pipes/value-transform.pipe.js +1 -1
  260. package/esm2015/grid/src/public-api.js +1 -1
  261. package/esm2015/grid-material/index.js +1 -1
  262. package/esm2015/grid-material/sd-angular-core-grid-material.js +1 -1
  263. package/esm2015/grid-material/src/lib/components/column-inline-filter/column-inline-filter.component.js +1 -1
  264. package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +1 -1
  265. package/esm2015/grid-material/src/lib/components/desktop-cell-children-view/desktop-cell-children-view.component.js +1 -1
  266. package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +1 -1
  267. package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +1 -1
  268. package/esm2015/grid-material/src/lib/components/desktop-command/desktop-command.component.js +1 -1
  269. package/esm2015/grid-material/src/lib/components/desktop-editor-validation/desktop-editor-validation.component.js +1 -1
  270. package/esm2015/grid-material/src/lib/components/dynamic-column/dynamic-column.component.js +1 -1
  271. package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +1 -1
  272. package/esm2015/grid-material/src/lib/components/popup-export/popup-export.component.js +1 -1
  273. package/esm2015/grid-material/src/lib/components/popup-filter/popup-filter.component.js +1 -1
  274. package/esm2015/grid-material/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +1 -1
  275. package/esm2015/grid-material/src/lib/components/quick-action/quick-action.component.js +1 -1
  276. package/esm2015/grid-material/src/lib/directives/sd-material-cell-def.directive.js +1 -1
  277. package/esm2015/grid-material/src/lib/directives/sd-material-empty-data-def.directive.js +1 -1
  278. package/esm2015/grid-material/src/lib/directives/sd-material-filter-def.directive.js +1 -1
  279. package/esm2015/grid-material/src/lib/directives/sd-material-footer-def.directive.js +1 -1
  280. package/esm2015/grid-material/src/lib/directives/sd-material-sub-information-def.directive.js +1 -1
  281. package/esm2015/grid-material/src/lib/functions/calculate-sd-id.js +1 -1
  282. package/esm2015/grid-material/src/lib/grid-material.component.js +1 -1
  283. package/esm2015/grid-material/src/lib/grid-material.module.js +1 -1
  284. package/esm2015/grid-material/src/lib/models/grid-action.model.js +1 -1
  285. package/esm2015/grid-material/src/lib/models/grid-cell.model.js +1 -1
  286. package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
  287. package/esm2015/grid-material/src/lib/models/grid-command.model.js +1 -1
  288. package/esm2015/grid-material/src/lib/models/grid-config.model.js +1 -1
  289. package/esm2015/grid-material/src/lib/models/grid-configuration.model.js +1 -1
  290. package/esm2015/grid-material/src/lib/models/grid-editor.model.js +1 -1
  291. package/esm2015/grid-material/src/lib/models/grid-export.model.js +1 -1
  292. package/esm2015/grid-material/src/lib/models/grid-group.model.js +1 -1
  293. package/esm2015/grid-material/src/lib/models/grid-option.model.js +1 -1
  294. package/esm2015/grid-material/src/lib/models/grid-reload.model.js +1 -1
  295. package/esm2015/grid-material/src/lib/models/grid-selection.model.js +1 -1
  296. package/esm2015/grid-material/src/lib/models/grid-style.model.js +1 -1
  297. package/esm2015/grid-material/src/lib/models/grid-sub-information.model.js +1 -1
  298. package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
  299. package/esm2015/grid-material/src/lib/pipes/cell-view.pipe.js +1 -1
  300. package/esm2015/grid-material/src/lib/pipes/column-badge.pipe.js +1 -1
  301. package/esm2015/grid-material/src/lib/pipes/column-children-filter.pipe.js +1 -1
  302. package/esm2015/grid-material/src/lib/pipes/column-html-template.pipe.js +1 -1
  303. package/esm2015/grid-material/src/lib/pipes/column-title.pipe.js +1 -1
  304. package/esm2015/grid-material/src/lib/pipes/column-tooltip.pipe.js +1 -1
  305. package/esm2015/grid-material/src/lib/pipes/column-transform.pipe.js +1 -1
  306. package/esm2015/grid-material/src/lib/pipes/column-values.pipe.js +1 -1
  307. package/esm2015/grid-material/src/lib/pipes/command-disable.pipe.js +1 -1
  308. package/esm2015/grid-material/src/lib/pipes/command-filter.pipe.js +1 -1
  309. package/esm2015/grid-material/src/lib/pipes/command-icon.pipe.js +1 -1
  310. package/esm2015/grid-material/src/lib/pipes/command-title.pipe.js +1 -1
  311. package/esm2015/grid-material/src/lib/pipes/editor-handler-column.pipe.js +1 -1
  312. package/esm2015/grid-material/src/lib/pipes/editor-handler-row.pipe.js +1 -1
  313. package/esm2015/grid-material/src/lib/pipes/editor-validate.pipe.js +1 -1
  314. package/esm2015/grid-material/src/lib/pipes/filter-column.pipe.js +1 -1
  315. package/esm2015/grid-material/src/lib/pipes/filter-external.pipe.js +1 -1
  316. package/esm2015/grid-material/src/lib/pipes/grid-configuration-result.pipe.js +1 -1
  317. package/esm2015/grid-material/src/lib/pipes/sd-group.pipe.js +1 -1
  318. package/esm2015/grid-material/src/lib/pipes/selection-action-filter.pipe.js +1 -1
  319. package/esm2015/grid-material/src/lib/pipes/selection-disable.pipe.js +1 -1
  320. package/esm2015/grid-material/src/lib/pipes/selection-visible-select-all.pipe.js +1 -1
  321. package/esm2015/grid-material/src/lib/pipes/selection-visible.pipe.js +1 -1
  322. package/esm2015/grid-material/src/lib/pipes/style-row-css.pipe.js +1 -1
  323. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.model.js +1 -1
  324. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.service.js +1 -1
  325. package/esm2015/grid-material/src/lib/services/grid-configuration.service.js +1 -1
  326. package/esm2015/grid-material/src/lib/services/grid-filter/grid-filter.model.js +1 -1
  327. package/esm2015/grid-material/src/lib/services/grid-filter/grid-filter.service.js +1 -1
  328. package/esm2015/grid-material/src/public-api.js +1 -1
  329. package/esm2015/group/index.js +1 -1
  330. package/esm2015/group/sd-angular-core-group.js +1 -1
  331. package/esm2015/group/src/lib/group.component.js +1 -1
  332. package/esm2015/group/src/lib/group.module.js +1 -1
  333. package/esm2015/group/src/public-api.js +1 -1
  334. package/esm2015/header-title/index.js +1 -1
  335. package/esm2015/header-title/sd-angular-core-header-title.js +1 -1
  336. package/esm2015/header-title/src/lib/header-title.component.js +1 -1
  337. package/esm2015/header-title/src/lib/header-title.module.js +1 -1
  338. package/esm2015/header-title/src/public-api.js +1 -1
  339. package/esm2015/image-preview/index.js +1 -1
  340. package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
  341. package/esm2015/image-preview/src/lib/directives/image-preview.directive.js +1 -1
  342. package/esm2015/image-preview/src/lib/image-preview/image-preview-sdmodal.component.js +1 -1
  343. package/esm2015/image-preview/src/lib/image-preview/image-preview.component.js +1 -1
  344. package/esm2015/image-preview/src/lib/image-preview/image-preview.module.js +1 -1
  345. package/esm2015/image-preview/src/lib/models/image-preview.model.js +1 -1
  346. package/esm2015/image-preview/src/public-api.js +1 -1
  347. package/esm2015/input/index.js +1 -1
  348. package/esm2015/input/sd-angular-core-input.js +1 -1
  349. package/esm2015/input/src/lib/directives/input-suffix.directive.js +1 -1
  350. package/esm2015/input/src/lib/directives/touch.directive.js +1 -1
  351. package/esm2015/input/src/lib/input-tooltip.pipe.js +1 -1
  352. package/esm2015/input/src/lib/input.component.js +1 -1
  353. package/esm2015/input/src/lib/input.module.js +1 -1
  354. package/esm2015/input/src/public-api.js +1 -1
  355. package/esm2015/input-currency/index.js +1 -1
  356. package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
  357. package/esm2015/input-currency/src/lib/input-currency-tooltip.pipe.js +1 -1
  358. package/esm2015/input-currency/src/lib/input-currency.component.js +1 -1
  359. package/esm2015/input-currency/src/lib/input-currency.module.js +1 -1
  360. package/esm2015/input-currency/src/public-api.js +1 -1
  361. package/esm2015/input-dropdown/index.js +1 -1
  362. package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
  363. package/esm2015/input-dropdown/src/lib/input-tooltip.pipe.js +1 -1
  364. package/esm2015/input-dropdown/src/lib/input.component.js +3 -3
  365. package/esm2015/input-dropdown/src/lib/input.module.js +1 -1
  366. package/esm2015/input-dropdown/src/public-api.js +1 -1
  367. package/esm2015/input-number/index.js +1 -1
  368. package/esm2015/input-number/sd-angular-core-input-number.js +1 -1
  369. package/esm2015/input-number/src/lib/input-number.component.js +1 -1
  370. package/esm2015/input-number/src/lib/input-number.module.js +1 -1
  371. package/esm2015/input-number/src/public-api.js +1 -1
  372. package/esm2015/input-upload-file/index.js +1 -1
  373. package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
  374. package/esm2015/input-upload-file/src/lib/input-upload-file.component.js +1 -1
  375. package/esm2015/input-upload-file/src/lib/input-upload-file.module.js +1 -1
  376. package/esm2015/input-upload-file/src/public-api.js +1 -1
  377. package/esm2015/json-editor/index.js +1 -1
  378. package/esm2015/json-editor/sd-angular-core-json-editor.js +1 -1
  379. package/esm2015/json-editor/src/lib/json-editor.component.js +1 -1
  380. package/esm2015/json-editor/src/lib/json-editor.module.js +1 -1
  381. package/esm2015/json-editor/src/public-api.js +1 -1
  382. package/esm2015/konva/index.js +1 -1
  383. package/esm2015/konva/sd-angular-core-konva.js +1 -1
  384. package/esm2015/konva/src/lib/konva.module.js +1 -1
  385. package/esm2015/konva/src/lib/merge-images/merge-images.component.js +1 -1
  386. package/esm2015/konva/src/public-api.js +1 -1
  387. package/esm2015/label/index.js +1 -1
  388. package/esm2015/label/sd-angular-core-label.js +1 -1
  389. package/esm2015/label/src/lib/label.component.js +1 -1
  390. package/esm2015/label/src/lib/label.module.js +1 -1
  391. package/esm2015/label/src/public-api.js +1 -1
  392. package/esm2015/lib/core.module.js +1 -1
  393. package/esm2015/lib/material.module.js +1 -1
  394. package/esm2015/loading/index.js +1 -1
  395. package/esm2015/loading/sd-angular-core-loading.js +1 -1
  396. package/esm2015/loading/src/lib/loading.service.js +1 -1
  397. package/esm2015/loading/src/public-api.js +1 -1
  398. package/esm2015/modal/index.js +1 -1
  399. package/esm2015/modal/sd-angular-core-modal.js +1 -1
  400. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component.js +1 -1
  401. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component.js +1 -1
  402. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component.js +1 -1
  403. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet.component.js +1 -1
  404. package/esm2015/modal/src/lib/modal/modal-body/modal-body.component.js +1 -1
  405. package/esm2015/modal/src/lib/modal/modal-footer/modal-footer.component.js +1 -1
  406. package/esm2015/modal/src/lib/modal/modal-header/modal-header.component.js +1 -1
  407. package/esm2015/modal/src/lib/modal/modal.component.js +1 -1
  408. package/esm2015/modal/src/lib/modal.module.js +1 -1
  409. package/esm2015/modal/src/public-api.js +1 -1
  410. package/esm2015/modal-resizable/index.js +1 -1
  411. package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
  412. package/esm2015/modal-resizable/src/lib/modal-resizable/modal-resizable.component.js +1 -1
  413. package/esm2015/modal-resizable/src/lib/modal-resizable.module.js +1 -1
  414. package/esm2015/modal-resizable/src/public-api.js +1 -1
  415. package/esm2015/notify/index.js +1 -1
  416. package/esm2015/notify/sd-angular-core-notify.js +1 -1
  417. package/esm2015/notify/src/lib/components/dialog-confirm/dialog-confirm.component.js +1 -1
  418. package/esm2015/notify/src/lib/configurations/notify.configuration.js +1 -1
  419. package/esm2015/notify/src/lib/notify.module.js +1 -1
  420. package/esm2015/notify/src/lib/notify.service.js +1 -1
  421. package/esm2015/notify/src/public-api.js +1 -1
  422. package/esm2015/pdf/index.js +1 -1
  423. package/esm2015/pdf/sd-angular-core-pdf.js +1 -1
  424. package/esm2015/pdf/src/lib/pdf.module.js +1 -1
  425. package/esm2015/pdf/src/lib/pdf.service.js +1 -1
  426. package/esm2015/pdf/src/public-api.js +1 -1
  427. package/esm2015/popover/index.js +1 -1
  428. package/esm2015/popover/sd-angular-core-popover.js +1 -1
  429. package/esm2015/popover/src/lib/directives/popover-content.directive.js +1 -1
  430. package/esm2015/popover/src/lib/directives/popover-trigger.directive.js +1 -1
  431. package/esm2015/popover/src/lib/popover/popover.component.js +1 -1
  432. package/esm2015/popover/src/lib/popover.model.js +1 -1
  433. package/esm2015/popover/src/lib/popover.module.js +1 -1
  434. package/esm2015/popover/src/public-api.js +1 -1
  435. package/esm2015/print/index.js +1 -1
  436. package/esm2015/print/sd-angular-core-print.js +1 -1
  437. package/esm2015/print/src/lib/fonts/times/bold-italic.js +1 -1
  438. package/esm2015/print/src/lib/fonts/times/bold.js +1 -1
  439. package/esm2015/print/src/lib/fonts/times/italic.js +1 -1
  440. package/esm2015/print/src/lib/fonts/times/normal.js +1 -1
  441. package/esm2015/print/src/lib/print.component.js +1 -1
  442. package/esm2015/print/src/lib/print.module.js +1 -1
  443. package/esm2015/print/src/public-api.js +1 -1
  444. package/esm2015/public-api.js +1 -1
  445. package/esm2015/quick-action/index.js +1 -1
  446. package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
  447. package/esm2015/quick-action/src/lib/quick-action.component.js +1 -1
  448. package/esm2015/quick-action/src/lib/quick-action.module.js +1 -1
  449. package/esm2015/quick-action/src/public-api.js +1 -1
  450. package/esm2015/radio/index.js +1 -1
  451. package/esm2015/radio/sd-angular-core-radio.js +1 -1
  452. package/esm2015/radio/src/lib/radio.component.js +1 -1
  453. package/esm2015/radio/src/lib/radio.module.js +1 -1
  454. package/esm2015/radio/src/public-api.js +1 -1
  455. package/esm2015/sd-angular-core.js +1 -1
  456. package/esm2015/select/index.js +1 -1
  457. package/esm2015/select/sd-angular-core-select.js +1 -1
  458. package/esm2015/select/src/lib/select-display-def.directive.js +1 -1
  459. package/esm2015/select/src/lib/select.component.js +1 -1
  460. package/esm2015/select/src/lib/select.module.js +1 -1
  461. package/esm2015/select/src/public-api.js +1 -1
  462. package/esm2015/select-badge/index.js +1 -1
  463. package/esm2015/select-badge/sd-angular-core-select-badge.js +1 -1
  464. package/esm2015/select-badge/src/lib/select-badge-display-def.directive.js +1 -1
  465. package/esm2015/select-badge/src/lib/select-badge.component.js +1 -1
  466. package/esm2015/select-badge/src/lib/select-badge.module.js +1 -1
  467. package/esm2015/select-badge/src/public-api.js +1 -1
  468. package/esm2015/select-editor/index.js +1 -1
  469. package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
  470. package/esm2015/select-editor/src/lib/select-editor.component.js +1 -1
  471. package/esm2015/select-editor/src/lib/select-editor.module.js +1 -1
  472. package/esm2015/select-editor/src/public-api.js +1 -1
  473. package/esm2015/service/index.js +1 -1
  474. package/esm2015/service/sd-angular-core-service.js +1 -1
  475. package/esm2015/service/src/lib/service.module.js +1 -1
  476. package/esm2015/service/src/public-api.js +1 -1
  477. package/esm2015/setting/index.js +1 -1
  478. package/esm2015/setting/sd-angular-core-setting.js +1 -1
  479. package/esm2015/setting/src/lib/setting.model.js +1 -1
  480. package/esm2015/setting/src/lib/setting.service.js +1 -1
  481. package/esm2015/setting/src/public-api.js +1 -1
  482. package/esm2015/side-drawer/index.js +1 -1
  483. package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
  484. package/esm2015/side-drawer/src/lib/side-drawer/side-drawer.component.js +1 -1
  485. package/esm2015/side-drawer/src/lib/side-drawer.module.js +1 -1
  486. package/esm2015/side-drawer/src/public-api.js +1 -1
  487. package/esm2015/switch/index.js +1 -1
  488. package/esm2015/switch/sd-angular-core-switch.js +1 -1
  489. package/esm2015/switch/src/lib/switch.component.js +1 -1
  490. package/esm2015/switch/src/lib/switch.module.js +1 -1
  491. package/esm2015/switch/src/public-api.js +1 -1
  492. package/esm2015/tab-router/index.js +1 -1
  493. package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
  494. package/esm2015/tab-router/src/lib/actions/tab-router.action.js +1 -1
  495. package/esm2015/tab-router/src/lib/components/tab-router-item/tab-router-item.component.js +1 -1
  496. package/esm2015/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.js +1 -1
  497. package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +1 -1
  498. package/esm2015/tab-router/src/lib/decorators/tab.decorator.js +1 -1
  499. package/esm2015/tab-router/src/lib/directives/router-link-mouse-down.directive.js +1 -1
  500. package/esm2015/tab-router/src/lib/events/tab-router.event.js +1 -1
  501. package/esm2015/tab-router/src/lib/models/tab-router.model.js +1 -1
  502. package/esm2015/tab-router/src/lib/pipes/tab-info.pipe.js +1 -1
  503. package/esm2015/tab-router/src/lib/services/tab-decorator.service.js +1 -1
  504. package/esm2015/tab-router/src/lib/services/tab-router.service.js +1 -1
  505. package/esm2015/tab-router/src/lib/tab-router.module.js +1 -1
  506. package/esm2015/tab-router/src/public-api.js +1 -1
  507. package/esm2015/table/index.js +1 -1
  508. package/esm2015/table/sd-angular-core-table.js +24 -31
  509. package/esm2015/table/src/lib/components/column-inline-filter/column-inline-filter.component.js +17 -4
  510. package/esm2015/table/src/lib/components/desktop-cell/desktop-cell.component.js +1 -1
  511. package/esm2015/table/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +2 -2
  512. package/esm2015/table/src/lib/components/desktop-command/desktop-command.component.js +1 -1
  513. package/esm2015/table/src/lib/components/popup-configuration/popup-configuration.component.js +69 -0
  514. package/esm2015/table/src/lib/components/popup-filter/popup-filter.component.js +2 -2
  515. package/esm2015/table/src/lib/components/quick-action/quick-action.component.js +6 -6
  516. package/esm2015/table/src/lib/components/table-filter/table-filter.component.js +99 -0
  517. package/esm2015/table/src/lib/directives/sd-material-cell-def.directive.js +1 -1
  518. package/esm2015/table/src/lib/directives/sd-material-empty-data-def.directive.js +1 -1
  519. package/esm2015/table/src/lib/directives/sd-material-filter-def.directive.js +1 -1
  520. package/esm2015/table/src/lib/directives/sd-material-footer-def.directive.js +1 -1
  521. package/esm2015/table/src/lib/directives/sd-material-sub-information-def.directive.js +1 -1
  522. package/esm2015/table/src/lib/models/index.js +1 -1
  523. package/esm2015/table/src/lib/models/table-column.model.js +7 -7
  524. package/esm2015/table/src/lib/models/table-command.model.js +1 -1
  525. package/esm2015/table/src/lib/models/table-configuration.model.js +1 -1
  526. package/esm2015/table/src/lib/models/table-item.model.js +3 -3
  527. package/esm2015/table/src/lib/models/table-option-config.model.js +1 -1
  528. package/esm2015/table/src/lib/models/table-option-expand.model.js +1 -1
  529. package/esm2015/table/src/lib/models/table-option-export.model.js +1 -1
  530. package/esm2015/table/src/lib/models/table-option-group.model.js +1 -1
  531. package/esm2015/table/src/lib/models/table-option-paginate.model.js +1 -1
  532. package/esm2015/table/src/lib/models/table-option-reload.model.js +1 -1
  533. package/esm2015/table/src/lib/models/table-option-selector.model.js +1 -1
  534. package/esm2015/table/src/lib/models/table-option-sort.model.js +1 -1
  535. package/esm2015/table/src/lib/models/table-option-style.model.js +1 -1
  536. package/esm2015/table/src/lib/models/table-option.model.js +1 -1
  537. package/esm2015/table/src/lib/pipes/column-tooltip.pipe.js +1 -1
  538. package/esm2015/table/src/lib/pipes/command-disable.pipe.js +1 -1
  539. package/esm2015/table/src/lib/pipes/command-filter.pipe.js +1 -1
  540. package/esm2015/table/src/lib/pipes/command-icon.pipe.js +1 -1
  541. package/esm2015/table/src/lib/pipes/command-title.pipe.js +1 -1
  542. package/esm2015/table/src/lib/pipes/filter-column.pipe.js +1 -1
  543. package/esm2015/table/src/lib/pipes/filter-external.pipe.js +1 -1
  544. package/esm2015/table/src/lib/pipes/sd-group.pipe.js +1 -1
  545. package/esm2015/table/src/lib/pipes/selection-action-filter.pipe.js +1 -1
  546. package/esm2015/table/src/lib/pipes/selection-disable.pipe.js +1 -1
  547. package/esm2015/table/src/lib/pipes/selection-visible-select-all.pipe.js +1 -1
  548. package/esm2015/table/src/lib/pipes/selection-visible.pipe.js +1 -1
  549. package/esm2015/table/src/lib/services/table-configuration.service.js +37 -207
  550. package/esm2015/table/src/lib/services/table-filter/table-filter.model.js +1 -1
  551. package/esm2015/table/src/lib/services/table-filter/table-filter.service.js +1 -1
  552. package/esm2015/table/src/lib/table.component.js +197 -87
  553. package/esm2015/table/src/lib/table.module.js +7 -22
  554. package/esm2015/table/src/public-api.js +1 -1
  555. package/esm2015/textarea/index.js +1 -1
  556. package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
  557. package/esm2015/textarea/src/lib/textarea.component.js +1 -1
  558. package/esm2015/textarea/src/lib/textarea.module.js +1 -1
  559. package/esm2015/textarea/src/public-api.js +1 -1
  560. package/esm2015/time/index.js +1 -1
  561. package/esm2015/time/sd-angular-core-time.js +1 -1
  562. package/esm2015/time/src/lib/time.component.js +1 -1
  563. package/esm2015/time/src/lib/time.module.js +1 -1
  564. package/esm2015/time/src/public-api.js +1 -1
  565. package/esm2015/timeline/index.js +1 -1
  566. package/esm2015/timeline/sd-angular-core-timeline.js +1 -1
  567. package/esm2015/timeline/src/lib/components/timeline.component.js +1 -1
  568. package/esm2015/timeline/src/lib/directives/timeline-def.directive.js +1 -1
  569. package/esm2015/timeline/src/lib/timeline.module.js +1 -1
  570. package/esm2015/timeline/src/public-api.js +1 -1
  571. package/esm2015/translate/index.js +1 -1
  572. package/esm2015/translate/sd-angular-core-translate.js +1 -1
  573. package/esm2015/translate/src/lib/translate.model.js +1 -1
  574. package/esm2015/translate/src/lib/translate.module.js +1 -1
  575. package/esm2015/translate/src/lib/translate.pipe.js +1 -1
  576. package/esm2015/translate/src/lib/translate.service.js +1 -1
  577. package/esm2015/upload-excel/index.js +1 -1
  578. package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
  579. package/esm2015/upload-excel/src/lib/pipes/columm-hidden.pipe.js +1 -1
  580. package/esm2015/upload-excel/src/lib/pipes/column-transform.pipe.js +1 -1
  581. package/esm2015/upload-excel/src/lib/upload-excel.component.js +1 -1
  582. package/esm2015/upload-excel/src/lib/upload-excel.model.js +1 -1
  583. package/esm2015/upload-excel/src/lib/upload-excel.module.js +1 -1
  584. package/esm2015/upload-excel/src/public-api.js +1 -1
  585. package/esm2015/upload-file/index.js +1 -1
  586. package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
  587. package/esm2015/upload-file/src/lib/upload-file.component.js +1 -1
  588. package/esm2015/upload-file/src/lib/upload-file.module.js +1 -1
  589. package/esm2015/upload-file/src/public-api.js +1 -1
  590. package/esm2015/utility/index.js +1 -1
  591. package/esm2015/utility/sd-angular-core-utility.js +1 -1
  592. package/esm2015/utility/src/lib/directives/desktop.directive.js +1 -1
  593. package/esm2015/utility/src/lib/directives/mobile-tablet.directive.js +1 -1
  594. package/esm2015/utility/src/lib/directives/mobile.directive.js +1 -1
  595. package/esm2015/utility/src/lib/directives/tablet.directive.js +1 -1
  596. package/esm2015/utility/src/lib/pipes/currency.pipe.js +1 -1
  597. package/esm2015/utility/src/lib/pipes/safe-html.pipe.js +1 -1
  598. package/esm2015/utility/src/lib/pipes/time-different.pipe.js +1 -1
  599. package/esm2015/utility/src/lib/utility.module.js +1 -3
  600. package/esm2015/utility/src/lib/utility.service.js +7 -54
  601. package/esm2015/utility/src/public-api.js +1 -1
  602. package/esm2015/view/index.js +1 -1
  603. package/esm2015/view/sd-angular-core-view.js +1 -1
  604. package/esm2015/view/src/lib/view.module.js +1 -1
  605. package/esm2015/view/src/public-api.js +1 -1
  606. package/esm2015/zip/index.js +1 -1
  607. package/esm2015/zip/sd-angular-core-zip.js +1 -1
  608. package/esm2015/zip/src/lib/zip.module.js +1 -1
  609. package/esm2015/zip/src/lib/zip.service.js +1 -1
  610. package/esm2015/zip/src/public-api.js +1 -1
  611. package/fesm2015/sd-angular-core-api.js +2 -35
  612. package/fesm2015/sd-angular-core-api.js.map +1 -1
  613. package/fesm2015/sd-angular-core-common.js +85 -2
  614. package/fesm2015/sd-angular-core-common.js.map +1 -1
  615. package/fesm2015/sd-angular-core-input-dropdown.js +2 -2
  616. package/fesm2015/sd-angular-core-input-dropdown.js.map +1 -1
  617. package/fesm2015/sd-angular-core-table.js +348 -804
  618. package/fesm2015/sd-angular-core-table.js.map +1 -1
  619. package/fesm2015/sd-angular-core-utility.js +7 -54
  620. package/fesm2015/sd-angular-core-utility.js.map +1 -1
  621. package/input-dropdown/sd-angular-core-input-dropdown.metadata.json +1 -1
  622. package/package.json +1 -1
  623. package/{sd-angular-core-1.3.149.tgz → sd-angular-core-1.3.151.tgz} +0 -0
  624. package/table/sd-angular-core-table.d.ts +23 -30
  625. package/table/sd-angular-core-table.metadata.json +1 -1
  626. package/table/src/lib/components/column-inline-filter/column-inline-filter.component.d.ts +2 -0
  627. package/table/src/lib/components/{popup-grid-configuration/popup-grid-configuration.component.d.ts → popup-configuration/popup-configuration.component.d.ts} +5 -10
  628. package/table/src/lib/components/popup-filter/popup-filter.component.d.ts +2 -2
  629. package/table/src/lib/components/quick-action/quick-action.component.d.ts +1 -1
  630. package/table/src/lib/components/{grid-filter/grid-filter.component.d.ts → table-filter/table-filter.component.d.ts} +5 -5
  631. package/table/src/lib/models/table-column.model.d.ts +15 -48
  632. package/table/src/lib/models/table-item.model.d.ts +15 -2
  633. package/table/src/lib/models/table-option-config.model.d.ts +2 -11
  634. package/table/src/lib/models/table-option.model.d.ts +0 -4
  635. package/table/src/lib/services/table-configuration.service.d.ts +5 -5
  636. package/table/src/lib/services/table-filter/table-filter.model.d.ts +1 -2
  637. package/table/src/lib/services/table-filter/table-filter.service.d.ts +2 -2
  638. package/table/src/lib/table.component.d.ts +12 -13
  639. package/utility/sd-angular-core-utility.metadata.json +1 -1
  640. package/utility/src/lib/utility.service.d.ts +2 -4
  641. package/esm2015/table/src/lib/components/grid-filter/grid-filter.component.js +0 -99
  642. package/esm2015/table/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +0 -96
  643. package/esm2015/table/src/lib/models/grid-cell.model.js +0 -2
  644. package/esm2015/table/src/lib/pipes/cell-view.pipe.js +0 -180
  645. package/esm2015/table/src/lib/pipes/column-badge.pipe.js +0 -43
  646. package/esm2015/table/src/lib/pipes/column-children-filter.pipe.js +0 -31
  647. package/esm2015/table/src/lib/pipes/column-html-template.pipe.js +0 -23
  648. package/esm2015/table/src/lib/pipes/column-transform.pipe.js +0 -35
  649. package/esm2015/table/src/lib/pipes/column-values.pipe.js +0 -63
  650. package/esm2015/table/src/lib/pipes/grid-configuration-result.pipe.js +0 -21
  651. package/table/src/lib/models/grid-cell.model.d.ts +0 -16
  652. package/table/src/lib/pipes/cell-view.pipe.d.ts +0 -15
  653. package/table/src/lib/pipes/column-badge.pipe.d.ts +0 -11
  654. package/table/src/lib/pipes/column-children-filter.pipe.d.ts +0 -8
  655. package/table/src/lib/pipes/column-html-template.pipe.d.ts +0 -8
  656. package/table/src/lib/pipes/column-transform.pipe.d.ts +0 -8
  657. package/table/src/lib/pipes/column-values.pipe.d.ts +0 -6
  658. package/table/src/lib/pipes/grid-configuration-result.pipe.d.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"sd-angular-core-api.js","sources":["../../../../projects/sd-core/api/src/lib/api.model.ts","../../../../projects/sd-core/api/src/lib/token.service.ts","../../../../projects/sd-core/api/src/lib/http.interceptor.ts","../../../../projects/sd-core/api/src/lib/api.module.ts","../../../../projects/sd-core/api/src/lib/api.service.ts","../../../../projects/sd-core/api/src/lib/http.service.ts","../../../../projects/sd-core/api/src/public-api.ts","../../../../projects/sd-core/api/sd-angular-core-api.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { HttpErrorResponse, HttpHeaders, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport hash from 'object-hash';\r\n\r\nexport interface IApiConfiguration {\r\n host?: string;\r\n tokenHeader?: string;\r\n customHeaders?: (args?: { url?: string }) => HttpHeaders;\r\n beforeRemote?: (request: HttpRequest<any>) => void | Promise<void>;\r\n afterRemote?: (response: HttpResponse<any> | HttpErrorResponse) => void | Promise<void>;\r\n translate?: (value: string) => string;\r\n}\r\n\r\nexport const API_CONFIG = new InjectionToken<IApiConfiguration>('api.configuration');\r\n\r\nexport const TOKEN = hash({\r\n origin: location.origin,\r\n key: 'ed4a2ffc-af43-41fb-9ac9-970f43d99571'\r\n});","import { Injectable, Inject, Optional } from '@angular/core';\r\nimport { IApiConfiguration, API_CONFIG, TOKEN } from './api.model';\r\nimport { SdCacheService } from '@sd-angular/core/cache';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdTokenService {\r\n\r\n get token() {\r\n const { get } = this.cacheService.create<string>(TOKEN, {\r\n type: 'local',\r\n hours: 240\r\n });\r\n return get();\r\n }\r\n\r\n set = (token: string) => {\r\n const { set } = this.cacheService.create<string>(TOKEN, {\r\n type: 'local',\r\n hours: 240\r\n });\r\n set(token);\r\n }\r\n\r\n clear = () => {\r\n const { remove } = this.cacheService.create<string>(TOKEN, {\r\n type: 'local',\r\n hours: 240\r\n });\r\n remove();\r\n }\r\n\r\n customHeaders = (args?: { url?: string }) => {\r\n return this.configuration?.customHeaders?.(args) || null;\r\n }\r\n\r\n constructor(\r\n @Inject(API_CONFIG) @Optional() private configuration: IApiConfiguration,\r\n private cacheService: SdCacheService) {\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { from, Observable, of, throwError } from 'rxjs';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { API_CONFIG, IApiConfiguration } from './api.model';\r\nimport { SdTokenService } from './token.service';\r\n\r\n@Injectable()\r\nexport class SdHttpInterceptor implements HttpInterceptor {\r\n constructor(\r\n @Inject(API_CONFIG) @Optional() private configuration: IApiConfiguration,\r\n private tokenService: SdTokenService\r\n ) { }\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (this.configuration?.tokenHeader && this.tokenService.token) {\r\n request = request.clone({ headers: request.headers.set(this.configuration.tokenHeader, this.tokenService.token) });\r\n }\r\n\r\n if (!request.url.startsWith('http')) {\r\n request = request.clone({\r\n url: (this.configuration?.host || location.host) + request.url\r\n });\r\n }\r\n if (request.body instanceof FormData) {\r\n request = request.clone({\r\n headers: request.headers.delete('Content-Type')\r\n });\r\n }\r\n const beforeRemote = this.configuration?.beforeRemote?.(request);\r\n if (beforeRemote instanceof Promise) {\r\n return from(beforeRemote).pipe(\r\n switchMap(() => next.handle(request)),\r\n map((event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.configuration?.afterRemote?.(event);\r\n }\r\n return event;\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n this.configuration?.afterRemote?.(error);\r\n return throwError(error);\r\n }));\r\n }\r\n return next.handle(request).pipe(\r\n map((event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.configuration?.afterRemote?.(event);\r\n }\r\n return event;\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n this.configuration?.afterRemote?.(error);\r\n return throwError(error);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { SdHttpInterceptor } from './http.interceptor';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule,\r\n ],\r\n exports: [\r\n HttpClientModule\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: SdHttpInterceptor, multi: true }\r\n ],\r\n})\r\nexport class SdApiModule { }\r\n","import { Injectable, Inject, Optional } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { take, timeout } from 'rxjs/operators';\r\nimport $ from 'jquery';\r\nimport { IApiConfiguration, API_CONFIG } from './api.model';\r\nimport { SdCacheService } from '@sd-angular/core/cache';\r\nimport { SdTokenService } from './token.service';\r\nimport { Subject } from 'rxjs';\r\nimport hash from 'object-hash';\r\nimport * as uuid from 'uuid';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdApiService {\r\n private uploadId = 'U118fefb1-3085-4641-8cb8-f7fe5c28f509';\r\n\r\n #timeout = 120000; // 120s\r\n\r\n #cacheDuration = 2000; // 2s\r\n #cache: {\r\n [key: string]: {\r\n createdDate: Date;\r\n subject: Subject<any>;\r\n response?: {\r\n status?: 'success' | 'error';\r\n result: any,\r\n }\r\n }\r\n } = {};\r\n\r\n private translate = (value: string): string => {\r\n return this.configuration?.translate(value) || value;\r\n }\r\n\r\n constructor(\r\n private httpClient: HttpClient,\r\n @Inject(API_CONFIG) @Optional() private configuration: IApiConfiguration,\r\n private cacheService: SdCacheService,\r\n private tokenService: SdTokenService) {\r\n }\r\n\r\n post = async <T = any>(url: string, body?: any, headers?: HttpHeaders, options?: {\r\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n }): Promise<T> => {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n let hashKey = uuid.v4();\r\n if (!(body instanceof FormData)) {\r\n hashKey = hash({\r\n url,\r\n headers,\r\n body\r\n });\r\n }\r\n if (!this.#cache[hashKey] || Date.addMiliseconds(this.#cache[hashKey].createdDate, this.#cacheDuration) < new Date()) {\r\n this.#cache[hashKey] = {\r\n createdDate: new Date(),\r\n subject: new Subject(),\r\n };\r\n if (options?.responseType && options.responseType !== 'json') {\r\n this.httpClient.post(encodeURI(url), body, {\r\n observe: 'body',\r\n headers,\r\n responseType: options?.responseType as any\r\n }).pipe(timeout(this.#timeout)).subscribe((res) => {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res\r\n };\r\n this.#cache[hashKey].subject.next(res);\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n } else {\r\n this.httpClient.post(encodeURI(url), body, {\r\n observe: 'response',\r\n headers\r\n }).pipe(timeout(this.#timeout)).subscribe((res) => {\r\n if (res.ok) {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.next(res.body);\r\n } else {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.error(res.body);\r\n }\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n }\r\n }\r\n if (this.#cache[hashKey].response?.status) {\r\n if (this.#cache[hashKey].response?.status === 'success') {\r\n return this.#cache[hashKey].response.result;\r\n }\r\n throw this.#cache[hashKey].response.result;\r\n }\r\n return this.#cache[hashKey].subject.pipe(take(1)).toPromise();\r\n }\r\n\r\n postCache = async <T = any>(url: string, body?: any, options?: {\r\n cacheType?: 'default' | 'session' | 'local';\r\n cacheHours?: number;\r\n headers?: HttpHeaders;\r\n }): Promise<T> => {\r\n const headers = options?.headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n const { get, set, has } = this.cacheService.create({\r\n url,\r\n headers,\r\n body\r\n }, {\r\n type: options?.cacheType,\r\n hours: options?.cacheHours\r\n });\r\n if (!has()) {\r\n const result = await this.post(url, body, options?.headers);\r\n set(result);\r\n return result;\r\n }\r\n return get();\r\n }\r\n\r\n put<T = any>(url: string, body?: any, headers?: HttpHeaders): Promise<T> {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n return new Promise<any>((resolve, reject) => {\r\n this.httpClient.put(encodeURI(url), body, {\r\n observe: 'response',\r\n headers\r\n }).pipe(timeout(this.#timeout)).toPromise().then(result => {\r\n if (result.ok) {\r\n resolve(result.body);\r\n } else {\r\n reject(result.body);\r\n }\r\n }).catch((httpErrorResponse: HttpErrorResponse) => {\r\n reject(httpErrorResponse);\r\n });\r\n });\r\n }\r\n\r\n #defineParams = (request: any) => {\r\n const rq = [];\r\n for (const [key, value] of Object.entries(request)) {\r\n if (value !== null && value !== undefined && value !== '' && value?.toString() !== '') {\r\n rq.push(\r\n `${encodeURIComponent(key as string)}=${encodeURIComponent(\r\n value as string\r\n )}`\r\n );\r\n }\r\n }\r\n return `?${rq?.join('&')}`;\r\n }\r\n\r\n getWithParams = <T = any>(url: string, params: any, options?: {\r\n headers?: HttpHeaders,\r\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n }): Promise<T> => {\r\n return this.get(`${url}${this.#defineParams(params)}`, options?.headers, { ...options, encodeURI: false });\r\n }\r\n\r\n getCacheWithParams = <T = any>(url: string, params: any, headers?: HttpHeaders, options?: {\r\n reload?: boolean,\r\n cacheType?: 'default' | 'session' | 'local';\r\n cacheHours?: number;\r\n headers?: HttpHeaders;\r\n }): Promise<T> => {\r\n return this.getCache(`${url}${this.#defineParams(params)}`, { ...options, headers, encodeURI: false });\r\n }\r\n\r\n get = <T = any>(url: string, headers?: HttpHeaders, options?: {\r\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n encodeURI?: boolean\r\n }): Promise<T> => {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n const encodedUrl = options?.encodeURI === false ? url : encodeURI(url);\r\n // const hashKey = hash({\r\n // encodedUrl,\r\n // headers\r\n // });\r\n const hashKey = hash({\r\n encodedUrl,\r\n headers\r\n });\r\n if (!this.#cache[hashKey] || Date.addMiliseconds(this.#cache[hashKey].createdDate, this.#cacheDuration) < new Date()) {\r\n this.#cache[hashKey] = {\r\n createdDate: new Date(),\r\n subject: new Subject()\r\n };\r\n if (options?.responseType && options.responseType !== 'json') {\r\n this.httpClient.get(encodedUrl, { observe: 'body', headers, responseType: options?.responseType as any })\r\n .pipe(timeout(this.#timeout)).subscribe((res) => {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res\r\n };\r\n this.#cache[hashKey].subject.next(res);\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n } else {\r\n this.httpClient.get(encodedUrl, { observe: 'response', headers })\r\n .pipe(timeout(this.#timeout)).subscribe((res) => {\r\n if (res.ok) {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.next(res.body);\r\n } else {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.error(res.body);\r\n }\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n }\r\n }\r\n if (this.#cache[hashKey].response?.status) {\r\n if (this.#cache[hashKey].response?.status === 'success') {\r\n return this.#cache[hashKey].response.result;\r\n }\r\n throw this.#cache[hashKey].response.result;\r\n }\r\n return this.#cache[hashKey].subject.pipe(take(1)).toPromise();\r\n }\r\n\r\n getCache = async <T = any>(url: string, options?: {\r\n reload?: boolean,\r\n cacheType?: 'default' | 'session' | 'local';\r\n cacheHours?: number;\r\n headers?: HttpHeaders;\r\n encodeURI?: boolean\r\n }): Promise<T> => {\r\n const headers = options?.headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n const encodedUrl = options?.encodeURI === false ? url : encodeURI(url);\r\n const { get, set, has } = this.cacheService.create({\r\n encodedUrl,\r\n headers\r\n }, {\r\n type: options?.cacheType,\r\n hours: options?.cacheHours\r\n });\r\n if (!has() || options?.reload) {\r\n const result = await this.get(encodedUrl, options?.headers, { encodeURI: false });\r\n set(result);\r\n return result;\r\n }\r\n return get();\r\n }\r\n\r\n delete<T = any>(url: string, headers?: HttpHeaders): Promise<T> {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n return new Promise<any>((resolve, reject) => {\r\n this.httpClient.delete(encodeURI(url), { observe: 'response', headers })\r\n .pipe(timeout(this.#timeout))\r\n .toPromise().then(result => {\r\n if (result.ok) {\r\n resolve(result.body);\r\n } else {\r\n reject(result.body);\r\n }\r\n }).catch((httpErrorResponse: HttpErrorResponse) => {\r\n reject(httpErrorResponse);\r\n });\r\n });\r\n }\r\n\r\n uploadSingle = (url: string, option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<any> => {\r\n return new Promise((resolve, reject) => {\r\n if ($(`#${this.uploadId}`).length) {\r\n $('body').children(`#${this.uploadId}`).remove();\r\n }\r\n $('body').append(`<input id='${this.uploadId}' style='display: none' type='file' />`);\r\n $(`#${this.uploadId}`).on('change', (evt: any) => {\r\n try {\r\n const target: DataTransfer = evt.target;\r\n const fileToUpload = target.files.item(0);\r\n this.upload(url, fileToUpload, option).then(resolve).catch(reject);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n $(`#${this.uploadId}`).trigger('click');\r\n });\r\n }\r\n\r\n upload = async (url: string, file: File, option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }) => {\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n const message = this.translate(`Invalid file extension`);\r\n throw new Error(message);\r\n }\r\n const extension = file.name.substring(lastDot + 1);\r\n if (option) {\r\n if (option.extensions?.length && !option.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n const message = `[${file.name}] ${this.translate('Uploaded file is not match extension')} ${option.extensions.join(', ')}`;\r\n throw new Error(message);\r\n }\r\n if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] ${this.translate('Max file size')} ${option.maxSizeInMb} Mbs`;\r\n throw new Error(message);\r\n }\r\n if (option.validator && option.validator(file.name)) {\r\n const message = option.validator(file.name);\r\n throw new Error(message);\r\n }\r\n }\r\n const formData: FormData = new FormData();\r\n formData.append('file', file, file.name);\r\n return await this.post(url, formData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { SdTokenService } from './token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdHttpService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private tokenService: SdTokenService) {\r\n }\r\n\r\n get =<T = any>(url: string, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.get<T>(url, option);\r\n }\r\n\r\n post = <T = any>(url: string, body?: any, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.post<T>(url, body, option);\r\n }\r\n\r\n put = <T = any>(url: string, body?: any, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.put<T>(url, body, option);\r\n }\r\n\r\n delete = <T = any>(url: string, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.delete<T>(url, option);\r\n }\r\n\r\n request = <T = any>(method: string, url: string, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.request<T>(method, url, option);\r\n }\r\n}\r\n\r\ninterface ObservableOption {\r\n body?: any;\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n observe?: 'body';\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n reportProgress?: boolean;\r\n responseType?: 'json';\r\n withCredentials?: boolean;\r\n}","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/api.module';\r\nexport * from './lib/token.service';\r\nexport * from './lib/api.model';\r\nexport * from './lib/api.service';\r\nexport * from './lib/http.service';\r\nexport * from './lib/http.interceptor';","/**\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-api.js","sources":["../../../../projects/sd-core/api/src/lib/api.model.ts","../../../../projects/sd-core/api/src/lib/token.service.ts","../../../../projects/sd-core/api/src/lib/http.interceptor.ts","../../../../projects/sd-core/api/src/lib/api.module.ts","../../../../projects/sd-core/api/src/lib/api.service.ts","../../../../projects/sd-core/api/src/lib/http.service.ts","../../../../projects/sd-core/api/src/public-api.ts","../../../../projects/sd-core/api/sd-angular-core-api.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { HttpErrorResponse, HttpHeaders, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport hash from 'object-hash';\r\n\r\nexport interface IApiConfiguration {\r\n host?: string;\r\n tokenHeader?: string;\r\n customHeaders?: (args?: { url?: string }) => HttpHeaders;\r\n beforeRemote?: (request: HttpRequest<any>) => void | Promise<void>;\r\n afterRemote?: (response: HttpResponse<any> | HttpErrorResponse) => void | Promise<void>;\r\n translate?: (value: string) => string;\r\n}\r\n\r\nexport const API_CONFIG = new InjectionToken<IApiConfiguration>('api.configuration');\r\n\r\nexport const TOKEN = hash({\r\n origin: location.origin,\r\n key: 'ed4a2ffc-af43-41fb-9ac9-970f43d99571'\r\n});","import { Injectable, Inject, Optional } from '@angular/core';\r\nimport { IApiConfiguration, API_CONFIG, TOKEN } from './api.model';\r\nimport { SdCacheService } from '@sd-angular/core/cache';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdTokenService {\r\n\r\n get token() {\r\n const { get } = this.cacheService.create<string>(TOKEN, {\r\n type: 'local',\r\n hours: 240\r\n });\r\n return get();\r\n }\r\n\r\n set = (token: string) => {\r\n const { set } = this.cacheService.create<string>(TOKEN, {\r\n type: 'local',\r\n hours: 240\r\n });\r\n set(token);\r\n }\r\n\r\n clear = () => {\r\n const { remove } = this.cacheService.create<string>(TOKEN, {\r\n type: 'local',\r\n hours: 240\r\n });\r\n remove();\r\n }\r\n\r\n customHeaders = (args?: { url?: string }) => {\r\n return this.configuration?.customHeaders?.(args) || null;\r\n }\r\n\r\n constructor(\r\n @Inject(API_CONFIG) @Optional() private configuration: IApiConfiguration,\r\n private cacheService: SdCacheService) {\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { from, Observable, of, throwError } from 'rxjs';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { API_CONFIG, IApiConfiguration } from './api.model';\r\nimport { SdTokenService } from './token.service';\r\n\r\n@Injectable()\r\nexport class SdHttpInterceptor implements HttpInterceptor {\r\n constructor(\r\n @Inject(API_CONFIG) @Optional() private configuration: IApiConfiguration,\r\n private tokenService: SdTokenService\r\n ) { }\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (this.configuration?.tokenHeader && this.tokenService.token) {\r\n request = request.clone({ headers: request.headers.set(this.configuration.tokenHeader, this.tokenService.token) });\r\n }\r\n\r\n if (!request.url.startsWith('http')) {\r\n request = request.clone({\r\n url: (this.configuration?.host || location.host) + request.url\r\n });\r\n }\r\n if (request.body instanceof FormData) {\r\n request = request.clone({\r\n headers: request.headers.delete('Content-Type')\r\n });\r\n }\r\n const beforeRemote = this.configuration?.beforeRemote?.(request);\r\n if (beforeRemote instanceof Promise) {\r\n return from(beforeRemote).pipe(\r\n switchMap(() => next.handle(request)),\r\n map((event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.configuration?.afterRemote?.(event);\r\n }\r\n return event;\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n this.configuration?.afterRemote?.(error);\r\n return throwError(error);\r\n }));\r\n }\r\n return next.handle(request).pipe(\r\n map((event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.configuration?.afterRemote?.(event);\r\n }\r\n return event;\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n this.configuration?.afterRemote?.(error);\r\n return throwError(error);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { SdHttpInterceptor } from './http.interceptor';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule,\r\n ],\r\n exports: [\r\n HttpClientModule\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: SdHttpInterceptor, multi: true }\r\n ],\r\n})\r\nexport class SdApiModule { }\r\n","import { Injectable, Inject, Optional } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { take, timeout } from 'rxjs/operators';\r\nimport { IApiConfiguration, API_CONFIG } from './api.model';\r\nimport { SdCacheService } from '@sd-angular/core/cache';\r\nimport { SdTokenService } from './token.service';\r\nimport { Subject } from 'rxjs';\r\nimport hash from 'object-hash';\r\nimport * as uuid from 'uuid';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdApiService {\r\n private uploadId = 'U118fefb1-3085-4641-8cb8-f7fe5c28f509';\r\n\r\n #timeout = 120000; // 120s\r\n\r\n #cacheDuration = 2000; // 2s\r\n #cache: {\r\n [key: string]: {\r\n createdDate: Date;\r\n subject: Subject<any>;\r\n response?: {\r\n status?: 'success' | 'error';\r\n result: any,\r\n }\r\n }\r\n } = {};\r\n\r\n private translate = (value: string): string => {\r\n return this.configuration?.translate(value) || value;\r\n }\r\n\r\n constructor(\r\n private httpClient: HttpClient,\r\n @Inject(API_CONFIG) @Optional() private configuration: IApiConfiguration,\r\n private cacheService: SdCacheService,\r\n private tokenService: SdTokenService) {\r\n }\r\n\r\n post = async <T = any>(url: string, body?: any, headers?: HttpHeaders, options?: {\r\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n }): Promise<T> => {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n let hashKey = uuid.v4();\r\n if (!(body instanceof FormData)) {\r\n hashKey = hash({\r\n url,\r\n headers,\r\n body\r\n });\r\n }\r\n if (!this.#cache[hashKey] || Date.addMiliseconds(this.#cache[hashKey].createdDate, this.#cacheDuration) < new Date()) {\r\n this.#cache[hashKey] = {\r\n createdDate: new Date(),\r\n subject: new Subject(),\r\n };\r\n if (options?.responseType && options.responseType !== 'json') {\r\n this.httpClient.post(encodeURI(url), body, {\r\n observe: 'body',\r\n headers,\r\n responseType: options?.responseType as any\r\n }).pipe(timeout(this.#timeout)).subscribe((res) => {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res\r\n };\r\n this.#cache[hashKey].subject.next(res);\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n } else {\r\n this.httpClient.post(encodeURI(url), body, {\r\n observe: 'response',\r\n headers\r\n }).pipe(timeout(this.#timeout)).subscribe((res) => {\r\n if (res.ok) {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.next(res.body);\r\n } else {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.error(res.body);\r\n }\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n }\r\n }\r\n if (this.#cache[hashKey].response?.status) {\r\n if (this.#cache[hashKey].response?.status === 'success') {\r\n return this.#cache[hashKey].response.result;\r\n }\r\n throw this.#cache[hashKey].response.result;\r\n }\r\n return this.#cache[hashKey].subject.pipe(take(1)).toPromise();\r\n }\r\n\r\n postCache = async <T = any>(url: string, body?: any, options?: {\r\n cacheType?: 'default' | 'session' | 'local';\r\n cacheHours?: number;\r\n headers?: HttpHeaders;\r\n }): Promise<T> => {\r\n const headers = options?.headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n const { get, set, has } = this.cacheService.create({\r\n url,\r\n headers,\r\n body\r\n }, {\r\n type: options?.cacheType,\r\n hours: options?.cacheHours\r\n });\r\n if (!has()) {\r\n const result = await this.post(url, body, options?.headers);\r\n set(result);\r\n return result;\r\n }\r\n return get();\r\n }\r\n\r\n put<T = any>(url: string, body?: any, headers?: HttpHeaders): Promise<T> {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n return new Promise<any>((resolve, reject) => {\r\n this.httpClient.put(encodeURI(url), body, {\r\n observe: 'response',\r\n headers\r\n }).pipe(timeout(this.#timeout)).toPromise().then(result => {\r\n if (result.ok) {\r\n resolve(result.body);\r\n } else {\r\n reject(result.body);\r\n }\r\n }).catch((httpErrorResponse: HttpErrorResponse) => {\r\n reject(httpErrorResponse);\r\n });\r\n });\r\n }\r\n\r\n #defineParams = (request: any) => {\r\n const rq = [];\r\n for (const [key, value] of Object.entries(request)) {\r\n if (value !== null && value !== undefined && value !== '' && value?.toString() !== '') {\r\n rq.push(\r\n `${encodeURIComponent(key as string)}=${encodeURIComponent(\r\n value as string\r\n )}`\r\n );\r\n }\r\n }\r\n return `?${rq?.join('&')}`;\r\n }\r\n\r\n getWithParams = <T = any>(url: string, params: any, options?: {\r\n headers?: HttpHeaders,\r\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n }): Promise<T> => {\r\n return this.get(`${url}${this.#defineParams(params)}`, options?.headers, { ...options, encodeURI: false });\r\n }\r\n\r\n getCacheWithParams = <T = any>(url: string, params: any, headers?: HttpHeaders, options?: {\r\n reload?: boolean,\r\n cacheType?: 'default' | 'session' | 'local';\r\n cacheHours?: number;\r\n headers?: HttpHeaders;\r\n }): Promise<T> => {\r\n return this.getCache(`${url}${this.#defineParams(params)}`, { ...options, headers, encodeURI: false });\r\n }\r\n\r\n get = <T = any>(url: string, headers?: HttpHeaders, options?: {\r\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n encodeURI?: boolean\r\n }): Promise<T> => {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n const encodedUrl = options?.encodeURI === false ? url : encodeURI(url);\r\n // const hashKey = hash({\r\n // encodedUrl,\r\n // headers\r\n // });\r\n const hashKey = hash({\r\n encodedUrl,\r\n headers\r\n });\r\n if (!this.#cache[hashKey] || Date.addMiliseconds(this.#cache[hashKey].createdDate, this.#cacheDuration) < new Date()) {\r\n this.#cache[hashKey] = {\r\n createdDate: new Date(),\r\n subject: new Subject()\r\n };\r\n if (options?.responseType && options.responseType !== 'json') {\r\n this.httpClient.get(encodedUrl, { observe: 'body', headers, responseType: options?.responseType as any })\r\n .pipe(timeout(this.#timeout)).subscribe((res) => {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res\r\n };\r\n this.#cache[hashKey].subject.next(res);\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n } else {\r\n this.httpClient.get(encodedUrl, { observe: 'response', headers })\r\n .pipe(timeout(this.#timeout)).subscribe((res) => {\r\n if (res.ok) {\r\n this.#cache[hashKey].response = {\r\n status: 'success',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.next(res.body);\r\n } else {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: res.body\r\n };\r\n this.#cache[hashKey].subject.error(res.body);\r\n }\r\n }, err => {\r\n this.#cache[hashKey].response = {\r\n status: 'error',\r\n result: err\r\n };\r\n this.#cache[hashKey].subject.error(err);\r\n });\r\n }\r\n }\r\n if (this.#cache[hashKey].response?.status) {\r\n if (this.#cache[hashKey].response?.status === 'success') {\r\n return this.#cache[hashKey].response.result;\r\n }\r\n throw this.#cache[hashKey].response.result;\r\n }\r\n return this.#cache[hashKey].subject.pipe(take(1)).toPromise();\r\n }\r\n\r\n getCache = async <T = any>(url: string, options?: {\r\n reload?: boolean,\r\n cacheType?: 'default' | 'session' | 'local';\r\n cacheHours?: number;\r\n headers?: HttpHeaders;\r\n encodeURI?: boolean\r\n }): Promise<T> => {\r\n const headers = options?.headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n const encodedUrl = options?.encodeURI === false ? url : encodeURI(url);\r\n const { get, set, has } = this.cacheService.create({\r\n encodedUrl,\r\n headers\r\n }, {\r\n type: options?.cacheType,\r\n hours: options?.cacheHours\r\n });\r\n if (!has() || options?.reload) {\r\n const result = await this.get(encodedUrl, options?.headers, { encodeURI: false });\r\n set(result);\r\n return result;\r\n }\r\n return get();\r\n }\r\n\r\n delete<T = any>(url: string, headers?: HttpHeaders): Promise<T> {\r\n headers = headers || this.tokenService.customHeaders({\r\n url\r\n });\r\n return new Promise<any>((resolve, reject) => {\r\n this.httpClient.delete(encodeURI(url), { observe: 'response', headers })\r\n .pipe(timeout(this.#timeout))\r\n .toPromise().then(result => {\r\n if (result.ok) {\r\n resolve(result.body);\r\n } else {\r\n reject(result.body);\r\n }\r\n }).catch((httpErrorResponse: HttpErrorResponse) => {\r\n reject(httpErrorResponse);\r\n });\r\n });\r\n }\r\n\r\n uploadSingle = (url: string, option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<any> => {\r\n return SdUtility.upload(option).then(file => this.upload(url, file));\r\n }\r\n\r\n upload = async (url: string, file: File) => {\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n const message = this.translate(`Invalid file extension`);\r\n throw new Error(message);\r\n }\r\n const formData: FormData = new FormData();\r\n formData.append('file', file, file.name);\r\n return await this.post(url, formData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { SdTokenService } from './token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdHttpService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private tokenService: SdTokenService) {\r\n }\r\n\r\n get =<T = any>(url: string, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.get<T>(url, option);\r\n }\r\n\r\n post = <T = any>(url: string, body?: any, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.post<T>(url, body, option);\r\n }\r\n\r\n put = <T = any>(url: string, body?: any, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.put<T>(url, body, option);\r\n }\r\n\r\n delete = <T = any>(url: string, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.delete<T>(url, option);\r\n }\r\n\r\n request = <T = any>(method: string, url: string, option?: ObservableOption): Observable<T> => {\r\n option = {\r\n ...option,\r\n headers: option.headers || this.tokenService.customHeaders({\r\n url\r\n })\r\n }\r\n return this.httpClient.request<T>(method, url, option);\r\n }\r\n}\r\n\r\ninterface ObservableOption {\r\n body?: any;\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n observe?: 'body';\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n reportProgress?: boolean;\r\n responseType?: 'json';\r\n withCredentials?: boolean;\r\n}","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/api.module';\r\nexport * from './lib/token.service';\r\nexport * from './lib/api.model';\r\nexport * from './lib/api.service';\r\nexport * from './lib/http.service';\r\nexport * from './lib/http.interceptor';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":";;;;;;;;;MAaa,UAAU,GAAG,IAAI,cAAc,CAAoB,mBAAmB,EAAE;MAExE,KAAK,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,GAAG,EAAE,sCAAsC;CAC5C;;MCXY,cAAc;IA8BzB,YAC0C,aAAgC,EAChE,YAA4B;QADI,kBAAa,GAAb,aAAa,CAAmB;QAChE,iBAAY,GAAZ,YAAY,CAAgB;QAtBtC,QAAG,GAAG,CAAC,KAAa;YAClB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAS,KAAK,EAAE;gBACtD,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,CAAC;SACZ,CAAA;QAED,UAAK,GAAG;YACN,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAS,KAAK,EAAE;gBACzD,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,MAAM,EAAE,CAAC;SACV,CAAA;QAED,kBAAa,GAAG,CAAC,IAAuB;;YACtC,OAAO,aAAA,IAAI,CAAC,aAAa,0CAAE,aAAa,mDAAG,IAAI,MAAK,IAAI,CAAC;SAC1D,CAAA;KAKA;IA/BD,IAAI,KAAK;QACP,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAS,KAAK,EAAE;YACtD,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC;KACd;;;;YAXF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;4CAgCI,MAAM,SAAC,UAAU,cAAG,QAAQ;YApCxB,cAAc;;;MCMV,iBAAiB;IAC5B,YAC0C,aAAgC,EAChE,YAA4B;QADI,kBAAa,GAAb,aAAa,CAAmB;QAChE,iBAAY,GAAZ,YAAY,CAAgB;KACjC;IACL,SAAS,CAAC,OAAyB,EAAE,IAAiB;;QACpD,IAAI,OAAA,IAAI,CAAC,aAAa,0CAAE,WAAW,KAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC9D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACpH;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACnC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;gBACtB,GAAG,EAAE,CAAC,OAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,KAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG;aAC/D,CAAC,CAAC;SACJ;QACD,IAAI,OAAO,CAAC,IAAI,YAAY,QAAQ,EAAE;YACpC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;aAChD,CAAC,CAAC;SACJ;QACD,MAAM,YAAY,eAAG,IAAI,CAAC,aAAa,0CAAE,YAAY,mDAAG,OAAO,CAAC,CAAC;QACjE,IAAI,YAAY,YAAY,OAAO,EAAE;YACnC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAC5B,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EACrC,GAAG,CAAC,CAAC,KAAqB;;gBACxB,IAAI,KAAK,YAAY,YAAY,EAAE;oBACjC,YAAA,IAAI,CAAC,aAAa,0CAAE,WAAW,mDAAG,KAAK,EAAE;iBAC1C;gBACD,OAAO,KAAK,CAAC;aACd,CAAC,EACF,UAAU,CAAC,CAAC,KAAwB;;gBAClC,YAAA,IAAI,CAAC,aAAa,0CAAE,WAAW,mDAAG,KAAK,EAAE;gBACzC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;aAC1B,CAAC,CAAC,CAAC;SACP;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9B,GAAG,CAAC,CAAC,KAAqB;;YACxB,IAAI,KAAK,YAAY,YAAY,EAAE;gBACjC,YAAA,IAAI,CAAC,aAAa,0CAAE,WAAW,mDAAG,KAAK,EAAE;aAC1C;YACD,OAAO,KAAK,CAAC;SACd,CAAC,EACF,UAAU,CAAC,CAAC,KAAwB;;YAClC,YAAA,IAAI,CAAC,aAAa,0CAAE,WAAW,mDAAG,KAAK,EAAE;YACzC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;SAC1B,CAAC,CAAC,CAAC;KACP;;;YA/CF,UAAU;;;4CAGN,MAAM,SAAC,UAAU,cAAG,QAAQ;YALxB,cAAc;;;MCUV,WAAW;;;YAXvB,QAAQ,SAAC;gBACR,OAAO,EAAE;oBACP,gBAAgB;iBACjB;gBACD,OAAO,EAAE;oBACP,gBAAgB;iBACjB;gBACD,SAAS,EAAE;oBACT,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE;iBACzE;aACF;;;;MCDY,YAAY;IAqBvB,YACU,UAAsB,EACU,aAAgC,EAChE,YAA4B,EAC5B,YAA4B;QAH5B,eAAU,GAAV,UAAU,CAAY;QACU,kBAAa,GAAb,aAAa,CAAmB;QAChE,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,iBAAY,GAAZ,YAAY,CAAgB;QAxB9B,aAAQ,GAAG,uCAAuC,CAAC;QAE3D,mBAAW,MAAM,EAAC;QAElB,yBAAiB,IAAI,EAAC;QACtB,iBASI,EAAE,EAAC;QAEC,cAAS,GAAG,CAAC,KAAa;;YAChC,OAAO,OAAA,IAAI,CAAC,aAAa,0CAAE,SAAS,CAAC,KAAK,MAAK,KAAK,CAAC;SACtD,CAAA;QASD,SAAI,GAAG,CAAgB,GAAW,EAAE,IAAU,EAAE,OAAqB,EAAE,OAEtE;;YACC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;gBACnD,GAAG;aACJ,CAAC,CAAC;YACH,IAAI,OAAO,GAAGA,EAAO,EAAE,CAAC;YACxB,IAAI,EAAE,IAAI,YAAY,QAAQ,CAAC,EAAE;gBAC/B,OAAO,GAAG,IAAI,CAAC;oBACb,GAAG;oBACH,OAAO;oBACP,IAAI;iBACL,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,qCAAY,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,qCAAY,OAAO,CAAC,CAAC,WAAW,+CAAsB,GAAG,IAAI,IAAI,EAAE,EAAE;gBACpH,qCAAY,OAAO,CAAC,GAAG;oBACrB,WAAW,EAAE,IAAI,IAAI,EAAE;oBACvB,OAAO,EAAE,IAAI,OAAO,EAAE;iBACvB,CAAC;gBACF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE;oBAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;wBACzC,OAAO,EAAE,MAAM;wBACf,OAAO;wBACP,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAmB;qBAC3C,CAAC,CAAC,IAAI,CAAC,OAAO,wCAAe,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG;wBAC5C,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;4BAC9B,MAAM,EAAE,SAAS;4BACjB,MAAM,EAAE,GAAG;yBACZ,CAAC;wBACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACxC,EAAE,GAAG;wBACJ,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;4BAC9B,MAAM,EAAE,OAAO;4BACf,MAAM,EAAE,GAAG;yBACZ,CAAC;wBACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACzC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;wBACzC,OAAO,EAAE,UAAU;wBACnB,OAAO;qBACR,CAAC,CAAC,IAAI,CAAC,OAAO,wCAAe,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG;wBAC5C,IAAI,GAAG,CAAC,EAAE,EAAE;4BACV,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;gCAC9B,MAAM,EAAE,SAAS;gCACjB,MAAM,EAAE,GAAG,CAAC,IAAI;6BACjB,CAAC;4BACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC7C;6BAAM;4BACL,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;gCAC9B,MAAM,EAAE,OAAO;gCACf,MAAM,EAAE,GAAG,CAAC,IAAI;6BACjB,CAAC;4BACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC9C;qBACF,EAAE,GAAG;wBACJ,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;4BAC9B,MAAM,EAAE,OAAO;4BACf,MAAM,EAAE,GAAG;yBACZ,CAAC;wBACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACzC,CAAC,CAAC;iBACJ;aACF;YACD,UAAI,qCAAY,OAAO,CAAC,CAAC,QAAQ,0CAAE,MAAM,EAAE;gBACzC,IAAI,OAAA,qCAAY,OAAO,CAAC,CAAC,QAAQ,0CAAE,MAAM,MAAK,SAAS,EAAE;oBACvD,OAAO,qCAAY,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAC7C;gBACD,MAAM,qCAAY,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;aAC5C;YACD,OAAO,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;SAC/D,CAAA,CAAA;QAED,cAAS,GAAG,CAAgB,GAAW,EAAE,IAAU,EAAE,OAIpD;YACC,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;gBAClE,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACjD,GAAG;gBACH,OAAO;gBACP,IAAI;aACL,EAAE;gBACD,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;gBACxB,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,EAAE,EAAE;gBACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAC5D,GAAG,CAAC,MAAM,CAAC,CAAC;gBACZ,OAAO,MAAM,CAAC;aACf;YACD,OAAO,GAAG,EAAE,CAAC;SACd,CAAA,CAAA;QAsBD,wBAAgB,CAAC,OAAY;YAC3B,MAAM,EAAE,GAAG,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAClD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,QAAO,EAAE,EAAE;oBACrF,EAAE,CAAC,IAAI,CACL,GAAG,kBAAkB,CAAC,GAAa,CAAC,IAAI,kBAAkB,CACxD,KAAe,CAChB,EAAE,CACJ,CAAC;iBACH;aACF;YACD,OAAO,IAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SAC5B,EAAA;QAED,kBAAa,GAAG,CAAU,GAAW,EAAE,MAAW,EAAE,OAGnD;YACC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,iDAAA,IAAI,EAAe,MAAM,CAAC,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,kCAAO,OAAO,KAAE,SAAS,EAAE,KAAK,IAAG,CAAC;SAC5G,CAAA;QAED,uBAAkB,GAAG,CAAU,GAAW,EAAE,MAAW,EAAE,OAAqB,EAAE,OAK/E;YACC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,iDAAA,IAAI,EAAe,MAAM,CAAC,EAAE,kCAAO,OAAO,KAAE,OAAO,EAAE,SAAS,EAAE,KAAK,IAAG,CAAC;SACxG,CAAA;QAED,QAAG,GAAG,CAAU,GAAW,EAAE,OAAqB,EAAE,OAGnD;;YACC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;gBACnD,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;;;;;YAKvE,MAAM,OAAO,GAAG,IAAI,CAAC;gBACnB,UAAU;gBACV,OAAO;aACR,CAAC,CAAC;YACH,IAAI,CAAC,qCAAY,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,qCAAY,OAAO,CAAC,CAAC,WAAW,+CAAsB,GAAG,IAAI,IAAI,EAAE,EAAE;gBACpH,qCAAY,OAAO,CAAC,GAAG;oBACrB,WAAW,EAAE,IAAI,IAAI,EAAE;oBACvB,OAAO,EAAE,IAAI,OAAO,EAAE;iBACvB,CAAC;gBACF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE;oBAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAmB,EAAE,CAAC;yBACtG,IAAI,CAAC,OAAO,wCAAe,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG;wBAC1C,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;4BAC9B,MAAM,EAAE,SAAS;4BACjB,MAAM,EAAE,GAAG;yBACZ,CAAC;wBACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACxC,EAAE,GAAG;wBACJ,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;4BAC9B,MAAM,EAAE,OAAO;4BACf,MAAM,EAAE,GAAG;yBACZ,CAAC;wBACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACzC,CAAC,CAAC;iBACN;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;yBAC9D,IAAI,CAAC,OAAO,wCAAe,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG;wBAC1C,IAAI,GAAG,CAAC,EAAE,EAAE;4BACV,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;gCAC9B,MAAM,EAAE,SAAS;gCACjB,MAAM,EAAE,GAAG,CAAC,IAAI;6BACjB,CAAC;4BACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC7C;6BAAM;4BACL,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;gCAC9B,MAAM,EAAE,OAAO;gCACf,MAAM,EAAE,GAAG,CAAC,IAAI;6BACjB,CAAC;4BACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC9C;qBACF,EAAE,GAAG;wBACJ,qCAAY,OAAO,CAAC,CAAC,QAAQ,GAAG;4BAC9B,MAAM,EAAE,OAAO;4BACf,MAAM,EAAE,GAAG;yBACZ,CAAC;wBACF,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACzC,CAAC,CAAC;iBACN;aACF;YACD,UAAI,qCAAY,OAAO,CAAC,CAAC,QAAQ,0CAAE,MAAM,EAAE;gBACzC,IAAI,OAAA,qCAAY,OAAO,CAAC,CAAC,QAAQ,0CAAE,MAAM,MAAK,SAAS,EAAE;oBACvD,OAAO,qCAAY,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAC7C;gBACD,MAAM,qCAAY,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;aAC5C;YACD,OAAO,qCAAY,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;SAC/D,CAAA;QAED,aAAQ,GAAG,CAAgB,GAAW,EAAE,OAMvC;YACC,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;gBAClE,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACjD,UAAU;gBACV,OAAO;aACR,EAAE;gBACD,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;gBACxB,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,EAAE,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;gBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClF,GAAG,CAAC,MAAM,CAAC,CAAC;gBACZ,OAAO,MAAM,CAAC;aACf;YACD,OAAO,GAAG,EAAE,CAAC;SACd,CAAA,CAAA;QAqBD,iBAAY,GAAG,CAAC,GAAW,EAAE,MAI5B;YACC,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;SACtE,CAAA;QAED,WAAM,GAAG,CAAO,GAAW,EAAE,IAAU;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;YACD,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;YAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SACvC,CAAA,CAAA;KAzRA;IAmGD,GAAG,CAAU,GAAW,EAAE,IAAU,EAAE,OAAqB;QACzD,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACnD,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;gBACxC,OAAO,EAAE,UAAU;gBACnB,OAAO;aACR,CAAC,CAAC,IAAI,CAAC,OAAO,wCAAe,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM;gBACrD,IAAI,MAAM,CAAC,EAAE,EAAE;oBACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACtB;qBAAM;oBACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACrB;aACF,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAoC;gBAC5C,MAAM,CAAC,iBAAiB,CAAC,CAAC;aAC3B,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAgID,MAAM,CAAU,GAAW,EAAE,OAAqB;QAChD,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACnD,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;iBACrE,IAAI,CAAC,OAAO,wCAAe,CAAC;iBAC5B,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM;gBACtB,IAAI,MAAM,CAAC,EAAE,EAAE;oBACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACtB;qBAAM;oBACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACrB;aACF,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAoC;gBAC5C,MAAM,CAAC,iBAAiB,CAAC,CAAC;aAC3B,CAAC,CAAC;SACN,CAAC,CAAC;KACJ;;;;;YAnSF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;YAXQ,UAAU;4CAmCd,MAAM,SAAC,UAAU,cAAG,QAAQ;YAhCxB,cAAc;YACd,cAAc;;;MCGV,aAAa;IACxB,YACU,UAAsB,EACtB,YAA4B;QAD5B,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAgB;QAGtC,QAAG,GAAE,CAAU,GAAW,EAAE,MAAyB;YACnD,MAAM,mCACD,MAAM,KACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBACzD,GAAG;iBACJ,CAAC,GACH,CAAA;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;SAC5C,CAAA;QAED,SAAI,GAAG,CAAU,GAAW,EAAE,IAAU,EAAE,MAAyB;YACjE,MAAM,mCACD,MAAM,KACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBACzD,GAAG;iBACJ,CAAC,GACH,CAAA;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACnD,CAAA;QAED,QAAG,GAAG,CAAU,GAAW,EAAE,IAAU,EAAE,MAAyB;YAChE,MAAM,mCACD,MAAM,KACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBACzD,GAAG;iBACJ,CAAC,GACH,CAAA;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SAClD,CAAA;QAED,WAAM,GAAG,CAAU,GAAW,EAAE,MAAyB;YACvD,MAAM,mCACD,MAAM,KACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBACzD,GAAG;iBACJ,CAAC,GACH,CAAA;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;SAC/C,CAAA;QAED,YAAO,GAAG,CAAU,MAAc,EAAE,GAAW,EAAE,MAAyB;YACxE,MAAM,mCACD,MAAM,KACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBACzD,GAAG;iBACJ,CAAC,GACH,CAAA;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;SACxD,CAAA;KAlDA;;;;YAPF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;YANQ,UAAU;YAEV,cAAc;;;ACHvB;;;;ACAA;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { of, Subject } from 'rxjs';
2
2
  import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
3
- import { InjectionToken, ɵɵdefineInjectable, Injectable, Directive, TemplateRef, ViewContainerRef, Input, ElementRef, Renderer2, HostListener, NgModule } from '@angular/core';
3
+ import { InjectionToken, ɵɵdefineInjectable, Injectable, Directive, TemplateRef, ViewContainerRef, Input, ElementRef, Renderer2, HostListener, IterableDiffers, NgModule } from '@angular/core';
4
4
  import { FormControl } from '@angular/forms';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
@@ -896,6 +896,87 @@ SdLabelDefDirective.ctorParameters = () => [
896
896
  { type: TemplateRef }
897
897
  ];
898
898
 
899
+ class SdForDirective {
900
+ constructor(templateRef, viewContainer, differs) {
901
+ this.templateRef = templateRef;
902
+ this.viewContainer = viewContainer;
903
+ this.differs = differs;
904
+ this.items = [];
905
+ this.viewRefsMap = new Map();
906
+ this.itemsAtOnce = 20;
907
+ this.intervalLength = 50;
908
+ }
909
+ set ngxtForOf(items) {
910
+ this.items = items;
911
+ if (items) {
912
+ this._diffrence = this.differs.find(items).create();
913
+ }
914
+ //Clear any existing items
915
+ this.viewContainer.clear();
916
+ }
917
+ ngDoCheck() {
918
+ if (this._diffrence) {
919
+ const changes = this._diffrence.diff(this.items);
920
+ if (changes) {
921
+ const itemsAdded = [];
922
+ changes.forEachAddedItem(item => {
923
+ itemsAdded.push(item);
924
+ });
925
+ this.progressiveRender(itemsAdded);
926
+ changes.forEachRemovedItem(item => {
927
+ const mapView = this.viewRefsMap.get(item.item);
928
+ const viewIndex = this.viewContainer.indexOf(mapView);
929
+ this.viewContainer.remove(viewIndex);
930
+ this.viewRefsMap.delete(item.item);
931
+ });
932
+ }
933
+ }
934
+ }
935
+ progressiveRender(items) {
936
+ let interval;
937
+ let start = 0;
938
+ let end = start + this.itemsAtOnce;
939
+ if (end > items.length) {
940
+ end = items.length;
941
+ }
942
+ this.renderItems(items, start, end);
943
+ interval = setInterval(() => {
944
+ start = end;
945
+ end = start + this.itemsAtOnce;
946
+ if (end > items.length) {
947
+ end = items.length;
948
+ }
949
+ this.renderItems(items, start, end);
950
+ if (start >= items.length) {
951
+ clearInterval(interval);
952
+ }
953
+ }, this.intervalLength);
954
+ }
955
+ renderItems(items, start, end) {
956
+ items.slice(start, end).forEach(item => {
957
+ const embeddedView = this.viewContainer.createEmbeddedView(this.templateRef, {
958
+ $implicit: item.item
959
+ }, item.currentIndex || 0);
960
+ this.viewRefsMap.set(item.item, embeddedView);
961
+ });
962
+ }
963
+ }
964
+ SdForDirective.decorators = [
965
+ { type: Directive, args: [{
966
+ selector: '[sdFor]'
967
+ },] }
968
+ ];
969
+ SdForDirective.ctorParameters = () => [
970
+ { type: TemplateRef },
971
+ { type: ViewContainerRef },
972
+ { type: IterableDiffers }
973
+ ];
974
+ SdForDirective.propDecorators = {
975
+ ngxtForOf: [{ type: Input, args: ['ngxtForOf',] }],
976
+ itemsAtOnce: [{ type: Input, args: ['ngxtForItemsAtOnce',] }],
977
+ intervalLength: [{ type: Input, args: ['ngxtForIntervalLength',] }]
978
+ };
979
+
899
980
  // import './typings';
900
981
  class SdCommonModule {
901
982
  }
@@ -905,6 +986,7 @@ SdCommonModule.decorators = [
905
986
  CommonModule
906
987
  ],
907
988
  declarations: [
989
+ SdForDirective,
908
990
  SdViewDefDirective,
909
991
  SdLetDirective,
910
992
  SdScrollDirective,
@@ -912,6 +994,7 @@ SdCommonModule.decorators = [
912
994
  SdLabelDefDirective
913
995
  ],
914
996
  exports: [
997
+ SdForDirective,
915
998
  SdViewDefDirective,
916
999
  SdLetDirective,
917
1000
  SdScrollDirective,
@@ -926,5 +1009,5 @@ SdCommonModule.decorators = [
926
1009
  * Generated bundle index. Do not edit.
927
1010
  */
928
1011
 
929
- export { FIREBASE_CONFIG, FORM_CONFIG, SdBrowserService, SdCommonModule, SdFormControl, SdLabelDefDirective, SdLetDirective, SdScrollDirective, SdSuffixDirective, SdViewDefDirective };
1012
+ export { FIREBASE_CONFIG, FORM_CONFIG, SdBrowserService, SdCommonModule, SdFormControl, SdLabelDefDirective, SdLetDirective, SdScrollDirective, SdSuffixDirective, SdViewDefDirective, SdForDirective as ɵa };
930
1013
  //# sourceMappingURL=sd-angular-core-common.js.map