ngx-tethys 19.1.13 → 20.0.0-next.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 (827) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/action/index.d.ts +107 -3
  3. package/affix/index.d.ts +65 -2
  4. package/alert/index.d.ts +74 -3
  5. package/anchor/index.d.ts +118 -3
  6. package/arrow-switcher/index.d.ts +79 -2
  7. package/autocomplete/index.d.ts +280 -7
  8. package/avatar/index.d.ts +195 -5
  9. package/back-top/index.d.ts +68 -2
  10. package/badge/index.d.ts +87 -2
  11. package/breadcrumb/index.d.ts +71 -3
  12. package/button/index.d.ts +156 -4
  13. package/calendar/index.d.ts +161 -4
  14. package/card/index.d.ts +100 -4
  15. package/carousel/index.d.ts +210 -4
  16. package/cascader/index.d.ts +471 -5
  17. package/checkbox/index.d.ts +27 -2
  18. package/collapse/index.d.ts +108 -3
  19. package/color-picker/index.d.ts +494 -13
  20. package/comment/index.d.ts +53 -4
  21. package/copy/index.d.ts +59 -2
  22. package/core/index.d.ts +680 -15
  23. package/date-picker/index.d.ts +1148 -36
  24. package/date-range/index.d.ts +158 -4
  25. package/dialog/index.d.ts +393 -11
  26. package/divider/index.d.ts +60 -2
  27. package/dot/index.d.ts +56 -2
  28. package/drag-drop/index.d.ts +281 -9
  29. package/dropdown/index.d.ts +282 -6
  30. package/empty/index.d.ts +116 -3
  31. package/fesm2022/ngx-tethys-action.mjs +26 -26
  32. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  33. package/fesm2022/ngx-tethys-affix.mjs +14 -14
  34. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  35. package/fesm2022/ngx-tethys-alert.mjs +19 -19
  36. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  37. package/fesm2022/ngx-tethys-anchor.mjs +25 -25
  38. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  39. package/fesm2022/ngx-tethys-arrow-switcher.mjs +20 -20
  40. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  41. package/fesm2022/ngx-tethys-autocomplete.mjs +41 -36
  42. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  43. package/fesm2022/ngx-tethys-avatar.mjs +45 -45
  44. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys-back-top.mjs +15 -15
  46. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  47. package/fesm2022/ngx-tethys-badge.mjs +27 -27
  48. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  49. package/fesm2022/ngx-tethys-breadcrumb.mjs +20 -20
  50. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  51. package/fesm2022/ngx-tethys-button.mjs +57 -51
  52. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  53. package/fesm2022/ngx-tethys-calendar.mjs +29 -29
  54. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  55. package/fesm2022/ngx-tethys-card.mjs +28 -28
  56. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  57. package/fesm2022/ngx-tethys-carousel.mjs +29 -29
  58. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  59. package/fesm2022/ngx-tethys-cascader.mjs +93 -87
  60. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  61. package/fesm2022/ngx-tethys-checkbox.mjs +9 -9
  62. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  63. package/fesm2022/ngx-tethys-collapse.mjs +24 -24
  64. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  65. package/fesm2022/ngx-tethys-color-picker.mjs +75 -73
  66. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  67. package/fesm2022/ngx-tethys-comment.mjs +17 -17
  68. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  69. package/fesm2022/ngx-tethys-copy.mjs +15 -15
  70. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  71. package/fesm2022/ngx-tethys-core.mjs +38 -38
  72. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  73. package/fesm2022/ngx-tethys-date-picker.mjs +323 -305
  74. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  75. package/fesm2022/ngx-tethys-date-range.mjs +23 -23
  76. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-dialog.mjs +56 -54
  78. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-divider.mjs +16 -16
  80. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-dot.mjs +20 -20
  82. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-drag-drop.mjs +20 -21
  84. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-dropdown.mjs +85 -83
  86. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-empty.mjs +28 -28
  88. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-flexible-text.mjs +13 -13
  90. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-form.mjs +99 -95
  92. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-fullscreen.mjs +22 -21
  94. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-grid.mjs +60 -60
  96. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-guider.mjs +20 -20
  98. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-i18n.mjs +4 -4
  100. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-icon.mjs +20 -20
  102. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-image.mjs +26 -26
  104. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-input-number.mjs +28 -24
  106. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  107. package/fesm2022/ngx-tethys-input.mjs +72 -71
  108. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  109. package/fesm2022/ngx-tethys-layout.mjs +128 -118
  110. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  111. package/fesm2022/ngx-tethys-list.mjs +37 -37
  112. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  113. package/fesm2022/ngx-tethys-loading.mjs +11 -11
  114. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  115. package/fesm2022/ngx-tethys-mention.mjs +18 -18
  116. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  117. package/fesm2022/ngx-tethys-menu.mjs +57 -57
  118. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  119. package/fesm2022/ngx-tethys-message.mjs +43 -40
  120. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  121. package/fesm2022/ngx-tethys-nav.mjs +58 -58
  122. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  123. package/fesm2022/ngx-tethys-notify.mjs +35 -32
  124. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  125. package/fesm2022/ngx-tethys-pagination.mjs +38 -38
  126. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  127. package/fesm2022/ngx-tethys-popover.mjs +46 -38
  128. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  129. package/fesm2022/ngx-tethys-progress.mjs +64 -57
  130. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  131. package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
  132. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  133. package/fesm2022/ngx-tethys-property.mjs +29 -29
  134. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  135. package/fesm2022/ngx-tethys-radio.mjs +23 -23
  136. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  137. package/fesm2022/ngx-tethys-rate.mjs +28 -28
  138. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  139. package/fesm2022/ngx-tethys-resizable.mjs +38 -38
  140. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  141. package/fesm2022/ngx-tethys-result.mjs +16 -16
  142. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  143. package/fesm2022/ngx-tethys-segment.mjs +23 -23
  144. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  145. package/fesm2022/ngx-tethys-select.mjs +76 -64
  146. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  147. package/fesm2022/ngx-tethys-shared.mjs +163 -155
  148. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-skeleton.mjs +84 -84
  150. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-slide.mjs +50 -46
  152. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  153. package/fesm2022/ngx-tethys-slider.mjs +21 -21
  154. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  155. package/fesm2022/ngx-tethys-space.mjs +16 -16
  156. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  157. package/fesm2022/ngx-tethys-statistic.mjs +29 -29
  158. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  159. package/fesm2022/ngx-tethys-stepper.mjs +37 -37
  160. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  161. package/fesm2022/ngx-tethys-strength.mjs +22 -22
  162. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  163. package/fesm2022/ngx-tethys-switch.mjs +19 -19
  164. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  165. package/fesm2022/ngx-tethys-table.mjs +22 -22
  166. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  167. package/fesm2022/ngx-tethys-tabs.mjs +31 -31
  168. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  169. package/fesm2022/ngx-tethys-tag.mjs +18 -18
  170. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  171. package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-time-picker.mjs +75 -74
  173. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-timeline.mjs +28 -28
  175. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys-tooltip.mjs +28 -28
  177. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  178. package/fesm2022/ngx-tethys-transfer.mjs +36 -36
  179. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  180. package/fesm2022/ngx-tethys-tree-select.mjs +58 -58
  181. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  182. package/fesm2022/ngx-tethys-tree.mjs +77 -72
  183. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys-typography.mjs +19 -19
  185. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  186. package/fesm2022/ngx-tethys-upload.mjs +68 -68
  187. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  188. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  189. package/fesm2022/ngx-tethys-vote.mjs +25 -25
  190. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  191. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  192. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  193. package/fesm2022/ngx-tethys.mjs +1 -1
  194. package/fesm2022/ngx-tethys.mjs.map +1 -1
  195. package/flexible-text/index.d.ts +64 -2
  196. package/form/index.d.ts +405 -11
  197. package/fullscreen/index.d.ts +117 -6
  198. package/grid/index.d.ts +262 -7
  199. package/guider/index.d.ts +304 -8
  200. package/i18n/index.d.ts +1053 -6
  201. package/icon/index.d.ts +145 -4
  202. package/image/index.d.ts +263 -8
  203. package/index.d.ts +5 -5
  204. package/input/index.d.ts +281 -6
  205. package/input-number/index.d.ts +133 -2
  206. package/layout/index.d.ts +362 -10
  207. package/list/index.d.ts +182 -6
  208. package/loading/index.d.ts +34 -2
  209. package/mention/index.d.ts +147 -4
  210. package/menu/index.d.ts +191 -8
  211. package/message/index.d.ts +203 -8
  212. package/nav/index.d.ts +269 -6
  213. package/notify/index.d.ts +158 -7
  214. package/package.json +13 -13
  215. package/pagination/index.d.ts +248 -5
  216. package/popover/index.d.ts +339 -9
  217. package/progress/index.d.ts +154 -5
  218. package/property/index.d.ts +118 -3
  219. package/property-operation/index.d.ts +114 -3
  220. package/radio/index.d.ts +102 -4
  221. package/rate/index.d.ts +99 -3
  222. package/resizable/index.d.ts +197 -7
  223. package/result/index.d.ts +63 -2
  224. package/schematics/ng-update/migration-collection.json +4 -4
  225. package/schematics/ng-update/{update-19 → update-20}/index.js +1 -1
  226. package/schematics/ng-update/{update-19 → update-20}/index.spec.js +5 -5
  227. package/schematics/version.d.ts +1 -1
  228. package/schematics/version.js +1 -1
  229. package/segment/index.d.ts +119 -4
  230. package/select/index.d.ts +332 -4
  231. package/shared/index.d.ts +516 -16
  232. package/skeleton/index.d.ts +301 -8
  233. package/slide/index.d.ts +270 -12
  234. package/slider/index.d.ts +117 -2
  235. package/space/index.d.ts +48 -2
  236. package/statistic/index.d.ts +124 -2
  237. package/stepper/index.d.ts +112 -5
  238. package/strength/index.d.ts +77 -2
  239. package/switch/index.d.ts +69 -2
  240. package/table/index.d.ts +670 -9
  241. package/tabs/index.d.ts +114 -4
  242. package/tag/index.d.ts +71 -3
  243. package/testing/index.d.ts +178 -7
  244. package/time-picker/index.d.ts +468 -7
  245. package/timeline/index.d.ts +109 -5
  246. package/tooltip/index.d.ts +198 -8
  247. package/transfer/index.d.ts +212 -4
  248. package/tree/index.d.ts +469 -5
  249. package/tree-select/index.d.ts +231 -3
  250. package/types/index.d.ts +22 -3
  251. package/typography/index.d.ts +69 -4
  252. package/upload/index.d.ts +253 -6
  253. package/util/index.d.ts +595 -14
  254. package/vote/index.d.ts +66 -2
  255. package/watermark/index.d.ts +75 -2
  256. package/action/action.component.d.ts +0 -76
  257. package/action/action.module.d.ts +0 -10
  258. package/action/actions.component.d.ts +0 -21
  259. package/affix/affix.component.d.ts +0 -54
  260. package/affix/affix.module.d.ts +0 -9
  261. package/affix/respond-events.d.ts +0 -9
  262. package/alert/alert.component.d.ts +0 -51
  263. package/alert/alert.directive.d.ts +0 -12
  264. package/alert/alert.module.d.ts +0 -10
  265. package/anchor/anchor-link.component.d.ts +0 -34
  266. package/anchor/anchor.component.d.ts +0 -68
  267. package/anchor/anchor.module.d.ts +0 -11
  268. package/anchor/anchor.token.d.ts +0 -9
  269. package/arrow-switcher/arrow-switcher.component.d.ts +0 -64
  270. package/arrow-switcher/module.d.ts +0 -12
  271. package/autocomplete/autocomplete.component.d.ts +0 -79
  272. package/autocomplete/autocomplete.trigger.directive.d.ts +0 -77
  273. package/autocomplete/module.d.ts +0 -18
  274. package/autocomplete/overlay/autocomplete-animations.d.ts +0 -8
  275. package/autocomplete/overlay/autocomplete-container.component.d.ts +0 -33
  276. package/autocomplete/overlay/autocomplete-ref.d.ts +0 -14
  277. package/autocomplete/overlay/autocomplete.config.d.ts +0 -36
  278. package/autocomplete/overlay/autocomplete.options.d.ts +0 -2
  279. package/autocomplete/overlay/autocomplete.service.d.ts +0 -32
  280. package/avatar/avatar-list/avatar-list.component.d.ts +0 -41
  281. package/avatar/avatar.component.d.ts +0 -95
  282. package/avatar/avatar.module.d.ts +0 -11
  283. package/avatar/avatar.pipe.d.ts +0 -30
  284. package/avatar/avatar.service.d.ts +0 -21
  285. package/back-top/back-top.component.d.ts +0 -57
  286. package/back-top/back-top.module.d.ts +0 -9
  287. package/badge/badge.component.d.ts +0 -75
  288. package/badge/badge.module.d.ts +0 -9
  289. package/breadcrumb/breadcrumb-item.component.d.ts +0 -15
  290. package/breadcrumb/breadcrumb.component.d.ts +0 -44
  291. package/breadcrumb/module.d.ts +0 -12
  292. package/button/button-group.component.d.ts +0 -32
  293. package/button/button-icon.component.d.ts +0 -51
  294. package/button/button.component.d.ts +0 -61
  295. package/button/button.module.d.ts +0 -11
  296. package/calendar/calendar-cells.d.ts +0 -17
  297. package/calendar/calendar-header.component.d.ts +0 -51
  298. package/calendar/calendar.component.d.ts +0 -78
  299. package/calendar/module.d.ts +0 -18
  300. package/card/card.component.d.ts +0 -28
  301. package/card/card.module.d.ts +0 -10
  302. package/card/content.component.d.ts +0 -21
  303. package/card/header.component.d.ts +0 -42
  304. package/carousel/carousel-item.directive.d.ts +0 -14
  305. package/carousel/carousel.component.d.ts +0 -112
  306. package/carousel/carousel.service.d.ts +0 -19
  307. package/carousel/carousel.token.d.ts +0 -7
  308. package/carousel/engine/carousel-base.d.ts +0 -27
  309. package/carousel/engine/carousel-fade.d.ts +0 -15
  310. package/carousel/engine/carousel-noop.d.ts +0 -14
  311. package/carousel/engine/carousel-slide.d.ts +0 -16
  312. package/carousel/engine/index.d.ts +0 -4
  313. package/carousel/module.d.ts +0 -11
  314. package/carousel/typings.d.ts +0 -20
  315. package/cascader/cascader-li.component.d.ts +0 -24
  316. package/cascader/cascader-search-option.component.d.ts +0 -21
  317. package/cascader/cascader.component.d.ts +0 -284
  318. package/cascader/cascader.pipe.d.ts +0 -11
  319. package/cascader/cascader.service.d.ts +0 -97
  320. package/cascader/module.d.ts +0 -19
  321. package/cascader/types.d.ts +0 -23
  322. package/checkbox/checkbox.component.d.ts +0 -16
  323. package/checkbox/module.d.ts +0 -9
  324. package/collapse/collapse-item.component.d.ts +0 -52
  325. package/collapse/collapse.component.d.ts +0 -29
  326. package/collapse/collapse.token.d.ts +0 -15
  327. package/collapse/module.d.ts +0 -13
  328. package/color-picker/color-picker-custom-panel.component.d.ts +0 -17
  329. package/color-picker/color-picker-panel.component.d.ts +0 -28
  330. package/color-picker/color-picker.component.d.ts +0 -100
  331. package/color-picker/constant.d.ts +0 -1
  332. package/color-picker/coordinates.directive.d.ts +0 -28
  333. package/color-picker/helpers/color.class.d.ts +0 -32
  334. package/color-picker/helpers/colors-table.class.d.ts +0 -154
  335. package/color-picker/helpers/rgba.class.d.ts +0 -20
  336. package/color-picker/module.d.ts +0 -22
  337. package/color-picker/parts/alpha/alpha.component.d.ts +0 -28
  338. package/color-picker/parts/hue/hue.component.d.ts +0 -26
  339. package/color-picker/parts/indicator/indicator.component.d.ts +0 -13
  340. package/color-picker/parts/inputs/inputs.component.d.ts +0 -18
  341. package/color-picker/parts/saturation/saturation.component.d.ts +0 -28
  342. package/comment/comment-actions.directive.d.ts +0 -8
  343. package/comment/comment-content.directive.d.ts +0 -8
  344. package/comment/comment.component.d.ts +0 -24
  345. package/comment/comment.module.d.ts +0 -13
  346. package/copy/copy.directive.d.ts +0 -47
  347. package/copy/module.d.ts +0 -9
  348. package/core/animation/animation-consts.d.ts +0 -22
  349. package/core/animation/collapse.d.ts +0 -2
  350. package/core/animation/fade.d.ts +0 -2
  351. package/core/animation/index.d.ts +0 -1
  352. package/core/animation/public-api.d.ts +0 -5
  353. package/core/animation/thumb.d.ts +0 -6
  354. package/core/animation/zoom.d.ts +0 -4
  355. package/core/behaviors/constructor.d.ts +0 -5
  356. package/core/behaviors/control-value-accessor.d.ts +0 -7
  357. package/core/behaviors/decorators.d.ts +0 -9
  358. package/core/behaviors/disabled.d.ts +0 -7
  359. package/core/behaviors/focus-control.d.ts +0 -14
  360. package/core/behaviors/index.d.ts +0 -10
  361. package/core/behaviors/initialized.d.ts +0 -6
  362. package/core/behaviors/loading-done.d.ts +0 -5
  363. package/core/behaviors/mixin.d.ts +0 -5
  364. package/core/behaviors/tabindex.d.ts +0 -11
  365. package/core/behaviors/unsubscribe.d.ts +0 -11
  366. package/core/click-positioner.d.ts +0 -15
  367. package/core/color/color.d.ts +0 -9
  368. package/core/color/index.d.ts +0 -1
  369. package/core/debounce-time.d.ts +0 -8
  370. package/core/event-dispatchers/index.d.ts +0 -1
  371. package/core/overlay/abstract-overlay-container.d.ts +0 -43
  372. package/core/overlay/abstract-overlay-ref.d.ts +0 -101
  373. package/core/overlay/abstract-overlay.config.d.ts +0 -131
  374. package/core/overlay/abstract-overlay.service.d.ts +0 -56
  375. package/core/overlay/index.d.ts +0 -9
  376. package/core/overlay/interface.d.ts +0 -5
  377. package/core/overlay/overlay-position-map.d.ts +0 -5
  378. package/core/overlay/overlay.directive.d.ts +0 -51
  379. package/core/overlay/portal-directives.d.ts +0 -14
  380. package/core/overlay/utils.d.ts +0 -14
  381. package/core/request-animation.d.ts +0 -2
  382. package/core/scroll-to.service.d.ts +0 -4
  383. package/core/scroll.d.ts +0 -22
  384. package/core/spacing/index.d.ts +0 -1
  385. package/core/spacing/spacing.d.ts +0 -2
  386. package/core/store/action-state.d.ts +0 -5
  387. package/core/store/action.d.ts +0 -4
  388. package/core/store/actions-stream.d.ts +0 -14
  389. package/core/store/index.d.ts +0 -3
  390. package/core/store/store.d.ts +0 -43
  391. package/core/store/types.d.ts +0 -12
  392. package/core/store/utils.d.ts +0 -2
  393. package/core/theme/enum.d.ts +0 -5
  394. package/core/theme/index.d.ts +0 -3
  395. package/core/theme/store.d.ts +0 -12
  396. package/core/theme/theme.d.ts +0 -2
  397. package/core/translate.d.ts +0 -8
  398. package/core/update-host-class.service.d.ts +0 -15
  399. package/date-picker/abstract-picker.component.d.ts +0 -174
  400. package/date-picker/abstract-picker.directive.d.ts +0 -57
  401. package/date-picker/base-picker.component.d.ts +0 -49
  402. package/date-picker/date-helper.service.d.ts +0 -20
  403. package/date-picker/date-picker.component.d.ts +0 -15
  404. package/date-picker/date-picker.config.d.ts +0 -27
  405. package/date-picker/date-picker.directive.d.ts +0 -13
  406. package/date-picker/date-picker.module.d.ts +0 -24
  407. package/date-picker/date-picker.service.d.ts +0 -14
  408. package/date-picker/inner-types.d.ts +0 -19
  409. package/date-picker/lib/calendar/calendar-footer.component.d.ts +0 -37
  410. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -44
  411. package/date-picker/lib/calendar/calendar-table.component.d.ts +0 -41
  412. package/date-picker/lib/date/date-header.component.d.ts +0 -10
  413. package/date-picker/lib/date/date-table-cell.component.d.ts +0 -18
  414. package/date-picker/lib/date/date-table.component.d.ts +0 -23
  415. package/date-picker/lib/date/types.d.ts +0 -41
  416. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +0 -65
  417. package/date-picker/lib/decade/decade-header.component.d.ts +0 -14
  418. package/date-picker/lib/decade/decade-table.component.d.ts +0 -21
  419. package/date-picker/lib/lib-packer.module.d.ts +0 -28
  420. package/date-picker/lib/month/month-header.component.d.ts +0 -10
  421. package/date-picker/lib/month/month-table.component.d.ts +0 -22
  422. package/date-picker/lib/popups/date-popup.component.d.ts +0 -99
  423. package/date-picker/lib/popups/inner-popup.component.d.ts +0 -43
  424. package/date-picker/lib/quarter/quarter-table.component.d.ts +0 -21
  425. package/date-picker/lib/year/year-header.component.d.ts +0 -14
  426. package/date-picker/lib/year/year-table.component.d.ts +0 -21
  427. package/date-picker/month-picker.component.d.ts +0 -19
  428. package/date-picker/picker.component.d.ts +0 -76
  429. package/date-picker/picker.pipes.d.ts +0 -40
  430. package/date-picker/picker.util.d.ts +0 -30
  431. package/date-picker/picker.validators.d.ts +0 -22
  432. package/date-picker/quarter-picker.component.d.ts +0 -22
  433. package/date-picker/range-picker.component.d.ts +0 -16
  434. package/date-picker/range-picker.directive.d.ts +0 -14
  435. package/date-picker/standard-types.d.ts +0 -45
  436. package/date-picker/week-picker.component.d.ts +0 -15
  437. package/date-picker/year-picker.component.d.ts +0 -22
  438. package/date-range/date-range.class.d.ts +0 -29
  439. package/date-range/date-range.component.d.ts +0 -89
  440. package/date-range/module.d.ts +0 -15
  441. package/date-range/optional-dates/optional-dates.component.d.ts +0 -25
  442. package/dialog/body/dialog-body.component.d.ts +0 -18
  443. package/dialog/confirm/confirm.component.d.ts +0 -29
  444. package/dialog/confirm/token.d.ts +0 -8
  445. package/dialog/confirm.config.d.ts +0 -71
  446. package/dialog/dialog-animations.d.ts +0 -8
  447. package/dialog/dialog-container.component.d.ts +0 -46
  448. package/dialog/dialog-ref.d.ts +0 -32
  449. package/dialog/dialog.config.d.ts +0 -79
  450. package/dialog/dialog.module.d.ts +0 -20
  451. package/dialog/dialog.options.d.ts +0 -2
  452. package/dialog/dialog.service.d.ts +0 -52
  453. package/dialog/footer/dialog-footer.component.d.ts +0 -33
  454. package/dialog/header/dialog-header.component.d.ts +0 -47
  455. package/divider/divider.component.d.ts +0 -47
  456. package/divider/divider.module.d.ts +0 -10
  457. package/dot/dot.component.d.ts +0 -45
  458. package/dot/dot.module.d.ts +0 -8
  459. package/drag-drop/drag-content.directive.d.ts +0 -15
  460. package/drag-drop/drag-drop.class.d.ts +0 -36
  461. package/drag-drop/drag-drop.service.d.ts +0 -27
  462. package/drag-drop/drag-drop.token.d.ts +0 -24
  463. package/drag-drop/drag-handle.directive.d.ts +0 -24
  464. package/drag-drop/drag-ref.d.ts +0 -47
  465. package/drag-drop/drag.directive.d.ts +0 -39
  466. package/drag-drop/drop-container.directive.d.ts +0 -70
  467. package/drag-drop/module.d.ts +0 -14
  468. package/dropdown/dropdown-active.directive.d.ts +0 -27
  469. package/dropdown/dropdown-menu-item.directive.d.ts +0 -95
  470. package/dropdown/dropdown-menu.component.d.ts +0 -54
  471. package/dropdown/dropdown-submenu.component.d.ts +0 -23
  472. package/dropdown/dropdown.directive.d.ts +0 -77
  473. package/dropdown/module.d.ts +0 -13
  474. package/empty/empty.component.d.ts +0 -92
  475. package/empty/empty.config.d.ts +0 -10
  476. package/empty/empty.module.d.ts +0 -10
  477. package/empty/svgs.d.ts +0 -4
  478. package/flexible-text/flexible-text.component.d.ts +0 -53
  479. package/flexible-text/flexible-text.module.d.ts +0 -10
  480. package/form/form-group-error/form-group-error.component.d.ts +0 -21
  481. package/form/form-group-label.directive.d.ts +0 -18
  482. package/form/form-group.component.d.ts +0 -68
  483. package/form/form-submit.directive.d.ts +0 -18
  484. package/form/form-validator-loader.d.ts +0 -28
  485. package/form/form-validator.service.d.ts +0 -54
  486. package/form/form.class.d.ts +0 -54
  487. package/form/form.directive.d.ts +0 -56
  488. package/form/from-group-footer/form-group-footer.component.d.ts +0 -27
  489. package/form/module.d.ts +0 -25
  490. package/form/validator/confirm-validator.directive.d.ts +0 -17
  491. package/form/validator/index.d.ts +0 -4
  492. package/form/validator/max-validator.directive.d.ts +0 -15
  493. package/form/validator/min-validator.directive.d.ts +0 -15
  494. package/form/validator/unique-validator.directive.d.ts +0 -16
  495. package/fullscreen/fullscreen-launch.directive.d.ts +0 -9
  496. package/fullscreen/fullscreen-ref.d.ts +0 -25
  497. package/fullscreen/fullscreen.component.d.ts +0 -34
  498. package/fullscreen/fullscreen.config.d.ts +0 -23
  499. package/fullscreen/fullscreen.module.d.ts +0 -8
  500. package/fullscreen/fullscreen.service.d.ts +0 -20
  501. package/grid/flex.d.ts +0 -85
  502. package/grid/grid.token.d.ts +0 -7
  503. package/grid/grid.type.d.ts +0 -5
  504. package/grid/module.d.ts +0 -11
  505. package/grid/thy-col.directive.d.ts +0 -33
  506. package/grid/thy-grid-item.component.d.ts +0 -28
  507. package/grid/thy-grid.component.d.ts +0 -71
  508. package/grid/thy-row.directive.d.ts +0 -30
  509. package/guider/guider-hint/guider-hint.component.d.ts +0 -28
  510. package/guider/guider-manager.d.ts +0 -23
  511. package/guider/guider-ref.d.ts +0 -42
  512. package/guider/guider-step-ref.d.ts +0 -44
  513. package/guider/guider.class.d.ts +0 -95
  514. package/guider/guider.directive.d.ts +0 -21
  515. package/guider/guider.interface.d.ts +0 -26
  516. package/guider/guider.module.d.ts +0 -13
  517. package/guider/guider.service.d.ts +0 -25
  518. package/guider/utils.d.ts +0 -4
  519. package/i18n/i18n.d.ts +0 -191
  520. package/i18n/i18n.service.d.ts +0 -19
  521. package/i18n/i18n.token.d.ts +0 -8
  522. package/i18n/locale.d.ts +0 -4
  523. package/i18n/locales/de-de.d.ts +0 -162
  524. package/i18n/locales/en-us.d.ts +0 -183
  525. package/i18n/locales/index.d.ts +0 -5
  526. package/i18n/locales/ja-jp.d.ts +0 -162
  527. package/i18n/locales/zh-hans.d.ts +0 -162
  528. package/i18n/locales/zh-hant.d.ts +0 -162
  529. package/i18n/util.d.ts +0 -3
  530. package/icon/config.d.ts +0 -2
  531. package/icon/icon-registry.d.ts +0 -84
  532. package/icon/icon.component.d.ts +0 -47
  533. package/icon/icon.module.d.ts +0 -9
  534. package/image/image-group.component.d.ts +0 -16
  535. package/image/image.class.d.ts +0 -38
  536. package/image/image.config.d.ts +0 -21
  537. package/image/image.directive.d.ts +0 -50
  538. package/image/image.service.d.ts +0 -30
  539. package/image/image.token.d.ts +0 -17
  540. package/image/module.d.ts +0 -19
  541. package/image/preview/image-preview-ref.d.ts +0 -14
  542. package/image/preview/image-preview.component.d.ts +0 -73
  543. package/image/utils.d.ts +0 -1
  544. package/input/input-count.component.d.ts +0 -27
  545. package/input/input-group.component.d.ts +0 -71
  546. package/input/input-search.component.d.ts +0 -70
  547. package/input/input.component.d.ts +0 -82
  548. package/input/input.directive.d.ts +0 -26
  549. package/input/module.d.ts +0 -16
  550. package/input-number/input-number.component.d.ts +0 -115
  551. package/input-number/module.d.ts +0 -13
  552. package/layout/content-main.component.d.ts +0 -19
  553. package/layout/content-section.component.d.ts +0 -19
  554. package/layout/content.component.d.ts +0 -19
  555. package/layout/header.component.d.ts +0 -69
  556. package/layout/layout.component.d.ts +0 -22
  557. package/layout/layout.module.d.ts +0 -21
  558. package/layout/sidebar-content.component.d.ts +0 -19
  559. package/layout/sidebar-footer.component.d.ts +0 -19
  560. package/layout/sidebar-header.component.d.ts +0 -40
  561. package/layout/sidebar.component.d.ts +0 -123
  562. package/list/list-item-meta.component.d.ts +0 -25
  563. package/list/list-item.component.d.ts +0 -9
  564. package/list/list.component.d.ts +0 -14
  565. package/list/list.module.d.ts +0 -13
  566. package/list/selection/selection-list.d.ts +0 -116
  567. package/list/selection/selection.interface.d.ts +0 -8
  568. package/loading/loading.component.d.ts +0 -24
  569. package/loading/loading.module.d.ts +0 -8
  570. package/mention/adapter/adapter.d.ts +0 -19
  571. package/mention/adapter/editable.adapter.d.ts +0 -9
  572. package/mention/adapter/index.d.ts +0 -7
  573. package/mention/adapter/textarea.adapter.d.ts +0 -11
  574. package/mention/caret-positioner.d.ts +0 -19
  575. package/mention/interfaces.d.ts +0 -61
  576. package/mention/mention.directive.d.ts +0 -43
  577. package/mention/mention.module.d.ts +0 -13
  578. package/mention/suggestions/suggestions.component.d.ts +0 -28
  579. package/menu/divider/menu-divider.component.d.ts +0 -12
  580. package/menu/group/menu-group.component.d.ts +0 -61
  581. package/menu/item/action/menu-item-action.component.d.ts +0 -34
  582. package/menu/item/icon/menu-item-icon.component.d.ts +0 -18
  583. package/menu/item/menu-item.component.d.ts +0 -20
  584. package/menu/item/name/menu-item-name.component.d.ts +0 -17
  585. package/menu/menu.component.d.ts +0 -23
  586. package/menu/menu.module.d.ts +0 -16
  587. package/message/abstract/abstract-message-container.component.d.ts +0 -13
  588. package/message/abstract/abstract-message-queue.service.d.ts +0 -13
  589. package/message/abstract/abstract-message-ref.d.ts +0 -18
  590. package/message/abstract/abstract-message.component.d.ts +0 -35
  591. package/message/abstract/abstract-message.service.d.ts +0 -17
  592. package/message/abstract/index.d.ts +0 -5
  593. package/message/message-container.component.d.ts +0 -12
  594. package/message/message-queue.service.d.ts +0 -11
  595. package/message/message-ref.d.ts +0 -4
  596. package/message/message.component.d.ts +0 -13
  597. package/message/message.config.d.ts +0 -29
  598. package/message/message.service.d.ts +0 -36
  599. package/message/module.d.ts +0 -13
  600. package/nav/icon-nav/icon-nav-link.directive.d.ts +0 -10
  601. package/nav/icon-nav/icon-nav.component.d.ts +0 -15
  602. package/nav/nav-ink-bar.directive.d.ts +0 -22
  603. package/nav/nav-item.directive.d.ts +0 -60
  604. package/nav/nav.component.d.ts +0 -142
  605. package/nav/nav.module.d.ts +0 -17
  606. package/nav/nav.pipe.d.ts +0 -11
  607. package/notify/module.d.ts +0 -13
  608. package/notify/notify-container.component.d.ts +0 -12
  609. package/notify/notify-queue.service.d.ts +0 -15
  610. package/notify/notify-ref.d.ts +0 -4
  611. package/notify/notify.component.d.ts +0 -19
  612. package/notify/notify.config.d.ts +0 -55
  613. package/notify/notify.service.d.ts +0 -42
  614. package/pagination/pagination.class.d.ts +0 -79
  615. package/pagination/pagination.component.d.ts +0 -132
  616. package/pagination/pagination.config.d.ts +0 -8
  617. package/pagination/pagination.module.d.ts +0 -13
  618. package/pagination/pagination.pipe.d.ts +0 -17
  619. package/popover/body/popover-body.component.d.ts +0 -10
  620. package/popover/header/popover-header.component.d.ts +0 -35
  621. package/popover/module.d.ts +0 -14
  622. package/popover/popover-animations.d.ts +0 -8
  623. package/popover/popover-container.component.d.ts +0 -38
  624. package/popover/popover-ref.d.ts +0 -14
  625. package/popover/popover.config.d.ts +0 -110
  626. package/popover/popover.directive.d.ts +0 -67
  627. package/popover/popover.options.d.ts +0 -2
  628. package/popover/popover.service.d.ts +0 -58
  629. package/progress/interfaces.d.ts +0 -23
  630. package/progress/progress-circle.component.d.ts +0 -43
  631. package/progress/progress-strip.component.d.ts +0 -23
  632. package/progress/progress.component.d.ts +0 -59
  633. package/progress/progress.module.d.ts +0 -11
  634. package/property/module.d.ts +0 -11
  635. package/property/properties.component.d.ts +0 -25
  636. package/property/property-item.component.d.ts +0 -80
  637. package/property-operation/group/property-operation-group.component.d.ts +0 -10
  638. package/property-operation/module.d.ts +0 -12
  639. package/property-operation/property-operation.component.d.ts +0 -92
  640. package/public-api.d.ts +0 -1
  641. package/radio/button/radio-button.component.d.ts +0 -18
  642. package/radio/group/radio-group.component.d.ts +0 -46
  643. package/radio/module.d.ts +0 -11
  644. package/radio/radio.component.d.ts +0 -22
  645. package/radio/radio.token.d.ts +0 -12
  646. package/rate/module.d.ts +0 -13
  647. package/rate/rate-item.component.d.ts +0 -17
  648. package/rate/rate.component.d.ts +0 -69
  649. package/resizable/interface.d.ts +0 -12
  650. package/resizable/module.d.ts +0 -10
  651. package/resizable/resizable.directive.d.ts +0 -91
  652. package/resizable/resizable.service.d.ts +0 -32
  653. package/resizable/resize-handle.component.d.ts +0 -31
  654. package/resizable/resize-handles.component.d.ts +0 -21
  655. package/resizable/utils.d.ts +0 -3
  656. package/result/result.component.d.ts +0 -54
  657. package/result/result.module.d.ts +0 -8
  658. package/segment/segment-item.component.d.ts +0 -34
  659. package/segment/segment.component.d.ts +0 -55
  660. package/segment/segment.module.d.ts +0 -11
  661. package/segment/segment.token.d.ts +0 -16
  662. package/segment/types.d.ts +0 -5
  663. package/select/custom-select/custom-select.component.d.ts +0 -271
  664. package/select/module.d.ts +0 -16
  665. package/select/native-select/native-select.component.d.ts +0 -30
  666. package/select/select.config.d.ts +0 -34
  667. package/shared/base-form-check.component.d.ts +0 -51
  668. package/shared/directives/string-or-template-outlet.directive.d.ts +0 -17
  669. package/shared/directives/thy-autofocus.directive.d.ts +0 -23
  670. package/shared/directives/thy-contextmenu.directive.d.ts +0 -17
  671. package/shared/directives/thy-ctrl-enter.directive.d.ts +0 -17
  672. package/shared/directives/thy-drag-drop.directive.d.ts +0 -15
  673. package/shared/directives/thy-enter.directive.d.ts +0 -18
  674. package/shared/directives/thy-scroll.directive.d.ts +0 -39
  675. package/shared/directives/thy-show.d.ts +0 -19
  676. package/shared/directives/thy-stop-propagation.directive.d.ts +0 -17
  677. package/shared/directives/view-outlet.directive.d.ts +0 -27
  678. package/shared/ng-transclude.directive.d.ts +0 -14
  679. package/shared/option/group/option-group.component.d.ts +0 -22
  680. package/shared/option/index.d.ts +0 -8
  681. package/shared/option/list-option/list-option.component.d.ts +0 -32
  682. package/shared/option/module.d.ts +0 -13
  683. package/shared/option/option-group.component.d.ts +0 -12
  684. package/shared/option/option.component.d.ts +0 -51
  685. package/shared/option/option.token.d.ts +0 -30
  686. package/shared/option/options-container.component.d.ts +0 -9
  687. package/shared/option/select-option-base.d.ts +0 -5
  688. package/shared/select/index.d.ts +0 -2
  689. package/shared/select/module.d.ts +0 -11
  690. package/shared/select/select-control/select-control.component.d.ts +0 -73
  691. package/shared/shared.module.d.ts +0 -17
  692. package/shared/shared.type.d.ts +0 -1
  693. package/skeleton/module.d.ts +0 -16
  694. package/skeleton/skeleton-circle.component.d.ts +0 -45
  695. package/skeleton/skeleton-rectangle.component.d.ts +0 -55
  696. package/skeleton/skeleton.component.d.ts +0 -27
  697. package/skeleton/skeleton.config.d.ts +0 -8
  698. package/skeleton/stylized/bullet-list.component.d.ts +0 -55
  699. package/skeleton/stylized/list.component.d.ts +0 -44
  700. package/skeleton/stylized/paragraph.component.d.ts +0 -52
  701. package/slide/drawer/drawer-container.directive.d.ts +0 -11
  702. package/slide/slide-animations.d.ts +0 -4
  703. package/slide/slide-body/slide-body-section.component.d.ts +0 -16
  704. package/slide/slide-body/slide-body.component.d.ts +0 -10
  705. package/slide/slide-container.component.d.ts +0 -49
  706. package/slide/slide-footer/slide-footer.component.d.ts +0 -12
  707. package/slide/slide-header/slide-header.component.d.ts +0 -33
  708. package/slide/slide-layout/slide-layout.component.d.ts +0 -13
  709. package/slide/slide-ref.service.d.ts +0 -20
  710. package/slide/slide.config.d.ts +0 -73
  711. package/slide/slide.module.d.ts +0 -19
  712. package/slide/slide.service.d.ts +0 -28
  713. package/slider/slider.component.d.ts +0 -105
  714. package/slider/slider.module.d.ts +0 -9
  715. package/space/space.component.d.ts +0 -38
  716. package/space/space.module.d.ts +0 -8
  717. package/statistic/statistic.component.d.ts +0 -111
  718. package/statistic/statistic.module.d.ts +0 -10
  719. package/stepper/step-header.component.d.ts +0 -15
  720. package/stepper/step.component.d.ts +0 -28
  721. package/stepper/stepper-button.directive.d.ts +0 -25
  722. package/stepper/stepper.component.d.ts +0 -34
  723. package/stepper/stepper.module.d.ts +0 -11
  724. package/strength/strength.component.d.ts +0 -69
  725. package/strength/strength.module.d.ts +0 -7
  726. package/switch/switch.component.d.ts +0 -59
  727. package/switch/switch.module.d.ts +0 -8
  728. package/table/enums/column-skeleton-type.d.ts +0 -6
  729. package/table/enums/index.d.ts +0 -1
  730. package/table/pipes/drag.pipe.d.ts +0 -11
  731. package/table/pipes/table.pipe.d.ts +0 -10
  732. package/table/table-column.component.d.ts +0 -131
  733. package/table/table-skeleton.component.d.ts +0 -93
  734. package/table/table.component.d.ts +0 -333
  735. package/table/table.interface.d.ts +0 -87
  736. package/table/table.module.d.ts +0 -22
  737. package/table/table.type.d.ts +0 -3
  738. package/tabs/tab-content.component.d.ts +0 -12
  739. package/tabs/tab.component.d.ts +0 -31
  740. package/tabs/tabs.component.d.ts +0 -59
  741. package/tabs/tabs.module.d.ts +0 -12
  742. package/tabs/types.d.ts +0 -2
  743. package/tag/tag.component.d.ts +0 -48
  744. package/tag/tag.module.d.ts +0 -10
  745. package/tag/tags.component.d.ts +0 -11
  746. package/testing/data-transfer.d.ts +0 -22
  747. package/testing/dispatcher-events.d.ts +0 -32
  748. package/testing/element-focus.d.ts +0 -13
  749. package/testing/events.d.ts +0 -33
  750. package/testing/thy-icon.d.ts +0 -5
  751. package/testing/type-in-element.d.ts +0 -14
  752. package/testing/xhr-mock.d.ts +0 -51
  753. package/time-picker/inner/inner-time-picker.class.d.ts +0 -37
  754. package/time-picker/inner/inner-time-picker.component.d.ts +0 -91
  755. package/time-picker/inner/inner-time-picker.config.d.ts +0 -42
  756. package/time-picker/inner/inner-time-picker.store.d.ts +0 -23
  757. package/time-picker/time-picker-controls.util.d.ts +0 -7
  758. package/time-picker/time-picker-panel.component.d.ts +0 -113
  759. package/time-picker/time-picker.component.d.ts +0 -136
  760. package/time-picker/time-picker.module.d.ts +0 -17
  761. package/time-picker/time-picker.utils.d.ts +0 -16
  762. package/timeline/timeline-item.component.d.ts +0 -43
  763. package/timeline/timeline.component.d.ts +0 -47
  764. package/timeline/timeline.module.d.ts +0 -11
  765. package/timeline/timeline.service.d.ts +0 -8
  766. package/timeline/timeline.type.d.ts +0 -1
  767. package/tooltip/interface.d.ts +0 -5
  768. package/tooltip/tooltip-animations.d.ts +0 -4
  769. package/tooltip/tooltip-ref.d.ts +0 -31
  770. package/tooltip/tooltip.component.d.ts +0 -36
  771. package/tooltip/tooltip.config.d.ts +0 -22
  772. package/tooltip/tooltip.directive.d.ts +0 -81
  773. package/tooltip/tooltip.module.d.ts +0 -11
  774. package/tooltip/tooltip.service.d.ts +0 -16
  775. package/transfer/transfer-list.component.d.ts +0 -41
  776. package/transfer/transfer.component.d.ts +0 -90
  777. package/transfer/transfer.interface.d.ts +0 -66
  778. package/transfer/transfer.module.d.ts +0 -15
  779. package/tree/tree-abstract.d.ts +0 -19
  780. package/tree/tree-node.component.d.ts +0 -95
  781. package/tree/tree.class.d.ts +0 -106
  782. package/tree/tree.component.d.ts +0 -199
  783. package/tree/tree.module.d.ts +0 -20
  784. package/tree/tree.pipe.d.ts +0 -12
  785. package/tree/tree.service.d.ts +0 -34
  786. package/tree-select/module.d.ts +0 -14
  787. package/tree-select/tree-select.class.d.ts +0 -12
  788. package/tree-select/tree-select.component.d.ts +0 -203
  789. package/types/common.d.ts +0 -2
  790. package/types/dictionary.d.ts +0 -10
  791. package/types/pagination.d.ts +0 -6
  792. package/typography/bg-color.directive.d.ts +0 -20
  793. package/typography/module.d.ts +0 -11
  794. package/typography/text/text.component.d.ts +0 -17
  795. package/typography/text-color.directive.d.ts +0 -22
  796. package/upload/constant.d.ts +0 -73
  797. package/upload/file-drop.directive.d.ts +0 -32
  798. package/upload/file-select-base.d.ts +0 -22
  799. package/upload/file-select.component.d.ts +0 -34
  800. package/upload/module.d.ts +0 -9
  801. package/upload/types.d.ts +0 -11
  802. package/upload/upload.config.d.ts +0 -17
  803. package/upload/upload.service.d.ts +0 -140
  804. package/upload/util.d.ts +0 -1
  805. package/util/date/functions.d.ts +0 -85
  806. package/util/date/tiny-date.d.ts +0 -124
  807. package/util/dom.d.ts +0 -101
  808. package/util/helpers/helpers.d.ts +0 -55
  809. package/util/helpers/index.d.ts +0 -1
  810. package/util/immutable.d.ts +0 -70
  811. package/util/keycodes.d.ts +0 -2
  812. package/util/logger/index.d.ts +0 -1
  813. package/util/logger/logger.d.ts +0 -6
  814. package/util/ng.d.ts +0 -2
  815. package/util/references.d.ts +0 -58
  816. package/version.d.ts +0 -2
  817. package/vote/vote.component.d.ts +0 -53
  818. package/vote/vote.module.d.ts +0 -10
  819. package/watermark/config.d.ts +0 -19
  820. package/watermark/watermark.directive.d.ts +0 -63
  821. package/watermark/watermark.module.d.ts +0 -9
  822. /package/schematics/ng-update/{update-19 → update-20}/class-name-migration.d.ts +0 -0
  823. /package/schematics/ng-update/{update-19 → update-20}/class-name-migration.js +0 -0
  824. /package/schematics/ng-update/{update-19 → update-20}/index.d.ts +0 -0
  825. /package/schematics/ng-update/{update-19 → update-20}/index.spec.d.ts +0 -0
  826. /package/schematics/ng-update/{update-19 → update-20}/update-data.d.ts +0 -0
  827. /package/schematics/ng-update/{update-19 → update-20}/update-data.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-arrow-switcher.mjs","sources":["../../../src/arrow-switcher/arrow-switcher.component.ts","../../../src/arrow-switcher/arrow-switcher.component.html","../../../src/arrow-switcher/module.ts","../../../src/arrow-switcher/ngx-tethys-arrow-switcher.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n forwardRef,\n numberAttribute,\n inject,\n input,\n output,\n computed,\n Signal,\n WritableSignal,\n signal,\n linkedSignal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyButtonIcon } from 'ngx-tethys/button';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { ThyAction } from 'ngx-tethys/action';\n\nexport type ThyArrowSwitcherTheme = 'default' | 'lite';\nexport interface ThyArrowSwitcherEvent {\n index: number;\n event: Event;\n}\n\n/**\n * 上下条切换组件\n * @name thy-arrow-switcher\n * @order 10\n */\n@Component({\n selector: 'thy-arrow-switcher',\n templateUrl: './arrow-switcher.component.html',\n host: {\n class: 'thy-arrow-switcher',\n '[class.thy-arrow-switcher-small]': 'isSmallSize()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyArrowSwitcher),\n multi: true\n }\n ],\n imports: [ThyAction, ThyTooltipDirective, ThyIcon, ThyButtonIcon]\n})\nexport class ThyArrowSwitcher implements ControlValueAccessor {\n private cd = inject(ChangeDetectorRef);\n\n private disabled: WritableSignal<boolean> = signal(false);\n\n /**\n * 点击上一条事件\n */\n readonly thyPrevious = output<ThyArrowSwitcherEvent>();\n\n /**\n * 点击下一条事件\n */\n readonly thyNext = output<ThyArrowSwitcherEvent>();\n\n /**\n * 设置上一条 Hover Tooltip 提示\n */\n readonly thyPreviousTooltip = input<string>();\n\n /**\n * 设置下一条 Hover Tooltip 提示\n */\n readonly thyNextTooltip = input<string>();\n\n /**\n * 展示主题\n * @type default | lite\n */\n readonly thyTheme = input<ThyArrowSwitcherTheme>('default');\n\n /**\n * 总条数\n */\n readonly thyTotal = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 尺寸大小,默认尺寸为大号,取值为`sm`时展示小号\n */\n readonly thySize = input<string>();\n\n readonly isSmallSize: Signal<boolean> = computed(() => {\n return this.thySize() === 'sm';\n });\n\n protected readonly index: WritableSignal<number> = signal(0);\n\n readonly previousDisabled = computed(() => {\n return this.index() <= 0 || this.disabled();\n });\n\n readonly nextDisabled = computed(() => {\n return this.index() >= this.thyTotal() - 1 || this.disabled();\n });\n\n private onModelChange: (value: number) => void;\n\n private onModelTouched: () => void;\n\n protected readonly previousTooltip = linkedSignal(() => {\n return this.thyPreviousTooltip();\n });\n\n protected readonly nextTooltip = linkedSignal(() => {\n return this.thyNextTooltip();\n });\n\n public setPreviousTooltip(value: string) {\n this.previousTooltip.set(value);\n }\n\n public setNextTooltip(value: string) {\n this.nextTooltip.set(value);\n }\n\n writeValue(value: number): void {\n if (value >= 0) {\n this.index.set(value);\n }\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: () => void) {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onModelTouched = fn;\n }\n\n setDisabledState(isDisable: boolean) {\n this.disabled.set(isDisable);\n }\n\n onPreviousClick(event: Event) {\n this.index.set(this.index() - 1);\n this.onModelChange(this.index());\n\n this.thyPrevious.emit({ index: this.index(), event });\n }\n\n onNextClick(event: Event) {\n this.index.set(this.index() + 1);\n this.onModelChange(this.index());\n\n this.thyNext.emit({ index: this.index(), event });\n }\n}\n","@if (thyTheme() === 'lite') {\n <div class=\"switcher-wrapper\">\n <a\n thyAction\n [thyTooltip]=\"previousTooltip()\"\n href=\"javascript:;\"\n [thyDisabled]=\"previousDisabled()\"\n class=\"mr-2\"\n (click)=\"onPreviousClick($event)\"\n ><thy-icon thyIconName=\"angle-up\"></thy-icon\n ></a>\n <a thyAction [thyTooltip]=\"nextTooltip()\" href=\"javascript:;\" [thyDisabled]=\"nextDisabled()\" (click)=\"onNextClick($event)\"\n ><thy-icon thyIconName=\"angle-down\"></thy-icon\n ></a>\n </div>\n} @else {\n <div class=\"switcher-wrapper\">\n <button\n thyButtonIcon=\"angle-left\"\n [thyTooltip]=\"previousTooltip()\"\n [disabled]=\"previousDisabled()\"\n (click)=\"onPreviousClick($event)\"></button>\n <span>{{ index() + 1 }} / {{ thyTotal() }}</span>\n <button thyButtonIcon=\"angle-right\" [thyTooltip]=\"nextTooltip()\" [disabled]=\"nextDisabled()\" (click)=\"onNextClick($event)\"></button>\n </div>\n}\n","import { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyArrowSwitcher } from './arrow-switcher.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyActionModule } from 'ngx-tethys/action';\n\n@NgModule({\n imports: [CommonModule, ThyButtonModule, ThyIconModule, ThyActionModule, ThyTooltipModule, ThyArrowSwitcher],\n exports: [ThyArrowSwitcher]\n})\nexport class ThyArrowSwitcherModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-arrow-switcher.mjs","sources":["../../../src/arrow-switcher/arrow-switcher.component.ts","../../../src/arrow-switcher/arrow-switcher.component.html","../../../src/arrow-switcher/module.ts","../../../src/arrow-switcher/ngx-tethys-arrow-switcher.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n forwardRef,\n numberAttribute,\n inject,\n input,\n output,\n computed,\n Signal,\n WritableSignal,\n signal,\n linkedSignal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyButtonIcon } from 'ngx-tethys/button';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { ThyAction } from 'ngx-tethys/action';\n\nexport type ThyArrowSwitcherTheme = 'default' | 'lite';\nexport interface ThyArrowSwitcherEvent {\n index: number;\n event: Event;\n}\n\n/**\n * 上下条切换组件\n * @name thy-arrow-switcher\n * @order 10\n */\n@Component({\n selector: 'thy-arrow-switcher',\n templateUrl: './arrow-switcher.component.html',\n host: {\n class: 'thy-arrow-switcher',\n '[class.thy-arrow-switcher-small]': 'isSmallSize()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyArrowSwitcher),\n multi: true\n }\n ],\n imports: [ThyAction, ThyTooltipDirective, ThyIcon, ThyButtonIcon]\n})\nexport class ThyArrowSwitcher implements ControlValueAccessor {\n private cd = inject(ChangeDetectorRef);\n\n private disabled: WritableSignal<boolean> = signal(false);\n\n /**\n * 点击上一条事件\n */\n readonly thyPrevious = output<ThyArrowSwitcherEvent>();\n\n /**\n * 点击下一条事件\n */\n readonly thyNext = output<ThyArrowSwitcherEvent>();\n\n /**\n * 设置上一条 Hover Tooltip 提示\n */\n readonly thyPreviousTooltip = input<string>();\n\n /**\n * 设置下一条 Hover Tooltip 提示\n */\n readonly thyNextTooltip = input<string>();\n\n /**\n * 展示主题\n * @type default | lite\n */\n readonly thyTheme = input<ThyArrowSwitcherTheme>('default');\n\n /**\n * 总条数\n */\n readonly thyTotal = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 尺寸大小,默认尺寸为大号,取值为`sm`时展示小号\n */\n readonly thySize = input<string>();\n\n readonly isSmallSize: Signal<boolean> = computed(() => {\n return this.thySize() === 'sm';\n });\n\n protected readonly index: WritableSignal<number> = signal(0);\n\n readonly previousDisabled = computed(() => {\n return this.index() <= 0 || this.disabled();\n });\n\n readonly nextDisabled = computed(() => {\n return this.index() >= this.thyTotal() - 1 || this.disabled();\n });\n\n private onModelChange: (value: number) => void;\n\n private onModelTouched: () => void;\n\n protected readonly previousTooltip = linkedSignal(() => {\n return this.thyPreviousTooltip();\n });\n\n protected readonly nextTooltip = linkedSignal(() => {\n return this.thyNextTooltip();\n });\n\n public setPreviousTooltip(value: string) {\n this.previousTooltip.set(value);\n }\n\n public setNextTooltip(value: string) {\n this.nextTooltip.set(value);\n }\n\n writeValue(value: number): void {\n if (value >= 0) {\n this.index.set(value);\n }\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: () => void) {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onModelTouched = fn;\n }\n\n setDisabledState(isDisable: boolean) {\n this.disabled.set(isDisable);\n }\n\n onPreviousClick(event: Event) {\n this.index.set(this.index() - 1);\n this.onModelChange(this.index());\n\n this.thyPrevious.emit({ index: this.index(), event });\n }\n\n onNextClick(event: Event) {\n this.index.set(this.index() + 1);\n this.onModelChange(this.index());\n\n this.thyNext.emit({ index: this.index(), event });\n }\n}\n","@if (thyTheme() === 'lite') {\n <div class=\"switcher-wrapper\">\n <a\n thyAction\n [thyTooltip]=\"previousTooltip()\"\n href=\"javascript:;\"\n [thyDisabled]=\"previousDisabled()\"\n class=\"mr-2\"\n (click)=\"onPreviousClick($event)\"\n ><thy-icon thyIconName=\"angle-up\"></thy-icon\n ></a>\n <a thyAction [thyTooltip]=\"nextTooltip()\" href=\"javascript:;\" [thyDisabled]=\"nextDisabled()\" (click)=\"onNextClick($event)\"\n ><thy-icon thyIconName=\"angle-down\"></thy-icon\n ></a>\n </div>\n} @else {\n <div class=\"switcher-wrapper\">\n <button\n thyButtonIcon=\"angle-left\"\n [thyTooltip]=\"previousTooltip()\"\n [disabled]=\"previousDisabled()\"\n (click)=\"onPreviousClick($event)\"></button>\n <span>{{ index() + 1 }} / {{ thyTotal() }}</span>\n <button thyButtonIcon=\"angle-right\" [thyTooltip]=\"nextTooltip()\" [disabled]=\"nextDisabled()\" (click)=\"onNextClick($event)\"></button>\n </div>\n}\n","import { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyArrowSwitcher } from './arrow-switcher.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyActionModule } from 'ngx-tethys/action';\n\n@NgModule({\n imports: [CommonModule, ThyButtonModule, ThyIconModule, ThyActionModule, ThyTooltipModule, ThyArrowSwitcher],\n exports: [ThyArrowSwitcher]\n})\nexport class ThyArrowSwitcherModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { FlexibleConnectedPositionStrategy, Overlay, ScrollDispatcher, OverlayContainer, OverlayModule } from '@angular/cdk/overlay';
2
2
  import { PortalModule, ComponentPortal } from '@angular/cdk/portal';
3
- import { NgClass, DOCUMENT, CommonModule } from '@angular/common';
3
+ import { NgClass, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, NgZone, ChangeDetectorRef, viewChild, input, output, ContentChildren, ChangeDetectionStrategy, Component, InjectionToken, ElementRef, EventEmitter, ViewChild, Injector, Injectable, ViewContainerRef, computed, numberAttribute, HostBinding, Directive, NgModule } from '@angular/core';
5
+ import { inject, NgZone, ChangeDetectorRef, viewChild, input, output, ContentChildren, ChangeDetectionStrategy, Component, InjectionToken, ElementRef, DOCUMENT, EventEmitter, ViewChild, Injector, Injectable, ViewContainerRef, computed, numberAttribute, HostBinding, Directive, NgModule } from '@angular/core';
6
6
  import { FormsModule } from '@angular/forms';
7
7
  import { ThyEmpty, ThyEmptyModule } from 'ngx-tethys/empty';
8
8
  import { ThyIconModule } from 'ngx-tethys/icon';
@@ -38,9 +38,9 @@ class ThyAutocomplete {
38
38
  this.mode = '';
39
39
  this.isEmptyOptions = false;
40
40
  this.isOpened = false;
41
- this.contentTemplateRef = viewChild('contentTemplate');
41
+ this.contentTemplateRef = viewChild('contentTemplate', ...(ngDevMode ? [{ debugName: "contentTemplateRef" }] : []));
42
42
  // scroll element container
43
- this.optionsContainer = viewChild('panel');
43
+ this.optionsContainer = viewChild('panel', ...(ngDevMode ? [{ debugName: "optionsContainer" }] : []));
44
44
  this.optionSelectionChanges = defer(() => {
45
45
  if (this.options) {
46
46
  return merge(...this.options.map(option => outputToObservable(option.selectionChange)));
@@ -51,11 +51,11 @@ class ThyAutocomplete {
51
51
  * 空选项时的文本
52
52
  * @default 没有任何数据
53
53
  */
54
- this.thyEmptyText = input(this.locale().empty);
54
+ this.thyEmptyText = input(this.locale().empty, ...(ngDevMode ? [{ debugName: "thyEmptyText" }] : []));
55
55
  /**
56
56
  * 是否默认高亮第一个选项
57
57
  */
58
- this.thyAutoActiveFirstOption = input(false, { transform: coerceBooleanProperty });
58
+ this.thyAutoActiveFirstOption = input(false, ...(ngDevMode ? [{ debugName: "thyAutoActiveFirstOption", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
59
59
  /**
60
60
  * 被选中时调用,参数包含选中项的 value 值
61
61
  */
@@ -156,15 +156,15 @@ class ThyAutocomplete {
156
156
  this.ngUnsubscribe$.next();
157
157
  this.ngUnsubscribe$.complete();
158
158
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
160
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyAutocomplete, isStandalone: true, selector: "thy-autocomplete", inputs: { thyEmptyText: { classPropertyName: "thyEmptyText", publicName: "thyEmptyText", isSignal: true, isRequired: false, transformFunction: null }, thyAutoActiveFirstOption: { classPropertyName: "thyAutoActiveFirstOption", publicName: "thyAutoActiveFirstOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyOptionSelected: "thyOptionSelected", thyOpened: "thyOpened", thyClosed: "thyClosed", thyOptionActivated: "thyOptionActivated" }, providers: [
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: ThyAutocomplete, isStandalone: true, selector: "thy-autocomplete", inputs: { thyEmptyText: { classPropertyName: "thyEmptyText", publicName: "thyEmptyText", isSignal: true, isRequired: false, transformFunction: null }, thyAutoActiveFirstOption: { classPropertyName: "thyAutoActiveFirstOption", publicName: "thyAutoActiveFirstOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyOptionSelected: "thyOptionSelected", thyOpened: "thyOpened", thyClosed: "thyClosed", thyOptionActivated: "thyOptionActivated" }, providers: [
161
161
  {
162
162
  provide: THY_OPTION_PARENT_COMPONENT,
163
163
  useExisting: ThyAutocomplete
164
164
  }
165
165
  ], queries: [{ propertyName: "options", predicate: ThyOption, descendants: true }], viewQueries: [{ propertyName: "contentTemplateRef", first: true, predicate: ["contentTemplate"], descendants: true, isSignal: true }, { propertyName: "optionsContainer", first: true, predicate: ["panel"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #contentTemplate>\n <div thyStopPropagation [ngClass]=\"dropDownClass\">\n <div #panel class=\"thy-select-dropdown-options\">\n <ng-content></ng-content>\n @if (isEmptyOptions) {\n <thy-empty [thyMessage]=\"thyEmptyText()\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n }\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocomplete, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocomplete, decorators: [{
168
168
  type: Component,
169
169
  args: [{ selector: 'thy-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
170
170
  {
@@ -172,10 +172,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
172
172
  useExisting: ThyAutocomplete
173
173
  }
174
174
  ], imports: [ThyStopPropagationDirective, NgClass, ThyEmpty], template: "<ng-template #contentTemplate>\n <div thyStopPropagation [ngClass]=\"dropDownClass\">\n <div #panel class=\"thy-select-dropdown-options\">\n <ng-content></ng-content>\n @if (isEmptyOptions) {\n <thy-empty [thyMessage]=\"thyEmptyText()\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n }\n </div>\n </div>\n</ng-template>\n" }]
175
- }], propDecorators: { options: [{
175
+ }], propDecorators: { contentTemplateRef: [{ type: i0.ViewChild, args: ['contentTemplate', { isSignal: true }] }], optionsContainer: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }], options: [{
176
176
  type: ContentChildren,
177
177
  args: [ThyOption, { descendants: true }]
178
- }] } });
178
+ }], thyEmptyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyEmptyText", required: false }] }], thyAutoActiveFirstOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAutoActiveFirstOption", required: false }] }], thyOptionSelected: [{ type: i0.Output, args: ["thyOptionSelected"] }], thyOpened: [{ type: i0.Output, args: ["thyOpened"] }], thyClosed: [{ type: i0.Output, args: ["thyClosed"] }], thyOptionActivated: [{ type: i0.Output, args: ["thyOptionActivated"] }] } });
179
179
 
180
180
  const animationBody = [state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })), state('enter', style({ transform: 'none' }))];
181
181
  /**
@@ -245,10 +245,10 @@ class ThyAutocompleteContainer extends ThyAbstractOverlayContainer {
245
245
  this.animationState = 'exit';
246
246
  this.changeDetectorRef.markForCheck();
247
247
  }
248
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
249
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: ThyAutocompleteContainer, isStandalone: true, selector: "thy-autocomplete-container", host: { attributes: { "tabindex": "-1" }, listeners: { "@autocompleteContainer.start": "onAnimationStart($event)", "@autocompleteContainer.done": "onAnimationDone($event)" }, properties: { "attr.role": "'autocomplete'", "@autocompleteContainer": "animationState" }, classAttribute: "thy-autocomplete-container" }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: ThyPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template thyPortalOutlet></ng-template>\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: ThyPortalOutlet, selector: "[thyPortalOutlet]", inputs: ["thyPortalOutlet"], exportAs: ["thyPortalOutlet"] }], animations: [thyAutocompleteAnimations.autocompleteContainer] }); }
248
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
249
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: ThyAutocompleteContainer, isStandalone: true, selector: "thy-autocomplete-container", host: { attributes: { "tabindex": "-1" }, listeners: { "@autocompleteContainer.start": "onAnimationStart($event)", "@autocompleteContainer.done": "onAnimationDone($event)" }, properties: { "attr.role": "'autocomplete'", "@autocompleteContainer": "animationState" }, classAttribute: "thy-autocomplete-container" }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: ThyPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template thyPortalOutlet></ng-template>\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: ThyPortalOutlet, selector: "[thyPortalOutlet]", inputs: ["thyPortalOutlet"], exportAs: ["thyPortalOutlet"] }], animations: [thyAutocompleteAnimations.autocompleteContainer] }); }
250
250
  }
251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteContainer, decorators: [{
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteContainer, decorators: [{
252
252
  type: Component,
253
253
  args: [{ selector: 'thy-autocomplete-container', animations: [thyAutocompleteAnimations.autocompleteContainer], host: {
254
254
  class: 'thy-autocomplete-container',
@@ -266,8 +266,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
266
266
  class ThyAutocompleteRef extends ThyAbstractOverlayRef {
267
267
  }
268
268
  class ThyInternalAutocompleteRef extends ThyAbstractInternalOverlayRef {
269
- constructor(overlayRef, containerInstance, config) {
270
- super(autocompleteAbstractOverlayOptions, overlayRef, containerInstance, config);
269
+ constructor() {
270
+ super();
271
+ }
272
+ get options() {
273
+ return autocompleteAbstractOverlayOptions;
271
274
  }
272
275
  /**
273
276
  * Updates the autocomplete's position.
@@ -316,7 +319,9 @@ class ThyAutocompleteService extends ThyAbstractOverlayService {
316
319
  return containerRef.instance;
317
320
  }
318
321
  createAbstractOverlayRef(overlayRef, containerInstance, config) {
319
- return new ThyInternalAutocompleteRef(overlayRef, containerInstance, config);
322
+ const autocompleteRef = new ThyInternalAutocompleteRef();
323
+ autocompleteRef.initialize(overlayRef, containerInstance, config);
324
+ return autocompleteRef;
320
325
  }
321
326
  createInjector(config, autocompleteRef, autocompleteContainer) {
322
327
  const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
@@ -383,10 +388,10 @@ class ThyAutocompleteService extends ThyAbstractOverlayService {
383
388
  ngOnDestroy() {
384
389
  this.dispose();
385
390
  }
386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
387
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteService }); }
391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
392
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteService }); }
388
393
  }
389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteService, decorators: [{
394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteService, decorators: [{
390
395
  type: Injectable
391
396
  }], ctorParameters: () => [] });
392
397
 
@@ -410,37 +415,37 @@ class ThyAutocompleteTriggerDirective {
410
415
  * @type thyAutocompleteComponent
411
416
  * @deprecated
412
417
  */
413
- this.thyAutocompleteComponent = input();
418
+ this.thyAutocompleteComponent = input(...(ngDevMode ? [undefined, { debugName: "thyAutocompleteComponent" }] : []));
414
419
  /**
415
420
  * 下拉菜单组件实例
416
421
  * @type thyAutocompleteComponent
417
422
  */
418
- this.thyAutocomplete = input();
423
+ this.thyAutocomplete = input(...(ngDevMode ? [undefined, { debugName: "thyAutocomplete" }] : []));
419
424
  this.autocompleteComponent = computed(() => {
420
425
  return this.thyAutocomplete() || this.thyAutocompleteComponent();
421
- });
426
+ }, ...(ngDevMode ? [{ debugName: "autocompleteComponent" }] : []));
422
427
  /**
423
428
  * 弹出框默认 offset
424
429
  */
425
- this.thyOffset = input(4, { transform: numberAttribute });
430
+ this.thyOffset = input(4, ...(ngDevMode ? [{ debugName: "thyOffset", transform: numberAttribute }] : [{ transform: numberAttribute }]));
426
431
  /**
427
432
  * 下拉菜单的宽度,不设置默认与输入框同宽
428
433
  */
429
- this.thyAutocompleteWidth = input(undefined, { transform: numberAttribute });
434
+ this.thyAutocompleteWidth = input(undefined, ...(ngDevMode ? [{ debugName: "thyAutocompleteWidth", transform: numberAttribute }] : [{ transform: numberAttribute }]));
430
435
  /**
431
436
  * 下拉菜单的显示位置,'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom'
432
437
  */
433
- this.thyPlacement = input('bottomLeft');
438
+ this.thyPlacement = input('bottomLeft', ...(ngDevMode ? [{ debugName: "thyPlacement" }] : []));
434
439
  /**
435
440
  * 是否允许聚焦时打开下拉菜单
436
441
  */
437
- this.thyIsFocusOpen = input(true, { transform: coerceBooleanProperty });
442
+ this.thyIsFocusOpen = input(true, ...(ngDevMode ? [{ debugName: "thyIsFocusOpen", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
438
443
  this.activeOption = computed(() => {
439
444
  if (this.autocompleteComponent() && this.autocompleteComponent().keyManager) {
440
445
  return this.autocompleteComponent().keyManager.activeItem;
441
446
  }
442
447
  return null;
443
- });
448
+ }, ...(ngDevMode ? [{ debugName: "activeOption" }] : []));
444
449
  }
445
450
  get panelClosingActions() {
446
451
  return merge(outputToObservable(this.autocompleteComponent().thyOptionSelected), this.autocompleteComponent().keyManager.tabOut.pipe(filter(() => this.panelOpened)), this.closeKeyEventStream, this.getOutsideClickStream(), this.overlayRef ? this.overlayRef.detachments().pipe(filter(() => this.panelOpened)) : of()).pipe(
@@ -614,10 +619,10 @@ class ThyAutocompleteTriggerDirective {
614
619
  this.closeKeyEventStream.complete();
615
620
  this.destroyPanel();
616
621
  }
617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
618
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: ThyAutocompleteTriggerDirective, isStandalone: true, selector: "input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger], input[thyAutocomplete], textarea[thyAutocomplete], thy-input[thyAutocomplete], thy-input-search[thyAutocomplete]", inputs: { thyAutocompleteComponent: { classPropertyName: "thyAutocompleteComponent", publicName: "thyAutocompleteComponent", isSignal: true, isRequired: false, transformFunction: null }, thyAutocomplete: { classPropertyName: "thyAutocomplete", publicName: "thyAutocomplete", isSignal: true, isRequired: false, transformFunction: null }, thyOffset: { classPropertyName: "thyOffset", publicName: "thyOffset", isSignal: true, isRequired: false, transformFunction: null }, thyAutocompleteWidth: { classPropertyName: "thyAutocompleteWidth", publicName: "thyAutocompleteWidth", isSignal: true, isRequired: false, transformFunction: null }, thyPlacement: { classPropertyName: "thyPlacement", publicName: "thyPlacement", isSignal: true, isRequired: false, transformFunction: null }, thyIsFocusOpen: { classPropertyName: "thyIsFocusOpen", publicName: "thyIsFocusOpen", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "handleInput($event)", "focusin": "onFocus()", "keydown": "onKeydown($event)" }, properties: { "class.thy-autocomplete-opened": "this.panelOpened" } }, exportAs: ["thyAutocompleteTrigger", "thyAutocomplete"], ngImport: i0 }); }
622
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
623
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: ThyAutocompleteTriggerDirective, isStandalone: true, selector: "input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger], input[thyAutocomplete], textarea[thyAutocomplete], thy-input[thyAutocomplete], thy-input-search[thyAutocomplete]", inputs: { thyAutocompleteComponent: { classPropertyName: "thyAutocompleteComponent", publicName: "thyAutocompleteComponent", isSignal: true, isRequired: false, transformFunction: null }, thyAutocomplete: { classPropertyName: "thyAutocomplete", publicName: "thyAutocomplete", isSignal: true, isRequired: false, transformFunction: null }, thyOffset: { classPropertyName: "thyOffset", publicName: "thyOffset", isSignal: true, isRequired: false, transformFunction: null }, thyAutocompleteWidth: { classPropertyName: "thyAutocompleteWidth", publicName: "thyAutocompleteWidth", isSignal: true, isRequired: false, transformFunction: null }, thyPlacement: { classPropertyName: "thyPlacement", publicName: "thyPlacement", isSignal: true, isRequired: false, transformFunction: null }, thyIsFocusOpen: { classPropertyName: "thyIsFocusOpen", publicName: "thyIsFocusOpen", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "handleInput($event)", "focusin": "onFocus()", "keydown": "onKeydown($event)" }, properties: { "class.thy-autocomplete-opened": "this.panelOpened" } }, exportAs: ["thyAutocompleteTrigger", "thyAutocomplete"], ngImport: i0 }); }
619
624
  }
620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteTriggerDirective, decorators: [{
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteTriggerDirective, decorators: [{
621
626
  type: Directive,
622
627
  args: [{
623
628
  selector: 'input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger], input[thyAutocomplete], textarea[thyAutocomplete], thy-input[thyAutocomplete], thy-input-search[thyAutocomplete]',
@@ -631,11 +636,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
631
636
  }], propDecorators: { panelOpened: [{
632
637
  type: HostBinding,
633
638
  args: [`class.thy-autocomplete-opened`]
634
- }] } });
639
+ }], thyAutocompleteComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAutocompleteComponent", required: false }] }], thyAutocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAutocomplete", required: false }] }], thyOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyOffset", required: false }] }], thyAutocompleteWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAutocompleteWidth", required: false }] }], thyPlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyPlacement", required: false }] }], thyIsFocusOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIsFocusOpen", required: false }] }] } });
635
640
 
636
641
  class ThyAutocompleteModule {
637
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
638
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteModule, imports: [CommonModule,
642
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
643
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteModule, imports: [CommonModule,
639
644
  FormsModule,
640
645
  ThyInputModule,
641
646
  OverlayModule,
@@ -648,7 +653,7 @@ class ThyAutocompleteModule {
648
653
  ThyAutocompleteTriggerDirective,
649
654
  ThyAutocomplete,
650
655
  ThyAutocompleteContainer], exports: [ThyAutocompleteTriggerDirective, ThyAutocomplete, ThyAutocompleteContainer, ThyOptionModule] }); }
651
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteModule, providers: [THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER, ThyAutocompleteService], imports: [CommonModule,
656
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteModule, providers: [THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER, ThyAutocompleteService], imports: [CommonModule,
652
657
  FormsModule,
653
658
  ThyInputModule,
654
659
  OverlayModule,
@@ -661,7 +666,7 @@ class ThyAutocompleteModule {
661
666
  ThyAutocomplete,
662
667
  ThyAutocompleteContainer, ThyOptionModule] }); }
663
668
  }
664
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyAutocompleteModule, decorators: [{
669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAutocompleteModule, decorators: [{
665
670
  type: NgModule,
666
671
  args: [{
667
672
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-autocomplete.mjs","sources":["../../../src/autocomplete/autocomplete.component.ts","../../../src/autocomplete/autocomplete.component.html","../../../src/autocomplete/overlay/autocomplete-animations.ts","../../../src/autocomplete/overlay/autocomplete.config.ts","../../../src/autocomplete/overlay/autocomplete.options.ts","../../../src/autocomplete/overlay/autocomplete-container.component.ts","../../../src/autocomplete/overlay/autocomplete-container.component.html","../../../src/autocomplete/overlay/autocomplete-ref.ts","../../../src/autocomplete/overlay/autocomplete.service.ts","../../../src/autocomplete/autocomplete.trigger.directive.ts","../../../src/autocomplete/module.ts","../../../src/autocomplete/ngx-tethys-autocomplete.ts"],"sourcesContent":["import {\n Component,\n TemplateRef,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n OnInit,\n NgZone,\n OnDestroy,\n AfterContentInit,\n ChangeDetectorRef,\n ElementRef,\n inject,\n Signal,\n viewChild,\n input,\n output\n} from '@angular/core';\nimport { defer, merge, Observable, Subject, timer } from 'rxjs';\nimport { take, switchMap, takeUntil, startWith } from 'rxjs/operators';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n THY_OPTION_PARENT_COMPONENT,\n IThyOptionParentComponent,\n ThyOption,\n ThyOptionSelectionChangeEvent,\n ThyStopPropagationDirective\n} from 'ngx-tethys/shared';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { ThyEmpty } from 'ngx-tethys/empty';\nimport { NgClass } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { injectLocale, ThyAutoCompleteLocale } from 'ngx-tethys/i18n';\nimport { injectPanelEmptyIcon } from 'ngx-tethys/core';\n\n/** Event object that is emitted when an autocomplete option is activated. */\nexport interface ThyAutocompleteActivatedEvent {\n /** Reference to the autocomplete panel that emitted the event. */\n source: ThyAutocomplete;\n\n /** Option that was selected. */\n option: ThyOption | null;\n}\n\n/**\n * 自动完成组件\n * @name thy-autocomplete\n */\n@Component({\n selector: 'thy-autocomplete',\n templateUrl: 'autocomplete.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: THY_OPTION_PARENT_COMPONENT,\n useExisting: ThyAutocomplete\n }\n ],\n imports: [ThyStopPropagationDirective, NgClass, ThyEmpty]\n})\nexport class ThyAutocomplete implements IThyOptionParentComponent, OnInit, AfterContentInit, OnDestroy {\n private ngZone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private ngUnsubscribe$ = new Subject<void>();\n\n private locale: Signal<ThyAutoCompleteLocale> = injectLocale('autocomplete');\n\n emptyIcon: Signal<string> = injectPanelEmptyIcon();\n\n dropDownClass: { [key: string]: boolean };\n\n isMultiple = false;\n\n mode = '';\n\n isEmptyOptions = false;\n\n selectionModel: SelectionModel<ThyOption>;\n\n isOpened = false;\n\n /** Manages active item in option list based on key events. */\n keyManager: ActiveDescendantKeyManager<ThyOption>;\n\n readonly contentTemplateRef = viewChild<TemplateRef<any>>('contentTemplate');\n\n // scroll element container\n readonly optionsContainer = viewChild<ElementRef<any>>('panel');\n\n /**\n * @private\n */\n @ContentChildren(ThyOption, { descendants: true }) options: QueryList<ThyOption>;\n\n readonly optionSelectionChanges: Observable<ThyOptionSelectionChangeEvent> = defer(() => {\n if (this.options) {\n return merge(...this.options.map(option => outputToObservable(option.selectionChange)));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.optionSelectionChanges)\n );\n }) as Observable<ThyOptionSelectionChangeEvent>;\n\n /**\n * 空选项时的文本\n * @default 没有任何数据\n */\n readonly thyEmptyText = input<string>(this.locale().empty);\n\n /**\n * 是否默认高亮第一个选项\n */\n readonly thyAutoActiveFirstOption = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 被选中时调用,参数包含选中项的 value 值\n */\n readonly thyOptionSelected = output<ThyOptionSelectionChangeEvent>();\n\n /**\n * 只读,展开下拉菜单的回调\n */\n readonly thyOpened = output<void>();\n\n /**\n * 只读,关闭下拉菜单的回调\n */\n readonly thyClosed = output<void>();\n\n /** Emits whenever an option is activated using the keyboard. */\n /**\n * 只读,option 激活状态变化时,调用此函数\n */\n readonly thyOptionActivated = output<ThyAutocompleteActivatedEvent>();\n\n ngOnInit() {\n this.setDropDownClass();\n this.instanceSelectionModel();\n }\n\n ngAfterContentInit() {\n this.options.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.resetOptions();\n timer(0).subscribe(() => {\n this.isEmptyOptions = this.options.length <= 0;\n this.changeDetectorRef.detectChanges();\n });\n this.initKeyManager();\n });\n }\n\n initKeyManager() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n this.keyManager = new ActiveDescendantKeyManager<ThyOption>(this.options).withWrap();\n this.keyManager.change.pipe(takeUntil(changedOrDestroyed$)).subscribe(index => {\n this.thyOptionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n });\n }\n\n open() {\n this.isOpened = true;\n this.changeDetectorRef.markForCheck();\n this.thyOpened.emit();\n }\n\n close() {\n this.isOpened = false;\n this.thyClosed.emit();\n }\n\n private resetOptions() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n\n this.optionSelectionChanges.pipe(takeUntil(changedOrDestroyed$)).subscribe((event: ThyOptionSelectionChangeEvent) => {\n this.onSelect(event.option, event.isUserInput);\n });\n }\n\n private instanceSelectionModel() {\n if (this.selectionModel) {\n this.selectionModel.clear();\n }\n this.selectionModel = new SelectionModel<ThyOption>(this.isMultiple);\n this.selectionModel.changed.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(event => {\n event.added.forEach(option => option.select());\n event.removed.forEach(option => option.deselect());\n });\n }\n\n private onSelect(option: ThyOption, isUserInput: boolean) {\n const wasSelected = this.selectionModel.isSelected(option);\n\n if (option.thyValue == null && !this.isMultiple) {\n option.deselect();\n this.selectionModel.clear();\n } else {\n if (wasSelected !== option.selected()) {\n option.selected() ? this.selectionModel.select(option) : this.selectionModel.deselect(option);\n }\n\n if (isUserInput) {\n this.keyManager.setActiveItem(option);\n }\n }\n\n if (wasSelected !== this.selectionModel.isSelected(option)) {\n this.thyOptionSelected.emit(new ThyOptionSelectionChangeEvent(option, false));\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private setDropDownClass() {\n let modeClass = '';\n if (this.isMultiple) {\n modeClass = `thy-select-dropdown-${this.mode}`;\n } else {\n modeClass = `thy-select-dropdown-single`;\n }\n this.dropDownClass = {\n [`thy-select-dropdown`]: true,\n [modeClass]: true\n };\n }\n\n ngOnDestroy() {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","<ng-template #contentTemplate>\n <div thyStopPropagation [ngClass]=\"dropDownClass\">\n <div #panel class=\"thy-select-dropdown-options\">\n <ng-content></ng-content>\n @if (isEmptyOptions) {\n <thy-empty [thyMessage]=\"thyEmptyText()\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n }\n </div>\n </div>\n</ng-template>\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })), state('enter', style({ transform: 'none' }))];\n\n/**\n * Animations used by ThyAutocomplete.\n * @docs-private\n */\nexport const thyAutocompleteAnimations: {\n readonly autocompleteContainer: AnimationTriggerMetadata;\n} = {\n autocompleteContainer: trigger('autocompleteContainer', animationBody)\n};\n","import { ElementRef, ViewContainerRef, InjectionToken } from '@angular/core';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ThyPlacement, ThyAbstractOverlayConfig } from 'ngx-tethys/core';\nimport { ScrollStrategy, PositionStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\n\nexport class ThyAutocompleteConfig<TData = any> extends ThyAbstractOverlayConfig<TData> {\n /** Origin Element, for overlay flexible connected to */\n origin: ElementRef<any> | HTMLElement;\n\n /** Placement be relative to origin, topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...*/\n placement?: ThyPlacement;\n\n /** Click inside can been close */\n insideClosable?: boolean;\n\n /** Offset be relative to origin, default is 4*/\n offset?: number;\n\n /** Manually close it, default rules is which auto close last autocomplete when open a new unless set manualClosure as true */\n manualClosure?: boolean;\n\n /** Origin active class when autocomplete is opened */\n originActiveClass?: string | string[];\n\n /**\n * 滚动策略\n */\n scrollStrategy?: ScrollStrategy;\n\n /** Click outside can been close */\n outsideClosable?: boolean;\n}\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG = new InjectionToken<ThyAutocompleteConfig>('thy-autocomplete-default-config');\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_AUTOCOMPLETE_DEFAULT_CONFIG,\n useValue: {\n hasBackdrop: false,\n panelClass: '',\n closeOnNavigation: true,\n insideClosable: true,\n manualClosure: false,\n outsideClosable: true,\n originActiveClass: 'thy-autocomplete-origin-active'\n }\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const autocompleteAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'autocomplete',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { ThyAbstractOverlayContainer, ThyClickDispatcher, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone, ViewChild, inject } from '@angular/core';\n\nimport { thyAutocompleteAnimations } from './autocomplete-animations';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-autocomplete-container',\n templateUrl: './autocomplete-container.component.html',\n animations: [thyAutocompleteAnimations.autocompleteContainer],\n host: {\n class: 'thy-autocomplete-container',\n tabindex: '-1',\n '[attr.role]': `'autocomplete'`,\n '[@autocompleteContainer]': 'animationState',\n '(@autocompleteContainer.start)': 'onAnimationStart($event)',\n '(@autocompleteContainer.done)': 'onAnimationDone($event)'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyAutocompleteContainer extends ThyAbstractOverlayContainer implements AfterViewInit {\n private elementRef = inject(ElementRef);\n private document = inject(DOCUMENT);\n config = inject(ThyAutocompleteConfig);\n private thyClickDispatcher = inject(ThyClickDispatcher);\n private ngZone = inject(NgZone);\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n /** State of the autocomplete animation. */\n animationState: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n beforeAttachPortal(): void {}\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(autocompleteAbstractOverlayOptions, changeDetectorRef);\n\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'enter';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n }\n\n ngAfterViewInit() {}\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation(): void {\n this.animationState = 'exit';\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-template thyPortalOutlet></ng-template>\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nimport { ThyAutocompleteContainer } from './autocomplete-container.component';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\nexport abstract class ThyAutocompleteRef<T, TResult = any> extends ThyAbstractOverlayRef<T, ThyAutocompleteContainer, TResult> {}\n\nexport class ThyInternalAutocompleteRef<T, TResult = any>\n extends ThyAbstractInternalOverlayRef<T, ThyAutocompleteContainer, TResult>\n implements ThyAutocompleteRef<T, TResult>\n{\n constructor(overlayRef: OverlayRef, containerInstance: ThyAutocompleteContainer, config: ThyAutocompleteConfig) {\n super(autocompleteAbstractOverlayOptions, overlayRef, containerInstance, config);\n }\n\n /**\n * Updates the autocomplete's position.\n * @param position New autocomplete position.\n */\n updatePosition(): this {\n this.overlayRef.updatePosition();\n return this;\n }\n}\n","import { getFlexiblePositions, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceArray, coerceElement } from '@angular/cdk/coercion';\nimport {\n ComponentType,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n PositionStrategy,\n ScrollDispatcher\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Injectable, Injector, NgZone, OnDestroy, StaticProvider, TemplateRef, inject } from '@angular/core';\n\nimport { ThyAutocompleteContainer } from './autocomplete-container.component';\nimport { ThyAutocompleteRef, ThyInternalAutocompleteRef } from './autocomplete-ref';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG, ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n/**\n * @private\n */\n@Injectable()\nexport class ThyAutocompleteService\n extends ThyAbstractOverlayService<ThyAutocompleteConfig, ThyAutocompleteContainer>\n implements OnDestroy\n{\n private scrollDispatcher = inject(ScrollDispatcher);\n private ngZone = inject(NgZone);\n private _viewportRuler = inject(ViewportRuler);\n private _document = inject(DOCUMENT);\n private _platform = inject(Platform);\n private _overlayContainer = inject(OverlayContainer);\n\n private readonly ngUnsubscribe$ = new Subject();\n\n private originInstancesMap = new Map<\n ElementRef | HTMLElement,\n {\n config: ThyAutocompleteConfig;\n autocompleteRef: ThyAutocompleteRef<any, any>;\n }\n >();\n\n private buildPositionStrategy<TData>(config: ThyAutocompleteConfig<TData>): PositionStrategy {\n const positionStrategy = new FlexibleConnectedPositionStrategy(\n config.origin,\n this._viewportRuler,\n this._document,\n this._platform,\n this._overlayContainer\n );\n const positions = getFlexiblePositions(config.placement, config.offset, 'thy-autocomplete');\n positionStrategy.withPositions(positions);\n positionStrategy.withGrowAfterOpen(true);\n positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {\n if (change.scrollableViewProperties.isOverlayClipped) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.close());\n }\n });\n return positionStrategy;\n }\n\n protected buildOverlayConfig<TData>(config: ThyAutocompleteConfig<TData>): OverlayConfig {\n const strategy = this.buildPositionStrategy(config);\n const overlayConfig = this.buildBaseOverlayConfig(config);\n overlayConfig.positionStrategy = strategy;\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n overlayConfig.width = config.width;\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyAutocompleteConfig<any>): ThyAutocompleteContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyAutocompleteConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyAutocompleteContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyAutocompleteContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThyAutocompleteContainer,\n config: ThyAutocompleteConfig<any>\n ): ThyInternalAutocompleteRef<T> {\n return new ThyInternalAutocompleteRef<T>(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(\n config: ThyAutocompleteConfig,\n autocompleteRef: ThyAutocompleteRef<T>,\n autocompleteContainer: ThyAutocompleteContainer\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injectionTokens: StaticProvider[] = [\n {\n provide: ThyAutocompleteContainer,\n useValue: autocompleteContainer\n },\n {\n provide: ThyAutocompleteRef,\n useValue: autocompleteRef\n }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private originElementAddActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const defaultConfig = inject(THY_AUTOCOMPLETE_DEFAULT_CONFIG);\n\n super(autocompleteAbstractOverlayOptions, overlay, injector, defaultConfig);\n }\n\n open<T, TData = any, TResult = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyAutocompleteConfig<TData>\n ): ThyAutocompleteRef<T, TResult> {\n const originElement = coerceElement(config.origin);\n const autocompleteRef = this.openOverlay(componentOrTemplateRef, config) as ThyAutocompleteRef<T>;\n config = autocompleteRef.containerInstance.config;\n autocompleteRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(config);\n this.originInstancesMap.delete(originElement);\n });\n\n this.originElementAddActiveClass(config);\n this.originInstancesMap.set(originElement, {\n config,\n autocompleteRef\n });\n\n return autocompleteRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import {\n Directive,\n ElementRef,\n NgZone,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n HostBinding,\n ChangeDetectorRef,\n numberAttribute,\n inject,\n input,\n computed,\n Signal\n} from '@angular/core';\nimport { OverlayRef, Overlay } from '@angular/cdk/overlay';\nimport { ThyPlacement } from 'ngx-tethys/core';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\nimport { ThyAutocompleteRef } from './overlay/autocomplete-ref';\nimport { ThyAutocomplete } from './autocomplete.component';\nimport { ThyOption, ThyOptionSelectionChangeEvent } from 'ngx-tethys/shared';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject, Observable, merge, fromEvent, of, Subscription } from 'rxjs';\nimport { ESCAPE, UP_ARROW, ENTER, DOWN_ARROW, TAB, coerceBooleanProperty } from 'ngx-tethys/util';\nimport { filter, map, take, delay, switchMap } from 'rxjs/operators';\nimport { ScrollToService } from 'ngx-tethys/core';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\n\n/**\n * 自动完成触发指令\n * @name thyAutocomplete\n */\n@Directive({\n selector:\n 'input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger], input[thyAutocomplete], textarea[thyAutocomplete], thy-input[thyAutocomplete], thy-input-search[thyAutocomplete]',\n exportAs: 'thyAutocompleteTrigger, thyAutocomplete',\n host: {\n '(input)': 'handleInput($event)',\n '(focusin)': 'onFocus()',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class ThyAutocompleteTriggerDirective implements OnInit, OnDestroy {\n private elementRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n private overlay = inject(Overlay);\n private autocompleteService = inject(ThyAutocompleteService);\n private viewContainerRef = inject(ViewContainerRef);\n private document = inject(DOCUMENT, { optional: true })!;\n private cdr = inject(ChangeDetectorRef);\n\n protected overlayRef: OverlayRef;\n\n private autocompleteRef: ThyAutocompleteRef<ThyAutocomplete>;\n\n private readonly closeKeyEventStream = new Subject<void>();\n\n private closingActionsSubscription: Subscription;\n\n @HostBinding(`class.thy-autocomplete-opened`) panelOpened = false;\n\n /**\n * 下拉菜单组件实例。已废弃,请使用 thyAutocomplete\n * @type thyAutocompleteComponent\n * @deprecated\n */\n readonly thyAutocompleteComponent = input<ThyAutocomplete>();\n\n /**\n * 下拉菜单组件实例\n * @type thyAutocompleteComponent\n */\n readonly thyAutocomplete = input<ThyAutocomplete>();\n\n readonly autocompleteComponent: Signal<ThyAutocomplete> = computed(() => {\n return this.thyAutocomplete() || this.thyAutocompleteComponent();\n });\n\n /**\n * 弹出框默认 offset\n */\n readonly thyOffset = input<number, unknown>(4, { transform: numberAttribute });\n\n /**\n * 下拉菜单的宽度,不设置默认与输入框同宽\n */\n readonly thyAutocompleteWidth = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 下拉菜单的显示位置,'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom'\n */\n readonly thyPlacement = input<ThyPlacement>('bottomLeft');\n\n /**\n * 是否允许聚焦时打开下拉菜单\n */\n readonly thyIsFocusOpen = input(true, { transform: coerceBooleanProperty });\n\n readonly activeOption: Signal<ThyOption | null> = computed(() => {\n if (this.autocompleteComponent() && this.autocompleteComponent().keyManager) {\n return this.autocompleteComponent().keyManager.activeItem;\n }\n return null;\n });\n\n get panelClosingActions(): Observable<ThyOptionSelectionChangeEvent | null> {\n return merge(\n outputToObservable(this.autocompleteComponent().thyOptionSelected),\n this.autocompleteComponent().keyManager.tabOut.pipe(filter(() => this.panelOpened)),\n this.closeKeyEventStream,\n this.getOutsideClickStream(),\n this.overlayRef ? this.overlayRef.detachments().pipe(filter(() => this.panelOpened)) : of()\n ).pipe(\n // Normalize the output so we return a consistent type.\n map(event => (event instanceof ThyOptionSelectionChangeEvent ? event : null))\n );\n }\n\n ngOnInit(): void {}\n\n onFocus() {\n if (this.canOpen() && this.thyIsFocusOpen()) {\n this.openPanel();\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (keyCode === ESCAPE) {\n event.preventDefault();\n }\n const autocompleteComponent = this.autocompleteComponent();\n if (this.activeOption() && keyCode === ENTER && this.panelOpened) {\n this.activeOption().selectViaInteraction();\n this.resetActiveItem();\n event.preventDefault();\n } else if (autocompleteComponent) {\n const prevActiveItem = autocompleteComponent.keyManager.activeItem;\n const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;\n if (this.panelOpened || keyCode === TAB) {\n autocompleteComponent.keyManager.onKeydown(event);\n } else if (isArrowKey && this.canOpen()) {\n this.openPanel();\n }\n if (\n (isArrowKey || autocompleteComponent.keyManager.activeItem !== prevActiveItem) &&\n autocompleteComponent.keyManager.activeItem\n ) {\n ScrollToService.scrollToElement(\n autocompleteComponent.keyManager.activeItem.element.nativeElement,\n autocompleteComponent.optionsContainer().nativeElement\n );\n }\n }\n }\n\n handleInput(event: KeyboardEvent) {\n if (this.canOpen() && document.activeElement === event.target) {\n this.openPanel();\n }\n }\n\n openPanel() {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n return;\n }\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n overlayRef.keydownEvents().subscribe(event => {\n // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.\n // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction\n if (event.keyCode === ESCAPE || (event.keyCode === UP_ARROW && event.altKey)) {\n this.resetActiveItem();\n this.closeKeyEventStream.next();\n // We need to stop propagation, otherwise the event will eventually\n // reach the input itself and cause the overlay to be reopened.\n event.stopPropagation();\n event.preventDefault();\n }\n });\n this.panelOpened = true;\n this.autocompleteComponent().open();\n }\n\n closePanel() {\n if (this.autocompleteRef) {\n this.autocompleteRef.close();\n this.cdr.detectChanges();\n this.closingActionsSubscription.unsubscribe();\n }\n }\n\n createOverlay(): OverlayRef {\n const config = Object.assign({\n origin: this.elementRef.nativeElement,\n viewContainerRef: this.viewContainerRef,\n placement: this.thyPlacement(),\n offset: this.thyOffset(),\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n width: this.thyAutocompleteWidth() || this.elementRef.nativeElement.clientWidth\n });\n const autocompleteComponent = this.autocompleteComponent();\n this.autocompleteRef = this.autocompleteService.open(autocompleteComponent.contentTemplateRef(), config);\n this.autocompleteRef.afterClosed().subscribe(() => {\n this.panelOpened = false;\n autocompleteComponent.close();\n });\n // delay 200ms to prevent emit document click rightnow\n this.autocompleteRef\n .afterOpened()\n .pipe(delay(200))\n .subscribe(() => {\n this.closingActionsSubscription = this.subscribeToClosingActions();\n });\n return this.autocompleteRef.getOverlayRef();\n }\n\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n private subscribeToClosingActions(): Subscription {\n const firstStable = this.ngZone.onStable.asObservable().pipe(take(1));\n const optionChanges = this.autocompleteComponent().options.changes.pipe(\n // Defer emitting to the stream until the next tick, because changing\n // bindings in here will cause \"changed after checked\" errors.\n delay(0)\n );\n // When the zone is stable initially, and when the option list changes...\n return (\n merge(firstStable, optionChanges)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n this.resetActiveItem();\n\n if (this.panelOpened) {\n this.overlayRef.updatePosition();\n }\n return this.panelClosingActions;\n }),\n // when the first closing event occurs...\n take(1)\n )\n // set the value, close the panel, and complete.\n .subscribe(event => this.setValueAndClose(event))\n );\n }\n\n private setValueAndClose(event: ThyOptionSelectionChangeEvent | null): void {\n if (event && event.option) {\n this.setValue(event.option.thyLabelText);\n }\n this.closePanel();\n }\n\n /** Stream of clicks outside of the autocomplete panel. */\n private getOutsideClickStream(): Observable<any> {\n return merge(\n fromEvent(this.document, 'click') as Observable<MouseEvent>,\n fromEvent(this.document, 'touchend') as Observable<TouchEvent>\n ).pipe(\n filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = event.target as HTMLElement;\n const formField: any = null;\n\n return (\n this.panelOpened &&\n clickTarget !== this.elementRef.nativeElement &&\n !this.elementRef.nativeElement.contains(clickTarget) &&\n (!formField || !formField.contains(clickTarget)) &&\n !!this.overlayRef &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n );\n })\n );\n }\n\n private setValue(value: string) {\n const input = this.elementRef.nativeElement.querySelector('input');\n const element = input ? input : this.elementRef.nativeElement;\n element.value = value;\n element.focus();\n }\n\n private canOpen(): boolean {\n const element: HTMLInputElement = this.elementRef.nativeElement;\n return !element.readOnly && !element.disabled;\n }\n\n private resetActiveItem(): void {\n const autocompleteComponent = this.autocompleteComponent();\n const index = autocompleteComponent.thyAutoActiveFirstOption() ? 0 : -1;\n autocompleteComponent.keyManager.setActiveItem(index);\n }\n\n private destroyPanel(): void {\n if (this.overlayRef) {\n this.closePanel();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy() {\n this.closeKeyEventStream.complete();\n this.destroyPanel();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyEmptyModule } from 'ngx-tethys/empty';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { ThyLoadingModule } from 'ngx-tethys/loading';\nimport { ThyOptionModule, ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyAutocomplete } from './autocomplete.component';\nimport { ThyAutocompleteTriggerDirective } from './autocomplete.trigger.directive';\nimport { ThyAutocompleteContainer } from './overlay/autocomplete-container.component';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER } from './overlay/autocomplete.config';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThyInputModule,\n OverlayModule,\n PortalModule,\n ThyLoadingModule,\n ThySharedModule,\n ThyIconModule,\n ThyEmptyModule,\n ThyOptionModule,\n ThyAutocompleteTriggerDirective,\n ThyAutocomplete,\n ThyAutocompleteContainer\n ],\n exports: [ThyAutocompleteTriggerDirective, ThyAutocomplete, ThyAutocompleteContainer, ThyOptionModule],\n providers: [THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER, ThyAutocompleteService]\n})\nexport class ThyAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-autocomplete.mjs","sources":["../../../src/autocomplete/autocomplete.component.ts","../../../src/autocomplete/autocomplete.component.html","../../../src/autocomplete/overlay/autocomplete-animations.ts","../../../src/autocomplete/overlay/autocomplete.config.ts","../../../src/autocomplete/overlay/autocomplete.options.ts","../../../src/autocomplete/overlay/autocomplete-container.component.ts","../../../src/autocomplete/overlay/autocomplete-container.component.html","../../../src/autocomplete/overlay/autocomplete-ref.ts","../../../src/autocomplete/overlay/autocomplete.service.ts","../../../src/autocomplete/autocomplete.trigger.directive.ts","../../../src/autocomplete/module.ts","../../../src/autocomplete/ngx-tethys-autocomplete.ts"],"sourcesContent":["import {\n Component,\n TemplateRef,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n OnInit,\n NgZone,\n OnDestroy,\n AfterContentInit,\n ChangeDetectorRef,\n ElementRef,\n inject,\n Signal,\n viewChild,\n input,\n output\n} from '@angular/core';\nimport { defer, merge, Observable, Subject, timer } from 'rxjs';\nimport { take, switchMap, takeUntil, startWith } from 'rxjs/operators';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n THY_OPTION_PARENT_COMPONENT,\n IThyOptionParentComponent,\n ThyOption,\n ThyOptionSelectionChangeEvent,\n ThyStopPropagationDirective\n} from 'ngx-tethys/shared';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { ThyEmpty } from 'ngx-tethys/empty';\nimport { NgClass } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { injectLocale, ThyAutoCompleteLocale } from 'ngx-tethys/i18n';\nimport { injectPanelEmptyIcon } from 'ngx-tethys/core';\n\n/** Event object that is emitted when an autocomplete option is activated. */\nexport interface ThyAutocompleteActivatedEvent {\n /** Reference to the autocomplete panel that emitted the event. */\n source: ThyAutocomplete;\n\n /** Option that was selected. */\n option: ThyOption | null;\n}\n\n/**\n * 自动完成组件\n * @name thy-autocomplete\n */\n@Component({\n selector: 'thy-autocomplete',\n templateUrl: 'autocomplete.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: THY_OPTION_PARENT_COMPONENT,\n useExisting: ThyAutocomplete\n }\n ],\n imports: [ThyStopPropagationDirective, NgClass, ThyEmpty]\n})\nexport class ThyAutocomplete implements IThyOptionParentComponent, OnInit, AfterContentInit, OnDestroy {\n private ngZone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private ngUnsubscribe$ = new Subject<void>();\n\n private locale: Signal<ThyAutoCompleteLocale> = injectLocale('autocomplete');\n\n emptyIcon: Signal<string> = injectPanelEmptyIcon();\n\n dropDownClass: { [key: string]: boolean };\n\n isMultiple = false;\n\n mode = '';\n\n isEmptyOptions = false;\n\n selectionModel: SelectionModel<ThyOption>;\n\n isOpened = false;\n\n /** Manages active item in option list based on key events. */\n keyManager: ActiveDescendantKeyManager<ThyOption>;\n\n readonly contentTemplateRef = viewChild<TemplateRef<any>>('contentTemplate');\n\n // scroll element container\n readonly optionsContainer = viewChild<ElementRef<any>>('panel');\n\n /**\n * @private\n */\n @ContentChildren(ThyOption, { descendants: true }) options: QueryList<ThyOption>;\n\n readonly optionSelectionChanges: Observable<ThyOptionSelectionChangeEvent> = defer(() => {\n if (this.options) {\n return merge(...this.options.map(option => outputToObservable(option.selectionChange)));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.optionSelectionChanges)\n );\n }) as Observable<ThyOptionSelectionChangeEvent>;\n\n /**\n * 空选项时的文本\n * @default 没有任何数据\n */\n readonly thyEmptyText = input<string>(this.locale().empty);\n\n /**\n * 是否默认高亮第一个选项\n */\n readonly thyAutoActiveFirstOption = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 被选中时调用,参数包含选中项的 value 值\n */\n readonly thyOptionSelected = output<ThyOptionSelectionChangeEvent>();\n\n /**\n * 只读,展开下拉菜单的回调\n */\n readonly thyOpened = output<void>();\n\n /**\n * 只读,关闭下拉菜单的回调\n */\n readonly thyClosed = output<void>();\n\n /** Emits whenever an option is activated using the keyboard. */\n /**\n * 只读,option 激活状态变化时,调用此函数\n */\n readonly thyOptionActivated = output<ThyAutocompleteActivatedEvent>();\n\n ngOnInit() {\n this.setDropDownClass();\n this.instanceSelectionModel();\n }\n\n ngAfterContentInit() {\n this.options.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.resetOptions();\n timer(0).subscribe(() => {\n this.isEmptyOptions = this.options.length <= 0;\n this.changeDetectorRef.detectChanges();\n });\n this.initKeyManager();\n });\n }\n\n initKeyManager() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n this.keyManager = new ActiveDescendantKeyManager<ThyOption>(this.options).withWrap();\n this.keyManager.change.pipe(takeUntil(changedOrDestroyed$)).subscribe(index => {\n this.thyOptionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n });\n }\n\n open() {\n this.isOpened = true;\n this.changeDetectorRef.markForCheck();\n this.thyOpened.emit();\n }\n\n close() {\n this.isOpened = false;\n this.thyClosed.emit();\n }\n\n private resetOptions() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n\n this.optionSelectionChanges.pipe(takeUntil(changedOrDestroyed$)).subscribe((event: ThyOptionSelectionChangeEvent) => {\n this.onSelect(event.option, event.isUserInput);\n });\n }\n\n private instanceSelectionModel() {\n if (this.selectionModel) {\n this.selectionModel.clear();\n }\n this.selectionModel = new SelectionModel<ThyOption>(this.isMultiple);\n this.selectionModel.changed.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(event => {\n event.added.forEach(option => option.select());\n event.removed.forEach(option => option.deselect());\n });\n }\n\n private onSelect(option: ThyOption, isUserInput: boolean) {\n const wasSelected = this.selectionModel.isSelected(option);\n\n if (option.thyValue == null && !this.isMultiple) {\n option.deselect();\n this.selectionModel.clear();\n } else {\n if (wasSelected !== option.selected()) {\n option.selected() ? this.selectionModel.select(option) : this.selectionModel.deselect(option);\n }\n\n if (isUserInput) {\n this.keyManager.setActiveItem(option);\n }\n }\n\n if (wasSelected !== this.selectionModel.isSelected(option)) {\n this.thyOptionSelected.emit(new ThyOptionSelectionChangeEvent(option, false));\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private setDropDownClass() {\n let modeClass = '';\n if (this.isMultiple) {\n modeClass = `thy-select-dropdown-${this.mode}`;\n } else {\n modeClass = `thy-select-dropdown-single`;\n }\n this.dropDownClass = {\n [`thy-select-dropdown`]: true,\n [modeClass]: true\n };\n }\n\n ngOnDestroy() {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","<ng-template #contentTemplate>\n <div thyStopPropagation [ngClass]=\"dropDownClass\">\n <div #panel class=\"thy-select-dropdown-options\">\n <ng-content></ng-content>\n @if (isEmptyOptions) {\n <thy-empty [thyMessage]=\"thyEmptyText()\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n }\n </div>\n </div>\n</ng-template>\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })), state('enter', style({ transform: 'none' }))];\n\n/**\n * Animations used by ThyAutocomplete.\n * @docs-private\n */\nexport const thyAutocompleteAnimations: {\n readonly autocompleteContainer: AnimationTriggerMetadata;\n} = {\n autocompleteContainer: trigger('autocompleteContainer', animationBody)\n};\n","import { ElementRef, ViewContainerRef, InjectionToken } from '@angular/core';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ThyPlacement, ThyAbstractOverlayConfig } from 'ngx-tethys/core';\nimport { ScrollStrategy, PositionStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\n\nexport class ThyAutocompleteConfig<TData = any> extends ThyAbstractOverlayConfig<TData> {\n /** Origin Element, for overlay flexible connected to */\n origin: ElementRef<any> | HTMLElement;\n\n /** Placement be relative to origin, topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...*/\n placement?: ThyPlacement;\n\n /** Click inside can been close */\n insideClosable?: boolean;\n\n /** Offset be relative to origin, default is 4*/\n offset?: number;\n\n /** Manually close it, default rules is which auto close last autocomplete when open a new unless set manualClosure as true */\n manualClosure?: boolean;\n\n /** Origin active class when autocomplete is opened */\n originActiveClass?: string | string[];\n\n /**\n * 滚动策略\n */\n scrollStrategy?: ScrollStrategy;\n\n /** Click outside can been close */\n outsideClosable?: boolean;\n}\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG = new InjectionToken<ThyAutocompleteConfig>('thy-autocomplete-default-config');\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_AUTOCOMPLETE_DEFAULT_CONFIG,\n useValue: {\n hasBackdrop: false,\n panelClass: '',\n closeOnNavigation: true,\n insideClosable: true,\n manualClosure: false,\n outsideClosable: true,\n originActiveClass: 'thy-autocomplete-origin-active'\n }\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const autocompleteAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'autocomplete',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { ThyAbstractOverlayContainer, ThyClickDispatcher, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone, ViewChild, inject, DOCUMENT } from '@angular/core';\n\nimport { thyAutocompleteAnimations } from './autocomplete-animations';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-autocomplete-container',\n templateUrl: './autocomplete-container.component.html',\n animations: [thyAutocompleteAnimations.autocompleteContainer],\n host: {\n class: 'thy-autocomplete-container',\n tabindex: '-1',\n '[attr.role]': `'autocomplete'`,\n '[@autocompleteContainer]': 'animationState',\n '(@autocompleteContainer.start)': 'onAnimationStart($event)',\n '(@autocompleteContainer.done)': 'onAnimationDone($event)'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyAutocompleteContainer extends ThyAbstractOverlayContainer implements AfterViewInit {\n private elementRef = inject(ElementRef);\n private document = inject(DOCUMENT);\n config = inject(ThyAutocompleteConfig);\n private thyClickDispatcher = inject(ThyClickDispatcher);\n private ngZone = inject(NgZone);\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n /** State of the autocomplete animation. */\n animationState: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n beforeAttachPortal(): void {}\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(autocompleteAbstractOverlayOptions, changeDetectorRef);\n\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'enter';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n }\n\n ngAfterViewInit() {}\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation(): void {\n this.animationState = 'exit';\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-template thyPortalOutlet></ng-template>\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayOptions, ThyAbstractOverlayRef } from 'ngx-tethys/core';\nimport { ThyAutocompleteContainer } from './autocomplete-container.component';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\nexport abstract class ThyAutocompleteRef<T, TResult = any> extends ThyAbstractOverlayRef<T, ThyAutocompleteContainer, TResult> {}\n\nexport class ThyInternalAutocompleteRef<T, TResult = any>\n extends ThyAbstractInternalOverlayRef<T, ThyAutocompleteContainer, TResult, ThyAutocompleteConfig>\n implements ThyAutocompleteRef<T, TResult>\n{\n constructor() {\n super();\n }\n\n protected get options(): ThyAbstractOverlayOptions {\n return autocompleteAbstractOverlayOptions;\n }\n\n /**\n * Updates the autocomplete's position.\n * @param position New autocomplete position.\n */\n updatePosition(): this {\n this.overlayRef.updatePosition();\n return this;\n }\n}\n","import { getFlexiblePositions, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceArray, coerceElement } from '@angular/cdk/coercion';\nimport {\n ComponentType,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n PositionStrategy,\n ScrollDispatcher\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\n\nimport { ElementRef, Injectable, Injector, NgZone, OnDestroy, StaticProvider, TemplateRef, inject, DOCUMENT } from '@angular/core';\n\nimport { ThyAutocompleteContainer } from './autocomplete-container.component';\nimport { ThyAutocompleteRef, ThyInternalAutocompleteRef } from './autocomplete-ref';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG, ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n/**\n * @private\n */\n@Injectable()\nexport class ThyAutocompleteService\n extends ThyAbstractOverlayService<ThyAutocompleteConfig, ThyAutocompleteContainer>\n implements OnDestroy\n{\n private scrollDispatcher = inject(ScrollDispatcher);\n private ngZone = inject(NgZone);\n private _viewportRuler = inject(ViewportRuler);\n private _document = inject(DOCUMENT);\n private _platform = inject(Platform);\n private _overlayContainer = inject(OverlayContainer);\n\n private readonly ngUnsubscribe$ = new Subject();\n\n private originInstancesMap = new Map<\n ElementRef | HTMLElement,\n {\n config: ThyAutocompleteConfig;\n autocompleteRef: ThyAutocompleteRef<any, any>;\n }\n >();\n\n private buildPositionStrategy<TData>(config: ThyAutocompleteConfig<TData>): PositionStrategy {\n const positionStrategy = new FlexibleConnectedPositionStrategy(\n config.origin,\n this._viewportRuler,\n this._document,\n this._platform,\n this._overlayContainer\n );\n const positions = getFlexiblePositions(config.placement, config.offset, 'thy-autocomplete');\n positionStrategy.withPositions(positions);\n positionStrategy.withGrowAfterOpen(true);\n positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {\n if (change.scrollableViewProperties.isOverlayClipped) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.close());\n }\n });\n return positionStrategy;\n }\n\n protected buildOverlayConfig<TData>(config: ThyAutocompleteConfig<TData>): OverlayConfig {\n const strategy = this.buildPositionStrategy(config);\n const overlayConfig = this.buildBaseOverlayConfig(config);\n overlayConfig.positionStrategy = strategy;\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n overlayConfig.width = config.width;\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyAutocompleteConfig<any>): ThyAutocompleteContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyAutocompleteConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyAutocompleteContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyAutocompleteContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThyAutocompleteContainer,\n config: ThyAutocompleteConfig<any>\n ): ThyInternalAutocompleteRef<T> {\n const autocompleteRef = new ThyInternalAutocompleteRef<T>();\n autocompleteRef.initialize(overlayRef, containerInstance, config);\n return autocompleteRef;\n }\n\n protected createInjector<T>(\n config: ThyAutocompleteConfig,\n autocompleteRef: ThyAutocompleteRef<T>,\n autocompleteContainer: ThyAutocompleteContainer\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injectionTokens: StaticProvider[] = [\n {\n provide: ThyAutocompleteContainer,\n useValue: autocompleteContainer\n },\n {\n provide: ThyAutocompleteRef,\n useValue: autocompleteRef\n }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private originElementAddActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const defaultConfig = inject(THY_AUTOCOMPLETE_DEFAULT_CONFIG);\n\n super(autocompleteAbstractOverlayOptions, overlay, injector, defaultConfig);\n }\n\n open<T, TData = any, TResult = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyAutocompleteConfig<TData>\n ): ThyAutocompleteRef<T, TResult> {\n const originElement = coerceElement(config.origin);\n const autocompleteRef = this.openOverlay(componentOrTemplateRef, config) as ThyAutocompleteRef<T>;\n config = autocompleteRef.containerInstance.config;\n autocompleteRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(config);\n this.originInstancesMap.delete(originElement);\n });\n\n this.originElementAddActiveClass(config);\n this.originInstancesMap.set(originElement, {\n config,\n autocompleteRef\n });\n\n return autocompleteRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import {\n Directive,\n ElementRef,\n NgZone,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n HostBinding,\n ChangeDetectorRef,\n numberAttribute,\n inject,\n input,\n computed,\n Signal,\n DOCUMENT\n} from '@angular/core';\nimport { OverlayRef, Overlay } from '@angular/cdk/overlay';\nimport { ThyPlacement } from 'ngx-tethys/core';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\nimport { ThyAutocompleteRef } from './overlay/autocomplete-ref';\nimport { ThyAutocomplete } from './autocomplete.component';\nimport { ThyOption, ThyOptionSelectionChangeEvent } from 'ngx-tethys/shared';\n\nimport { Subject, Observable, merge, fromEvent, of, Subscription } from 'rxjs';\nimport { ESCAPE, UP_ARROW, ENTER, DOWN_ARROW, TAB, coerceBooleanProperty } from 'ngx-tethys/util';\nimport { filter, map, take, delay, switchMap } from 'rxjs/operators';\nimport { ScrollToService } from 'ngx-tethys/core';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\n\n/**\n * 自动完成触发指令\n * @name thyAutocomplete\n */\n@Directive({\n selector:\n 'input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger], input[thyAutocomplete], textarea[thyAutocomplete], thy-input[thyAutocomplete], thy-input-search[thyAutocomplete]',\n exportAs: 'thyAutocompleteTrigger, thyAutocomplete',\n host: {\n '(input)': 'handleInput($event)',\n '(focusin)': 'onFocus()',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class ThyAutocompleteTriggerDirective implements OnInit, OnDestroy {\n private elementRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n private overlay = inject(Overlay);\n private autocompleteService = inject(ThyAutocompleteService);\n private viewContainerRef = inject(ViewContainerRef);\n private document = inject(DOCUMENT, { optional: true })!;\n private cdr = inject(ChangeDetectorRef);\n\n protected overlayRef: OverlayRef;\n\n private autocompleteRef: ThyAutocompleteRef<ThyAutocomplete>;\n\n private readonly closeKeyEventStream = new Subject<void>();\n\n private closingActionsSubscription: Subscription;\n\n @HostBinding(`class.thy-autocomplete-opened`) panelOpened = false;\n\n /**\n * 下拉菜单组件实例。已废弃,请使用 thyAutocomplete\n * @type thyAutocompleteComponent\n * @deprecated\n */\n readonly thyAutocompleteComponent = input<ThyAutocomplete>();\n\n /**\n * 下拉菜单组件实例\n * @type thyAutocompleteComponent\n */\n readonly thyAutocomplete = input<ThyAutocomplete>();\n\n readonly autocompleteComponent: Signal<ThyAutocomplete> = computed(() => {\n return this.thyAutocomplete() || this.thyAutocompleteComponent();\n });\n\n /**\n * 弹出框默认 offset\n */\n readonly thyOffset = input<number, unknown>(4, { transform: numberAttribute });\n\n /**\n * 下拉菜单的宽度,不设置默认与输入框同宽\n */\n readonly thyAutocompleteWidth = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 下拉菜单的显示位置,'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom'\n */\n readonly thyPlacement = input<ThyPlacement>('bottomLeft');\n\n /**\n * 是否允许聚焦时打开下拉菜单\n */\n readonly thyIsFocusOpen = input(true, { transform: coerceBooleanProperty });\n\n readonly activeOption: Signal<ThyOption | null> = computed(() => {\n if (this.autocompleteComponent() && this.autocompleteComponent().keyManager) {\n return this.autocompleteComponent().keyManager.activeItem;\n }\n return null;\n });\n\n get panelClosingActions(): Observable<ThyOptionSelectionChangeEvent | null> {\n return merge(\n outputToObservable(this.autocompleteComponent().thyOptionSelected),\n this.autocompleteComponent().keyManager.tabOut.pipe(filter(() => this.panelOpened)),\n this.closeKeyEventStream,\n this.getOutsideClickStream(),\n this.overlayRef ? this.overlayRef.detachments().pipe(filter(() => this.panelOpened)) : of()\n ).pipe(\n // Normalize the output so we return a consistent type.\n map(event => (event instanceof ThyOptionSelectionChangeEvent ? event : null))\n );\n }\n\n ngOnInit(): void {}\n\n onFocus() {\n if (this.canOpen() && this.thyIsFocusOpen()) {\n this.openPanel();\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (keyCode === ESCAPE) {\n event.preventDefault();\n }\n const autocompleteComponent = this.autocompleteComponent();\n if (this.activeOption() && keyCode === ENTER && this.panelOpened) {\n this.activeOption().selectViaInteraction();\n this.resetActiveItem();\n event.preventDefault();\n } else if (autocompleteComponent) {\n const prevActiveItem = autocompleteComponent.keyManager.activeItem;\n const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;\n if (this.panelOpened || keyCode === TAB) {\n autocompleteComponent.keyManager.onKeydown(event);\n } else if (isArrowKey && this.canOpen()) {\n this.openPanel();\n }\n if (\n (isArrowKey || autocompleteComponent.keyManager.activeItem !== prevActiveItem) &&\n autocompleteComponent.keyManager.activeItem\n ) {\n ScrollToService.scrollToElement(\n autocompleteComponent.keyManager.activeItem.element.nativeElement,\n autocompleteComponent.optionsContainer().nativeElement\n );\n }\n }\n }\n\n handleInput(event: KeyboardEvent) {\n if (this.canOpen() && document.activeElement === event.target) {\n this.openPanel();\n }\n }\n\n openPanel() {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n return;\n }\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n overlayRef.keydownEvents().subscribe(event => {\n // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.\n // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction\n if (event.keyCode === ESCAPE || (event.keyCode === UP_ARROW && event.altKey)) {\n this.resetActiveItem();\n this.closeKeyEventStream.next();\n // We need to stop propagation, otherwise the event will eventually\n // reach the input itself and cause the overlay to be reopened.\n event.stopPropagation();\n event.preventDefault();\n }\n });\n this.panelOpened = true;\n this.autocompleteComponent().open();\n }\n\n closePanel() {\n if (this.autocompleteRef) {\n this.autocompleteRef.close();\n this.cdr.detectChanges();\n this.closingActionsSubscription.unsubscribe();\n }\n }\n\n createOverlay(): OverlayRef {\n const config = Object.assign({\n origin: this.elementRef.nativeElement,\n viewContainerRef: this.viewContainerRef,\n placement: this.thyPlacement(),\n offset: this.thyOffset(),\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n width: this.thyAutocompleteWidth() || this.elementRef.nativeElement.clientWidth\n });\n const autocompleteComponent = this.autocompleteComponent();\n this.autocompleteRef = this.autocompleteService.open(autocompleteComponent.contentTemplateRef(), config);\n this.autocompleteRef.afterClosed().subscribe(() => {\n this.panelOpened = false;\n autocompleteComponent.close();\n });\n // delay 200ms to prevent emit document click rightnow\n this.autocompleteRef\n .afterOpened()\n .pipe(delay(200))\n .subscribe(() => {\n this.closingActionsSubscription = this.subscribeToClosingActions();\n });\n return this.autocompleteRef.getOverlayRef();\n }\n\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n private subscribeToClosingActions(): Subscription {\n const firstStable = this.ngZone.onStable.asObservable().pipe(take(1));\n const optionChanges = this.autocompleteComponent().options.changes.pipe(\n // Defer emitting to the stream until the next tick, because changing\n // bindings in here will cause \"changed after checked\" errors.\n delay(0)\n );\n // When the zone is stable initially, and when the option list changes...\n return (\n merge(firstStable, optionChanges)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n this.resetActiveItem();\n\n if (this.panelOpened) {\n this.overlayRef.updatePosition();\n }\n return this.panelClosingActions;\n }),\n // when the first closing event occurs...\n take(1)\n )\n // set the value, close the panel, and complete.\n .subscribe(event => this.setValueAndClose(event))\n );\n }\n\n private setValueAndClose(event: ThyOptionSelectionChangeEvent | null): void {\n if (event && event.option) {\n this.setValue(event.option.thyLabelText);\n }\n this.closePanel();\n }\n\n /** Stream of clicks outside of the autocomplete panel. */\n private getOutsideClickStream(): Observable<any> {\n return merge(\n fromEvent(this.document, 'click') as Observable<MouseEvent>,\n fromEvent(this.document, 'touchend') as Observable<TouchEvent>\n ).pipe(\n filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = event.target as HTMLElement;\n const formField: any = null;\n\n return (\n this.panelOpened &&\n clickTarget !== this.elementRef.nativeElement &&\n !this.elementRef.nativeElement.contains(clickTarget) &&\n (!formField || !formField.contains(clickTarget)) &&\n !!this.overlayRef &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n );\n })\n );\n }\n\n private setValue(value: string) {\n const input = this.elementRef.nativeElement.querySelector('input');\n const element = input ? input : this.elementRef.nativeElement;\n element.value = value;\n element.focus();\n }\n\n private canOpen(): boolean {\n const element: HTMLInputElement = this.elementRef.nativeElement;\n return !element.readOnly && !element.disabled;\n }\n\n private resetActiveItem(): void {\n const autocompleteComponent = this.autocompleteComponent();\n const index = autocompleteComponent.thyAutoActiveFirstOption() ? 0 : -1;\n autocompleteComponent.keyManager.setActiveItem(index);\n }\n\n private destroyPanel(): void {\n if (this.overlayRef) {\n this.closePanel();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy() {\n this.closeKeyEventStream.complete();\n this.destroyPanel();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyEmptyModule } from 'ngx-tethys/empty';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { ThyLoadingModule } from 'ngx-tethys/loading';\nimport { ThyOptionModule, ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyAutocomplete } from './autocomplete.component';\nimport { ThyAutocompleteTriggerDirective } from './autocomplete.trigger.directive';\nimport { ThyAutocompleteContainer } from './overlay/autocomplete-container.component';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER } from './overlay/autocomplete.config';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThyInputModule,\n OverlayModule,\n PortalModule,\n ThyLoadingModule,\n ThySharedModule,\n ThyIconModule,\n ThyEmptyModule,\n ThyOptionModule,\n ThyAutocompleteTriggerDirective,\n ThyAutocomplete,\n ThyAutocompleteContainer\n ],\n exports: [ThyAutocompleteTriggerDirective, ThyAutocomplete, ThyAutocompleteContainer, ThyOptionModule],\n providers: [THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER, ThyAutocompleteService]\n})\nexport class ThyAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}