@sd-angular/core 1.2.99 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (805) hide show
  1. package/api/package.json +12 -1
  2. package/api/sd-angular-core-api.d.ts +2 -0
  3. package/api/sd-angular-core-api.d.ts.__ivy_ngcc_bak +4 -0
  4. package/api/sd-angular-core-api.d.ts.map +1 -0
  5. package/autocomplete/package.json +12 -1
  6. package/autocomplete/sd-angular-core-autocomplete.d.ts +2 -0
  7. package/autocomplete/sd-angular-core-autocomplete.d.ts.__ivy_ngcc_bak +4 -0
  8. package/autocomplete/sd-angular-core-autocomplete.d.ts.map +1 -0
  9. package/badge/package.json +12 -1
  10. package/badge/sd-angular-core-badge.d.ts +2 -0
  11. package/badge/sd-angular-core-badge.d.ts.__ivy_ngcc_bak +4 -0
  12. package/badge/sd-angular-core-badge.d.ts.map +1 -0
  13. package/bundles/sd-angular-core-api.umd.js +2 -1
  14. package/bundles/sd-angular-core-api.umd.js.__ivy_ngcc_bak +876 -0
  15. package/bundles/sd-angular-core-api.umd.js.map +1 -1
  16. package/bundles/sd-angular-core-api.umd.js.map.__ivy_ngcc_bak +1 -0
  17. package/bundles/sd-angular-core-autocomplete.umd.js +2 -1
  18. package/bundles/sd-angular-core-autocomplete.umd.js.__ivy_ngcc_bak +791 -0
  19. package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
  20. package/bundles/sd-angular-core-autocomplete.umd.js.map.__ivy_ngcc_bak +1 -0
  21. package/bundles/sd-angular-core-badge.umd.js +2 -1
  22. package/bundles/sd-angular-core-badge.umd.js.__ivy_ngcc_bak +89 -0
  23. package/bundles/sd-angular-core-badge.umd.js.map +1 -1
  24. package/bundles/sd-angular-core-badge.umd.js.map.__ivy_ngcc_bak +1 -0
  25. package/bundles/sd-angular-core-button.umd.js +2 -1
  26. package/bundles/sd-angular-core-button.umd.js.__ivy_ngcc_bak +447 -0
  27. package/bundles/sd-angular-core-button.umd.js.map +1 -1
  28. package/bundles/sd-angular-core-button.umd.js.map.__ivy_ngcc_bak +1 -0
  29. package/bundles/sd-angular-core-cache.umd.js +2 -1
  30. package/bundles/sd-angular-core-cache.umd.js.__ivy_ngcc_bak +623 -0
  31. package/bundles/sd-angular-core-cache.umd.js.map +1 -1
  32. package/bundles/sd-angular-core-cache.umd.js.map.__ivy_ngcc_bak +1 -0
  33. package/bundles/sd-angular-core-chart.umd.js +2 -1
  34. package/bundles/sd-angular-core-chart.umd.js.__ivy_ngcc_bak +1106 -0
  35. package/bundles/sd-angular-core-chart.umd.js.map +1 -1
  36. package/bundles/sd-angular-core-chart.umd.js.map.__ivy_ngcc_bak +1 -0
  37. package/bundles/sd-angular-core-checkbox.umd.js +2 -1
  38. package/bundles/sd-angular-core-checkbox.umd.js.__ivy_ngcc_bak +461 -0
  39. package/bundles/sd-angular-core-checkbox.umd.js.map +1 -1
  40. package/bundles/sd-angular-core-checkbox.umd.js.map.__ivy_ngcc_bak +1 -0
  41. package/bundles/sd-angular-core-chip.umd.js +2 -1
  42. package/bundles/sd-angular-core-chip.umd.js.__ivy_ngcc_bak +1051 -0
  43. package/bundles/sd-angular-core-chip.umd.js.map +1 -1
  44. package/bundles/sd-angular-core-chip.umd.js.map.__ivy_ngcc_bak +1 -0
  45. package/bundles/sd-angular-core-comment.umd.js +2 -1
  46. package/bundles/sd-angular-core-comment.umd.js.__ivy_ngcc_bak +456 -0
  47. package/bundles/sd-angular-core-comment.umd.js.map +1 -1
  48. package/bundles/sd-angular-core-comment.umd.js.map.__ivy_ngcc_bak +1 -0
  49. package/bundles/sd-angular-core-common.umd.js +2 -1
  50. package/bundles/sd-angular-core-common.umd.js.__ivy_ngcc_bak +962 -0
  51. package/bundles/sd-angular-core-common.umd.js.map +1 -1
  52. package/bundles/sd-angular-core-common.umd.js.map.__ivy_ngcc_bak +1 -0
  53. package/bundles/sd-angular-core-confirm.umd.js +2 -1
  54. package/bundles/sd-angular-core-confirm.umd.js.__ivy_ngcc_bak +159 -0
  55. package/bundles/sd-angular-core-confirm.umd.js.map +1 -1
  56. package/bundles/sd-angular-core-confirm.umd.js.map.__ivy_ngcc_bak +1 -0
  57. package/bundles/sd-angular-core-date-month.umd.js +2 -1
  58. package/bundles/sd-angular-core-date-month.umd.js.__ivy_ngcc_bak +650 -0
  59. package/bundles/sd-angular-core-date-month.umd.js.map +1 -1
  60. package/bundles/sd-angular-core-date-month.umd.js.map.__ivy_ngcc_bak +1 -0
  61. package/bundles/sd-angular-core-date-range.umd.js +2 -1
  62. package/bundles/sd-angular-core-date-range.umd.js.__ivy_ngcc_bak +660 -0
  63. package/bundles/sd-angular-core-date-range.umd.js.map +1 -1
  64. package/bundles/sd-angular-core-date-range.umd.js.map.__ivy_ngcc_bak +1 -0
  65. package/bundles/sd-angular-core-date-time.umd.js +2 -1
  66. package/bundles/sd-angular-core-date-time.umd.js.__ivy_ngcc_bak +734 -0
  67. package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
  68. package/bundles/sd-angular-core-date-time.umd.js.map.__ivy_ngcc_bak +1 -0
  69. package/bundles/sd-angular-core-db.umd.js +2 -1
  70. package/bundles/sd-angular-core-db.umd.js.__ivy_ngcc_bak +475 -0
  71. package/bundles/sd-angular-core-db.umd.js.map +1 -1
  72. package/bundles/sd-angular-core-db.umd.js.map.__ivy_ngcc_bak +1 -0
  73. package/bundles/sd-angular-core-dynamic-report.umd.js +2 -1
  74. package/bundles/sd-angular-core-dynamic-report.umd.js.__ivy_ngcc_bak +96 -0
  75. package/bundles/sd-angular-core-dynamic-report.umd.js.map +1 -1
  76. package/bundles/sd-angular-core-dynamic-report.umd.js.map.__ivy_ngcc_bak +1 -0
  77. package/bundles/sd-angular-core-editor.umd.js +2 -1
  78. package/bundles/sd-angular-core-editor.umd.js.__ivy_ngcc_bak +943 -0
  79. package/bundles/sd-angular-core-editor.umd.js.map +1 -1
  80. package/bundles/sd-angular-core-editor.umd.js.map.__ivy_ngcc_bak +1 -0
  81. package/bundles/sd-angular-core-excel.umd.js +2 -1
  82. package/bundles/sd-angular-core-excel.umd.js.__ivy_ngcc_bak +500 -0
  83. package/bundles/sd-angular-core-excel.umd.js.map +1 -1
  84. package/bundles/sd-angular-core-excel.umd.js.map.__ivy_ngcc_bak +1 -0
  85. package/bundles/sd-angular-core-export.umd.js +2 -1
  86. package/bundles/sd-angular-core-export.umd.js.__ivy_ngcc_bak +712 -0
  87. package/bundles/sd-angular-core-export.umd.js.map +1 -1
  88. package/bundles/sd-angular-core-export.umd.js.map.__ivy_ngcc_bak +1 -0
  89. package/bundles/sd-angular-core-filter.umd.js +2 -1
  90. package/bundles/sd-angular-core-filter.umd.js.__ivy_ngcc_bak +703 -0
  91. package/bundles/sd-angular-core-filter.umd.js.map +1 -1
  92. package/bundles/sd-angular-core-filter.umd.js.map.__ivy_ngcc_bak +1 -0
  93. package/bundles/sd-angular-core-form.umd.js +2 -1
  94. package/bundles/sd-angular-core-form.umd.js.__ivy_ngcc_bak +88 -0
  95. package/bundles/sd-angular-core-form.umd.js.map +1 -1
  96. package/bundles/sd-angular-core-form.umd.js.map.__ivy_ngcc_bak +1 -0
  97. package/bundles/sd-angular-core-grid-material.umd.js +2 -1
  98. package/bundles/sd-angular-core-grid-material.umd.js.__ivy_ngcc_bak +5029 -0
  99. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  100. package/bundles/sd-angular-core-grid-material.umd.js.map.__ivy_ngcc_bak +1 -0
  101. package/bundles/sd-angular-core-grid.umd.js +2 -1
  102. package/bundles/sd-angular-core-grid.umd.js.__ivy_ngcc_bak +5125 -0
  103. package/bundles/sd-angular-core-grid.umd.js.map +1 -1
  104. package/bundles/sd-angular-core-grid.umd.js.map.__ivy_ngcc_bak +1 -0
  105. package/bundles/sd-angular-core-group.umd.js +2 -1
  106. package/bundles/sd-angular-core-group.umd.js.__ivy_ngcc_bak +93 -0
  107. package/bundles/sd-angular-core-group.umd.js.map +1 -1
  108. package/bundles/sd-angular-core-group.umd.js.map.__ivy_ngcc_bak +1 -0
  109. package/bundles/sd-angular-core-header-title.umd.js +2 -1
  110. package/bundles/sd-angular-core-header-title.umd.js.__ivy_ngcc_bak +56 -0
  111. package/bundles/sd-angular-core-header-title.umd.js.map +1 -1
  112. package/bundles/sd-angular-core-header-title.umd.js.map.__ivy_ngcc_bak +1 -0
  113. package/bundles/sd-angular-core-image-preview.umd.js +2 -1
  114. package/bundles/sd-angular-core-image-preview.umd.js.__ivy_ngcc_bak +121 -0
  115. package/bundles/sd-angular-core-image-preview.umd.js.map +1 -1
  116. package/bundles/sd-angular-core-image-preview.umd.js.map.__ivy_ngcc_bak +1 -0
  117. package/bundles/sd-angular-core-input-currency.umd.js +2 -1
  118. package/bundles/sd-angular-core-input-currency.umd.js.__ivy_ngcc_bak +737 -0
  119. package/bundles/sd-angular-core-input-currency.umd.js.map +1 -1
  120. package/bundles/sd-angular-core-input-currency.umd.js.map.__ivy_ngcc_bak +1 -0
  121. package/bundles/sd-angular-core-input-dropdown.umd.js +2 -1
  122. package/bundles/sd-angular-core-input-dropdown.umd.js.__ivy_ngcc_bak +634 -0
  123. package/bundles/sd-angular-core-input-dropdown.umd.js.map +1 -1
  124. package/bundles/sd-angular-core-input-dropdown.umd.js.map.__ivy_ngcc_bak +1 -0
  125. package/bundles/sd-angular-core-input-number.umd.js +2 -1
  126. package/bundles/sd-angular-core-input-number.umd.js.__ivy_ngcc_bak +792 -0
  127. package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
  128. package/bundles/sd-angular-core-input-number.umd.js.map.__ivy_ngcc_bak +1 -0
  129. package/bundles/sd-angular-core-input-upload-file.umd.js +2 -1
  130. package/bundles/sd-angular-core-input-upload-file.umd.js.__ivy_ngcc_bak +648 -0
  131. package/bundles/sd-angular-core-input-upload-file.umd.js.map +1 -1
  132. package/bundles/sd-angular-core-input-upload-file.umd.js.map.__ivy_ngcc_bak +1 -0
  133. package/bundles/sd-angular-core-input.umd.js +2 -1
  134. package/bundles/sd-angular-core-input.umd.js.__ivy_ngcc_bak +798 -0
  135. package/bundles/sd-angular-core-input.umd.js.map +1 -1
  136. package/bundles/sd-angular-core-input.umd.js.map.__ivy_ngcc_bak +1 -0
  137. package/bundles/sd-angular-core-json-editor.umd.js +2 -1
  138. package/bundles/sd-angular-core-json-editor.umd.js.__ivy_ngcc_bak +523 -0
  139. package/bundles/sd-angular-core-json-editor.umd.js.map +1 -1
  140. package/bundles/sd-angular-core-json-editor.umd.js.map.__ivy_ngcc_bak +1 -0
  141. package/bundles/sd-angular-core-konva.umd.js +2 -1
  142. package/bundles/sd-angular-core-konva.umd.js.__ivy_ngcc_bak +605 -0
  143. package/bundles/sd-angular-core-konva.umd.js.map +1 -1
  144. package/bundles/sd-angular-core-konva.umd.js.map.__ivy_ngcc_bak +1 -0
  145. package/bundles/sd-angular-core-label.umd.js +2 -1
  146. package/bundles/sd-angular-core-label.umd.js.__ivy_ngcc_bak +60 -0
  147. package/bundles/sd-angular-core-label.umd.js.map +1 -1
  148. package/bundles/sd-angular-core-label.umd.js.map.__ivy_ngcc_bak +1 -0
  149. package/bundles/sd-angular-core-loading.umd.js +2 -1
  150. package/bundles/sd-angular-core-loading.umd.js.__ivy_ngcc_bak +413 -0
  151. package/bundles/sd-angular-core-loading.umd.js.map +1 -1
  152. package/bundles/sd-angular-core-loading.umd.js.map.__ivy_ngcc_bak +1 -0
  153. package/bundles/sd-angular-core-modal-resizable.umd.js +2 -1
  154. package/bundles/sd-angular-core-modal-resizable.umd.js.__ivy_ngcc_bak +487 -0
  155. package/bundles/sd-angular-core-modal-resizable.umd.js.map +1 -1
  156. package/bundles/sd-angular-core-modal-resizable.umd.js.map.__ivy_ngcc_bak +1 -0
  157. package/bundles/sd-angular-core-modal.umd.js +2 -1
  158. package/bundles/sd-angular-core-modal.umd.js.__ivy_ngcc_bak +307 -0
  159. package/bundles/sd-angular-core-modal.umd.js.map +1 -1
  160. package/bundles/sd-angular-core-modal.umd.js.map.__ivy_ngcc_bak +1 -0
  161. package/bundles/sd-angular-core-notify.umd.js +2 -1
  162. package/bundles/sd-angular-core-notify.umd.js.__ivy_ngcc_bak +719 -0
  163. package/bundles/sd-angular-core-notify.umd.js.map +1 -1
  164. package/bundles/sd-angular-core-notify.umd.js.map.__ivy_ngcc_bak +1 -0
  165. package/bundles/sd-angular-core-popover.umd.js +2 -1
  166. package/bundles/sd-angular-core-popover.umd.js.__ivy_ngcc_bak +752 -0
  167. package/bundles/sd-angular-core-popover.umd.js.map +1 -1
  168. package/bundles/sd-angular-core-popover.umd.js.map.__ivy_ngcc_bak +1 -0
  169. package/bundles/sd-angular-core-quick-action.umd.js +2 -1
  170. package/bundles/sd-angular-core-quick-action.umd.js.__ivy_ngcc_bak +66 -0
  171. package/bundles/sd-angular-core-quick-action.umd.js.map +1 -1
  172. package/bundles/sd-angular-core-quick-action.umd.js.map.__ivy_ngcc_bak +1 -0
  173. package/bundles/sd-angular-core-radio.umd.js +2 -1
  174. package/bundles/sd-angular-core-radio.umd.js.__ivy_ngcc_bak +535 -0
  175. package/bundles/sd-angular-core-radio.umd.js.map +1 -1
  176. package/bundles/sd-angular-core-radio.umd.js.map.__ivy_ngcc_bak +1 -0
  177. package/bundles/sd-angular-core-select-badge.umd.js +2 -1
  178. package/bundles/sd-angular-core-select-badge.umd.js.__ivy_ngcc_bak +486 -0
  179. package/bundles/sd-angular-core-select-badge.umd.js.map +1 -1
  180. package/bundles/sd-angular-core-select-badge.umd.js.map.__ivy_ngcc_bak +1 -0
  181. package/bundles/sd-angular-core-select-editor.umd.js +2 -1
  182. package/bundles/sd-angular-core-select-editor.umd.js.__ivy_ngcc_bak +431 -0
  183. package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
  184. package/bundles/sd-angular-core-select-editor.umd.js.map.__ivy_ngcc_bak +1 -0
  185. package/bundles/sd-angular-core-select.umd.js +2 -1
  186. package/bundles/sd-angular-core-select.umd.js.__ivy_ngcc_bak +921 -0
  187. package/bundles/sd-angular-core-select.umd.js.map +1 -1
  188. package/bundles/sd-angular-core-select.umd.js.map.__ivy_ngcc_bak +1 -0
  189. package/bundles/sd-angular-core-service.umd.js +2 -1
  190. package/bundles/sd-angular-core-service.umd.js.__ivy_ngcc_bak +42 -0
  191. package/bundles/sd-angular-core-service.umd.js.map +1 -1
  192. package/bundles/sd-angular-core-service.umd.js.map.__ivy_ngcc_bak +1 -0
  193. package/bundles/sd-angular-core-setting.umd.js +2 -1
  194. package/bundles/sd-angular-core-setting.umd.js.__ivy_ngcc_bak +664 -0
  195. package/bundles/sd-angular-core-setting.umd.js.map +1 -1
  196. package/bundles/sd-angular-core-setting.umd.js.map.__ivy_ngcc_bak +1 -0
  197. package/bundles/sd-angular-core-side-drawer.umd.js +2 -1
  198. package/bundles/sd-angular-core-side-drawer.umd.js.__ivy_ngcc_bak +438 -0
  199. package/bundles/sd-angular-core-side-drawer.umd.js.map +1 -1
  200. package/bundles/sd-angular-core-side-drawer.umd.js.map.__ivy_ngcc_bak +1 -0
  201. package/bundles/sd-angular-core-switch.umd.js +2 -1
  202. package/bundles/sd-angular-core-switch.umd.js.__ivy_ngcc_bak +454 -0
  203. package/bundles/sd-angular-core-switch.umd.js.map +1 -1
  204. package/bundles/sd-angular-core-switch.umd.js.map.__ivy_ngcc_bak +1 -0
  205. package/bundles/sd-angular-core-tab-router.umd.js +2 -1
  206. package/bundles/sd-angular-core-tab-router.umd.js.__ivy_ngcc_bak +941 -0
  207. package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
  208. package/bundles/sd-angular-core-tab-router.umd.js.map.__ivy_ngcc_bak +1 -0
  209. package/bundles/sd-angular-core-textarea.umd.js +2 -1
  210. package/bundles/sd-angular-core-textarea.umd.js.__ivy_ngcc_bak +642 -0
  211. package/bundles/sd-angular-core-textarea.umd.js.map +1 -1
  212. package/bundles/sd-angular-core-textarea.umd.js.map.__ivy_ngcc_bak +1 -0
  213. package/bundles/sd-angular-core-time.umd.js +2 -1
  214. package/bundles/sd-angular-core-time.umd.js.__ivy_ngcc_bak +497 -0
  215. package/bundles/sd-angular-core-time.umd.js.map +1 -1
  216. package/bundles/sd-angular-core-time.umd.js.map.__ivy_ngcc_bak +1 -0
  217. package/bundles/sd-angular-core-timeline.umd.js +2 -1
  218. package/bundles/sd-angular-core-timeline.umd.js.__ivy_ngcc_bak +102 -0
  219. package/bundles/sd-angular-core-timeline.umd.js.map +1 -1
  220. package/bundles/sd-angular-core-timeline.umd.js.map.__ivy_ngcc_bak +1 -0
  221. package/bundles/sd-angular-core-translate.umd.js +2 -1
  222. package/bundles/sd-angular-core-translate.umd.js.__ivy_ngcc_bak +119 -0
  223. package/bundles/sd-angular-core-translate.umd.js.map +1 -1
  224. package/bundles/sd-angular-core-translate.umd.js.map.__ivy_ngcc_bak +1 -0
  225. package/bundles/sd-angular-core-upload-excel.umd.js +2 -1
  226. package/bundles/sd-angular-core-upload-excel.umd.js.__ivy_ngcc_bak +1114 -0
  227. package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
  228. package/bundles/sd-angular-core-upload-excel.umd.js.map.__ivy_ngcc_bak +1 -0
  229. package/bundles/sd-angular-core-upload-file.umd.js +2 -1
  230. package/bundles/sd-angular-core-upload-file.umd.js.__ivy_ngcc_bak +880 -0
  231. package/bundles/sd-angular-core-upload-file.umd.js.map +1 -1
  232. package/bundles/sd-angular-core-upload-file.umd.js.map.__ivy_ngcc_bak +1 -0
  233. package/bundles/sd-angular-core-utility.umd.js +33 -1
  234. package/bundles/sd-angular-core-utility.umd.js.__ivy_ngcc_bak +739 -0
  235. package/bundles/sd-angular-core-utility.umd.js.map +1 -1
  236. package/bundles/sd-angular-core-utility.umd.js.map.__ivy_ngcc_bak +1 -0
  237. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  238. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  239. package/bundles/sd-angular-core-view.umd.js +2 -1
  240. package/bundles/sd-angular-core-view.umd.js.__ivy_ngcc_bak +32 -0
  241. package/bundles/sd-angular-core-view.umd.js.map +1 -1
  242. package/bundles/sd-angular-core-view.umd.js.map.__ivy_ngcc_bak +1 -0
  243. package/button/package.json +12 -1
  244. package/button/sd-angular-core-button.d.ts +2 -0
  245. package/button/sd-angular-core-button.d.ts.__ivy_ngcc_bak +4 -0
  246. package/button/sd-angular-core-button.d.ts.map +1 -0
  247. package/cache/package.json +12 -1
  248. package/cache/sd-angular-core-cache.d.ts +2 -0
  249. package/cache/sd-angular-core-cache.d.ts.__ivy_ngcc_bak +4 -0
  250. package/cache/sd-angular-core-cache.d.ts.map +1 -0
  251. package/chart/package.json +12 -1
  252. package/chart/sd-angular-core-chart.d.ts +2 -0
  253. package/chart/sd-angular-core-chart.d.ts.__ivy_ngcc_bak +4 -0
  254. package/chart/sd-angular-core-chart.d.ts.map +1 -0
  255. package/checkbox/package.json +12 -1
  256. package/checkbox/sd-angular-core-checkbox.d.ts +2 -0
  257. package/checkbox/sd-angular-core-checkbox.d.ts.__ivy_ngcc_bak +5 -0
  258. package/checkbox/sd-angular-core-checkbox.d.ts.map +1 -0
  259. package/chip/package.json +12 -1
  260. package/chip/sd-angular-core-chip.d.ts +2 -0
  261. package/chip/sd-angular-core-chip.d.ts.__ivy_ngcc_bak +5 -0
  262. package/chip/sd-angular-core-chip.d.ts.map +1 -0
  263. package/comment/package.json +12 -1
  264. package/comment/sd-angular-core-comment.d.ts +2 -0
  265. package/comment/sd-angular-core-comment.d.ts.__ivy_ngcc_bak +4 -0
  266. package/comment/sd-angular-core-comment.d.ts.map +1 -0
  267. package/common/package.json +12 -1
  268. package/common/sd-angular-core-common.d.ts +2 -0
  269. package/common/sd-angular-core-common.d.ts.__ivy_ngcc_bak +4 -0
  270. package/common/sd-angular-core-common.d.ts.map +1 -0
  271. package/confirm/package.json +12 -1
  272. package/confirm/sd-angular-core-confirm.d.ts +2 -0
  273. package/confirm/sd-angular-core-confirm.d.ts.__ivy_ngcc_bak +4 -0
  274. package/confirm/sd-angular-core-confirm.d.ts.map +1 -0
  275. package/date-month/package.json +12 -1
  276. package/date-month/sd-angular-core-date-month.d.ts +2 -0
  277. package/date-month/sd-angular-core-date-month.d.ts.__ivy_ngcc_bak +5 -0
  278. package/date-month/sd-angular-core-date-month.d.ts.map +1 -0
  279. package/date-range/package.json +12 -1
  280. package/date-range/sd-angular-core-date-range.d.ts +2 -0
  281. package/date-range/sd-angular-core-date-range.d.ts.__ivy_ngcc_bak +4 -0
  282. package/date-range/sd-angular-core-date-range.d.ts.map +1 -0
  283. package/date-time/package.json +12 -1
  284. package/date-time/sd-angular-core-date-time.d.ts +2 -0
  285. package/date-time/sd-angular-core-date-time.d.ts.__ivy_ngcc_bak +4 -0
  286. package/date-time/sd-angular-core-date-time.d.ts.map +1 -0
  287. package/db/package.json +12 -1
  288. package/db/sd-angular-core-db.d.ts +2 -0
  289. package/db/sd-angular-core-db.d.ts.__ivy_ngcc_bak +4 -0
  290. package/db/sd-angular-core-db.d.ts.map +1 -0
  291. package/dynamic-report/package.json +12 -1
  292. package/dynamic-report/sd-angular-core-dynamic-report.d.ts +2 -0
  293. package/dynamic-report/sd-angular-core-dynamic-report.d.ts.__ivy_ngcc_bak +4 -0
  294. package/dynamic-report/sd-angular-core-dynamic-report.d.ts.map +1 -0
  295. package/editor/package.json +12 -1
  296. package/editor/sd-angular-core-editor.d.ts +2 -0
  297. package/editor/sd-angular-core-editor.d.ts.__ivy_ngcc_bak +4 -0
  298. package/editor/sd-angular-core-editor.d.ts.map +1 -0
  299. package/esm2015/api/sd-angular-core-api.js +1 -1
  300. package/esm2015/api/sd-angular-core-api.js.__ivy_ngcc_bak +5 -0
  301. package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
  302. package/esm2015/autocomplete/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +5 -0
  303. package/esm2015/badge/sd-angular-core-badge.js +1 -1
  304. package/esm2015/badge/sd-angular-core-badge.js.__ivy_ngcc_bak +5 -0
  305. package/esm2015/button/sd-angular-core-button.js +1 -1
  306. package/esm2015/button/sd-angular-core-button.js.__ivy_ngcc_bak +5 -0
  307. package/esm2015/cache/sd-angular-core-cache.js +1 -1
  308. package/esm2015/cache/sd-angular-core-cache.js.__ivy_ngcc_bak +5 -0
  309. package/esm2015/chart/sd-angular-core-chart.js +1 -1
  310. package/esm2015/chart/sd-angular-core-chart.js.__ivy_ngcc_bak +5 -0
  311. package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
  312. package/esm2015/checkbox/sd-angular-core-checkbox.js.__ivy_ngcc_bak +6 -0
  313. package/esm2015/chip/sd-angular-core-chip.js +1 -1
  314. package/esm2015/chip/sd-angular-core-chip.js.__ivy_ngcc_bak +6 -0
  315. package/esm2015/comment/sd-angular-core-comment.js +1 -1
  316. package/esm2015/comment/sd-angular-core-comment.js.__ivy_ngcc_bak +5 -0
  317. package/esm2015/common/sd-angular-core-common.js +1 -1
  318. package/esm2015/common/sd-angular-core-common.js.__ivy_ngcc_bak +5 -0
  319. package/esm2015/confirm/sd-angular-core-confirm.js +1 -1
  320. package/esm2015/confirm/sd-angular-core-confirm.js.__ivy_ngcc_bak +5 -0
  321. package/esm2015/date-month/sd-angular-core-date-month.js +1 -1
  322. package/esm2015/date-month/sd-angular-core-date-month.js.__ivy_ngcc_bak +6 -0
  323. package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
  324. package/esm2015/date-range/sd-angular-core-date-range.js.__ivy_ngcc_bak +5 -0
  325. package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
  326. package/esm2015/date-time/sd-angular-core-date-time.js.__ivy_ngcc_bak +5 -0
  327. package/esm2015/db/sd-angular-core-db.js +1 -1
  328. package/esm2015/db/sd-angular-core-db.js.__ivy_ngcc_bak +5 -0
  329. package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
  330. package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +5 -0
  331. package/esm2015/editor/sd-angular-core-editor.js +1 -1
  332. package/esm2015/editor/sd-angular-core-editor.js.__ivy_ngcc_bak +5 -0
  333. package/esm2015/excel/sd-angular-core-excel.js +1 -1
  334. package/esm2015/excel/sd-angular-core-excel.js.__ivy_ngcc_bak +5 -0
  335. package/esm2015/export/sd-angular-core-export.js +1 -1
  336. package/esm2015/export/sd-angular-core-export.js.__ivy_ngcc_bak +5 -0
  337. package/esm2015/filter/sd-angular-core-filter.js +1 -1
  338. package/esm2015/filter/sd-angular-core-filter.js.__ivy_ngcc_bak +8 -0
  339. package/esm2015/form/sd-angular-core-form.js +1 -1
  340. package/esm2015/form/sd-angular-core-form.js.__ivy_ngcc_bak +5 -0
  341. package/esm2015/grid/sd-angular-core-grid.js +1 -1
  342. package/esm2015/grid/sd-angular-core-grid.js.__ivy_ngcc_bak +5 -0
  343. package/esm2015/grid-material/sd-angular-core-grid-material.js +1 -1
  344. package/esm2015/grid-material/sd-angular-core-grid-material.js.__ivy_ngcc_bak +47 -0
  345. package/esm2015/group/sd-angular-core-group.js +1 -1
  346. package/esm2015/group/sd-angular-core-group.js.__ivy_ngcc_bak +6 -0
  347. package/esm2015/header-title/sd-angular-core-header-title.js +1 -1
  348. package/esm2015/header-title/sd-angular-core-header-title.js.__ivy_ngcc_bak +6 -0
  349. package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
  350. package/esm2015/image-preview/sd-angular-core-image-preview.js.__ivy_ngcc_bak +7 -0
  351. package/esm2015/input/sd-angular-core-input.js +1 -1
  352. package/esm2015/input/sd-angular-core-input.js.__ivy_ngcc_bak +6 -0
  353. package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
  354. package/esm2015/input-currency/sd-angular-core-input-currency.js.__ivy_ngcc_bak +5 -0
  355. package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
  356. package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +5 -0
  357. package/esm2015/input-number/sd-angular-core-input-number.js +1 -1
  358. package/esm2015/input-number/sd-angular-core-input-number.js.__ivy_ngcc_bak +5 -0
  359. package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
  360. package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +5 -0
  361. package/esm2015/json-editor/sd-angular-core-json-editor.js +1 -1
  362. package/esm2015/json-editor/sd-angular-core-json-editor.js.__ivy_ngcc_bak +5 -0
  363. package/esm2015/konva/sd-angular-core-konva.js +1 -1
  364. package/esm2015/konva/sd-angular-core-konva.js.__ivy_ngcc_bak +5 -0
  365. package/esm2015/label/sd-angular-core-label.js +1 -1
  366. package/esm2015/label/sd-angular-core-label.js.__ivy_ngcc_bak +6 -0
  367. package/esm2015/loading/sd-angular-core-loading.js +1 -1
  368. package/esm2015/loading/sd-angular-core-loading.js.__ivy_ngcc_bak +5 -0
  369. package/esm2015/modal/sd-angular-core-modal.js +1 -1
  370. package/esm2015/modal/sd-angular-core-modal.js.__ivy_ngcc_bak +5 -0
  371. package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
  372. package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +5 -0
  373. package/esm2015/notify/sd-angular-core-notify.js +1 -1
  374. package/esm2015/notify/sd-angular-core-notify.js.__ivy_ngcc_bak +5 -0
  375. package/esm2015/popover/sd-angular-core-popover.js +1 -1
  376. package/esm2015/popover/sd-angular-core-popover.js.__ivy_ngcc_bak +5 -0
  377. package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
  378. package/esm2015/quick-action/sd-angular-core-quick-action.js.__ivy_ngcc_bak +5 -0
  379. package/esm2015/radio/sd-angular-core-radio.js +1 -1
  380. package/esm2015/radio/sd-angular-core-radio.js.__ivy_ngcc_bak +5 -0
  381. package/esm2015/select/sd-angular-core-select.js +1 -1
  382. package/esm2015/select/sd-angular-core-select.js.__ivy_ngcc_bak +5 -0
  383. package/esm2015/select-badge/sd-angular-core-select-badge.js +1 -1
  384. package/esm2015/select-badge/sd-angular-core-select-badge.js.__ivy_ngcc_bak +5 -0
  385. package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
  386. package/esm2015/select-editor/sd-angular-core-select-editor.js.__ivy_ngcc_bak +5 -0
  387. package/esm2015/service/sd-angular-core-service.js +1 -1
  388. package/esm2015/service/sd-angular-core-service.js.__ivy_ngcc_bak +5 -0
  389. package/esm2015/setting/sd-angular-core-setting.js +1 -1
  390. package/esm2015/setting/sd-angular-core-setting.js.__ivy_ngcc_bak +5 -0
  391. package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
  392. package/esm2015/side-drawer/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +5 -0
  393. package/esm2015/switch/sd-angular-core-switch.js +1 -1
  394. package/esm2015/switch/sd-angular-core-switch.js.__ivy_ngcc_bak +5 -0
  395. package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
  396. package/esm2015/tab-router/sd-angular-core-tab-router.js.__ivy_ngcc_bak +7 -0
  397. package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
  398. package/esm2015/textarea/sd-angular-core-textarea.js.__ivy_ngcc_bak +5 -0
  399. package/esm2015/time/sd-angular-core-time.js +1 -1
  400. package/esm2015/time/sd-angular-core-time.js.__ivy_ngcc_bak +6 -0
  401. package/esm2015/timeline/sd-angular-core-timeline.js +1 -1
  402. package/esm2015/timeline/sd-angular-core-timeline.js.__ivy_ngcc_bak +6 -0
  403. package/esm2015/translate/sd-angular-core-translate.js +1 -1
  404. package/esm2015/translate/sd-angular-core-translate.js.__ivy_ngcc_bak +5 -0
  405. package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
  406. package/esm2015/upload-excel/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +7 -0
  407. package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
  408. package/esm2015/upload-file/sd-angular-core-upload-file.js.__ivy_ngcc_bak +5 -0
  409. package/esm2015/utility/sd-angular-core-utility.js +1 -1
  410. package/esm2015/utility/sd-angular-core-utility.js.__ivy_ngcc_bak +5 -0
  411. package/esm2015/utility/src/lib/utility.service.js +22 -2
  412. package/esm2015/view/sd-angular-core-view.js +1 -1
  413. package/esm2015/view/sd-angular-core-view.js.__ivy_ngcc_bak +5 -0
  414. package/excel/package.json +12 -1
  415. package/excel/sd-angular-core-excel.d.ts +2 -0
  416. package/excel/sd-angular-core-excel.d.ts.__ivy_ngcc_bak +4 -0
  417. package/excel/sd-angular-core-excel.d.ts.map +1 -0
  418. package/export/package.json +12 -1
  419. package/export/sd-angular-core-export.d.ts +2 -0
  420. package/export/sd-angular-core-export.d.ts.__ivy_ngcc_bak +4 -0
  421. package/export/sd-angular-core-export.d.ts.map +1 -0
  422. package/fesm2015/sd-angular-core-api.js +2 -1
  423. package/fesm2015/sd-angular-core-api.js.__ivy_ngcc_bak +496 -0
  424. package/fesm2015/sd-angular-core-api.js.map +1 -1
  425. package/fesm2015/sd-angular-core-api.js.map.__ivy_ngcc_bak +1 -0
  426. package/fesm2015/sd-angular-core-autocomplete.js +2 -1
  427. package/fesm2015/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +427 -0
  428. package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
  429. package/fesm2015/sd-angular-core-autocomplete.js.map.__ivy_ngcc_bak +1 -0
  430. package/fesm2015/sd-angular-core-badge.js +2 -1
  431. package/fesm2015/sd-angular-core-badge.js.__ivy_ngcc_bak +70 -0
  432. package/fesm2015/sd-angular-core-badge.js.map +1 -1
  433. package/fesm2015/sd-angular-core-badge.js.map.__ivy_ngcc_bak +1 -0
  434. package/fesm2015/sd-angular-core-button.js +2 -1
  435. package/fesm2015/sd-angular-core-button.js.__ivy_ngcc_bak +118 -0
  436. package/fesm2015/sd-angular-core-button.js.map +1 -1
  437. package/fesm2015/sd-angular-core-button.js.map.__ivy_ngcc_bak +1 -0
  438. package/fesm2015/sd-angular-core-cache.js +2 -1
  439. package/fesm2015/sd-angular-core-cache.js.__ivy_ngcc_bak +259 -0
  440. package/fesm2015/sd-angular-core-cache.js.map +1 -1
  441. package/fesm2015/sd-angular-core-cache.js.map.__ivy_ngcc_bak +1 -0
  442. package/fesm2015/sd-angular-core-chart.js +2 -1
  443. package/fesm2015/sd-angular-core-chart.js.__ivy_ngcc_bak +727 -0
  444. package/fesm2015/sd-angular-core-chart.js.map +1 -1
  445. package/fesm2015/sd-angular-core-chart.js.map.__ivy_ngcc_bak +1 -0
  446. package/fesm2015/sd-angular-core-checkbox.js +2 -1
  447. package/fesm2015/sd-angular-core-checkbox.js.__ivy_ngcc_bak +120 -0
  448. package/fesm2015/sd-angular-core-checkbox.js.map +1 -1
  449. package/fesm2015/sd-angular-core-checkbox.js.map.__ivy_ngcc_bak +1 -0
  450. package/fesm2015/sd-angular-core-chip.js +2 -1
  451. package/fesm2015/sd-angular-core-chip.js.__ivy_ngcc_bak +632 -0
  452. package/fesm2015/sd-angular-core-chip.js.map +1 -1
  453. package/fesm2015/sd-angular-core-chip.js.map.__ivy_ngcc_bak +1 -0
  454. package/fesm2015/sd-angular-core-comment.js +2 -1
  455. package/fesm2015/sd-angular-core-comment.js.__ivy_ngcc_bak +118 -0
  456. package/fesm2015/sd-angular-core-comment.js.map +1 -1
  457. package/fesm2015/sd-angular-core-comment.js.map.__ivy_ngcc_bak +1 -0
  458. package/fesm2015/sd-angular-core-common.js +2 -1
  459. package/fesm2015/sd-angular-core-common.js.__ivy_ngcc_bak +562 -0
  460. package/fesm2015/sd-angular-core-common.js.map +1 -1
  461. package/fesm2015/sd-angular-core-common.js.map.__ivy_ngcc_bak +1 -0
  462. package/fesm2015/sd-angular-core-confirm.js +2 -1
  463. package/fesm2015/sd-angular-core-confirm.js.__ivy_ngcc_bak +154 -0
  464. package/fesm2015/sd-angular-core-confirm.js.map +1 -1
  465. package/fesm2015/sd-angular-core-confirm.js.map.__ivy_ngcc_bak +1 -0
  466. package/fesm2015/sd-angular-core-date-month.js +2 -1
  467. package/fesm2015/sd-angular-core-date-month.js.__ivy_ngcc_bak +289 -0
  468. package/fesm2015/sd-angular-core-date-month.js.map +1 -1
  469. package/fesm2015/sd-angular-core-date-month.js.map.__ivy_ngcc_bak +1 -0
  470. package/fesm2015/sd-angular-core-date-range.js +2 -1
  471. package/fesm2015/sd-angular-core-date-range.js.__ivy_ngcc_bak +297 -0
  472. package/fesm2015/sd-angular-core-date-range.js.map +1 -1
  473. package/fesm2015/sd-angular-core-date-range.js.map.__ivy_ngcc_bak +1 -0
  474. package/fesm2015/sd-angular-core-date-time.js +2 -1
  475. package/fesm2015/sd-angular-core-date-time.js.__ivy_ngcc_bak +367 -0
  476. package/fesm2015/sd-angular-core-date-time.js.map +1 -1
  477. package/fesm2015/sd-angular-core-date-time.js.map.__ivy_ngcc_bak +1 -0
  478. package/fesm2015/sd-angular-core-db.js +2 -1
  479. package/fesm2015/sd-angular-core-db.js.__ivy_ngcc_bak +102 -0
  480. package/fesm2015/sd-angular-core-db.js.map +1 -1
  481. package/fesm2015/sd-angular-core-db.js.map.__ivy_ngcc_bak +1 -0
  482. package/fesm2015/sd-angular-core-dynamic-report.js +2 -1
  483. package/fesm2015/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +82 -0
  484. package/fesm2015/sd-angular-core-dynamic-report.js.map +1 -1
  485. package/fesm2015/sd-angular-core-dynamic-report.js.map.__ivy_ngcc_bak +1 -0
  486. package/fesm2015/sd-angular-core-editor.js +2 -1
  487. package/fesm2015/sd-angular-core-editor.js.__ivy_ngcc_bak +576 -0
  488. package/fesm2015/sd-angular-core-editor.js.map +1 -1
  489. package/fesm2015/sd-angular-core-editor.js.map.__ivy_ngcc_bak +1 -0
  490. package/fesm2015/sd-angular-core-excel.js +2 -1
  491. package/fesm2015/sd-angular-core-excel.js.__ivy_ngcc_bak +100 -0
  492. package/fesm2015/sd-angular-core-excel.js.map +1 -1
  493. package/fesm2015/sd-angular-core-excel.js.map.__ivy_ngcc_bak +1 -0
  494. package/fesm2015/sd-angular-core-export.js +2 -1
  495. package/fesm2015/sd-angular-core-export.js.__ivy_ngcc_bak +272 -0
  496. package/fesm2015/sd-angular-core-export.js.map +1 -1
  497. package/fesm2015/sd-angular-core-export.js.map.__ivy_ngcc_bak +1 -0
  498. package/fesm2015/sd-angular-core-filter.js +2 -1
  499. package/fesm2015/sd-angular-core-filter.js.__ivy_ngcc_bak +323 -0
  500. package/fesm2015/sd-angular-core-filter.js.map +1 -1
  501. package/fesm2015/sd-angular-core-filter.js.map.__ivy_ngcc_bak +1 -0
  502. package/fesm2015/sd-angular-core-form.js +2 -1
  503. package/fesm2015/sd-angular-core-form.js.__ivy_ngcc_bak +104 -0
  504. package/fesm2015/sd-angular-core-form.js.map +1 -1
  505. package/fesm2015/sd-angular-core-form.js.map.__ivy_ngcc_bak +1 -0
  506. package/fesm2015/sd-angular-core-grid-material.js +2 -1
  507. package/fesm2015/sd-angular-core-grid-material.js.__ivy_ngcc_bak +3740 -0
  508. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  509. package/fesm2015/sd-angular-core-grid-material.js.map.__ivy_ngcc_bak +1 -0
  510. package/fesm2015/sd-angular-core-grid.js +2 -1
  511. package/fesm2015/sd-angular-core-grid.js.__ivy_ngcc_bak +3935 -0
  512. package/fesm2015/sd-angular-core-grid.js.map +1 -1
  513. package/fesm2015/sd-angular-core-grid.js.map.__ivy_ngcc_bak +1 -0
  514. package/fesm2015/sd-angular-core-group.js +2 -1
  515. package/fesm2015/sd-angular-core-group.js.__ivy_ngcc_bak +74 -0
  516. package/fesm2015/sd-angular-core-group.js.map +1 -1
  517. package/fesm2015/sd-angular-core-group.js.map.__ivy_ngcc_bak +1 -0
  518. package/fesm2015/sd-angular-core-header-title.js +2 -1
  519. package/fesm2015/sd-angular-core-header-title.js.__ivy_ngcc_bak +45 -0
  520. package/fesm2015/sd-angular-core-header-title.js.map +1 -1
  521. package/fesm2015/sd-angular-core-header-title.js.map.__ivy_ngcc_bak +1 -0
  522. package/fesm2015/sd-angular-core-image-preview.js +2 -1
  523. package/fesm2015/sd-angular-core-image-preview.js.__ivy_ngcc_bak +107 -0
  524. package/fesm2015/sd-angular-core-image-preview.js.map +1 -1
  525. package/fesm2015/sd-angular-core-image-preview.js.map.__ivy_ngcc_bak +1 -0
  526. package/fesm2015/sd-angular-core-input-currency.js +2 -1
  527. package/fesm2015/sd-angular-core-input-currency.js.__ivy_ngcc_bak +330 -0
  528. package/fesm2015/sd-angular-core-input-currency.js.map +1 -1
  529. package/fesm2015/sd-angular-core-input-currency.js.map.__ivy_ngcc_bak +1 -0
  530. package/fesm2015/sd-angular-core-input-dropdown.js +2 -1
  531. package/fesm2015/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +268 -0
  532. package/fesm2015/sd-angular-core-input-dropdown.js.map +1 -1
  533. package/fesm2015/sd-angular-core-input-dropdown.js.map.__ivy_ngcc_bak +1 -0
  534. package/fesm2015/sd-angular-core-input-number.js +2 -1
  535. package/fesm2015/sd-angular-core-input-number.js.__ivy_ngcc_bak +415 -0
  536. package/fesm2015/sd-angular-core-input-number.js.map +1 -1
  537. package/fesm2015/sd-angular-core-input-number.js.map.__ivy_ngcc_bak +1 -0
  538. package/fesm2015/sd-angular-core-input-upload-file.js +2 -1
  539. package/fesm2015/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +274 -0
  540. package/fesm2015/sd-angular-core-input-upload-file.js.map +1 -1
  541. package/fesm2015/sd-angular-core-input-upload-file.js.map.__ivy_ngcc_bak +1 -0
  542. package/fesm2015/sd-angular-core-input.js +2 -1
  543. package/fesm2015/sd-angular-core-input.js.__ivy_ngcc_bak +398 -0
  544. package/fesm2015/sd-angular-core-input.js.map +1 -1
  545. package/fesm2015/sd-angular-core-input.js.map.__ivy_ngcc_bak +1 -0
  546. package/fesm2015/sd-angular-core-json-editor.js +2 -1
  547. package/fesm2015/sd-angular-core-json-editor.js.__ivy_ngcc_bak +180 -0
  548. package/fesm2015/sd-angular-core-json-editor.js.map +1 -1
  549. package/fesm2015/sd-angular-core-json-editor.js.map.__ivy_ngcc_bak +1 -0
  550. package/fesm2015/sd-angular-core-konva.js +2 -1
  551. package/fesm2015/sd-angular-core-konva.js.__ivy_ngcc_bak +237 -0
  552. package/fesm2015/sd-angular-core-konva.js.map +1 -1
  553. package/fesm2015/sd-angular-core-konva.js.map.__ivy_ngcc_bak +1 -0
  554. package/fesm2015/sd-angular-core-label.js +2 -1
  555. package/fesm2015/sd-angular-core-label.js.__ivy_ngcc_bak +49 -0
  556. package/fesm2015/sd-angular-core-label.js.map +1 -1
  557. package/fesm2015/sd-angular-core-label.js.map.__ivy_ngcc_bak +1 -0
  558. package/fesm2015/sd-angular-core-loading.js +2 -1
  559. package/fesm2015/sd-angular-core-loading.js.__ivy_ngcc_bak +83 -0
  560. package/fesm2015/sd-angular-core-loading.js.map +1 -1
  561. package/fesm2015/sd-angular-core-loading.js.map.__ivy_ngcc_bak +1 -0
  562. package/fesm2015/sd-angular-core-modal-resizable.js +2 -1
  563. package/fesm2015/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +161 -0
  564. package/fesm2015/sd-angular-core-modal-resizable.js.map +1 -1
  565. package/fesm2015/sd-angular-core-modal-resizable.js.map.__ivy_ngcc_bak +1 -0
  566. package/fesm2015/sd-angular-core-modal.js +2 -1
  567. package/fesm2015/sd-angular-core-modal.js.__ivy_ngcc_bak +284 -0
  568. package/fesm2015/sd-angular-core-modal.js.map +1 -1
  569. package/fesm2015/sd-angular-core-modal.js.map.__ivy_ngcc_bak +1 -0
  570. package/fesm2015/sd-angular-core-notify.js +2 -1
  571. package/fesm2015/sd-angular-core-notify.js.__ivy_ngcc_bak +402 -0
  572. package/fesm2015/sd-angular-core-notify.js.map +1 -1
  573. package/fesm2015/sd-angular-core-notify.js.map.__ivy_ngcc_bak +1 -0
  574. package/fesm2015/sd-angular-core-popover.js +2 -1
  575. package/fesm2015/sd-angular-core-popover.js.__ivy_ngcc_bak +415 -0
  576. package/fesm2015/sd-angular-core-popover.js.map +1 -1
  577. package/fesm2015/sd-angular-core-popover.js.map.__ivy_ngcc_bak +1 -0
  578. package/fesm2015/sd-angular-core-quick-action.js +2 -1
  579. package/fesm2015/sd-angular-core-quick-action.js.__ivy_ngcc_bak +53 -0
  580. package/fesm2015/sd-angular-core-quick-action.js.map +1 -1
  581. package/fesm2015/sd-angular-core-quick-action.js.map.__ivy_ngcc_bak +1 -0
  582. package/fesm2015/sd-angular-core-radio.js +2 -1
  583. package/fesm2015/sd-angular-core-radio.js.__ivy_ngcc_bak +188 -0
  584. package/fesm2015/sd-angular-core-radio.js.map +1 -1
  585. package/fesm2015/sd-angular-core-radio.js.map.__ivy_ngcc_bak +1 -0
  586. package/fesm2015/sd-angular-core-select-badge.js +2 -1
  587. package/fesm2015/sd-angular-core-select-badge.js.__ivy_ngcc_bak +156 -0
  588. package/fesm2015/sd-angular-core-select-badge.js.map +1 -1
  589. package/fesm2015/sd-angular-core-select-badge.js.map.__ivy_ngcc_bak +1 -0
  590. package/fesm2015/sd-angular-core-select-editor.js +2 -1
  591. package/fesm2015/sd-angular-core-select-editor.js.__ivy_ngcc_bak +110 -0
  592. package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
  593. package/fesm2015/sd-angular-core-select-editor.js.map.__ivy_ngcc_bak +1 -0
  594. package/fesm2015/sd-angular-core-select.js +2 -1
  595. package/fesm2015/sd-angular-core-select.js.__ivy_ngcc_bak +487 -0
  596. package/fesm2015/sd-angular-core-select.js.map +1 -1
  597. package/fesm2015/sd-angular-core-select.js.map.__ivy_ngcc_bak +1 -0
  598. package/fesm2015/sd-angular-core-service.js +2 -1
  599. package/fesm2015/sd-angular-core-service.js.__ivy_ngcc_bak +36 -0
  600. package/fesm2015/sd-angular-core-service.js.map +1 -1
  601. package/fesm2015/sd-angular-core-service.js.map.__ivy_ngcc_bak +1 -0
  602. package/fesm2015/sd-angular-core-setting.js +2 -1
  603. package/fesm2015/sd-angular-core-setting.js.__ivy_ngcc_bak +290 -0
  604. package/fesm2015/sd-angular-core-setting.js.map +1 -1
  605. package/fesm2015/sd-angular-core-setting.js.map.__ivy_ngcc_bak +1 -0
  606. package/fesm2015/sd-angular-core-side-drawer.js +2 -1
  607. package/fesm2015/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +115 -0
  608. package/fesm2015/sd-angular-core-side-drawer.js.map +1 -1
  609. package/fesm2015/sd-angular-core-side-drawer.js.map.__ivy_ngcc_bak +1 -0
  610. package/fesm2015/sd-angular-core-switch.js +2 -1
  611. package/fesm2015/sd-angular-core-switch.js.__ivy_ngcc_bak +116 -0
  612. package/fesm2015/sd-angular-core-switch.js.map +1 -1
  613. package/fesm2015/sd-angular-core-switch.js.map.__ivy_ngcc_bak +1 -0
  614. package/fesm2015/sd-angular-core-tab-router.js +2 -1
  615. package/fesm2015/sd-angular-core-tab-router.js.__ivy_ngcc_bak +531 -0
  616. package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
  617. package/fesm2015/sd-angular-core-tab-router.js.map.__ivy_ngcc_bak +1 -0
  618. package/fesm2015/sd-angular-core-textarea.js +2 -1
  619. package/fesm2015/sd-angular-core-textarea.js.__ivy_ngcc_bak +266 -0
  620. package/fesm2015/sd-angular-core-textarea.js.map +1 -1
  621. package/fesm2015/sd-angular-core-textarea.js.map.__ivy_ngcc_bak +1 -0
  622. package/fesm2015/sd-angular-core-time.js +2 -1
  623. package/fesm2015/sd-angular-core-time.js.__ivy_ngcc_bak +143 -0
  624. package/fesm2015/sd-angular-core-time.js.map +1 -1
  625. package/fesm2015/sd-angular-core-time.js.map.__ivy_ngcc_bak +1 -0
  626. package/fesm2015/sd-angular-core-timeline.js +2 -1
  627. package/fesm2015/sd-angular-core-timeline.js.__ivy_ngcc_bak +87 -0
  628. package/fesm2015/sd-angular-core-timeline.js.map +1 -1
  629. package/fesm2015/sd-angular-core-timeline.js.map.__ivy_ngcc_bak +1 -0
  630. package/fesm2015/sd-angular-core-translate.js +2 -1
  631. package/fesm2015/sd-angular-core-translate.js.__ivy_ngcc_bak +101 -0
  632. package/fesm2015/sd-angular-core-translate.js.map +1 -1
  633. package/fesm2015/sd-angular-core-translate.js.map.__ivy_ngcc_bak +1 -0
  634. package/fesm2015/sd-angular-core-upload-excel.js +2 -1
  635. package/fesm2015/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +638 -0
  636. package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
  637. package/fesm2015/sd-angular-core-upload-excel.js.map.__ivy_ngcc_bak +1 -0
  638. package/fesm2015/sd-angular-core-upload-file.js +2 -1
  639. package/fesm2015/sd-angular-core-upload-file.js.__ivy_ngcc_bak +462 -0
  640. package/fesm2015/sd-angular-core-upload-file.js.map +1 -1
  641. package/fesm2015/sd-angular-core-upload-file.js.map.__ivy_ngcc_bak +1 -0
  642. package/fesm2015/sd-angular-core-utility.js +23 -2
  643. package/fesm2015/sd-angular-core-utility.js.__ivy_ngcc_bak +384 -0
  644. package/fesm2015/sd-angular-core-utility.js.map +1 -1
  645. package/fesm2015/sd-angular-core-utility.js.map.__ivy_ngcc_bak +1 -0
  646. package/fesm2015/sd-angular-core-view.js +2 -1
  647. package/fesm2015/sd-angular-core-view.js.__ivy_ngcc_bak +23 -0
  648. package/fesm2015/sd-angular-core-view.js.map +1 -1
  649. package/fesm2015/sd-angular-core-view.js.map.__ivy_ngcc_bak +1 -0
  650. package/filter/package.json +12 -1
  651. package/filter/sd-angular-core-filter.d.ts +2 -0
  652. package/filter/sd-angular-core-filter.d.ts.__ivy_ngcc_bak +7 -0
  653. package/filter/sd-angular-core-filter.d.ts.map +1 -0
  654. package/form/package.json +12 -1
  655. package/form/sd-angular-core-form.d.ts +2 -0
  656. package/form/sd-angular-core-form.d.ts.__ivy_ngcc_bak +4 -0
  657. package/form/sd-angular-core-form.d.ts.map +1 -0
  658. package/grid/package.json +12 -1
  659. package/grid/sd-angular-core-grid.d.ts +2 -0
  660. package/grid/sd-angular-core-grid.d.ts.__ivy_ngcc_bak +4 -0
  661. package/grid/sd-angular-core-grid.d.ts.map +1 -0
  662. package/grid-material/package.json +12 -1
  663. package/grid-material/sd-angular-core-grid-material.d.ts +2 -0
  664. package/grid-material/sd-angular-core-grid-material.d.ts.__ivy_ngcc_bak +46 -0
  665. package/grid-material/sd-angular-core-grid-material.d.ts.map +1 -0
  666. package/group/package.json +12 -1
  667. package/group/sd-angular-core-group.d.ts +2 -0
  668. package/group/sd-angular-core-group.d.ts.__ivy_ngcc_bak +5 -0
  669. package/group/sd-angular-core-group.d.ts.map +1 -0
  670. package/header-title/package.json +12 -1
  671. package/header-title/sd-angular-core-header-title.d.ts +2 -0
  672. package/header-title/sd-angular-core-header-title.d.ts.__ivy_ngcc_bak +5 -0
  673. package/header-title/sd-angular-core-header-title.d.ts.map +1 -0
  674. package/image-preview/package.json +12 -1
  675. package/image-preview/sd-angular-core-image-preview.d.ts +2 -0
  676. package/image-preview/sd-angular-core-image-preview.d.ts.__ivy_ngcc_bak +6 -0
  677. package/image-preview/sd-angular-core-image-preview.d.ts.map +1 -0
  678. package/input/package.json +12 -1
  679. package/input/sd-angular-core-input.d.ts +2 -0
  680. package/input/sd-angular-core-input.d.ts.__ivy_ngcc_bak +5 -0
  681. package/input/sd-angular-core-input.d.ts.map +1 -0
  682. package/input-currency/package.json +12 -1
  683. package/input-currency/sd-angular-core-input-currency.d.ts +2 -0
  684. package/input-currency/sd-angular-core-input-currency.d.ts.__ivy_ngcc_bak +4 -0
  685. package/input-currency/sd-angular-core-input-currency.d.ts.map +1 -0
  686. package/input-dropdown/package.json +12 -1
  687. package/input-dropdown/sd-angular-core-input-dropdown.d.ts +2 -0
  688. package/input-dropdown/sd-angular-core-input-dropdown.d.ts.__ivy_ngcc_bak +4 -0
  689. package/input-dropdown/sd-angular-core-input-dropdown.d.ts.map +1 -0
  690. package/input-number/package.json +12 -1
  691. package/input-number/sd-angular-core-input-number.d.ts +2 -0
  692. package/input-number/sd-angular-core-input-number.d.ts.__ivy_ngcc_bak +4 -0
  693. package/input-number/sd-angular-core-input-number.d.ts.map +1 -0
  694. package/input-upload-file/package.json +12 -1
  695. package/input-upload-file/sd-angular-core-input-upload-file.d.ts +2 -0
  696. package/input-upload-file/sd-angular-core-input-upload-file.d.ts.__ivy_ngcc_bak +4 -0
  697. package/input-upload-file/sd-angular-core-input-upload-file.d.ts.map +1 -0
  698. package/json-editor/package.json +12 -1
  699. package/json-editor/sd-angular-core-json-editor.d.ts +2 -0
  700. package/json-editor/sd-angular-core-json-editor.d.ts.__ivy_ngcc_bak +4 -0
  701. package/json-editor/sd-angular-core-json-editor.d.ts.map +1 -0
  702. package/konva/package.json +12 -1
  703. package/konva/sd-angular-core-konva.d.ts +2 -0
  704. package/konva/sd-angular-core-konva.d.ts.__ivy_ngcc_bak +4 -0
  705. package/konva/sd-angular-core-konva.d.ts.map +1 -0
  706. package/label/package.json +12 -1
  707. package/label/sd-angular-core-label.d.ts +2 -0
  708. package/label/sd-angular-core-label.d.ts.__ivy_ngcc_bak +5 -0
  709. package/label/sd-angular-core-label.d.ts.map +1 -0
  710. package/loading/package.json +12 -1
  711. package/loading/sd-angular-core-loading.d.ts +2 -0
  712. package/loading/sd-angular-core-loading.d.ts.__ivy_ngcc_bak +4 -0
  713. package/loading/sd-angular-core-loading.d.ts.map +1 -0
  714. package/modal/package.json +12 -1
  715. package/modal/sd-angular-core-modal.d.ts +2 -0
  716. package/modal/sd-angular-core-modal.d.ts.__ivy_ngcc_bak +4 -0
  717. package/modal/sd-angular-core-modal.d.ts.map +1 -0
  718. package/modal-resizable/package.json +12 -1
  719. package/modal-resizable/sd-angular-core-modal-resizable.d.ts +2 -0
  720. package/modal-resizable/sd-angular-core-modal-resizable.d.ts.__ivy_ngcc_bak +4 -0
  721. package/modal-resizable/sd-angular-core-modal-resizable.d.ts.map +1 -0
  722. package/notify/package.json +12 -1
  723. package/notify/sd-angular-core-notify.d.ts +2 -0
  724. package/notify/sd-angular-core-notify.d.ts.__ivy_ngcc_bak +4 -0
  725. package/notify/sd-angular-core-notify.d.ts.map +1 -0
  726. package/package.json +1 -1
  727. package/popover/package.json +12 -1
  728. package/popover/sd-angular-core-popover.d.ts +2 -0
  729. package/popover/sd-angular-core-popover.d.ts.__ivy_ngcc_bak +4 -0
  730. package/popover/sd-angular-core-popover.d.ts.map +1 -0
  731. package/quick-action/package.json +12 -1
  732. package/quick-action/sd-angular-core-quick-action.d.ts +2 -0
  733. package/quick-action/sd-angular-core-quick-action.d.ts.__ivy_ngcc_bak +4 -0
  734. package/quick-action/sd-angular-core-quick-action.d.ts.map +1 -0
  735. package/radio/package.json +12 -1
  736. package/radio/sd-angular-core-radio.d.ts +2 -0
  737. package/radio/sd-angular-core-radio.d.ts.__ivy_ngcc_bak +4 -0
  738. package/radio/sd-angular-core-radio.d.ts.map +1 -0
  739. package/sd-angular-core-1.3.0.tgz +0 -0
  740. package/select/package.json +12 -1
  741. package/select/sd-angular-core-select.d.ts +2 -0
  742. package/select/sd-angular-core-select.d.ts.__ivy_ngcc_bak +4 -0
  743. package/select/sd-angular-core-select.d.ts.map +1 -0
  744. package/select-badge/package.json +12 -1
  745. package/select-badge/sd-angular-core-select-badge.d.ts +2 -0
  746. package/select-badge/sd-angular-core-select-badge.d.ts.__ivy_ngcc_bak +4 -0
  747. package/select-badge/sd-angular-core-select-badge.d.ts.map +1 -0
  748. package/select-editor/package.json +12 -1
  749. package/select-editor/sd-angular-core-select-editor.d.ts +2 -0
  750. package/select-editor/sd-angular-core-select-editor.d.ts.__ivy_ngcc_bak +4 -0
  751. package/select-editor/sd-angular-core-select-editor.d.ts.map +1 -0
  752. package/service/package.json +12 -1
  753. package/service/sd-angular-core-service.d.ts +2 -0
  754. package/service/sd-angular-core-service.d.ts.__ivy_ngcc_bak +4 -0
  755. package/service/sd-angular-core-service.d.ts.map +1 -0
  756. package/setting/package.json +12 -1
  757. package/setting/sd-angular-core-setting.d.ts +2 -0
  758. package/setting/sd-angular-core-setting.d.ts.__ivy_ngcc_bak +4 -0
  759. package/setting/sd-angular-core-setting.d.ts.map +1 -0
  760. package/side-drawer/package.json +12 -1
  761. package/side-drawer/sd-angular-core-side-drawer.d.ts +2 -0
  762. package/side-drawer/sd-angular-core-side-drawer.d.ts.__ivy_ngcc_bak +4 -0
  763. package/side-drawer/sd-angular-core-side-drawer.d.ts.map +1 -0
  764. package/switch/package.json +12 -1
  765. package/switch/sd-angular-core-switch.d.ts +2 -0
  766. package/switch/sd-angular-core-switch.d.ts.__ivy_ngcc_bak +4 -0
  767. package/switch/sd-angular-core-switch.d.ts.map +1 -0
  768. package/tab-router/package.json +12 -1
  769. package/tab-router/sd-angular-core-tab-router.d.ts +2 -0
  770. package/tab-router/sd-angular-core-tab-router.d.ts.__ivy_ngcc_bak +6 -0
  771. package/tab-router/sd-angular-core-tab-router.d.ts.map +1 -0
  772. package/textarea/package.json +12 -1
  773. package/textarea/sd-angular-core-textarea.d.ts +2 -0
  774. package/textarea/sd-angular-core-textarea.d.ts.__ivy_ngcc_bak +4 -0
  775. package/textarea/sd-angular-core-textarea.d.ts.map +1 -0
  776. package/time/package.json +12 -1
  777. package/time/sd-angular-core-time.d.ts +2 -0
  778. package/time/sd-angular-core-time.d.ts.__ivy_ngcc_bak +5 -0
  779. package/time/sd-angular-core-time.d.ts.map +1 -0
  780. package/timeline/package.json +12 -1
  781. package/timeline/sd-angular-core-timeline.d.ts +2 -0
  782. package/timeline/sd-angular-core-timeline.d.ts.__ivy_ngcc_bak +5 -0
  783. package/timeline/sd-angular-core-timeline.d.ts.map +1 -0
  784. package/translate/package.json +12 -1
  785. package/translate/sd-angular-core-translate.d.ts +2 -0
  786. package/translate/sd-angular-core-translate.d.ts.__ivy_ngcc_bak +4 -0
  787. package/translate/sd-angular-core-translate.d.ts.map +1 -0
  788. package/upload-excel/package.json +12 -1
  789. package/upload-excel/sd-angular-core-upload-excel.d.ts +2 -0
  790. package/upload-excel/sd-angular-core-upload-excel.d.ts.__ivy_ngcc_bak +6 -0
  791. package/upload-excel/sd-angular-core-upload-excel.d.ts.map +1 -0
  792. package/upload-file/package.json +12 -1
  793. package/upload-file/sd-angular-core-upload-file.d.ts +2 -0
  794. package/upload-file/sd-angular-core-upload-file.d.ts.__ivy_ngcc_bak +4 -0
  795. package/upload-file/sd-angular-core-upload-file.d.ts.map +1 -0
  796. package/utility/package.json +12 -1
  797. package/utility/sd-angular-core-utility.d.ts +2 -0
  798. package/utility/sd-angular-core-utility.d.ts.__ivy_ngcc_bak +4 -0
  799. package/utility/sd-angular-core-utility.d.ts.map +1 -0
  800. package/utility/src/lib/utility.service.d.ts +4 -0
  801. package/view/package.json +12 -1
  802. package/view/sd-angular-core-view.d.ts +2 -0
  803. package/view/sd-angular-core-view.d.ts.__ivy_ngcc_bak +4 -0
  804. package/view/sd-angular-core-view.d.ts.map +1 -0
  805. package/sd-angular-core-1.2.99.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sd-angular-core-chip.js","sources":["../../../../projects/sd-core/chip/src/lib/directives/sd-chip-display-def.directive.ts","../../../../projects/sd-core/chip/src/lib/chip.component.ts","../../../../projects/sd-core/chip/src/lib/pipes/removable-chip.pipe.ts","../../../../projects/sd-core/chip/src/lib/chip.module.ts","../../../../projects/sd-core/chip/src/public-api.ts","../../../../projects/sd-core/chip/sd-angular-core-chip.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdChipDisplayDef]'\r\n})\r\nexport class SdChipDisplayDef {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit, OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ElementRef,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n Inject,\r\n Optional\r\n} from '@angular/core';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\r\n\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { NgForm, FormControl, FormGroup, ValidatorFn, AsyncValidatorFn, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { Observable, Subscription, BehaviorSubject, combineLatest } from 'rxjs';\r\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\r\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { SdChipUpdate } from './chip.model';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdChipDisplayDef } from './directives/sd-chip-display-def.directive';\r\nimport { FORM_CONFIG, IFormConfiguration, SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\nclass SdChipErrotStateMatcher implements ErrorStateMatcher {\r\n constructor(private formControl: FormControl) { }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(this.formControl?.invalid && (this.formControl?.dirty || this.formControl?.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-chip',\r\n templateUrl: './chip.component.html',\r\n styleUrls: ['./chip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdChip implements OnInit, OnDestroy, AfterViewInit {\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() appearance: MatFormFieldAppearance;\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n selectable = true;\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n #addable: boolean;\r\n @Input() set addable(val: '' | boolean) {\r\n this.#addable = (val === '') || val;\r\n }\r\n @Input() label: string;\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n @Input() placeholder: string;\r\n removable: boolean | ((item: any) => boolean) = true;\r\n @Input('removable') set _removable(val: '' | boolean | ((item: any) => boolean)) {\r\n this.removable = (val === '') || val;\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n }\r\n // Server search\r\n loading = false;\r\n #allItems: Observable<any[]>;\r\n #allItem: {\r\n [key: string]: any\r\n } = {};\r\n #cache: {\r\n [key: string]: any[]\r\n } = {};\r\n #delay = 200; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện gọi hàm\r\n #itemsChanges = new BehaviorSubject<any[] | SearchFunc>([]);\r\n @Input() set items(items: undefined | any[] | SearchFunc) {\r\n this.#delay = 0;\r\n if (!items) {\r\n this.#itemsChanges.next([]);\r\n } else if (Array.isArray(items)) {\r\n this.#itemsChanges.next(items.filter(e => e !== null && e !== undefined));\r\n } else {\r\n this.#delay = 500;\r\n this.#itemsChanges.next(items);\r\n }\r\n this.formControl.updateValueAndValidity();\r\n }\r\n @Input() limit = 50;\r\n selectedItems: Observable<any[]>;\r\n #selectedItems: any[] = [];\r\n filteredItems: Observable<any[]>;\r\n #filteredItems: any[];\r\n @Input() cacheChecksum: any;\r\n ipt: any;\r\n\r\n // model\r\n @Input() set model(values: undefined | (string | number)[]) {\r\n if (!Array.isArray(values)) {\r\n values = [];\r\n }\r\n this.formControl.setValue(values);\r\n }\r\n // Validator\r\n required = false;\r\n @Input('required') set _required(val: boolean | '') {\r\n this.required = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n\r\n min: number;\r\n @Input('min') set pMin(val: number | string) {\r\n this.min = +val || 0;\r\n this.#updateValidator();\r\n }\r\n max: number;\r\n @Input('max') set pMax(val: number | string) {\r\n this.max = +val || 0;\r\n this.#updateValidator();\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n this.inputControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n this.inputControl.enable();\r\n }\r\n }\r\n\r\n @Output() sdChange = new EventEmitter<any[]>();\r\n @Output() sdUpdate = new EventEmitter<SdChipUpdate>();\r\n @Output() chipSelected = new EventEmitter<any>();\r\n\r\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n @ViewChild('chipList', { static: true }) chipList: MatChipList;\r\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) autocompleteTrigger: MatAutocompleteTrigger;\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n @ContentChild(SdChipDisplayDef) sdChipDisplay: SdChipDisplayDef;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n isBluring = false;\r\n isFocused = false;\r\n inputControl = new FormControl();\r\n formControl = new SdFormControl();\r\n matcher = new SdChipErrotStateMatcher(this.formControl);\r\n #subscription = new Subscription();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Inject(FORM_CONFIG) @Optional() private formConfig: IFormConfiguration) {\r\n }\r\n\r\n ngOnInit() {\r\n this.appearance = this.appearance || this.formConfig?.appearance;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#allItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.inputControl.valueChanges.pipe(startWith(''), debounceTime(this.#delay)),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))]).pipe(\r\n switchMap(async ([items]) => {\r\n const val = this.inputControl.value;\r\n const values = this.formControl.value || [];\r\n if (typeof (items) === 'function') {\r\n return await this.#loadItems(val, items);\r\n }\r\n this.#allItem = items.toObject(this.valueField);\r\n const hasFields = !!this.valueField && !!this.displayField;\r\n this.#filteredItems = items.filter(item => {\r\n const value = hasFields ? item[this.valueField] : item;\r\n const display = hasFields ? item[this.displayField] : item;\r\n if (String.aliasIncludes(value, val) || String.aliasIncludes(display, val)) {\r\n return true;\r\n }\r\n return values.some(e => e === value);\r\n });\r\n return this.#filteredItems;\r\n }));\r\n this.selectedItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))])\r\n .pipe(\r\n switchMap(async ([items, val]) => {\r\n // Vì một số lý do chưa xác định mà khi sử dụng sdViewDef thì khi chuyển sang dạng view sẽ trigger val = null\r\n // Nhưng formControl.value vẫn có giá trị đúng nên thực hiện gán val = this.formControl.value;\r\n val = this.formControl.value;\r\n if (!this.valueField) {\r\n this.#selectedItems = this.formControl.value;\r\n return this.#selectedItems;\r\n }\r\n if (typeof (items) === 'function') {\r\n this.#selectedItems = await this.#loadSelectedItems(val, items);\r\n return this.#selectedItems;\r\n }\r\n this.#selectedItems = (this.formControl.value || [])?.map(value => {\r\n return items?.find(item => item[this.valueField] === value) || {\r\n [this.valueField]: value,\r\n [this.displayField]: value\r\n };\r\n });\r\n return this.#selectedItems;\r\n })\r\n );\r\n this.filteredItems = this.#allItems.pipe(map(allItems => allItems.filter(item => {\r\n const values = this.formControl.value || [];\r\n if (this.valueField) {\r\n return !values.includes(item?.[this.valueField]);\r\n }\r\n return !values.includes(item);\r\n }).paging(this.limit)));\r\n // this.display = this.selectedItems.pipe(\r\n // map(selectedItems => selectedItems?.map(item => this.displayField ? item[this.displayField] : item)?.join(', ')));\r\n // this.#subscription.add(this.formControl.valueChanges.subscribe(() => {\r\n // const values: (string | number)[] = this.formControl.value || [];\r\n // this.selectedItems = this.#items.filter(item => values.findIndex(value => value === item?.[this.valueField]) !== -1);\r\n // this.modelChange.emit(values);\r\n // this.sdChange.emit(values);\r\n // setTimeout(() => {\r\n // this.#form?.markAsDirty();\r\n // }, 0);\r\n // }));\r\n // this.#subscription.add(this.#itemChanges.pipe(startWith(this.#items)).subscribe(() => {\r\n // const values: (string | number)[] = this.formControl.value || [];\r\n // this.selectedItems = [];\r\n // for (const value of values) {\r\n // const item = this.#items.find(e => e?.[this.valueField] === value) || {};\r\n // this.selectedItems.push({\r\n // ...item,\r\n // [this.valueField]: value\r\n // });\r\n // }\r\n // }));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n const asyncValidators: AsyncValidatorFn[] = [];\r\n if (this.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (this.min > 0) {\r\n validators.push(Validators.minLength(this.min));\r\n }\r\n if (this.max > 0) {\r\n validators.push(Validators.maxLength(this.max));\r\n }\r\n this.formControl.setValidators(validators);\r\n this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #loadItems = async (searchText: string, items: SearchFunc) => {\r\n searchText = searchText?.toString() || '';\r\n const key = hash({\r\n checksum: this.cacheChecksum || null,\r\n searchText\r\n })\r\n if (this.#cache[key] === undefined) {\r\n this.loading = true;\r\n const results = await items(searchText).catch(() => []).finally(() => this.loading = false);\r\n const objItem = Array.toObject(results, this.valueField);\r\n this.#allItem = {\r\n ...this.#allItem,\r\n ...objItem\r\n };\r\n this.#cache[key] = results.union(this.valueField);\r\n }\r\n // if (!this.multiple) {\r\n // return this.#cache[searchText];\r\n // }\r\n const selectedItems = await this.#loadSelectedItems(this.formControl.value, items);\r\n // Đưa những selectedItems lên đầu nếu không mat-select-trigger sẽ không work\r\n return [...selectedItems, ...this.#cache[key]].union(this.valueField);\r\n }\r\n\r\n #loadSelectedItems = async (value: string | string[], items: SearchFunc) => {\r\n if (!value?.toString()) {\r\n return [];\r\n }\r\n const values = Array.isArray(value) ? value : [value];\r\n if (!this.valueField && !this.displayField) {\r\n return values;\r\n }\r\n this.loading = true;\r\n if (values.some(val => this.#allItem[val] === undefined)) {\r\n const results = await items(value, true).catch(() => []).finally(() => this.loading = false);\r\n const objItem = Array.toObject(results, this.valueField);\r\n const objValue = Array.toObject(\r\n values.map(val => ({ [val?.toString()]: { [this.valueField]: val, [this.displayField]: val } })), this.valueField);\r\n this.#allItem = {\r\n ...objValue,\r\n ...this.#allItem,\r\n ...objItem\r\n };\r\n }\r\n return values.map(val => this.#allItem[val?.toString()] ?? { [this.valueField]: val, [this.displayField]: val });\r\n }\r\n\r\n onAdd = (event: MatChipInputEvent): void => {\r\n // Add item only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n // if (!this.matAutocomplete.isOpen) {\r\n // const value = (event.value ?? '').toString().trim();\r\n // if (value) {\r\n // if (this.valueField && this.displayField) {\r\n // const item = this.#filteredItems.find(e => e[this.displayField] === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item[this.valueField]);\r\n // this.formControl.setValue(values);\r\n // } else if (this.#addable) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(value);\r\n // this.formControl.setValue(values);\r\n // }\r\n // } else {\r\n // console.log(value);\r\n // console.log(this.#filteredItems);\r\n // const item = this.#filteredItems.find(item => item === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item);\r\n // this.formControl.setValue(values);\r\n // } else if (this.#addable) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(value);\r\n // this.formControl.setValue(values);\r\n // }\r\n // }\r\n // }\r\n // this.inputControl.setValue('');\r\n // }\r\n const value = (event.value ?? '').toString().trim();\r\n if (value) {\r\n if (this.valueField && this.displayField) {\r\n const item = this.#filteredItems.find(e => e[this.displayField] === value);\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(item[this.valueField]);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.#addable) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(value);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n } else {\r\n const item = this.#filteredItems.find(item => item === value);\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(item);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.#addable) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(value);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n }\r\n }\r\n this.input.nativeElement.value = '';\r\n this.inputControl.setValue('');\r\n }\r\n\r\n // andn1 viết để xử lý tạm us B2B1D-18289 ở S69\r\n onAdd2 = (event: MatChipInputEvent): void => {\r\n\r\n const value = (event.value ?? '').toString().toLowerCase().trim();\r\n if (value) {\r\n const item = this.#filteredItems.find(e => e[this.valueField]\r\n && e[this.valueField].toString().toLowerCase().trim() === value);\r\n\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (!values.includes(item[this.valueField])) {\r\n values.push(item[this.valueField]);\r\n }\r\n this.formControl.setValue(values);\r\n }\r\n }\r\n this.inputControl.setValue('');\r\n }\r\n\r\n onClickChip = ($event: Event, item: any) => {\r\n $event.stopPropagation();\r\n $event.stopImmediatePropagation();\r\n item.isSelected = !item.isSelected;\r\n this.focus();\r\n }\r\n\r\n onRemove = (item: any): void => {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n this.formControl.setValue(values.filter(value => item !== value));\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.valueField) {\r\n this.formControl.setValue(values.filter(value => item?.[this.valueField] !== value));\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n this.inputControl.setValue('');\r\n this.focus();\r\n }\r\n\r\n select = (item: any): void => {\r\n this.chipSelected.emit(item);\r\n this.focus();\r\n }\r\n\r\n // onSelect = (event: MatAutocompleteSelectedEvent) => {\r\n // const value = (event.option.value?.[this.valueField] ?? '').toString().trim();\r\n // if (value) {\r\n // const item = this.#items.find(e => e[this.valueField]\r\n // && e[this.valueField].toString().trim() === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item[this.valueField]);\r\n // this.formControl.setValue(values);\r\n // this.input.nativeElement.value = '';\r\n // this.inputControl.setValue('');\r\n // setTimeout(() => {\r\n // this.autocompleteTrigger?.openPanel();\r\n // }, 0);\r\n // }\r\n // }\r\n // }\r\n\r\n onSelect = (event: MatAutocompleteSelectedEvent) => {\r\n const item = event.option.value;\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (item) {\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n if (!values.includes(item)) {\r\n values.push(item);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n }, 0);\r\n }\r\n } else if (this.valueField) {\r\n const val = item?.[this.valueField] || null;\r\n if (!values.includes(val)) {\r\n values.push(val);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n }, 0);\r\n }\r\n }\r\n this.input.nativeElement.value = '';\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n\r\n // displayFn = (value: string | { [key: string]: string }): string | undefined => {\r\n // if (typeof value === 'string') {\r\n // if (!this.#items) {\r\n // return undefined;\r\n // }\r\n // const selectedItem = this.#items.find(item => item[this.valueField] === value);\r\n // if (selectedItem) {\r\n // return selectedItem[this.displayField];\r\n // }\r\n // if (this.#items.some(item => item[this.displayField].toLowerCase().indexOf(value.toLowerCase()) !== -1)) {\r\n // return value;\r\n // } else {\r\n // return undefined;\r\n // }\r\n // } else {\r\n // return value ? value[this.displayField] : undefined;\r\n // }\r\n // }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.isBluring = false;\r\n this.inputControl.setValue('');\r\n // this.inputControl.updateValueAndValidity();\r\n }\r\n\r\n onBlur = () => {\r\n this.isBluring = true;\r\n setTimeout(() => {\r\n if(this.isBluring) {\r\n this.isFocused = false;\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }, 100);\r\n }\r\n\r\n onClick = () => {\r\n if (this.sdView?.templateRef) {\r\n if (!this.formControl.disabled && !this.isFocused) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n this.isBluring = false;\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n this.input?.nativeElement?.focus();\r\n }, 100);\r\n }\r\n\r\n onClear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n this.inputControl.setValue('');\r\n this.formControl.setValue([]);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n this.autocompleteTrigger?.openPanel();\r\n this.ref.detectChanges();\r\n }\r\n\r\n getSelectedItems = () => this.#selectedItems;\r\n}\r\n\r\ntype SearchFunc = (searchText?: string | string[], isFormValue?: boolean) => Promise<any[]>;","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdRemovableChip'\r\n})\r\nexport class SdRemovableChipPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, removable: boolean | ((item: any) => boolean)): boolean {\r\n if(typeof(removable) === 'boolean') {\r\n return removable;\r\n }\r\n return removable(item);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdChip } from './chip.component';\r\nimport { SdChipDisplayDef } from './directives/sd-chip-display-def.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { SdRemovableChipPipe } from './pipes/removable-chip.pipe';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n SdTranslateModule,\r\n SdCommonModule\r\n ],\r\n declarations: [\r\n SdChip,\r\n SdChipDisplayDef,\r\n SdRemovableChipPipe\r\n ],\r\n exports: [\r\n SdCommonModule,\r\n SdChip,\r\n SdChipDisplayDef,\r\n ]\r\n})\r\nexport class SdChipModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/chip.module';\r\nexport * from './lib/chip.component';\r\nexport * from './lib/chip.model';\r\nexport * from './lib/directives/sd-chip-display-def.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SdRemovableChipPipe as ɵa} from './src/lib/pipes/removable-chip.pipe';"],"names":["uuid.v4"],"mappings":"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"}
1
+ {"version":3,"file":"sd-angular-core-chip.js","sources":["../../../../projects/sd-core/chip/src/lib/directives/sd-chip-display-def.directive.ts","../../../../projects/sd-core/chip/src/lib/chip.component.ts","../../../../projects/sd-core/chip/src/lib/pipes/removable-chip.pipe.ts","../../../../projects/sd-core/chip/src/lib/chip.module.ts","../../../../projects/sd-core/chip/src/public-api.ts","../../../../projects/sd-core/chip/sd-angular-core-chip.ts"],"names":["uuid.v4"],"mappings":"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","sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdChipDisplayDef]'\r\n})\r\nexport class SdChipDisplayDef {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit, OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ElementRef,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n Inject,\r\n Optional\r\n} from '@angular/core';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\r\n\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { NgForm, FormControl, FormGroup, ValidatorFn, AsyncValidatorFn, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { Observable, Subscription, BehaviorSubject, combineLatest } from 'rxjs';\r\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\r\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { SdChipUpdate } from './chip.model';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdChipDisplayDef } from './directives/sd-chip-display-def.directive';\r\nimport { FORM_CONFIG, IFormConfiguration, SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\nclass SdChipErrotStateMatcher implements ErrorStateMatcher {\r\n constructor(private formControl: FormControl) { }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(this.formControl?.invalid && (this.formControl?.dirty || this.formControl?.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-chip',\r\n templateUrl: './chip.component.html',\r\n styleUrls: ['./chip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdChip implements OnInit, OnDestroy, AfterViewInit {\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() appearance: MatFormFieldAppearance;\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n selectable = true;\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n #addable: boolean;\r\n @Input() set addable(val: '' | boolean) {\r\n this.#addable = (val === '') || val;\r\n }\r\n @Input() label: string;\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n @Input() placeholder: string;\r\n removable: boolean | ((item: any) => boolean) = true;\r\n @Input('removable') set _removable(val: '' | boolean | ((item: any) => boolean)) {\r\n this.removable = (val === '') || val;\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n }\r\n // Server search\r\n loading = false;\r\n #allItems: Observable<any[]>;\r\n #allItem: {\r\n [key: string]: any\r\n } = {};\r\n #cache: {\r\n [key: string]: any[]\r\n } = {};\r\n #delay = 200; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện gọi hàm\r\n #itemsChanges = new BehaviorSubject<any[] | SearchFunc>([]);\r\n @Input() set items(items: undefined | any[] | SearchFunc) {\r\n this.#delay = 0;\r\n if (!items) {\r\n this.#itemsChanges.next([]);\r\n } else if (Array.isArray(items)) {\r\n this.#itemsChanges.next(items.filter(e => e !== null && e !== undefined));\r\n } else {\r\n this.#delay = 500;\r\n this.#itemsChanges.next(items);\r\n }\r\n this.formControl.updateValueAndValidity();\r\n }\r\n @Input() limit = 50;\r\n selectedItems: Observable<any[]>;\r\n #selectedItems: any[] = [];\r\n filteredItems: Observable<any[]>;\r\n #filteredItems: any[];\r\n @Input() cacheChecksum: any;\r\n ipt: any;\r\n\r\n // model\r\n @Input() set model(values: undefined | (string | number)[]) {\r\n if (!Array.isArray(values)) {\r\n values = [];\r\n }\r\n this.formControl.setValue(values);\r\n }\r\n // Validator\r\n required = false;\r\n @Input('required') set _required(val: boolean | '') {\r\n this.required = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n\r\n min: number;\r\n @Input('min') set pMin(val: number | string) {\r\n this.min = +val || 0;\r\n this.#updateValidator();\r\n }\r\n max: number;\r\n @Input('max') set pMax(val: number | string) {\r\n this.max = +val || 0;\r\n this.#updateValidator();\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n this.inputControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n this.inputControl.enable();\r\n }\r\n }\r\n\r\n @Output() sdChange = new EventEmitter<any[]>();\r\n @Output() sdUpdate = new EventEmitter<SdChipUpdate>();\r\n @Output() chipSelected = new EventEmitter<any>();\r\n\r\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n @ViewChild('chipList', { static: true }) chipList: MatChipList;\r\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) autocompleteTrigger: MatAutocompleteTrigger;\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n @ContentChild(SdChipDisplayDef) sdChipDisplay: SdChipDisplayDef;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n isBluring = false;\r\n isFocused = false;\r\n inputControl = new FormControl();\r\n formControl = new SdFormControl();\r\n matcher = new SdChipErrotStateMatcher(this.formControl);\r\n #subscription = new Subscription();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Inject(FORM_CONFIG) @Optional() private formConfig: IFormConfiguration) {\r\n }\r\n\r\n ngOnInit() {\r\n this.appearance = this.appearance || this.formConfig?.appearance;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#allItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.inputControl.valueChanges.pipe(startWith(''), debounceTime(this.#delay)),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))]).pipe(\r\n switchMap(async ([items]) => {\r\n const val = this.inputControl.value;\r\n const values = this.formControl.value || [];\r\n if (typeof (items) === 'function') {\r\n return await this.#loadItems(val, items);\r\n }\r\n this.#allItem = items.toObject(this.valueField);\r\n const hasFields = !!this.valueField && !!this.displayField;\r\n this.#filteredItems = items.filter(item => {\r\n const value = hasFields ? item[this.valueField] : item;\r\n const display = hasFields ? item[this.displayField] : item;\r\n if (String.aliasIncludes(value, val) || String.aliasIncludes(display, val)) {\r\n return true;\r\n }\r\n return values.some(e => e === value);\r\n });\r\n return this.#filteredItems;\r\n }));\r\n this.selectedItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))])\r\n .pipe(\r\n switchMap(async ([items, val]) => {\r\n // Vì một số lý do chưa xác định mà khi sử dụng sdViewDef thì khi chuyển sang dạng view sẽ trigger val = null\r\n // Nhưng formControl.value vẫn có giá trị đúng nên thực hiện gán val = this.formControl.value;\r\n val = this.formControl.value;\r\n if (!this.valueField) {\r\n this.#selectedItems = this.formControl.value;\r\n return this.#selectedItems;\r\n }\r\n if (typeof (items) === 'function') {\r\n this.#selectedItems = await this.#loadSelectedItems(val, items);\r\n return this.#selectedItems;\r\n }\r\n this.#selectedItems = (this.formControl.value || [])?.map(value => {\r\n return items?.find(item => item[this.valueField] === value) || {\r\n [this.valueField]: value,\r\n [this.displayField]: value\r\n };\r\n });\r\n return this.#selectedItems;\r\n })\r\n );\r\n this.filteredItems = this.#allItems.pipe(map(allItems => allItems.filter(item => {\r\n const values = this.formControl.value || [];\r\n if (this.valueField) {\r\n return !values.includes(item?.[this.valueField]);\r\n }\r\n return !values.includes(item);\r\n }).paging(this.limit)));\r\n // this.display = this.selectedItems.pipe(\r\n // map(selectedItems => selectedItems?.map(item => this.displayField ? item[this.displayField] : item)?.join(', ')));\r\n // this.#subscription.add(this.formControl.valueChanges.subscribe(() => {\r\n // const values: (string | number)[] = this.formControl.value || [];\r\n // this.selectedItems = this.#items.filter(item => values.findIndex(value => value === item?.[this.valueField]) !== -1);\r\n // this.modelChange.emit(values);\r\n // this.sdChange.emit(values);\r\n // setTimeout(() => {\r\n // this.#form?.markAsDirty();\r\n // }, 0);\r\n // }));\r\n // this.#subscription.add(this.#itemChanges.pipe(startWith(this.#items)).subscribe(() => {\r\n // const values: (string | number)[] = this.formControl.value || [];\r\n // this.selectedItems = [];\r\n // for (const value of values) {\r\n // const item = this.#items.find(e => e?.[this.valueField] === value) || {};\r\n // this.selectedItems.push({\r\n // ...item,\r\n // [this.valueField]: value\r\n // });\r\n // }\r\n // }));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n const asyncValidators: AsyncValidatorFn[] = [];\r\n if (this.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (this.min > 0) {\r\n validators.push(Validators.minLength(this.min));\r\n }\r\n if (this.max > 0) {\r\n validators.push(Validators.maxLength(this.max));\r\n }\r\n this.formControl.setValidators(validators);\r\n this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #loadItems = async (searchText: string, items: SearchFunc) => {\r\n searchText = searchText?.toString() || '';\r\n const key = hash({\r\n checksum: this.cacheChecksum || null,\r\n searchText\r\n })\r\n if (this.#cache[key] === undefined) {\r\n this.loading = true;\r\n const results = await items(searchText).catch(() => []).finally(() => this.loading = false);\r\n const objItem = Array.toObject(results, this.valueField);\r\n this.#allItem = {\r\n ...this.#allItem,\r\n ...objItem\r\n };\r\n this.#cache[key] = results.union(this.valueField);\r\n }\r\n // if (!this.multiple) {\r\n // return this.#cache[searchText];\r\n // }\r\n const selectedItems = await this.#loadSelectedItems(this.formControl.value, items);\r\n // Đưa những selectedItems lên đầu nếu không mat-select-trigger sẽ không work\r\n return [...selectedItems, ...this.#cache[key]].union(this.valueField);\r\n }\r\n\r\n #loadSelectedItems = async (value: string | string[], items: SearchFunc) => {\r\n if (!value?.toString()) {\r\n return [];\r\n }\r\n const values = Array.isArray(value) ? value : [value];\r\n if (!this.valueField && !this.displayField) {\r\n return values;\r\n }\r\n this.loading = true;\r\n if (values.some(val => this.#allItem[val] === undefined)) {\r\n const results = await items(value, true).catch(() => []).finally(() => this.loading = false);\r\n const objItem = Array.toObject(results, this.valueField);\r\n const objValue = Array.toObject(\r\n values.map(val => ({ [val?.toString()]: { [this.valueField]: val, [this.displayField]: val } })), this.valueField);\r\n this.#allItem = {\r\n ...objValue,\r\n ...this.#allItem,\r\n ...objItem\r\n };\r\n }\r\n return values.map(val => this.#allItem[val?.toString()] ?? { [this.valueField]: val, [this.displayField]: val });\r\n }\r\n\r\n onAdd = (event: MatChipInputEvent): void => {\r\n // Add item only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n // if (!this.matAutocomplete.isOpen) {\r\n // const value = (event.value ?? '').toString().trim();\r\n // if (value) {\r\n // if (this.valueField && this.displayField) {\r\n // const item = this.#filteredItems.find(e => e[this.displayField] === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item[this.valueField]);\r\n // this.formControl.setValue(values);\r\n // } else if (this.#addable) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(value);\r\n // this.formControl.setValue(values);\r\n // }\r\n // } else {\r\n // console.log(value);\r\n // console.log(this.#filteredItems);\r\n // const item = this.#filteredItems.find(item => item === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item);\r\n // this.formControl.setValue(values);\r\n // } else if (this.#addable) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(value);\r\n // this.formControl.setValue(values);\r\n // }\r\n // }\r\n // }\r\n // this.inputControl.setValue('');\r\n // }\r\n const value = (event.value ?? '').toString().trim();\r\n if (value) {\r\n if (this.valueField && this.displayField) {\r\n const item = this.#filteredItems.find(e => e[this.displayField] === value);\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(item[this.valueField]);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.#addable) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(value);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n } else {\r\n const item = this.#filteredItems.find(item => item === value);\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(item);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.#addable) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(value);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n }\r\n }\r\n this.input.nativeElement.value = '';\r\n this.inputControl.setValue('');\r\n }\r\n\r\n // andn1 viết để xử lý tạm us B2B1D-18289 ở S69\r\n onAdd2 = (event: MatChipInputEvent): void => {\r\n\r\n const value = (event.value ?? '').toString().toLowerCase().trim();\r\n if (value) {\r\n const item = this.#filteredItems.find(e => e[this.valueField]\r\n && e[this.valueField].toString().toLowerCase().trim() === value);\r\n\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (!values.includes(item[this.valueField])) {\r\n values.push(item[this.valueField]);\r\n }\r\n this.formControl.setValue(values);\r\n }\r\n }\r\n this.inputControl.setValue('');\r\n }\r\n\r\n onClickChip = ($event: Event, item: any) => {\r\n $event.stopPropagation();\r\n $event.stopImmediatePropagation();\r\n item.isSelected = !item.isSelected;\r\n this.focus();\r\n }\r\n\r\n onRemove = (item: any): void => {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n this.formControl.setValue(values.filter(value => item !== value));\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.valueField) {\r\n this.formControl.setValue(values.filter(value => item?.[this.valueField] !== value));\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n this.inputControl.setValue('');\r\n this.focus();\r\n }\r\n\r\n select = (item: any): void => {\r\n this.chipSelected.emit(item);\r\n this.focus();\r\n }\r\n\r\n // onSelect = (event: MatAutocompleteSelectedEvent) => {\r\n // const value = (event.option.value?.[this.valueField] ?? '').toString().trim();\r\n // if (value) {\r\n // const item = this.#items.find(e => e[this.valueField]\r\n // && e[this.valueField].toString().trim() === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item[this.valueField]);\r\n // this.formControl.setValue(values);\r\n // this.input.nativeElement.value = '';\r\n // this.inputControl.setValue('');\r\n // setTimeout(() => {\r\n // this.autocompleteTrigger?.openPanel();\r\n // }, 0);\r\n // }\r\n // }\r\n // }\r\n\r\n onSelect = (event: MatAutocompleteSelectedEvent) => {\r\n const item = event.option.value;\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (item) {\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n if (!values.includes(item)) {\r\n values.push(item);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n }, 0);\r\n }\r\n } else if (this.valueField) {\r\n const val = item?.[this.valueField] || null;\r\n if (!values.includes(val)) {\r\n values.push(val);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n }, 0);\r\n }\r\n }\r\n this.input.nativeElement.value = '';\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n\r\n // displayFn = (value: string | { [key: string]: string }): string | undefined => {\r\n // if (typeof value === 'string') {\r\n // if (!this.#items) {\r\n // return undefined;\r\n // }\r\n // const selectedItem = this.#items.find(item => item[this.valueField] === value);\r\n // if (selectedItem) {\r\n // return selectedItem[this.displayField];\r\n // }\r\n // if (this.#items.some(item => item[this.displayField].toLowerCase().indexOf(value.toLowerCase()) !== -1)) {\r\n // return value;\r\n // } else {\r\n // return undefined;\r\n // }\r\n // } else {\r\n // return value ? value[this.displayField] : undefined;\r\n // }\r\n // }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.isBluring = false;\r\n this.inputControl.setValue('');\r\n // this.inputControl.updateValueAndValidity();\r\n }\r\n\r\n onBlur = () => {\r\n this.isBluring = true;\r\n setTimeout(() => {\r\n if(this.isBluring) {\r\n this.isFocused = false;\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }, 100);\r\n }\r\n\r\n onClick = () => {\r\n if (this.sdView?.templateRef) {\r\n if (!this.formControl.disabled && !this.isFocused) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n this.isBluring = false;\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n this.input?.nativeElement?.focus();\r\n }, 100);\r\n }\r\n\r\n onClear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n this.inputControl.setValue('');\r\n this.formControl.setValue([]);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n this.autocompleteTrigger?.openPanel();\r\n this.ref.detectChanges();\r\n }\r\n\r\n getSelectedItems = () => this.#selectedItems;\r\n}\r\n\r\ntype SearchFunc = (searchText?: string | string[], isFormValue?: boolean) => Promise<any[]>;","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdRemovableChip'\r\n})\r\nexport class SdRemovableChipPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, removable: boolean | ((item: any) => boolean)): boolean {\r\n if(typeof(removable) === 'boolean') {\r\n return removable;\r\n }\r\n return removable(item);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdChip } from './chip.component';\r\nimport { SdChipDisplayDef } from './directives/sd-chip-display-def.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { SdRemovableChipPipe } from './pipes/removable-chip.pipe';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n SdTranslateModule,\r\n SdCommonModule\r\n ],\r\n declarations: [\r\n SdChip,\r\n SdChipDisplayDef,\r\n SdRemovableChipPipe\r\n ],\r\n exports: [\r\n SdCommonModule,\r\n SdChip,\r\n SdChipDisplayDef,\r\n ]\r\n})\r\nexport class SdChipModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/chip.module';\r\nexport * from './lib/chip.component';\r\nexport * from './lib/chip.model';\r\nexport * from './lib/directives/sd-chip-display-def.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SdRemovableChipPipe as ɵa} from './src/lib/pipes/removable-chip.pipe';"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-angular-core-chip.js","sources":["../../../../projects/sd-core/chip/src/lib/directives/sd-chip-display-def.directive.ts","../../../../projects/sd-core/chip/src/lib/chip.component.ts","../../../../projects/sd-core/chip/src/lib/pipes/removable-chip.pipe.ts","../../../../projects/sd-core/chip/src/lib/chip.module.ts","../../../../projects/sd-core/chip/src/public-api.ts","../../../../projects/sd-core/chip/sd-angular-core-chip.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdChipDisplayDef]'\r\n})\r\nexport class SdChipDisplayDef {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit, OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ElementRef,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n Inject,\r\n Optional\r\n} from '@angular/core';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\r\n\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { NgForm, FormControl, FormGroup, ValidatorFn, AsyncValidatorFn, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { Observable, Subscription, BehaviorSubject, combineLatest } from 'rxjs';\r\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\r\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { SdChipUpdate } from './chip.model';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdChipDisplayDef } from './directives/sd-chip-display-def.directive';\r\nimport { FORM_CONFIG, IFormConfiguration, SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\nclass SdChipErrotStateMatcher implements ErrorStateMatcher {\r\n constructor(private formControl: FormControl) { }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(this.formControl?.invalid && (this.formControl?.dirty || this.formControl?.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-chip',\r\n templateUrl: './chip.component.html',\r\n styleUrls: ['./chip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdChip implements OnInit, OnDestroy, AfterViewInit {\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() appearance: MatFormFieldAppearance;\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n selectable = true;\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n #addable: boolean;\r\n @Input() set addable(val: '' | boolean) {\r\n this.#addable = (val === '') || val;\r\n }\r\n @Input() label: string;\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n @Input() placeholder: string;\r\n removable: boolean | ((item: any) => boolean) = true;\r\n @Input('removable') set _removable(val: '' | boolean | ((item: any) => boolean)) {\r\n this.removable = (val === '') || val;\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n }\r\n // Server search\r\n loading = false;\r\n #allItems: Observable<any[]>;\r\n #allItem: {\r\n [key: string]: any\r\n } = {};\r\n #cache: {\r\n [key: string]: any[]\r\n } = {};\r\n #delay = 200; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện gọi hàm\r\n #itemsChanges = new BehaviorSubject<any[] | SearchFunc>([]);\r\n @Input() set items(items: undefined | any[] | SearchFunc) {\r\n this.#delay = 0;\r\n if (!items) {\r\n this.#itemsChanges.next([]);\r\n } else if (Array.isArray(items)) {\r\n this.#itemsChanges.next(items.filter(e => e !== null && e !== undefined));\r\n } else {\r\n this.#delay = 500;\r\n this.#itemsChanges.next(items);\r\n }\r\n this.formControl.updateValueAndValidity();\r\n }\r\n @Input() limit = 50;\r\n selectedItems: Observable<any[]>;\r\n #selectedItems: any[] = [];\r\n filteredItems: Observable<any[]>;\r\n #filteredItems: any[];\r\n @Input() cacheChecksum: any;\r\n ipt: any;\r\n\r\n // model\r\n @Input() set model(values: undefined | (string | number)[]) {\r\n if (!Array.isArray(values)) {\r\n values = [];\r\n }\r\n this.formControl.setValue(values);\r\n }\r\n // Validator\r\n required = false;\r\n @Input('required') set _required(val: boolean | '') {\r\n this.required = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n\r\n min: number;\r\n @Input('min') set pMin(val: number | string) {\r\n this.min = +val || 0;\r\n this.#updateValidator();\r\n }\r\n max: number;\r\n @Input('max') set pMax(val: number | string) {\r\n this.max = +val || 0;\r\n this.#updateValidator();\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n this.inputControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n this.inputControl.enable();\r\n }\r\n }\r\n\r\n @Output() sdChange = new EventEmitter<any[]>();\r\n @Output() sdUpdate = new EventEmitter<SdChipUpdate>();\r\n @Output() chipSelected = new EventEmitter<any>();\r\n\r\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n @ViewChild('chipList', { static: true }) chipList: MatChipList;\r\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) autocompleteTrigger: MatAutocompleteTrigger;\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n @ContentChild(SdChipDisplayDef) sdChipDisplay: SdChipDisplayDef;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n isBluring = false;\r\n isFocused = false;\r\n inputControl = new FormControl();\r\n formControl = new SdFormControl();\r\n matcher = new SdChipErrotStateMatcher(this.formControl);\r\n #subscription = new Subscription();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Inject(FORM_CONFIG) @Optional() private formConfig: IFormConfiguration) {\r\n }\r\n\r\n ngOnInit() {\r\n this.appearance = this.appearance || this.formConfig?.appearance;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#allItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.inputControl.valueChanges.pipe(startWith(''), debounceTime(this.#delay)),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))]).pipe(\r\n switchMap(async ([items]) => {\r\n const val = this.inputControl.value;\r\n const values = this.formControl.value || [];\r\n if (typeof (items) === 'function') {\r\n return await this.#loadItems(val, items);\r\n }\r\n this.#allItem = items.toObject(this.valueField);\r\n const hasFields = !!this.valueField && !!this.displayField;\r\n this.#filteredItems = items.filter(item => {\r\n const value = hasFields ? item[this.valueField] : item;\r\n const display = hasFields ? item[this.displayField] : item;\r\n if (String.aliasIncludes(value, val) || String.aliasIncludes(display, val)) {\r\n return true;\r\n }\r\n return values.some(e => e === value);\r\n });\r\n return this.#filteredItems;\r\n }));\r\n this.selectedItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))])\r\n .pipe(\r\n switchMap(async ([items, val]) => {\r\n // Vì một số lý do chưa xác định mà khi sử dụng sdViewDef thì khi chuyển sang dạng view sẽ trigger val = null\r\n // Nhưng formControl.value vẫn có giá trị đúng nên thực hiện gán val = this.formControl.value;\r\n val = this.formControl.value;\r\n if (!this.valueField) {\r\n this.#selectedItems = this.formControl.value;\r\n return this.#selectedItems;\r\n }\r\n if (typeof (items) === 'function') {\r\n this.#selectedItems = await this.#loadSelectedItems(val, items);\r\n return this.#selectedItems;\r\n }\r\n this.#selectedItems = (this.formControl.value || [])?.map(value => {\r\n return items?.find(item => item[this.valueField] === value) || {\r\n [this.valueField]: value,\r\n [this.displayField]: value\r\n };\r\n });\r\n return this.#selectedItems;\r\n })\r\n );\r\n this.filteredItems = this.#allItems.pipe(map(allItems => allItems.filter(item => {\r\n const values = this.formControl.value || [];\r\n if (this.valueField) {\r\n return !values.includes(item?.[this.valueField]);\r\n }\r\n return !values.includes(item);\r\n }).paging(this.limit)));\r\n // this.display = this.selectedItems.pipe(\r\n // map(selectedItems => selectedItems?.map(item => this.displayField ? item[this.displayField] : item)?.join(', ')));\r\n // this.#subscription.add(this.formControl.valueChanges.subscribe(() => {\r\n // const values: (string | number)[] = this.formControl.value || [];\r\n // this.selectedItems = this.#items.filter(item => values.findIndex(value => value === item?.[this.valueField]) !== -1);\r\n // this.modelChange.emit(values);\r\n // this.sdChange.emit(values);\r\n // setTimeout(() => {\r\n // this.#form?.markAsDirty();\r\n // }, 0);\r\n // }));\r\n // this.#subscription.add(this.#itemChanges.pipe(startWith(this.#items)).subscribe(() => {\r\n // const values: (string | number)[] = this.formControl.value || [];\r\n // this.selectedItems = [];\r\n // for (const value of values) {\r\n // const item = this.#items.find(e => e?.[this.valueField] === value) || {};\r\n // this.selectedItems.push({\r\n // ...item,\r\n // [this.valueField]: value\r\n // });\r\n // }\r\n // }));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n const asyncValidators: AsyncValidatorFn[] = [];\r\n if (this.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (this.min > 0) {\r\n validators.push(Validators.minLength(this.min));\r\n }\r\n if (this.max > 0) {\r\n validators.push(Validators.maxLength(this.max));\r\n }\r\n this.formControl.setValidators(validators);\r\n this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #loadItems = async (searchText: string, items: SearchFunc) => {\r\n searchText = searchText?.toString() || '';\r\n const key = hash({\r\n checksum: this.cacheChecksum || null,\r\n searchText\r\n })\r\n if (this.#cache[key] === undefined) {\r\n this.loading = true;\r\n const results = await items(searchText).catch(() => []).finally(() => this.loading = false);\r\n const objItem = Array.toObject(results, this.valueField);\r\n this.#allItem = {\r\n ...this.#allItem,\r\n ...objItem\r\n };\r\n this.#cache[key] = results.union(this.valueField);\r\n }\r\n // if (!this.multiple) {\r\n // return this.#cache[searchText];\r\n // }\r\n const selectedItems = await this.#loadSelectedItems(this.formControl.value, items);\r\n // Đưa những selectedItems lên đầu nếu không mat-select-trigger sẽ không work\r\n return [...selectedItems, ...this.#cache[key]].union(this.valueField);\r\n }\r\n\r\n #loadSelectedItems = async (value: string | string[], items: SearchFunc) => {\r\n if (!value?.toString()) {\r\n return [];\r\n }\r\n const values = Array.isArray(value) ? value : [value];\r\n if (!this.valueField && !this.displayField) {\r\n return values;\r\n }\r\n this.loading = true;\r\n if (values.some(val => this.#allItem[val] === undefined)) {\r\n const results = await items(value, true).catch(() => []).finally(() => this.loading = false);\r\n const objItem = Array.toObject(results, this.valueField);\r\n const objValue = Array.toObject(\r\n values.map(val => ({ [val?.toString()]: { [this.valueField]: val, [this.displayField]: val } })), this.valueField);\r\n this.#allItem = {\r\n ...objValue,\r\n ...this.#allItem,\r\n ...objItem\r\n };\r\n }\r\n return values.map(val => this.#allItem[val?.toString()] ?? { [this.valueField]: val, [this.displayField]: val });\r\n }\r\n\r\n onAdd = (event: MatChipInputEvent): void => {\r\n // Add item only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n // if (!this.matAutocomplete.isOpen) {\r\n // const value = (event.value ?? '').toString().trim();\r\n // if (value) {\r\n // if (this.valueField && this.displayField) {\r\n // const item = this.#filteredItems.find(e => e[this.displayField] === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item[this.valueField]);\r\n // this.formControl.setValue(values);\r\n // } else if (this.#addable) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(value);\r\n // this.formControl.setValue(values);\r\n // }\r\n // } else {\r\n // console.log(value);\r\n // console.log(this.#filteredItems);\r\n // const item = this.#filteredItems.find(item => item === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item);\r\n // this.formControl.setValue(values);\r\n // } else if (this.#addable) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(value);\r\n // this.formControl.setValue(values);\r\n // }\r\n // }\r\n // }\r\n // this.inputControl.setValue('');\r\n // }\r\n const value = (event.value ?? '').toString().trim();\r\n if (value) {\r\n if (this.valueField && this.displayField) {\r\n const item = this.#filteredItems.find(e => e[this.displayField] === value);\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(item[this.valueField]);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.#addable) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(value);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n } else {\r\n const item = this.#filteredItems.find(item => item === value);\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(item);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.#addable) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n values.push(value);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n }\r\n }\r\n this.input.nativeElement.value = '';\r\n this.inputControl.setValue('');\r\n }\r\n\r\n // andn1 viết để xử lý tạm us B2B1D-18289 ở S69\r\n onAdd2 = (event: MatChipInputEvent): void => {\r\n\r\n const value = (event.value ?? '').toString().toLowerCase().trim();\r\n if (value) {\r\n const item = this.#filteredItems.find(e => e[this.valueField]\r\n && e[this.valueField].toString().toLowerCase().trim() === value);\r\n\r\n if (item) {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (!values.includes(item[this.valueField])) {\r\n values.push(item[this.valueField]);\r\n }\r\n this.formControl.setValue(values);\r\n }\r\n }\r\n this.inputControl.setValue('');\r\n }\r\n\r\n onClickChip = ($event: Event, item: any) => {\r\n $event.stopPropagation();\r\n $event.stopImmediatePropagation();\r\n item.isSelected = !item.isSelected;\r\n this.focus();\r\n }\r\n\r\n onRemove = (item: any): void => {\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n this.formControl.setValue(values.filter(value => item !== value));\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n } else if (this.valueField) {\r\n this.formControl.setValue(values.filter(value => item?.[this.valueField] !== value));\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n }\r\n this.inputControl.setValue('');\r\n this.focus();\r\n }\r\n\r\n select = (item: any): void => {\r\n this.chipSelected.emit(item);\r\n this.focus();\r\n }\r\n\r\n // onSelect = (event: MatAutocompleteSelectedEvent) => {\r\n // const value = (event.option.value?.[this.valueField] ?? '').toString().trim();\r\n // if (value) {\r\n // const item = this.#items.find(e => e[this.valueField]\r\n // && e[this.valueField].toString().trim() === value);\r\n // if (item) {\r\n // const values: (string | number)[] = this.formControl.value ?? [];\r\n // values.push(item[this.valueField]);\r\n // this.formControl.setValue(values);\r\n // this.input.nativeElement.value = '';\r\n // this.inputControl.setValue('');\r\n // setTimeout(() => {\r\n // this.autocompleteTrigger?.openPanel();\r\n // }, 0);\r\n // }\r\n // }\r\n // }\r\n\r\n onSelect = (event: MatAutocompleteSelectedEvent) => {\r\n const item = event.option.value;\r\n const values: (string | number)[] = this.formControl.value ?? [];\r\n if (item) {\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n if (!values.includes(item)) {\r\n values.push(item);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n }, 0);\r\n }\r\n } else if (this.valueField) {\r\n const val = item?.[this.valueField] || null;\r\n if (!values.includes(val)) {\r\n values.push(val);\r\n this.formControl.setValue(values);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n }, 0);\r\n }\r\n }\r\n this.input.nativeElement.value = '';\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n\r\n // displayFn = (value: string | { [key: string]: string }): string | undefined => {\r\n // if (typeof value === 'string') {\r\n // if (!this.#items) {\r\n // return undefined;\r\n // }\r\n // const selectedItem = this.#items.find(item => item[this.valueField] === value);\r\n // if (selectedItem) {\r\n // return selectedItem[this.displayField];\r\n // }\r\n // if (this.#items.some(item => item[this.displayField].toLowerCase().indexOf(value.toLowerCase()) !== -1)) {\r\n // return value;\r\n // } else {\r\n // return undefined;\r\n // }\r\n // } else {\r\n // return value ? value[this.displayField] : undefined;\r\n // }\r\n // }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.isBluring = false;\r\n this.inputControl.setValue('');\r\n // this.inputControl.updateValueAndValidity();\r\n }\r\n\r\n onBlur = () => {\r\n this.isBluring = true;\r\n setTimeout(() => {\r\n if(this.isBluring) {\r\n this.isFocused = false;\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }, 100);\r\n }\r\n\r\n onClick = () => {\r\n if (this.sdView?.templateRef) {\r\n if (!this.formControl.disabled && !this.isFocused) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n this.isBluring = false;\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n this.input?.nativeElement?.focus();\r\n }, 100);\r\n }\r\n\r\n onClear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n this.inputControl.setValue('');\r\n this.formControl.setValue([]);\r\n this.modelChange.emit(this.formControl.value);\r\n this.sdChange.emit(this.formControl.value);\r\n this.autocompleteTrigger?.openPanel();\r\n this.ref.detectChanges();\r\n }\r\n\r\n getSelectedItems = () => this.#selectedItems;\r\n}\r\n\r\ntype SearchFunc = (searchText?: string | string[], isFormValue?: boolean) => Promise<any[]>;","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdRemovableChip'\r\n})\r\nexport class SdRemovableChipPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, removable: boolean | ((item: any) => boolean)): boolean {\r\n if(typeof(removable) === 'boolean') {\r\n return removable;\r\n }\r\n return removable(item);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdChip } from './chip.component';\r\nimport { SdChipDisplayDef } from './directives/sd-chip-display-def.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { SdRemovableChipPipe } from './pipes/removable-chip.pipe';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n SdTranslateModule,\r\n SdCommonModule\r\n ],\r\n declarations: [\r\n SdChip,\r\n SdChipDisplayDef,\r\n SdRemovableChipPipe\r\n ],\r\n exports: [\r\n SdCommonModule,\r\n SdChip,\r\n SdChipDisplayDef,\r\n ]\r\n})\r\nexport class SdChipModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/chip.module';\r\nexport * from './lib/chip.component';\r\nexport * from './lib/chip.model';\r\nexport * from './lib/directives/sd-chip-display-def.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SdRemovableChipPipe as ɵa} from './src/lib/pipes/removable-chip.pipe';"],"names":["uuid.v4"],"mappings":"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"}
@@ -115,4 +115,5 @@ SdCommentModule.decorators = [
115
115
  */
116
116
 
117
117
  export { SdComment, SdCommentModule };
118
- //# sourceMappingURL=sd-angular-core-comment.js.map
118
+
119
+ //# sourceMappingURL=sd-angular-core-comment.js.map
@@ -0,0 +1,118 @@
1
+ import { Component, ChangeDetectionStrategy, ViewChild, Input, NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SdTranslateModule } from '@sd-angular/core/translate';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { __awaiter, __classPrivateFieldGet } from 'tslib';
7
+ import { SdTextarea, SdTextareaModule } from '@sd-angular/core/textarea';
8
+ import { BehaviorSubject } from 'rxjs';
9
+ import { map } from 'rxjs/operators';
10
+ import { SdButtonModule } from '@sd-angular/core/button';
11
+ import { SdInputModule } from '@sd-angular/core/input';
12
+ import { SdUtilityModule } from '@sd-angular/core/utility';
13
+ import { MatTooltipModule } from '@angular/material/tooltip';
14
+ import { SdEditorModule } from '@sd-angular/core/editor';
15
+ import { SdModalModule } from '@sd-angular/core/modal';
16
+
17
+ var _items, _send, _load;
18
+ class SdComment {
19
+ constructor() {
20
+ _items.set(this, new BehaviorSubject([]));
21
+ _send.set(this, new BehaviorSubject(''));
22
+ this.fullCommentStyles = {
23
+ 'min-height': '150px'
24
+ };
25
+ this.onSend = () => {
26
+ var _a, _b, _c;
27
+ if (this.message) {
28
+ (_b = (_a = this.commentOption) === null || _a === void 0 ? void 0 : _a.event) === null || _b === void 0 ? void 0 : _b.onSend(this.message);
29
+ this.message = null;
30
+ (_c = this.textarea) === null || _c === void 0 ? void 0 : _c.focus();
31
+ }
32
+ };
33
+ _load.set(this, () => __awaiter(this, void 0, void 0, function* () {
34
+ const { items } = this.commentOption;
35
+ const results = items();
36
+ if (results instanceof Promise) {
37
+ return yield results;
38
+ }
39
+ return results;
40
+ }));
41
+ this.reload = () => __awaiter(this, void 0, void 0, function* () {
42
+ __classPrivateFieldGet(this, _items).next(yield __classPrivateFieldGet(this, _load).call(this));
43
+ });
44
+ this.clearAllData = () => {
45
+ this.message = '';
46
+ };
47
+ }
48
+ set option(option) {
49
+ this.commentOption = option;
50
+ this.reload();
51
+ }
52
+ ;
53
+ ngOnInit() {
54
+ this.items = __classPrivateFieldGet(this, _items).pipe(map(items => {
55
+ return items.map(e => {
56
+ var _a;
57
+ return (Object.assign(Object.assign({}, e), { picture: (_a = e.picture) !== null && _a !== void 0 ? _a : `https://ui-avatars.com/api/?size=32&rounded=true&background=random&name=${e.creator}` }));
58
+ });
59
+ }));
60
+ this.count = this.items.pipe(map(items => items.length));
61
+ }
62
+ ngOnDestroy() {
63
+ }
64
+ ngAfterViewInit() {
65
+ }
66
+ }
67
+ _items = new WeakMap(), _send = new WeakMap(), _load = new WeakMap();
68
+ SdComment.decorators = [
69
+ { type: Component, args: [{
70
+ selector: 'sd-comment',
71
+ template: "<div class=\"c-container\">\r\n <div class=\"c-header\">\r\n <div class=\"c-title\">{{'Comments' | sdTranslate}} <a href=\"javascript:;\">({{count | async}})</a></div>\r\n </div>\r\n <div class=\"c-body\" *ngIf=\"commentOption?.style==='basic'\">\r\n <ng-container *ngFor=\"let item of items | async\">\r\n <div class=\"d-flex my-8\">\r\n <div class=\"c-avatar mr-12\">\r\n <img height=\"32\" width=\"32px\" [src]=\"item.picture\">\r\n </div>\r\n <div class=\"c-comment\">\r\n <div class=\"c-info mb-4\">\r\n {{'By' | sdTranslate}}\r\n <span class=\"c-creator ml-2\">\r\n {{item.creator}}\r\n </span>\r\n <ng-container *ngIf=\"item.createdDate\">\r\n <span class=\"mx-4\">\u2022</span>\r\n <span\r\n [matTooltip]=\"item.createdDate | date:'dd/MM/yyyy HH:mm'\">{{item.createdDate | sdTimeDifferent:'dd/MM/yyyy HH:mm':'hour' | async}}</span>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-content\" [innerHtml]=\"item.content\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-body-style1\" *ngIf=\"commentOption?.style==='style1'\" sdScroll>\r\n <ng-container *ngFor=\"let item of items | async; let i = index\">\r\n <div class=\"d-flex my-8\">\r\n <div class=\"c-avatar mr-12\">\r\n <img height=\"32\" width=\"32px\" [src]=\"item.picture\">\r\n </div>\r\n <div class=\"c-comment {{i + 1 === (count | async) ? 'c-comment-border': ''}}\">\r\n <div class=\"c-info mb-4\">\r\n <div class=\"c-col-left\">\r\n <div class=\"c-creator\">\r\n {{item.creator}}\r\n </div>\r\n <div class=\"c-email\">\r\n {{item.email}}\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"item.createdDate\">\r\n <div class=\"c-col-right\"\r\n [matTooltip]=\"item.createdDate | date:'dd/MM/yyyy H:mm'\">{{item.createdDate | date:'dd/MM/yyyy H:mm'}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-content\" [innerHtml]=\"item.content\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-footer p-16\">\r\n <div class=\"row\">\r\n <div class=\"col-12 c-position-relative\">\r\n <ng-container *ngIf=\"commentOption?.editor?.enabled else noUseEditor\">\r\n <div class=\"mb-8\">\r\n <sd-editor [(model)]=\"message\" [styles]=\"commentOption?.editor?.styles\"\r\n [toolbar]=\"commentOption?.editor?.toolbar\"\r\n [mentionValues]=\"commentOption?.editor?.mentionValues\"\r\n [hashTagValues]=\"commentOption?.editor?.hashTagValues\"></sd-editor>\r\n </div>\r\n <div *ngIf=\"commentOption?.fullComment?.enabled\" class=\"c-full-comment-backdrop\"\r\n (click)=\"modalFullComment.open()\"></div>\r\n </ng-container>\r\n <ng-template #noUseEditor>\r\n <sd-textarea [(model)]=\"message\" rows=\"1\" autoHeight></sd-textarea>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <sd-button class=\"float-right\" title=\"G\u1EEDi\" (action)=\"onSend()\" [disabled]=\"!message\" color=\"primary\" type=\"fill\"\r\n size=\"sm\">\r\n </sd-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sd-modal [title]=\"'Comments' | sdTranslate\" width=\"sm\" [closeClickOutSide]=\"commentOption?.fullComment?.closeClickOutSide\" #modalFullComment>\r\n <sd-modal-body>\r\n <sd-editor [(model)]=\"message\" [styles]=\"fullCommentStyles\"\r\n [toolbar]=\"commentOption?.editor?.toolbar\"\r\n [mentionValues]=\"commentOption?.editor?.mentionValues\"\r\n [hashTagValues]=\"commentOption?.editor?.hashTagValues\"\r\n [args]=\"commentOption?.editor?.args\"></sd-editor>\r\n </sd-modal-body>\r\n <sd-modal-footer>\r\n <sd-button class=\"ml-8\" title=\"X\u00F3a to\u00E0n b\u1ED9\" size=\"sm\" type=\"link\"\r\n (action)=\"clearAllData()\">\r\n </sd-button>\r\n <sd-button *ngIf=\"!commentOption?.fullComment?.enableSendButton\" class=\"ml-8\" title=\"\u0110\u00F3ng\" size=\"sm\" (action)=\"modalFullComment.close()\"\r\n color=\"primary\" type=\"fill\">\r\n </sd-button>\r\n <sd-button *ngIf=\"commentOption?.fullComment?.enableSendButton\" class=\"ml-8\" title=\"G\u1EEDi\" size=\"sm\" (action)=\"onSend();modalFullComment.close();\" [disabled]=\"!message\"\r\n color=\"primary\" type=\"fill\">\r\n </sd-button>\r\n </sd-modal-footer>\r\n</sd-modal>\r\n",
72
+ changeDetection: ChangeDetectionStrategy.OnPush,
73
+ styles: [".text-black400{color:#757575}.c-container{display:flex;flex-direction:column;height:100%}.c-container .c-header{align-items:center;background-color:#fff;display:flex;height:40px;padding:0 16px}.c-container .c-header .c-title{font-weight:500}.c-container .c-body{background:#f8f9fa;flex:1;overflow-y:hidden;padding:16px}.c-container .c-body:hover{overflow-y:auto}.c-container .c-body .c-comment{background:#fff;border:1px solid #f2f2f2;border-radius:4px;flex:1;overflow-wrap:break-word;padding:12px 16px;white-space:pre-wrap;word-break:break-word}.c-container .c-body .c-comment .c-info{color:#757575}.c-container .c-body .c-comment .c-info .c-creator{color:#000;font-weight:500}.c-container .c-body-style1{background:#fff;flex:1;overflow-y:hidden;padding:16px}.c-container .c-body-style1 .c-comment{background:#fff;border-bottom:3px solid #f2f2f2;border-radius:4px;flex:1;overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word}.c-container .c-body-style1 .c-comment .c-info{color:#757575}.c-container .c-body-style1 .c-comment .c-info .c-creator{color:#000;font-weight:500;white-space:nowrap}.c-container .c-body-style1 .c-comment .c-info .c-email{color:#000;font-weight:400;white-space:nowrap}.c-container .c-body-style1 .c-comment .c-info .c-col-left{display:inline-block;overflow:hidden;vertical-align:top;width:calc(100% - 128px)}.c-container .c-body-style1 .c-comment .c-info .c-col-right{display:inline-block;margin-left:8px;width:120px}.c-container .c-body-style1 .c-comment-border{border-bottom:none}.c-container .c-footer{background:#fff;min-height:120px}.c-container .c-footer .c-position-relative{position:relative}.c-container .c-footer .c-full-comment-backdrop{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}"]
74
+ },] }
75
+ ];
76
+ SdComment.ctorParameters = () => [];
77
+ SdComment.propDecorators = {
78
+ textarea: [{ type: ViewChild, args: [SdTextarea,] }],
79
+ option: [{ type: Input }]
80
+ };
81
+
82
+ class SdCommentModule {
83
+ }
84
+ SdCommentModule.decorators = [
85
+ { type: NgModule, args: [{
86
+ imports: [
87
+ CommonModule,
88
+ MatButtonModule,
89
+ MatIconModule,
90
+ MatTooltipModule,
91
+ SdTranslateModule,
92
+ SdButtonModule,
93
+ SdInputModule,
94
+ SdTextareaModule,
95
+ SdEditorModule,
96
+ SdUtilityModule,
97
+ SdModalModule
98
+ ],
99
+ declarations: [
100
+ SdComment
101
+ ],
102
+ exports: [
103
+ SdComment
104
+ ],
105
+ providers: []
106
+ },] }
107
+ ];
108
+
109
+ /*
110
+ * Public API Surface of superdev-angular-core
111
+ */
112
+
113
+ /**
114
+ * Generated bundle index. Do not edit.
115
+ */
116
+
117
+ export { SdComment, SdCommentModule };
118
+ //# sourceMappingURL=sd-angular-core-comment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-angular-core-comment.js","sources":["../../../../projects/sd-core/comment/src/lib/comment.component.ts","../../../../projects/sd-core/comment/src/lib/comment.module.ts","../../../../projects/sd-core/comment/src/public-api.ts","../../../../projects/sd-core/comment/sd-angular-core-comment.ts"],"sourcesContent":["import {\r\n Component,\r\n AfterViewInit,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {SdTextarea} from '@sd-angular/core/textarea';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {map, switchMap} from 'rxjs/operators';\r\nimport {Comment, SdCommentOption} from './comment.model';\r\n\r\n@Component({\r\n selector: 'sd-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdComment implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(SdTextarea) textarea: SdTextarea;\r\n #items = new BehaviorSubject<Comment[]>([]);\r\n #send = new BehaviorSubject<string>('');\r\n commentOption: SdCommentOption;\r\n\r\n @Input() set option(option: SdCommentOption) {\r\n this.commentOption = option;\r\n this.reload();\r\n };\r\n\r\n fullCommentStyles = {\r\n 'min-height': '150px'\r\n };\r\n items: Observable<Comment[]>;\r\n count: Observable<number>;\r\n message: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.items = this.#items.pipe(map(items => {\r\n return items.map(e => ({\r\n ...e,\r\n picture: e.picture ?? `https://ui-avatars.com/api/?size=32&rounded=true&background=random&name=${e.creator}`\r\n }));\r\n }));\r\n this.count = this.items.pipe(map(items => items.length));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n onSend = () => {\r\n if (this.message) {\r\n this.commentOption?.event?.onSend(this.message);\r\n this.message = null;\r\n this.textarea?.focus();\r\n }\r\n }\r\n\r\n #load = async () => {\r\n const {items} = this.commentOption;\r\n const results = items();\r\n if (results instanceof Promise) {\r\n return await results;\r\n }\r\n return results;\r\n }\r\n\r\n reload = async () => {\r\n this.#items.next(await this.#load());\r\n }\r\n\r\n clearAllData = () => {\r\n this.message = '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdComment } from './comment.component';\r\nimport { SdButtonModule } from '@sd-angular/core/button';\r\nimport { SdInputModule } from '@sd-angular/core/input';\r\nimport { SdTextareaModule } from '@sd-angular/core/textarea';\r\nimport { SdUtilityModule } from '@sd-angular/core/utility';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {SdEditorModule} from '@sd-angular/core/editor';\r\nimport {SdModalModule} from '@sd-angular/core/modal';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdButtonModule,\r\n SdInputModule,\r\n SdTextareaModule,\r\n SdEditorModule,\r\n SdUtilityModule,\r\n SdModalModule\r\n ],\r\n declarations: [\r\n SdComment\r\n ],\r\n exports: [\r\n SdComment\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommentModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/comment.module';\r\nexport * from './lib/comment.model';\r\nexport * from './lib/comment.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAoBa,SAAS;IAkBpB;QAhBA,iBAAS,IAAI,eAAe,CAAY,EAAE,CAAC,EAAC;QAC5C,gBAAQ,IAAI,eAAe,CAAS,EAAE,CAAC,EAAC;QAQxC,sBAAiB,GAAG;YAClB,YAAY,EAAE,OAAO;SACtB,CAAC;QAwBF,WAAM,GAAG;;YACP,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,YAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,GAAG;aACxB;SACF,CAAA;QAED,gBAAQ;YACN,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;YACxB,IAAI,OAAO,YAAY,OAAO,EAAE;gBAC9B,OAAO,MAAM,OAAO,CAAC;aACtB;YACD,OAAO,OAAO,CAAC;SAChB,CAAA,EAAA;QAED,WAAM,GAAG;YACP,qCAAY,IAAI,CAAC,MAAM,yCAAA,IAAI,CAAQ,CAAC,CAAC;SACtC,CAAA,CAAA;QAED,iBAAY,GAAG;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACnB,CAAA;KAzCA;IAbD,IAAa,MAAM,CAAC,MAAuB;QACzC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;;IAYD,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG,qCAAY,IAAI,CAAC,GAAG,CAAC,KAAK;YACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;;gBAAI,wCACjB,CAAC,KACJ,OAAO,QAAE,CAAC,CAAC,OAAO,mCAAI,2EAA2E,CAAC,CAAC,OAAO,EAAE,KAC5G;aAAA,CAAC,CAAC;SACL,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KAC1D;IAED,WAAW;KACV;IAED,eAAe;KACd;;;;YAzCF,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,+zJAAuC;gBAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;uBAEE,SAAS,SAAC,UAAU;qBAKpB,KAAK;;;MCWK,eAAe;;;YAvB3B,QAAQ,SAAC;gBACR,OAAO,EAAE;oBACP,YAAY;oBACZ,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,iBAAiB;oBACjB,cAAc;oBACd,aAAa;oBACb,gBAAgB;oBAChB,cAAc;oBACd,eAAe;oBACf,aAAa;iBACd;gBACD,YAAY,EAAE;oBACZ,SAAS;iBACV;gBACD,OAAO,EAAE;oBACP,SAAS;iBACV;gBACD,SAAS,EAAE,EACV;aACF;;;ACpCD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"sd-angular-core-comment.js","sources":["../../../../projects/sd-core/comment/src/lib/comment.component.ts","../../../../projects/sd-core/comment/src/lib/comment.module.ts","../../../../projects/sd-core/comment/src/public-api.ts","../../../../projects/sd-core/comment/sd-angular-core-comment.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n AfterViewInit,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {SdTextarea} from '@sd-angular/core/textarea';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {map, switchMap} from 'rxjs/operators';\r\nimport {Comment, SdCommentOption} from './comment.model';\r\n\r\n@Component({\r\n selector: 'sd-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdComment implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(SdTextarea) textarea: SdTextarea;\r\n #items = new BehaviorSubject<Comment[]>([]);\r\n #send = new BehaviorSubject<string>('');\r\n commentOption: SdCommentOption;\r\n\r\n @Input() set option(option: SdCommentOption) {\r\n this.commentOption = option;\r\n this.reload();\r\n };\r\n\r\n fullCommentStyles = {\r\n 'min-height': '150px'\r\n };\r\n items: Observable<Comment[]>;\r\n count: Observable<number>;\r\n message: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.items = this.#items.pipe(map(items => {\r\n return items.map(e => ({\r\n ...e,\r\n picture: e.picture ?? `https://ui-avatars.com/api/?size=32&rounded=true&background=random&name=${e.creator}`\r\n }));\r\n }));\r\n this.count = this.items.pipe(map(items => items.length));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n onSend = () => {\r\n if (this.message) {\r\n this.commentOption?.event?.onSend(this.message);\r\n this.message = null;\r\n this.textarea?.focus();\r\n }\r\n }\r\n\r\n #load = async () => {\r\n const {items} = this.commentOption;\r\n const results = items();\r\n if (results instanceof Promise) {\r\n return await results;\r\n }\r\n return results;\r\n }\r\n\r\n reload = async () => {\r\n this.#items.next(await this.#load());\r\n }\r\n\r\n clearAllData = () => {\r\n this.message = '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdComment } from './comment.component';\r\nimport { SdButtonModule } from '@sd-angular/core/button';\r\nimport { SdInputModule } from '@sd-angular/core/input';\r\nimport { SdTextareaModule } from '@sd-angular/core/textarea';\r\nimport { SdUtilityModule } from '@sd-angular/core/utility';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {SdEditorModule} from '@sd-angular/core/editor';\r\nimport {SdModalModule} from '@sd-angular/core/modal';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdButtonModule,\r\n SdInputModule,\r\n SdTextareaModule,\r\n SdEditorModule,\r\n SdUtilityModule,\r\n SdModalModule\r\n ],\r\n declarations: [\r\n SdComment\r\n ],\r\n exports: [\r\n SdComment\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommentModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/comment.module';\r\nexport * from './lib/comment.model';\r\nexport * from './lib/comment.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-angular-core-comment.js","sources":["../../../../projects/sd-core/comment/src/lib/comment.component.ts","../../../../projects/sd-core/comment/src/lib/comment.module.ts","../../../../projects/sd-core/comment/src/public-api.ts","../../../../projects/sd-core/comment/sd-angular-core-comment.ts"],"sourcesContent":["import {\r\n Component,\r\n AfterViewInit,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {SdTextarea} from '@sd-angular/core/textarea';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {map, switchMap} from 'rxjs/operators';\r\nimport {Comment, SdCommentOption} from './comment.model';\r\n\r\n@Component({\r\n selector: 'sd-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdComment implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(SdTextarea) textarea: SdTextarea;\r\n #items = new BehaviorSubject<Comment[]>([]);\r\n #send = new BehaviorSubject<string>('');\r\n commentOption: SdCommentOption;\r\n\r\n @Input() set option(option: SdCommentOption) {\r\n this.commentOption = option;\r\n this.reload();\r\n };\r\n\r\n fullCommentStyles = {\r\n 'min-height': '150px'\r\n };\r\n items: Observable<Comment[]>;\r\n count: Observable<number>;\r\n message: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.items = this.#items.pipe(map(items => {\r\n return items.map(e => ({\r\n ...e,\r\n picture: e.picture ?? `https://ui-avatars.com/api/?size=32&rounded=true&background=random&name=${e.creator}`\r\n }));\r\n }));\r\n this.count = this.items.pipe(map(items => items.length));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n onSend = () => {\r\n if (this.message) {\r\n this.commentOption?.event?.onSend(this.message);\r\n this.message = null;\r\n this.textarea?.focus();\r\n }\r\n }\r\n\r\n #load = async () => {\r\n const {items} = this.commentOption;\r\n const results = items();\r\n if (results instanceof Promise) {\r\n return await results;\r\n }\r\n return results;\r\n }\r\n\r\n reload = async () => {\r\n this.#items.next(await this.#load());\r\n }\r\n\r\n clearAllData = () => {\r\n this.message = '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdComment } from './comment.component';\r\nimport { SdButtonModule } from '@sd-angular/core/button';\r\nimport { SdInputModule } from '@sd-angular/core/input';\r\nimport { SdTextareaModule } from '@sd-angular/core/textarea';\r\nimport { SdUtilityModule } from '@sd-angular/core/utility';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {SdEditorModule} from '@sd-angular/core/editor';\r\nimport {SdModalModule} from '@sd-angular/core/modal';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdButtonModule,\r\n SdInputModule,\r\n SdTextareaModule,\r\n SdEditorModule,\r\n SdUtilityModule,\r\n SdModalModule\r\n ],\r\n declarations: [\r\n SdComment\r\n ],\r\n exports: [\r\n SdComment\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommentModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/comment.module';\r\nexport * from './lib/comment.model';\r\nexport * from './lib/comment.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAoBa,SAAS;IAkBpB;QAhBA,iBAAS,IAAI,eAAe,CAAY,EAAE,CAAC,EAAC;QAC5C,gBAAQ,IAAI,eAAe,CAAS,EAAE,CAAC,EAAC;QAQxC,sBAAiB,GAAG;YAClB,YAAY,EAAE,OAAO;SACtB,CAAC;QAwBF,WAAM,GAAG;;YACP,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,YAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,GAAG;aACxB;SACF,CAAA;QAED,gBAAQ;YACN,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;YACxB,IAAI,OAAO,YAAY,OAAO,EAAE;gBAC9B,OAAO,MAAM,OAAO,CAAC;aACtB;YACD,OAAO,OAAO,CAAC;SAChB,CAAA,EAAA;QAED,WAAM,GAAG;YACP,qCAAY,IAAI,CAAC,MAAM,yCAAA,IAAI,CAAQ,CAAC,CAAC;SACtC,CAAA,CAAA;QAED,iBAAY,GAAG;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACnB,CAAA;KAzCA;IAbD,IAAa,MAAM,CAAC,MAAuB;QACzC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;;IAYD,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG,qCAAY,IAAI,CAAC,GAAG,CAAC,KAAK;YACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;;gBAAI,wCACjB,CAAC,KACJ,OAAO,QAAE,CAAC,CAAC,OAAO,mCAAI,2EAA2E,CAAC,CAAC,OAAO,EAAE,KAC5G;aAAA,CAAC,CAAC;SACL,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KAC1D;IAED,WAAW;KACV;IAED,eAAe;KACd;;;;YAzCF,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,+zJAAuC;gBAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;uBAEE,SAAS,SAAC,UAAU;qBAKpB,KAAK;;;MCWK,eAAe;;;YAvB3B,QAAQ,SAAC;gBACR,OAAO,EAAE;oBACP,YAAY;oBACZ,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,iBAAiB;oBACjB,cAAc;oBACd,aAAa;oBACb,gBAAgB;oBAChB,cAAc;oBACd,eAAe;oBACf,aAAa;iBACd;gBACD,YAAY,EAAE;oBACZ,SAAS;iBACV;gBACD,OAAO,EAAE;oBACP,SAAS;iBACV;gBACD,SAAS,EAAE,EACV;aACF;;;ACpCD;;;;ACAA;;;;;;"}
@@ -559,4 +559,5 @@ SdCommonModule.decorators = [
559
559
  */
560
560
 
561
561
  export { FIREBASE_CONFIG, FORM_CONFIG, SdBrowserService, SdCommonModule, SdFormControl, SdLabelDefDirective, SdLetDirective, SdScrollDirective, SdSuffixDirective, SdViewDefDirective };
562
- //# sourceMappingURL=sd-angular-core-common.js.map
562
+
563
+ //# sourceMappingURL=sd-angular-core-common.js.map