@covalent/core 6.3.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  2. package/dialogs/window-dialog/window-dialog.component.d.ts +1 -1
  3. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +1 -1
  4. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +1 -1
  5. package/dynamic-menu/dynamic-menu.component.d.ts +1 -1
  6. package/esm2022/breadcrumbs/breadcrumb/breadcrumb.component.mjs +94 -0
  7. package/esm2022/breadcrumbs/breadcrumbs.component.mjs +135 -0
  8. package/{esm2020 → esm2022}/breadcrumbs/breadcrumbs.module.mjs +5 -5
  9. package/esm2022/common/behaviors/control-value-accesor.mixin.mjs +43 -0
  10. package/esm2022/common/behaviors/disable-ripple.mixin.mjs +24 -0
  11. package/{esm2020 → esm2022}/common/behaviors/disabled.mixin.mjs +2 -2
  12. package/{esm2020 → esm2022}/common/common.module.mjs +17 -17
  13. package/esm2022/common/directives/fullscreen/fullscreen.directive.mjs +87 -0
  14. package/esm2022/common/forms/auto-trim/auto-trim.directive.mjs +37 -0
  15. package/esm2022/common/functions/convert.mjs +84 -0
  16. package/esm2022/common/functions/download.mjs +75 -0
  17. package/esm2022/common/pipes/bytes/bytes.pipe.mjs +42 -0
  18. package/esm2022/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
  19. package/esm2022/common/pipes/digits/digits.pipe.mjs +41 -0
  20. package/{esm2020 → esm2022}/common/pipes/time-ago/time-ago.pipe.mjs +4 -4
  21. package/{esm2020 → esm2022}/common/pipes/time-difference/time-difference.pipe.mjs +4 -4
  22. package/{esm2020 → esm2022}/common/pipes/time-until/time-until.pipe.mjs +4 -4
  23. package/esm2022/common/pipes/truncate/truncate.pipe.mjs +27 -0
  24. package/esm2022/common/services/icon.service.mjs +1087 -0
  25. package/esm2022/common/services/router-path.service.mjs +30 -0
  26. package/esm2022/dialogs/alert-dialog/alert-dialog.component.mjs +26 -0
  27. package/esm2022/dialogs/confirm-dialog/confirm-dialog.component.mjs +31 -0
  28. package/esm2022/dialogs/dialog.component.mjs +60 -0
  29. package/{esm2020 → esm2022}/dialogs/dialogs.module.mjs +39 -39
  30. package/esm2022/dialogs/prompt-dialog/prompt-dialog.component.mjs +84 -0
  31. package/esm2022/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +220 -0
  32. package/esm2022/dialogs/services/dialog.service.mjs +179 -0
  33. package/esm2022/dialogs/window-dialog/window-dialog.component.mjs +40 -0
  34. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
  35. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +23 -0
  36. package/esm2022/dynamic-menu/dynamic-menu.component.mjs +28 -0
  37. package/{esm2020 → esm2022}/dynamic-menu/dynamic-menu.module.mjs +19 -19
  38. package/esm2022/file/directives/file-drop.directive.mjs +145 -0
  39. package/esm2022/file/directives/file-select.directive.mjs +78 -0
  40. package/esm2022/file/file-input/file-input.component.mjs +146 -0
  41. package/esm2022/file/file-upload/file-upload.component.mjs +185 -0
  42. package/{esm2020 → esm2022}/file/file.module.mjs +21 -21
  43. package/esm2022/file/services/file.service.mjs +66 -0
  44. package/esm2022/json-formatter/json-formatter.component.mjs +222 -0
  45. package/{esm2020 → esm2022}/json-formatter/json-formatter.module.mjs +5 -5
  46. package/esm2022/layout/layout-card-over/layout-card-over.component.mjs +50 -0
  47. package/esm2022/layout/layout-footer/layout-footer.component.mjs +36 -0
  48. package/esm2022/layout/layout-manage-list/layout-manage-list.component.mjs +92 -0
  49. package/{esm2020 → esm2022}/layout/layout-manage-list/layout-manage-list.directives.mjs +10 -10
  50. package/esm2022/layout/layout-nav/layout-nav.component.mjs +76 -0
  51. package/esm2022/layout/layout-nav-list/layout-nav-list.component.mjs +154 -0
  52. package/{esm2020 → esm2022}/layout/layout-nav-list/layout-nav-list.directives.mjs +10 -10
  53. package/esm2022/layout/layout-toggle.class.mjs +96 -0
  54. package/esm2022/layout/layout.component.mjs +91 -0
  55. package/{esm2020 → esm2022}/layout/layout.directives.mjs +10 -10
  56. package/{esm2020 → esm2022}/layout/layout.module.mjs +55 -55
  57. package/esm2022/layout/navigation-drawer/navigation-drawer.component.mjs +221 -0
  58. package/esm2022/loading/directives/loading.directive.mjs +133 -0
  59. package/esm2022/loading/loading.component.mjs +193 -0
  60. package/{esm2020 → esm2022}/loading/loading.module.mjs +13 -13
  61. package/esm2022/loading/services/loading.factory.mjs +210 -0
  62. package/esm2022/loading/services/loading.service.mjs +219 -0
  63. package/{esm2020 → esm2022}/menu/menu.component.mjs +4 -4
  64. package/{esm2020 → esm2022}/menu/menu.module.mjs +5 -5
  65. package/esm2022/message/message.component.mjs +222 -0
  66. package/{esm2020 → esm2022}/message/message.module.mjs +7 -7
  67. package/esm2022/search/search-box/search-box.component.mjs +198 -0
  68. package/esm2022/search/search-input/search-input.component.mjs +214 -0
  69. package/{esm2020 → esm2022}/search/search.module.mjs +13 -13
  70. package/esm2022/side-sheet/side-sheet-container.mjs +285 -0
  71. package/esm2022/side-sheet/side-sheet-ref.mjs +30 -0
  72. package/{esm2020 → esm2022}/side-sheet/side-sheet.config.mjs +2 -5
  73. package/esm2022/side-sheet/side-sheet.content-directives.mjs +206 -0
  74. package/esm2022/side-sheet/side-sheet.mjs +236 -0
  75. package/{esm2020 → esm2022}/side-sheet/side-sheet.module.mjs +14 -14
  76. package/esm2022/user-profile/user-profile-menu/user-profile-menu.component.mjs +25 -0
  77. package/esm2022/user-profile/user-profile.component.mjs +21 -0
  78. package/{esm2020 → esm2022}/user-profile/user-profile.module.mjs +15 -15
  79. package/{fesm2015 → fesm2022}/covalent-core-breadcrumbs.mjs +28 -22
  80. package/{fesm2015 → fesm2022}/covalent-core-breadcrumbs.mjs.map +1 -1
  81. package/{fesm2020 → fesm2022}/covalent-core-common.mjs +1131 -1125
  82. package/fesm2022/covalent-core-common.mjs.map +1 -0
  83. package/{fesm2020 → fesm2022}/covalent-core-dialogs.mjs +109 -80
  84. package/{fesm2020 → fesm2022}/covalent-core-dialogs.mjs.map +1 -1
  85. package/fesm2022/covalent-core-dynamic-menu.mjs +125 -0
  86. package/{fesm2015 → fesm2022}/covalent-core-dynamic-menu.mjs.map +1 -1
  87. package/{fesm2020 → fesm2022}/covalent-core-file.mjs +148 -110
  88. package/{fesm2020 → fesm2022}/covalent-core-file.mjs.map +1 -1
  89. package/{fesm2020 → fesm2022}/covalent-core-json-formatter.mjs +26 -21
  90. package/{fesm2020 → fesm2022}/covalent-core-json-formatter.mjs.map +1 -1
  91. package/{fesm2020 → fesm2022}/covalent-core-layout.mjs +396 -271
  92. package/{fesm2015 → fesm2022}/covalent-core-layout.mjs.map +1 -1
  93. package/{fesm2020 → fesm2022}/covalent-core-loading.mjs +100 -78
  94. package/{fesm2020 → fesm2022}/covalent-core-loading.mjs.map +1 -1
  95. package/{fesm2015 → fesm2022}/covalent-core-menu.mjs +7 -7
  96. package/{fesm2015 → fesm2022}/covalent-core-menu.mjs.map +1 -1
  97. package/{fesm2020 → fesm2022}/covalent-core-message.mjs +42 -23
  98. package/{fesm2020 → fesm2022}/covalent-core-message.mjs.map +1 -1
  99. package/fesm2022/covalent-core-search.mjs +438 -0
  100. package/fesm2022/covalent-core-search.mjs.map +1 -0
  101. package/{fesm2020 → fesm2022}/covalent-core-side-sheet.mjs +124 -99
  102. package/{fesm2020 → fesm2022}/covalent-core-side-sheet.mjs.map +1 -1
  103. package/fesm2022/covalent-core-user-profile.mjs +87 -0
  104. package/fesm2022/covalent-core-user-profile.mjs.map +1 -0
  105. package/file/directives/file-drop.directive.d.ts +1 -1
  106. package/file/directives/file-select.directive.d.ts +1 -1
  107. package/file/file-input/file-input.component.d.ts +1 -1
  108. package/file/file-upload/file-upload.component.d.ts +1 -1
  109. package/json-formatter/json-formatter.component.d.ts +1 -1
  110. package/layout/layout-card-over/layout-card-over.component.d.ts +1 -1
  111. package/layout/layout-footer/layout-footer.component.d.ts +1 -1
  112. package/layout/layout-manage-list/layout-manage-list.component.d.ts +1 -1
  113. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +3 -3
  114. package/layout/layout-nav/layout-nav.component.d.ts +1 -1
  115. package/layout/layout-nav-list/layout-nav-list.component.d.ts +1 -1
  116. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +3 -3
  117. package/layout/layout-toggle.class.d.ts +1 -1
  118. package/layout/layout.component.d.ts +1 -1
  119. package/layout/layout.directives.d.ts +3 -3
  120. package/layout/navigation-drawer/navigation-drawer.component.d.ts +1 -1
  121. package/loading/directives/loading.directive.d.ts +1 -1
  122. package/message/message.component.d.ts +1 -1
  123. package/package.json +55 -91
  124. package/search/search-box/search-box.component.d.ts +1 -1
  125. package/search/search-input/search-input.component.d.ts +1 -1
  126. package/side-sheet/side-sheet.content-directives.d.ts +2 -2
  127. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +1 -1
  128. package/user-profile/user-profile.component.d.ts +1 -1
  129. package/common/styles/font/README.md +0 -11
  130. package/dialogs/src/README.md +0 -223
  131. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -92
  132. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +0 -131
  133. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +0 -41
  134. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +0 -24
  135. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +0 -85
  136. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +0 -36
  137. package/esm2020/common/functions/convert.mjs +0 -84
  138. package/esm2020/common/functions/download.mjs +0 -75
  139. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +0 -42
  140. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +0 -42
  141. package/esm2020/common/pipes/digits/digits.pipe.mjs +0 -39
  142. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +0 -27
  143. package/esm2020/common/services/icon.service.mjs +0 -1089
  144. package/esm2020/common/services/router-path.service.mjs +0 -29
  145. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +0 -23
  146. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -28
  147. package/esm2020/dialogs/dialog.component.mjs +0 -57
  148. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -75
  149. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +0 -216
  150. package/esm2020/dialogs/services/dialog.service.mjs +0 -174
  151. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +0 -38
  152. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +0 -30
  153. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +0 -24
  154. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +0 -28
  155. package/esm2020/file/directives/file-drop.directive.mjs +0 -139
  156. package/esm2020/file/directives/file-select.directive.mjs +0 -77
  157. package/esm2020/file/file-input/file-input.component.mjs +0 -128
  158. package/esm2020/file/file-upload/file-upload.component.mjs +0 -174
  159. package/esm2020/file/services/file.service.mjs +0 -64
  160. package/esm2020/json-formatter/json-formatter.component.mjs +0 -217
  161. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +0 -40
  162. package/esm2020/layout/layout-footer/layout-footer.component.mjs +0 -33
  163. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +0 -93
  164. package/esm2020/layout/layout-nav/layout-nav.component.mjs +0 -50
  165. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +0 -128
  166. package/esm2020/layout/layout-toggle.class.mjs +0 -92
  167. package/esm2020/layout/layout.component.mjs +0 -92
  168. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +0 -163
  169. package/esm2020/loading/directives/loading.directive.mjs +0 -126
  170. package/esm2020/loading/loading.component.mjs +0 -187
  171. package/esm2020/loading/services/loading.factory.mjs +0 -207
  172. package/esm2020/loading/services/loading.service.mjs +0 -213
  173. package/esm2020/message/message.component.mjs +0 -203
  174. package/esm2020/search/search-box/search-box.component.mjs +0 -194
  175. package/esm2020/search/search-input/search-input.component.mjs +0 -207
  176. package/esm2020/side-sheet/side-sheet-container.mjs +0 -274
  177. package/esm2020/side-sheet/side-sheet-ref.mjs +0 -26
  178. package/esm2020/side-sheet/side-sheet.content-directives.mjs +0 -201
  179. package/esm2020/side-sheet/side-sheet.mjs +0 -228
  180. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +0 -23
  181. package/esm2020/user-profile/user-profile.component.mjs +0 -19
  182. package/fesm2015/covalent-core-common.mjs +0 -2281
  183. package/fesm2015/covalent-core-common.mjs.map +0 -1
  184. package/fesm2015/covalent-core-dialogs.mjs +0 -668
  185. package/fesm2015/covalent-core-dialogs.mjs.map +0 -1
  186. package/fesm2015/covalent-core-dynamic-menu.mjs +0 -126
  187. package/fesm2015/covalent-core-file.mjs +0 -621
  188. package/fesm2015/covalent-core-file.mjs.map +0 -1
  189. package/fesm2015/covalent-core-json-formatter.mjs +0 -298
  190. package/fesm2015/covalent-core-json-formatter.mjs.map +0 -1
  191. package/fesm2015/covalent-core-layout.mjs +0 -1024
  192. package/fesm2015/covalent-core-loading.mjs +0 -766
  193. package/fesm2015/covalent-core-loading.mjs.map +0 -1
  194. package/fesm2015/covalent-core-message.mjs +0 -284
  195. package/fesm2015/covalent-core-message.mjs.map +0 -1
  196. package/fesm2015/covalent-core-search.mjs +0 -430
  197. package/fesm2015/covalent-core-search.mjs.map +0 -1
  198. package/fesm2015/covalent-core-side-sheet.mjs +0 -784
  199. package/fesm2015/covalent-core-side-sheet.mjs.map +0 -1
  200. package/fesm2015/covalent-core-user-profile.mjs +0 -83
  201. package/fesm2015/covalent-core-user-profile.mjs.map +0 -1
  202. package/fesm2020/covalent-core-breadcrumbs.mjs +0 -243
  203. package/fesm2020/covalent-core-breadcrumbs.mjs.map +0 -1
  204. package/fesm2020/covalent-core-common.mjs.map +0 -1
  205. package/fesm2020/covalent-core-dynamic-menu.mjs +0 -126
  206. package/fesm2020/covalent-core-dynamic-menu.mjs.map +0 -1
  207. package/fesm2020/covalent-core-layout.mjs.map +0 -1
  208. package/fesm2020/covalent-core-menu.mjs +0 -37
  209. package/fesm2020/covalent-core-menu.mjs.map +0 -1
  210. package/fesm2020/covalent-core-search.mjs +0 -427
  211. package/fesm2020/covalent-core-search.mjs.map +0 -1
  212. package/fesm2020/covalent-core-user-profile.mjs +0 -83
  213. package/fesm2020/covalent-core-user-profile.mjs.map +0 -1
  214. package/fesm2020/covalent-core.mjs +0 -4
  215. package/fesm2020/covalent-core.mjs.map +0 -1
  216. package/file/src/file-input/README.md +0 -147
  217. package/file/src/file-upload/README.md +0 -136
  218. package/layout/src/layout-card-over/README.md +0 -43
  219. package/layout/src/layout-manage-list/README.md +0 -80
  220. package/layout/src/layout-nav/README.md +0 -50
  221. package/layout/src/layout-nav-list/README.md +0 -105
  222. package/search/src/search-box/README.md +0 -73
  223. package/search/src/search-input/README.md +0 -74
  224. /package/{esm2020 → esm2022}/breadcrumbs/covalent-core-breadcrumbs.mjs +0 -0
  225. /package/{esm2020 → esm2022}/breadcrumbs/public_api.mjs +0 -0
  226. /package/{esm2020 → esm2022}/common/animations/bounce/bounce.animation.mjs +0 -0
  227. /package/{esm2020 → esm2022}/common/animations/collapse/collapse.animation.mjs +0 -0
  228. /package/{esm2020 → esm2022}/common/animations/common/interfaces.mjs +0 -0
  229. /package/{esm2020 → esm2022}/common/animations/fade/fadeInOut.animation.mjs +0 -0
  230. /package/{esm2020 → esm2022}/common/animations/flash/flash.animation.mjs +0 -0
  231. /package/{esm2020 → esm2022}/common/animations/headshake/headshake.animation.mjs +0 -0
  232. /package/{esm2020 → esm2022}/common/animations/jello/jello.animation.mjs +0 -0
  233. /package/{esm2020 → esm2022}/common/animations/pulse/pulse.animation.mjs +0 -0
  234. /package/{esm2020 → esm2022}/common/animations/rotate/rotate.animation.mjs +0 -0
  235. /package/{esm2020 → esm2022}/common/covalent-core-common.mjs +0 -0
  236. /package/{esm2020 → esm2022}/common/forms/validators/validators.mjs +0 -0
  237. /package/{esm2020 → esm2022}/common/functions/clipboard.mjs +0 -0
  238. /package/{esm2020 → esm2022}/common/functions/file.mjs +0 -0
  239. /package/{esm2020 → esm2022}/common/public_api.mjs +0 -0
  240. /package/{esm2020 → esm2022}/covalent-core.mjs +0 -0
  241. /package/{esm2020 → esm2022}/dialogs/covalent-core-dialogs.mjs +0 -0
  242. /package/{esm2020 → esm2022}/dialogs/public_api.mjs +0 -0
  243. /package/{esm2020 → esm2022}/dynamic-menu/covalent-core-dynamic-menu.mjs +0 -0
  244. /package/{esm2020 → esm2022}/dynamic-menu/dynamic-menu.menu.mjs +0 -0
  245. /package/{esm2020 → esm2022}/dynamic-menu/public_api.mjs +0 -0
  246. /package/{esm2020 → esm2022}/file/covalent-core-file.mjs +0 -0
  247. /package/{esm2020 → esm2022}/file/public_api.mjs +0 -0
  248. /package/{esm2020 → esm2022}/json-formatter/collapse.animation.mjs +0 -0
  249. /package/{esm2020 → esm2022}/json-formatter/covalent-core-json-formatter.mjs +0 -0
  250. /package/{esm2020 → esm2022}/json-formatter/public_api.mjs +0 -0
  251. /package/{esm2020 → esm2022}/layout/covalent-core-layout.mjs +0 -0
  252. /package/{esm2020 → esm2022}/layout/public_api.mjs +0 -0
  253. /package/{esm2020 → esm2022}/loading/covalent-core-loading.mjs +0 -0
  254. /package/{esm2020 → esm2022}/loading/public_api.mjs +0 -0
  255. /package/{esm2020 → esm2022}/menu/covalent-core-menu.mjs +0 -0
  256. /package/{esm2020 → esm2022}/menu/public_api.mjs +0 -0
  257. /package/{esm2020 → esm2022}/message/collapse.animation.mjs +0 -0
  258. /package/{esm2020 → esm2022}/message/covalent-core-message.mjs +0 -0
  259. /package/{esm2020 → esm2022}/message/public_api.mjs +0 -0
  260. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  261. /package/{esm2020 → esm2022}/search/covalent-core-search.mjs +0 -0
  262. /package/{esm2020 → esm2022}/search/public_api.mjs +0 -0
  263. /package/{esm2020 → esm2022}/side-sheet/covalent-core-side-sheet.mjs +0 -0
  264. /package/{esm2020 → esm2022}/side-sheet/public_api.mjs +0 -0
  265. /package/{esm2020 → esm2022}/side-sheet/side-sheet.animation.mjs +0 -0
  266. /package/{esm2020 → esm2022}/user-profile/covalent-core-user-profile.mjs +0 -0
  267. /package/{esm2020 → esm2022}/user-profile/public_api.mjs +0 -0
  268. /package/{fesm2015 → fesm2022}/covalent-core.mjs +0 -0
  269. /package/{fesm2015 → fesm2022}/covalent-core.mjs.map +0 -0
@@ -1,194 +0,0 @@
1
- import { Component, ViewChild, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { trigger, state, style, transition, animate, AUTO_STYLE, } from '@angular/animations';
4
- import { TdSearchInputComponent } from '../search-input/search-input.component';
5
- import { noop } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@angular/material/icon";
10
- import * as i4 from "@angular/material/button";
11
- import * as i5 from "../search-input/search-input.component";
12
- export class TdSearchBoxBase {
13
- constructor(_changeDetectorRef) {
14
- this._changeDetectorRef = _changeDetectorRef;
15
- }
16
- }
17
- export class TdSearchBoxComponent {
18
- get searchVisible() {
19
- return this._searchVisible;
20
- }
21
- constructor(_changeDetectorRef) {
22
- this._changeDetectorRef = _changeDetectorRef;
23
- this._searchVisible = false;
24
- /**
25
- * backIcon?: string
26
- * The icon used to close the search toggle, only shown when [alwaysVisible] is false.
27
- * Defaults to 'search' icon.
28
- */
29
- this.backIcon = 'search';
30
- /**
31
- * searchIcon?: string
32
- * The icon used to open/focus the search toggle.
33
- * Defaults to 'search' icon.
34
- */
35
- this.searchIcon = 'search';
36
- /**
37
- * clearIcon?: string
38
- * The icon used to clear the search input.
39
- * Defaults to 'cancel' icon.
40
- */
41
- this.clearIcon = 'cancel';
42
- /**
43
- * showUnderline?: boolean
44
- * Sets if the input underline should be visible. Defaults to 'false'.
45
- */
46
- this.showUnderline = false;
47
- /**
48
- * debounce?: number
49
- * Debounce timeout between keypresses. Defaults to 400.
50
- */
51
- this.debounce = 400;
52
- /**
53
- * alwaysVisible?: boolean
54
- * Sets if the input should always be visible. Defaults to 'false'.
55
- */
56
- this.alwaysVisible = false;
57
- /**
58
- * placeholder?: string
59
- * Placeholder for the underlying input component.
60
- */
61
- this.placeholder = '';
62
- /**
63
- * searchDebounce: function($event)
64
- * Event emitted after the [debounce] timeout.
65
- */
66
- this.searchDebounce = new EventEmitter();
67
- /**
68
- * search: function($event)
69
- * Event emitted after the key enter has been pressed.
70
- */
71
- this.search = new EventEmitter();
72
- /**
73
- * clear: function()
74
- * Event emitted after the clear icon has been clicked.
75
- */
76
- this.clear = new EventEmitter();
77
- /**
78
- * blur: function()
79
- * Event emitted after the blur event has been called in underlying input.
80
- */
81
- this.blurSearch = new EventEmitter();
82
- }
83
- writeValue(value) {
84
- this.value = value;
85
- this._changeDetectorRef.markForCheck();
86
- }
87
- registerOnChange() {
88
- noop;
89
- }
90
- registerOnTouched() {
91
- noop;
92
- }
93
- /**
94
- * Method executed when the search icon is clicked.
95
- */
96
- searchClicked() {
97
- if (!this.alwaysVisible && this._searchVisible) {
98
- this.value = '';
99
- this.handleClear();
100
- }
101
- else if (this.alwaysVisible || !this._searchVisible) {
102
- this._searchInput?.focus();
103
- }
104
- this.toggleVisibility();
105
- }
106
- toggleVisibility() {
107
- this._searchVisible = !this._searchVisible;
108
- this._changeDetectorRef.markForCheck();
109
- }
110
- handleSearchDebounce(value) {
111
- this.searchDebounce.emit(value);
112
- }
113
- handleSearch(value) {
114
- this.search.emit(value);
115
- }
116
- handleClear() {
117
- this.clear.emit();
118
- }
119
- handleBlur() {
120
- this.blurSearch.emit();
121
- }
122
- }
123
- TdSearchBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdSearchBoxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
124
- TdSearchBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TdSearchBoxComponent, selector: "td-search-box", inputs: { backIcon: "backIcon", searchIcon: "searchIcon", clearIcon: "clearIcon", showUnderline: "showUnderline", debounce: "debounce", alwaysVisible: "alwaysVisible", placeholder: "placeholder", value: "value" }, outputs: { searchDebounce: "searchDebounce", search: "search", clear: "clear", blurSearch: "blurSearch" }, providers: [
125
- {
126
- provide: NG_VALUE_ACCESSOR,
127
- useExisting: forwardRef(() => TdSearchBoxComponent),
128
- multi: true,
129
- },
130
- ], viewQueries: [{ propertyName: "_searchInput", first: true, predicate: TdSearchInputComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"td-search-box\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"td-search-icon\"\n (click)=\"searchClicked()\"\n >\n <mat-icon *ngIf=\"searchVisible && !alwaysVisible\">{{ backIcon }}</mat-icon>\n <mat-icon *ngIf=\"!searchVisible || alwaysVisible\">{{\n searchIcon\n }}</mat-icon>\n </button>\n <td-search-input\n #searchInput\n [@inputState]=\"alwaysVisible || searchVisible\"\n [debounce]=\"debounce\"\n [(ngModel)]=\"value\"\n [showUnderline]=\"showUnderline\"\n [placeholder]=\"placeholder\"\n [clearIcon]=\"clearIcon\"\n (searchDebounce)=\"handleSearchDebounce($event)\"\n (search)=\"handleSearch($event)\"\n (clear)=\"handleClear(); toggleVisibility()\"\n (blur)=\"handleBlur()\"\n ></td-search-input>\n</div>\n", styles: [":host{display:block}.td-search-box{box-sizing:border-box;display:flex;flex-direction:row;align-content:center;max-width:100%;justify-content:flex-end}.td-search-box .td-search-icon{margin-top:4px}.td-search-box td-search-input{margin-left:12px}::ng-deep [dir=rtl] .td-search-box td-search-input{margin-right:12px;margin-left:0!important}.td-search-box td-search-input ::ng-deep .mat-form.field.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1em}.mat-toolbar :host ::ng-deep .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.TdSearchInputComponent, selector: "td-search-input", inputs: ["appearance", "showUnderline", "debounce", "placeholder", "clearIcon", "value"], outputs: ["searchDebounce", "search", "clear", "blurSearch"] }], animations: [
131
- trigger('inputState', [
132
- state('0', style({
133
- width: '0%',
134
- margin: '0px',
135
- })),
136
- state('1', style({
137
- width: '100%',
138
- margin: AUTO_STYLE,
139
- })),
140
- transition('0 => 1', animate('200ms ease-in')),
141
- transition('1 => 0', animate('200ms ease-out')),
142
- ]),
143
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdSearchBoxComponent, decorators: [{
145
- type: Component,
146
- args: [{ providers: [
147
- {
148
- provide: NG_VALUE_ACCESSOR,
149
- useExisting: forwardRef(() => TdSearchBoxComponent),
150
- multi: true,
151
- },
152
- ], selector: 'td-search-box', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
153
- trigger('inputState', [
154
- state('0', style({
155
- width: '0%',
156
- margin: '0px',
157
- })),
158
- state('1', style({
159
- width: '100%',
160
- margin: AUTO_STYLE,
161
- })),
162
- transition('0 => 1', animate('200ms ease-in')),
163
- transition('1 => 0', animate('200ms ease-out')),
164
- ]),
165
- ], template: "<div class=\"td-search-box\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"td-search-icon\"\n (click)=\"searchClicked()\"\n >\n <mat-icon *ngIf=\"searchVisible && !alwaysVisible\">{{ backIcon }}</mat-icon>\n <mat-icon *ngIf=\"!searchVisible || alwaysVisible\">{{\n searchIcon\n }}</mat-icon>\n </button>\n <td-search-input\n #searchInput\n [@inputState]=\"alwaysVisible || searchVisible\"\n [debounce]=\"debounce\"\n [(ngModel)]=\"value\"\n [showUnderline]=\"showUnderline\"\n [placeholder]=\"placeholder\"\n [clearIcon]=\"clearIcon\"\n (searchDebounce)=\"handleSearchDebounce($event)\"\n (search)=\"handleSearch($event)\"\n (clear)=\"handleClear(); toggleVisibility()\"\n (blur)=\"handleBlur()\"\n ></td-search-input>\n</div>\n", styles: [":host{display:block}.td-search-box{box-sizing:border-box;display:flex;flex-direction:row;align-content:center;max-width:100%;justify-content:flex-end}.td-search-box .td-search-icon{margin-top:4px}.td-search-box td-search-input{margin-left:12px}::ng-deep [dir=rtl] .td-search-box td-search-input{margin-right:12px;margin-left:0!important}.td-search-box td-search-input ::ng-deep .mat-form.field.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1em}.mat-toolbar :host ::ng-deep .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#fff}\n"] }]
166
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _searchInput: [{
167
- type: ViewChild,
168
- args: [TdSearchInputComponent, { static: true }]
169
- }], backIcon: [{
170
- type: Input
171
- }], searchIcon: [{
172
- type: Input
173
- }], clearIcon: [{
174
- type: Input
175
- }], showUnderline: [{
176
- type: Input
177
- }], debounce: [{
178
- type: Input
179
- }], alwaysVisible: [{
180
- type: Input
181
- }], placeholder: [{
182
- type: Input
183
- }], value: [{
184
- type: Input
185
- }], searchDebounce: [{
186
- type: Output
187
- }], search: [{
188
- type: Output
189
- }], clear: [{
190
- type: Output
191
- }], blurSearch: [{
192
- type: Output
193
- }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2VhcmNoL3NyYy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NlYXJjaC9zcmMvc2VhcmNoLWJveC9zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBRTVCLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW1CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO0lBQUcsQ0FBQztDQUM3RDtBQW1DRCxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBeUVELFlBQW9CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBL0VqRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQVEvQjs7OztXQUlHO1FBQ00sYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUU3Qjs7OztX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bnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIHRyaWdnZXIsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgYW5pbWF0ZSxcbiAgQVVUT19TVFlMRSxcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7IFRkU2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtaW5wdXQvc2VhcmNoLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBUZFNlYXJjaEJveEJhc2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGRTZWFyY2hCb3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc2VsZWN0b3I6ICd0ZC1zZWFyY2gtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5wdXRTdGF0ZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAnMCcsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICB3aWR0aDogJzAlJyxcbiAgICAgICAgICBtYXJnaW46ICcwcHgnLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnMScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1hcmdpbjogQVVUT19TVFlMRSxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCcwID0+IDEnLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluJykpLFxuICAgICAgdHJhbnNpdGlvbignMSA9PiAwJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRkU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9zZWFyY2hWaXNpYmxlID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoVGRTZWFyY2hJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3NlYXJjaElucHV0PzogVGRTZWFyY2hJbnB1dENvbXBvbmVudDtcblxuICBnZXQgc2VhcmNoVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBiYWNrSWNvbj86IHN0cmluZ1xuICAgKiBUaGUgaWNvbiB1c2VkIHRvIGNsb3NlIHRoZSBzZWFyY2ggdG9nZ2xlLCBvbmx5IHNob3duIHdoZW4gW2Fsd2F5c1Zpc2libGVdIGlzIGZhbHNlLlxuICAgKiBEZWZhdWx0cyB0byAnc2VhcmNoJyBpY29uLlxuICAgKi9cbiAgQElucHV0KCkgYmFja0ljb24gPSAnc2VhcmNoJztcblxuICAvKipcbiAgICogc2VhcmNoSWNvbj86IHN0cmluZ1xuICAgKiBUaGUgaWNvbiB1c2VkIHRvIG9wZW4vZm9jdXMgdGhlIHNlYXJjaCB0b2dnbGUuXG4gICAqIERlZmF1bHRzIHRvICdzZWFyY2gnIGljb24uXG4gICAqL1xuICBASW5wdXQoKSBzZWFyY2hJY29uID0gJ3NlYXJjaCc7XG5cbiAgLyoqXG4gICAqIGNsZWFySWNvbj86IHN0cmluZ1xuICAgKiBUaGUgaWNvbiB1c2VkIHRvIGNsZWFyIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqIERlZmF1bHRzIHRvICdjYW5jZWwnIGljb24uXG4gICAqL1xuICBASW5wdXQoKSBjbGVhckljb24gPSAnY2FuY2VsJztcblxuICAvKipcbiAgICogc2hvd1VuZGVybGluZT86IGJvb2xlYW5cbiAgICogU2V0cyBpZiB0aGUgaW5wdXQgdW5kZXJsaW5lIHNob3VsZCBiZSB2aXNpYmxlLiBEZWZhdWx0cyB0byAnZmFsc2UnLlxuICAgKi9cbiAgQElucHV0KCkgc2hvd1VuZGVybGluZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBkZWJvdW5jZT86IG51bWJlclxuICAgKiBEZWJvdW5jZSB0aW1lb3V0IGJldHdlZW4ga2V5cHJlc3Nlcy4gRGVmYXVsdHMgdG8gNDAwLlxuICAgKi9cbiAgQElucHV0KCkgZGVib3VuY2UgPSA0MDA7XG5cbiAgLyoqXG4gICAqIGFsd2F5c1Zpc2libGU/OiBib29sZWFuXG4gICAqIFNldHMgaWYgdGhlIGlucHV0IHNob3VsZCBhbHdheXMgYmUgdmlzaWJsZS4gRGVmYXVsdHMgdG8gJ2ZhbHNlJy5cbiAgICovXG4gIEBJbnB1dCgpIGFsd2F5c1Zpc2libGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgICogUGxhY2Vob2xkZXIgZm9yIHRoZSB1bmRlcmx5aW5nIGlucHV0IGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KCkgdmFsdWU6IHVua25vd247XG5cbiAgLyoqXG4gICAqIHNlYXJjaERlYm91bmNlOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIFtkZWJvdW5jZV0gdGltZW91dC5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hEZWJvdW5jZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogc2VhcmNoOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGtleSBlbnRlciBoYXMgYmVlbiBwcmVzc2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogY2xlYXI6IGZ1bmN0aW9uKClcbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgY2xlYXIgaWNvbiBoYXMgYmVlbiBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNsZWFyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIGJsdXI6IGZ1bmN0aW9uKClcbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgYmx1ciBldmVudCBoYXMgYmVlbiBjYWxsZWQgaW4gdW5kZXJseWluZyBpbnB1dC5cbiAgICovXG4gIEBPdXRwdXQoKSBibHVyU2VhcmNoOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIG5vb3A7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBub29wO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBleGVjdXRlZCB3aGVuIHRoZSBzZWFyY2ggaWNvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgc2VhcmNoQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWx3YXlzVmlzaWJsZSAmJiB0aGlzLl9zZWFyY2hWaXNpYmxlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgICB0aGlzLmhhbmRsZUNsZWFyKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFsd2F5c1Zpc2libGUgfHwgIXRoaXMuX3NlYXJjaFZpc2libGUpIHtcbiAgICAgIHRoaXMuX3NlYXJjaElucHV0Py5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZVZpc2liaWxpdHkoKTtcbiAgfVxuXG4gIHRvZ2dsZVZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5fc2VhcmNoVmlzaWJsZSA9ICF0aGlzLl9zZWFyY2hWaXNpYmxlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaGFuZGxlU2VhcmNoRGVib3VuY2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRGVib3VuY2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlQ2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhci5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuYmx1clNlYXJjaC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0ZC1zZWFyY2gtYm94XCI+XG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInRkLXNlYXJjaC1pY29uXCJcbiAgICAoY2xpY2spPVwic2VhcmNoQ2xpY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cInNlYXJjaFZpc2libGUgJiYgIWFsd2F5c1Zpc2libGVcIj57eyBiYWNrSWNvbiB9fTwvbWF0LWljb24+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiIXNlYXJjaFZpc2libGUgfHwgYWx3YXlzVmlzaWJsZVwiPnt7XG4gICAgICBzZWFyY2hJY29uXG4gICAgfX08L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPHRkLXNlYXJjaC1pbnB1dFxuICAgICNzZWFyY2hJbnB1dFxuICAgIFtAaW5wdXRTdGF0ZV09XCJhbHdheXNWaXNpYmxlIHx8IHNlYXJjaFZpc2libGVcIlxuICAgIFtkZWJvdW5jZV09XCJkZWJvdW5jZVwiXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW3Nob3dVbmRlcmxpbmVdPVwic2hvd1VuZGVybGluZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbY2xlYXJJY29uXT1cImNsZWFySWNvblwiXG4gICAgKHNlYXJjaERlYm91bmNlKT1cImhhbmRsZVNlYXJjaERlYm91bmNlKCRldmVudClcIlxuICAgIChzZWFyY2gpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxuICAgIChjbGVhcik9XCJoYW5kbGVDbGVhcigpOyB0b2dnbGVWaXNpYmlsaXR5KClcIlxuICAgIChibHVyKT1cImhhbmRsZUJsdXIoKVwiXG4gID48L3RkLXNlYXJjaC1pbnB1dD5cbjwvZGl2PlxuIl19
@@ -1,207 +0,0 @@
1
- import { Component, ViewChild, Input, Output, EventEmitter, Optional, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, ElementRef, NgZone, } from '@angular/core';
2
- import { trigger, state, style, transition, animate, } from '@angular/animations';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { Dir } from '@angular/cdk/bidi';
5
- import { MatInput } from '@angular/material/input';
6
- import { fromEvent, Subject } from 'rxjs';
7
- import { debounceTime, skip, takeUntil } from 'rxjs/operators';
8
- import { mixinControlValueAccessor, } from '@covalent/core/common';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/cdk/bidi";
11
- import * as i2 from "@angular/forms";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/material/input";
14
- import * as i5 from "@angular/material/form-field";
15
- import * as i6 from "@angular/material/icon";
16
- import * as i7 from "@angular/material/button";
17
- export class TdSearchInputBase {
18
- constructor(_changeDetectorRef) {
19
- this._changeDetectorRef = _changeDetectorRef;
20
- }
21
- }
22
- export const _TdSearchInputMixinBase = mixinControlValueAccessor(TdSearchInputBase);
23
- export class TdSearchInputComponent extends _TdSearchInputMixinBase {
24
- get isRTL() {
25
- if (this._dir) {
26
- return this._dir.dir === 'rtl';
27
- }
28
- return false;
29
- }
30
- constructor(_dir, _changeDetectorRef, _ngZone) {
31
- super(_changeDetectorRef);
32
- this._dir = _dir;
33
- this._changeDetectorRef = _changeDetectorRef;
34
- this._ngZone = _ngZone;
35
- /**
36
- * appearance?: MatFormFieldAppearance
37
- * Appearance style for the underlying input component.
38
- */
39
- this.appearance = 'outline';
40
- /**
41
- * showUnderline?: boolean
42
- * Sets if the input underline should be visible. Defaults to 'false'.
43
- */
44
- this.showUnderline = false;
45
- /**
46
- * debounce?: number
47
- * Debounce timeout between keypresses. Defaults to 400.
48
- */
49
- this.debounce = 400;
50
- /**
51
- * placeholder?: string
52
- * Placeholder for the underlying input component.
53
- */
54
- this.placeholder = '';
55
- /**
56
- * clearIcon?: string
57
- * The icon used to clear the search input.
58
- * Defaults to 'cancel' icon.
59
- */
60
- this.clearIcon = 'cancel';
61
- /**
62
- * searchDebounce: function($event)
63
- * Event emitted after the [debounce] timeout.
64
- */
65
- this.searchDebounce = new EventEmitter();
66
- /**
67
- * search: function($event)
68
- * Event emitted after the key enter has been pressed.
69
- */
70
- this.search = new EventEmitter();
71
- /**
72
- * clear: function()
73
- * Event emitted after the clear icon has been clicked.
74
- */
75
- this.clear = new EventEmitter();
76
- /**
77
- * blur: function()
78
- * Event emitted after the blur event has been called in underlying input.
79
- */
80
- this.blurSearch = new EventEmitter();
81
- this._destroy$ = new Subject();
82
- }
83
- ngOnInit() {
84
- this._input?.ngControl?.valueChanges
85
- ?.pipe(debounceTime(this.debounce), skip(1), // skip first change when value is set to undefined
86
- takeUntil(this._destroy$))
87
- .subscribe((value) => {
88
- this._searchTermChanged(value);
89
- });
90
- this._ngZone.runOutsideAngular(() => fromEvent(this._searchElement.nativeElement, 'search')
91
- .pipe(takeUntil(this._destroy$))
92
- .subscribe(this._stopPropagation));
93
- }
94
- ngOnDestroy() {
95
- this._destroy$.next();
96
- }
97
- /**
98
- * Method to focus to underlying input.
99
- */
100
- focus() {
101
- this._input?.focus();
102
- }
103
- handleBlur() {
104
- this.blurSearch.emit();
105
- }
106
- handleSearch(event) {
107
- this._stopPropagation(event);
108
- if (typeof this.value == 'string') {
109
- this.search.emit(this.value);
110
- }
111
- }
112
- /**
113
- * Method to clear the underlying input.
114
- */
115
- clearSearch() {
116
- this.value = '';
117
- this._changeDetectorRef.markForCheck();
118
- this.clear.emit();
119
- }
120
- _searchTermChanged(value) {
121
- this.searchDebounce.emit(value);
122
- }
123
- _stopPropagation(event) {
124
- event.stopPropagation();
125
- }
126
- }
127
- TdSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdSearchInputComponent, deps: [{ token: i1.Dir, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
128
- TdSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TdSearchInputComponent, selector: "td-search-input", inputs: { appearance: "appearance", showUnderline: "showUnderline", debounce: "debounce", placeholder: "placeholder", clearIcon: "clearIcon", value: "value" }, outputs: { searchDebounce: "searchDebounce", search: "search", clear: "clear", blurSearch: "blurSearch" }, providers: [
129
- {
130
- provide: NG_VALUE_ACCESSOR,
131
- useExisting: forwardRef(() => TdSearchInputComponent),
132
- multi: true,
133
- },
134
- ], viewQueries: [{ propertyName: "_input", first: true, predicate: MatInput, descendants: true, static: true }, { propertyName: "_searchElement", first: true, predicate: ["searchElement"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"td-search-input\">\n <mat-form-field\n class=\"td-search-input-field\"\n [class.mat-hide-underline]=\"!showUnderline\"\n [appearance]=\"appearance\"\n >\n <input\n matInput\n #searchElement\n type=\"search\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"handleBlur()\"\n (keyup.enter)=\"handleSearch($event)\"\n />\n <span\n matSuffix\n *ngIf=\"\n appearance === 'fill' ||\n appearance === 'outline' ||\n appearance === 'standard'\n \"\n >\n <ng-template [ngTemplateOutlet]=\"clearButton\"></ng-template>\n </span>\n </mat-form-field>\n</div>\n<ng-template #clearButton>\n <button\n mat-icon-button\n class=\"td-search-input-clear\"\n type=\"button\"\n [@searchState]=\"\n searchElement.value ? 'show' : isRTL ? 'hide-left' : 'hide-right'\n \"\n (click)=\"clearSearch()\"\n >\n <mat-icon>{{ clearIcon }}</mat-icon>\n </button>\n</ng-template>\n", styles: [":host .td-search-input{overflow-x:hidden;box-sizing:border-box;display:flex;flex-direction:row;align-items:baseline;align-content:center;max-width:100%;justify-content:flex-end}:host .td-search-input .td-search-input-field{flex:1}:host .td-search-input ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper{padding-bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-fill .mat-form-field-wrapper{padding-bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-fill .mat-form-field-wrapper .mat-form-field-flex{height:52px}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-fill .mat-form-field-wrapper .mat-form-field-underline{bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-standard .mat-form-field-wrapper{padding-bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-standard .mat-form-field-wrapper .mat-form-field-infix{bottom:.4em}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-standard .mat-form-field-wrapper .mat-form-field-underline{bottom:0}:host .td-search-input ::ng-deep mat-form-field .mat-input-element{caret-color:currentColor}:host .td-search-input ::ng-deep mat-form-field.mat-hide-underline .mat-form-field-underline{display:none}:host .td-search-input .td-search-input-clear{flex:0 0 auto}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], animations: [
135
- trigger('searchState', [
136
- state('hide-left', style({
137
- transform: 'translateX(-150%)',
138
- display: 'none',
139
- })),
140
- state('hide-right', style({
141
- transform: 'translateX(150%)',
142
- display: 'none',
143
- })),
144
- state('show', style({
145
- transform: 'translateX(0%)',
146
- display: 'block',
147
- })),
148
- transition('* => show', animate('200ms ease-in')),
149
- transition('show => *', animate('200ms ease-out')),
150
- ]),
151
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdSearchInputComponent, decorators: [{
153
- type: Component,
154
- args: [{ providers: [
155
- {
156
- provide: NG_VALUE_ACCESSOR,
157
- useExisting: forwardRef(() => TdSearchInputComponent),
158
- multi: true,
159
- },
160
- ], selector: 'td-search-input', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
161
- trigger('searchState', [
162
- state('hide-left', style({
163
- transform: 'translateX(-150%)',
164
- display: 'none',
165
- })),
166
- state('hide-right', style({
167
- transform: 'translateX(150%)',
168
- display: 'none',
169
- })),
170
- state('show', style({
171
- transform: 'translateX(0%)',
172
- display: 'block',
173
- })),
174
- transition('* => show', animate('200ms ease-in')),
175
- transition('show => *', animate('200ms ease-out')),
176
- ]),
177
- ], template: "<div class=\"td-search-input\">\n <mat-form-field\n class=\"td-search-input-field\"\n [class.mat-hide-underline]=\"!showUnderline\"\n [appearance]=\"appearance\"\n >\n <input\n matInput\n #searchElement\n type=\"search\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"handleBlur()\"\n (keyup.enter)=\"handleSearch($event)\"\n />\n <span\n matSuffix\n *ngIf=\"\n appearance === 'fill' ||\n appearance === 'outline' ||\n appearance === 'standard'\n \"\n >\n <ng-template [ngTemplateOutlet]=\"clearButton\"></ng-template>\n </span>\n </mat-form-field>\n</div>\n<ng-template #clearButton>\n <button\n mat-icon-button\n class=\"td-search-input-clear\"\n type=\"button\"\n [@searchState]=\"\n searchElement.value ? 'show' : isRTL ? 'hide-left' : 'hide-right'\n \"\n (click)=\"clearSearch()\"\n >\n <mat-icon>{{ clearIcon }}</mat-icon>\n </button>\n</ng-template>\n", styles: [":host .td-search-input{overflow-x:hidden;box-sizing:border-box;display:flex;flex-direction:row;align-items:baseline;align-content:center;max-width:100%;justify-content:flex-end}:host .td-search-input .td-search-input-field{flex:1}:host .td-search-input ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper{padding-bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-fill .mat-form-field-wrapper{padding-bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-fill .mat-form-field-wrapper .mat-form-field-flex{height:52px}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-fill .mat-form-field-wrapper .mat-form-field-underline{bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-standard .mat-form-field-wrapper{padding-bottom:0}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-standard .mat-form-field-wrapper .mat-form-field-infix{bottom:.4em}:host .td-search-input ::ng-deep mat-form-field.mat-form-field-appearance-standard .mat-form-field-wrapper .mat-form-field-underline{bottom:0}:host .td-search-input ::ng-deep mat-form-field .mat-input-element{caret-color:currentColor}:host .td-search-input ::ng-deep mat-form-field.mat-hide-underline .mat-form-field-underline{display:none}:host .td-search-input .td-search-input-clear{flex:0 0 auto}\n"] }]
178
- }], ctorParameters: function () { return [{ type: i1.Dir, decorators: [{
179
- type: Optional
180
- }] }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { _input: [{
181
- type: ViewChild,
182
- args: [MatInput, { static: true }]
183
- }], _searchElement: [{
184
- type: ViewChild,
185
- args: ['searchElement', { static: true, read: ElementRef }]
186
- }], appearance: [{
187
- type: Input
188
- }], showUnderline: [{
189
- type: Input
190
- }], debounce: [{
191
- type: Input
192
- }], placeholder: [{
193
- type: Input
194
- }], clearIcon: [{
195
- type: Input
196
- }], value: [{
197
- type: Input
198
- }], searchDebounce: [{
199
- type: Output
200
- }], search: [{
201
- type: Output
202
- }], clear: [{
203
- type: Output
204
- }], blurSearch: [{
205
- type: Output
206
- }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zZWFyY2gvc3JjL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NlYXJjaC9zcmMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixVQUFVLEVBRVYsVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUVMLHlCQUF5QixHQUMxQixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7QUFFL0IsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFtQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtJQUFHLENBQUM7Q0FDN0Q7QUFFRCxNQUFNLENBQUMs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QWQsTUFBTTtnQkFNRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPcHRpb25hbCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIEVsZW1lbnRSZWYsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICB0cmlnZ2VyLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIGFuaW1hdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBza2lwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBJQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIG1peGluQ29udHJvbFZhbHVlQWNjZXNzb3IsXG59IGZyb20gJ0Bjb3ZhbGVudC9jb3JlL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBUZFNlYXJjaElucHV0QmFzZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxufVxuXG5leHBvcnQgY29uc3QgX1RkU2VhcmNoSW5wdXRNaXhpbkJhc2UgPVxuICBtaXhpbkNvbnRyb2xWYWx1ZUFjY2Vzc29yKFRkU2VhcmNoSW5wdXRCYXNlKTtcblxuQENvbXBvbmVudCh7XG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGRTZWFyY2hJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzZWxlY3RvcjogJ3RkLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzZWFyY2hTdGF0ZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAnaGlkZS1sZWZ0JyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTE1MCUpJyxcbiAgICAgICAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRlLXJpZ2h0JyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTUwJSknLFxuICAgICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Nob3cnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiBzaG93JywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbicpKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Nob3cgPT4gKicsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZFNlYXJjaElucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgX1RkU2VhcmNoSW5wdXRNaXhpbkJhc2VcbiAgaW1wbGVtZW50cyBJQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBWaWV3Q2hpbGQoTWF0SW5wdXQsIHsgc3RhdGljOiB0cnVlIH0pIF9pbnB1dD86IE1hdElucHV0O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBfc2VhcmNoRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIGFwcGVhcmFuY2U/OiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlXG4gICAqIEFwcGVhcmFuY2Ugc3R5bGUgZm9yIHRoZSB1bmRlcmx5aW5nIGlucHV0IGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSAnb3V0bGluZSc7XG5cbiAgLyoqXG4gICAqIHNob3dVbmRlcmxpbmU/OiBib29sZWFuXG4gICAqIFNldHMgaWYgdGhlIGlucHV0IHVuZGVybGluZSBzaG91bGQgYmUgdmlzaWJsZS4gRGVmYXVsdHMgdG8gJ2ZhbHNlJy5cbiAgICovXG4gIEBJbnB1dCgpIHNob3dVbmRlcmxpbmUgPSBmYWxzZTtcblxuICAvKipcbiAgICogZGVib3VuY2U/OiBudW1iZXJcbiAgICogRGVib3VuY2UgdGltZW91dCBiZXR3ZWVuIGtleXByZXNzZXMuIERlZmF1bHRzIHRvIDQwMC5cbiAgICovXG4gIEBJbnB1dCgpIGRlYm91bmNlID0gNDAwO1xuXG4gIC8qKlxuICAgKiBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAgKiBQbGFjZWhvbGRlciBmb3IgdGhlIHVuZGVybHlpbmcgaW5wdXQgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICAvKipcbiAgICogY2xlYXJJY29uPzogc3RyaW5nXG4gICAqIFRoZSBpY29uIHVzZWQgdG8gY2xlYXIgdGhlIHNlYXJjaCBpbnB1dC5cbiAgICogRGVmYXVsdHMgdG8gJ2NhbmNlbCcgaWNvbi5cbiAgICovXG4gIEBJbnB1dCgpIGNsZWFySWNvbiA9ICdjYW5jZWwnO1xuXG4gIEBJbnB1dCgpIG92ZXJyaWRlIHZhbHVlITogdW5rbm93bjtcblxuICAvKipcbiAgICogc2VhcmNoRGVib3VuY2U6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgW2RlYm91bmNlXSB0aW1lb3V0LlxuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaERlYm91bmNlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBzZWFyY2g6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUga2V5IGVudGVyIGhhcyBiZWVuIHByZXNzZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBjbGVhcjogZnVuY3Rpb24oKVxuICAgKiBFdmVudCBlbWl0dGVkIGFmdGVyIHRoZSBjbGVhciBpY29uIGhhcyBiZWVuIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgY2xlYXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogYmx1cjogZnVuY3Rpb24oKVxuICAgKiBFdmVudCBlbWl0dGVkIGFmdGVyIHRoZSBibHVyIGV2ZW50IGhhcyBiZWVuIGNhbGxlZCBpbiB1bmRlcmx5aW5nIGlucHV0LlxuICAgKi9cbiAgQE91dHB1dCgpIGJsdXJTZWFyY2g6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgaXNSVEwoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2Rpcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2Rpci5kaXIgPT09ICdydGwnO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGlyOiBEaXIsXG4gICAgb3ZlcnJpZGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICBzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXQ/Lm5nQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICA/LnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlKSxcbiAgICAgICAgc2tpcCgxKSwgLy8gc2tpcCBmaXJzdCBjaGFuZ2Ugd2hlbiB2YWx1ZSBpcyBzZXQgdG8gdW5kZWZpbmVkXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5fc2VhcmNoVGVybUNoYW5nZWQodmFsdWUpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIGZyb21FdmVudCh0aGlzLl9zZWFyY2hFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdzZWFyY2gnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKHRoaXMuX3N0b3BQcm9wYWdhdGlvbilcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBmb2N1cyB0byB1bmRlcmx5aW5nIGlucHV0LlxuICAgKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXQ/LmZvY3VzKCk7XG4gIH1cblxuICBoYW5kbGVCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuYmx1clNlYXJjaC5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fc3RvcFByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuc2VhcmNoLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBjbGVhciB0aGUgdW5kZXJseWluZyBpbnB1dC5cbiAgICovXG4gIGNsZWFyU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLmNsZWFyLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlYXJjaFRlcm1DaGFuZ2VkKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaERlYm91bmNlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGQtc2VhcmNoLWlucHV0XCI+XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIGNsYXNzPVwidGQtc2VhcmNoLWlucHV0LWZpZWxkXCJcbiAgICBbY2xhc3MubWF0LWhpZGUtdW5kZXJsaW5lXT1cIiFzaG93VW5kZXJsaW5lXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgICNzZWFyY2hFbGVtZW50XG4gICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIChibHVyKT1cImhhbmRsZUJsdXIoKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgYXBwZWFyYW5jZSA9PT0gJ2ZpbGwnIHx8XG4gICAgICAgIGFwcGVhcmFuY2UgPT09ICdvdXRsaW5lJyB8fFxuICAgICAgICBhcHBlYXJhbmNlID09PSAnc3RhbmRhcmQnXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjbGVhckJ1dHRvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2NsZWFyQnV0dG9uPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY2xhc3M9XCJ0ZC1zZWFyY2gtaW5wdXQtY2xlYXJcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFtAc2VhcmNoU3RhdGVdPVwiXG4gICAgICBzZWFyY2hFbGVtZW50LnZhbHVlID8gJ3Nob3cnIDogaXNSVEwgPyAnaGlkZS1sZWZ0JyA6ICdoaWRlLXJpZ2h0J1xuICAgIFwiXG4gICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKClcIlxuICA+XG4gICAgPG1hdC1pY29uPnt7IGNsZWFySWNvbiB9fTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==