cmat 0.0.7 → 0.0.8

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 (310) hide show
  1. package/components/adapter/dayjs-datetime-adapter.d.ts +1 -1
  2. package/components/breadcrumb/breadcrumb.service.d.ts +1 -1
  3. package/components/card/card.component.d.ts +1 -1
  4. package/components/cascade/cascade-list/cascade-list.component.d.ts +45 -21
  5. package/components/chip-input/chip-input.component.d.ts +39 -12
  6. package/components/custom-formly/extension/addons.extension.d.ts +2 -0
  7. package/components/custom-formly/index.d.ts +5 -0
  8. package/components/custom-formly/public-api.d.ts +21 -0
  9. package/components/custom-formly/types/button/button.component.d.ts +18 -0
  10. package/components/custom-formly/types/checklist/checklist.component.d.ts +41 -0
  11. package/components/custom-formly/types/chips/chips.component.d.ts +27 -0
  12. package/components/custom-formly/types/multicheckbox/multicheckbox.component.d.ts +44 -0
  13. package/components/custom-formly/types/number/number.component.d.ts +20 -0
  14. package/components/custom-formly/types/radio/radio.component.d.ts +44 -0
  15. package/components/custom-formly/types/rating/rating.component.d.ts +24 -0
  16. package/components/custom-formly/types/repeat/repeat.component.d.ts +16 -0
  17. package/components/custom-formly/types/select/select.component.d.ts +54 -0
  18. package/components/custom-formly/types/select-tree/select-tree.component.d.ts +43 -0
  19. package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +9 -0
  20. package/components/custom-formly/types/stepper/stepper.type.d.ts +6 -0
  21. package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +9 -0
  22. package/components/custom-formly/types/table/table.component.d.ts +43 -0
  23. package/components/custom-formly/types/tabs/tab.component.d.ts +8 -0
  24. package/components/custom-formly/types/tags/tags.component.d.ts +41 -0
  25. package/components/custom-formly/types/textarea/textarea.component.d.ts +13 -0
  26. package/components/custom-formly/wrappers/addons/addons.component.d.ts +10 -0
  27. package/components/custom-formly/wrappers/card/card.component.d.ts +6 -0
  28. package/components/custom-formly/wrappers/expansion/expansion.component.d.ts +6 -0
  29. package/components/custom-formly/wrappers/panel/panel.component.d.ts +6 -0
  30. package/components/date-range/date-range.component.d.ts +8 -6
  31. package/components/drawer/drawer.component.d.ts +2 -2
  32. package/components/fullscreen/fullscreen.component.d.ts +2 -9
  33. package/components/fullscreen/public-api.d.ts +0 -1
  34. package/components/material-color-picker/material-color-picker.component.d.ts +8 -4
  35. package/components/material-datetimepicker/calendar.d.ts +2 -2
  36. package/components/material-datetimepicker/clock.d.ts +1 -1
  37. package/components/material-datetimepicker/datetimepicker-input.d.ts +1 -1
  38. package/components/material-datetimepicker/datetimepicker-toggle.d.ts +1 -1
  39. package/components/material-datetimepicker/datetimepicker.d.ts +5 -10
  40. package/components/material-datetimepicker/month-view.d.ts +1 -2
  41. package/components/material-datetimepicker/multi-year-view.d.ts +1 -1
  42. package/components/material-datetimepicker/time.d.ts +2 -2
  43. package/components/material-datetimepicker/year-view.d.ts +1 -1
  44. package/components/navigation/horizontal/components/basic/basic.component.d.ts +1 -1
  45. package/components/navigation/horizontal/components/branch/branch.component.d.ts +1 -1
  46. package/components/navigation/horizontal/horizontal.component.d.ts +2 -2
  47. package/components/navigation/vertical/components/aside/aside.component.d.ts +1 -1
  48. package/components/navigation/vertical/components/basic/basic.component.d.ts +1 -7
  49. package/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +1 -1
  50. package/components/navigation/vertical/components/group/group.component.d.ts +1 -1
  51. package/components/navigation/vertical/vertical.component.d.ts +5 -5
  52. package/components/popover/popover-trigger.d.ts +1 -1
  53. package/components/popover/popover.component.d.ts +3 -3
  54. package/components/rating/rating.component.d.ts +38 -9
  55. package/components/select-search/select-search.component.d.ts +4 -4
  56. package/components/select-tree/select-tree.component.d.ts +50 -21
  57. package/components/toast/toast.component.d.ts +4 -4
  58. package/components/transfer-picker/filter/filter.component.d.ts +1 -1
  59. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +2 -2
  60. package/components/transfer-picker/transfer-picker.component.d.ts +1 -1
  61. package/components/upload/files.type.d.ts +22 -0
  62. package/components/upload/files.util.service.d.ts +20 -0
  63. package/components/upload/index.d.ts +5 -0
  64. package/components/upload/public-api.d.ts +4 -0
  65. package/components/upload/upload-queue/upload-queue.component.d.ts +39 -0
  66. package/components/upload/upload.component.d.ts +32 -0
  67. package/esm2022/animations/public-api.mjs +2 -2
  68. package/esm2022/components/adapter/dayjs-date-adapter.mjs +6 -6
  69. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +5 -5
  70. package/esm2022/components/adapter/native-datetime-adapter.mjs +3 -3
  71. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
  72. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +6 -6
  73. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +5 -5
  74. package/esm2022/components/card/card.component.mjs +5 -5
  75. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +7 -7
  76. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +207 -114
  77. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +4 -4
  78. package/esm2022/components/chip-input/chip-input.component.mjs +152 -49
  79. package/esm2022/components/custom-formly/cmat-components-custom-formly.mjs +5 -0
  80. package/esm2022/components/custom-formly/extension/addons.extension.mjs +13 -0
  81. package/esm2022/components/custom-formly/public-api.mjs +22 -0
  82. package/esm2022/components/custom-formly/types/button/button.component.mjs +39 -0
  83. package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +161 -0
  84. package/esm2022/components/custom-formly/types/chips/chips.component.mjs +55 -0
  85. package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +89 -0
  86. package/esm2022/components/custom-formly/types/number/number.component.mjs +27 -0
  87. package/esm2022/components/custom-formly/types/radio/radio.component.mjs +88 -0
  88. package/esm2022/components/custom-formly/types/rating/rating.component.mjs +27 -0
  89. package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +28 -0
  90. package/esm2022/components/custom-formly/types/select/select.component.mjs +169 -0
  91. package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +66 -0
  92. package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +31 -0
  93. package/esm2022/components/custom-formly/types/stepper/stepper.type.mjs +2 -0
  94. package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +31 -0
  95. package/esm2022/components/custom-formly/types/table/table.component.mjs +116 -0
  96. package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +19 -0
  97. package/esm2022/components/custom-formly/types/tags/tags.component.mjs +149 -0
  98. package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +25 -0
  99. package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +92 -0
  100. package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +14 -0
  101. package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +14 -0
  102. package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +12 -0
  103. package/esm2022/components/date-range/date-range.component.mjs +26 -17
  104. package/esm2022/components/drawer/drawer.component.mjs +5 -5
  105. package/esm2022/components/drawer/drawer.service.mjs +3 -3
  106. package/esm2022/components/fullscreen/fullscreen.component.mjs +16 -73
  107. package/esm2022/components/fullscreen/public-api.mjs +1 -2
  108. package/esm2022/components/highlight/highlight.component.mjs +5 -5
  109. package/esm2022/components/highlight/highlight.service.mjs +3 -3
  110. package/esm2022/components/json-editor/json-editor.component.mjs +3 -3
  111. package/esm2022/components/masonry/masonry.component.mjs +5 -5
  112. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +22 -12
  113. package/esm2022/components/material-datetimepicker/calendar-body.mjs +3 -3
  114. package/esm2022/components/material-datetimepicker/calendar.mjs +11 -12
  115. package/esm2022/components/material-datetimepicker/clock.mjs +5 -5
  116. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -5
  117. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
  118. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +9 -9
  119. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +17 -22
  120. package/esm2022/components/material-datetimepicker/month-view.mjs +5 -6
  121. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +7 -8
  122. package/esm2022/components/material-datetimepicker/time.mjs +8 -8
  123. package/esm2022/components/material-datetimepicker/year-view.mjs +7 -8
  124. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +8 -8
  125. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +8 -8
  126. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +5 -5
  127. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +6 -6
  128. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +6 -6
  129. package/esm2022/components/navigation/navigation.service.mjs +3 -3
  130. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +11 -11
  131. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +7 -24
  132. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +10 -10
  133. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +5 -5
  134. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +9 -9
  135. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +6 -6
  136. package/esm2022/components/navigation/vertical/vertical.component.mjs +11 -11
  137. package/esm2022/components/pagination/pagination.component.mjs +10 -10
  138. package/esm2022/components/pagination/pagination.directive.mjs +4 -4
  139. package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
  140. package/esm2022/components/pagination/pagination.service.mjs +3 -3
  141. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +6 -6
  142. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +5 -5
  143. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +6 -6
  144. package/esm2022/components/popover/popover-trigger.mjs +5 -5
  145. package/esm2022/components/popover/popover.component.mjs +8 -9
  146. package/esm2022/components/popover/popover.target.mjs +3 -3
  147. package/esm2022/components/progress-bar/progress-bar.component.mjs +6 -6
  148. package/esm2022/components/rating/rating.component.mjs +122 -23
  149. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
  150. package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
  151. package/esm2022/components/select-search/select-search.component.mjs +15 -15
  152. package/esm2022/components/select-tree/select-tree.component.mjs +281 -157
  153. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +9 -9
  154. package/esm2022/components/timeline/timeline.component.mjs +5 -5
  155. package/esm2022/components/toast/toast-modal.component.mjs +5 -5
  156. package/esm2022/components/toast/toast.component.mjs +6 -6
  157. package/esm2022/components/toast/toast.service.mjs +3 -3
  158. package/esm2022/components/transfer-picker/filter/filter.component.mjs +9 -9
  159. package/esm2022/components/transfer-picker/search/search.component.mjs +6 -6
  160. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +11 -11
  161. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -5
  162. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +7 -7
  163. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
  164. package/esm2022/components/upload/cmat-components-upload.mjs +5 -0
  165. package/esm2022/components/upload/files.type.mjs +2 -0
  166. package/esm2022/components/upload/files.util.service.mjs +100 -0
  167. package/esm2022/components/upload/public-api.mjs +5 -0
  168. package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +154 -0
  169. package/esm2022/components/upload/upload.component.mjs +118 -0
  170. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +3 -3
  171. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
  172. package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
  173. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
  174. package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
  175. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
  176. package/esm2022/directives/digit-only/digit-only.directive.mjs +3 -3
  177. package/esm2022/directives/digit-only/mask.directive.mjs +3 -3
  178. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +3 -3
  179. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +5 -5
  180. package/esm2022/lib/mock-api/mock-api.service.mjs +3 -3
  181. package/esm2022/pipes/bytes/bytes.pipe.mjs +3 -3
  182. package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
  183. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +3 -3
  184. package/esm2022/pipes/group-by/group-by.pipe.mjs +3 -3
  185. package/esm2022/pipes/keys/keys.pipe.mjs +3 -3
  186. package/esm2022/pipes/secure/secure-pipe.mjs +5 -5
  187. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
  188. package/esm2022/public-api.mjs +1 -1
  189. package/esm2022/services/alert/alert.service.mjs +7 -7
  190. package/esm2022/services/alert/enum.mjs +2 -2
  191. package/esm2022/services/config/config.service.mjs +5 -5
  192. package/esm2022/services/config/urlStateConfig.service.mjs +5 -5
  193. package/esm2022/services/confirmation/confirmation.service.mjs +5 -5
  194. package/esm2022/services/confirmation/dialog/dialog.component.mjs +7 -7
  195. package/esm2022/services/data/data.service.mjs +5 -5
  196. package/esm2022/services/loading/loading.interceptor.mjs +4 -4
  197. package/esm2022/services/loading/loading.service.mjs +3 -3
  198. package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
  199. package/esm2022/services/media-watcher/media-watcher.service.mjs +5 -5
  200. package/esm2022/services/platform/platform.service.mjs +4 -4
  201. package/esm2022/services/splash-screen/splash-screen.service.mjs +6 -6
  202. package/esm2022/services/title/title.service.mjs +4 -4
  203. package/esm2022/services/translation/translation.service.mjs +3 -3
  204. package/esm2022/services/utils/utils.service.mjs +54 -9
  205. package/fesm2022/cmat-animations.mjs +15 -15
  206. package/fesm2022/cmat-animations.mjs.map +1 -1
  207. package/fesm2022/cmat-components-adapter.mjs +11 -11
  208. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  209. package/fesm2022/cmat-components-breadcrumb.mjs +11 -11
  210. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  211. package/fesm2022/cmat-components-card.mjs +4 -4
  212. package/fesm2022/cmat-components-card.mjs.map +1 -1
  213. package/fesm2022/cmat-components-cascade.mjs +215 -123
  214. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  215. package/fesm2022/cmat-components-chip-input.mjs +153 -50
  216. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  217. package/fesm2022/cmat-components-custom-formly.mjs +1141 -0
  218. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -0
  219. package/fesm2022/cmat-components-date-range.mjs +27 -18
  220. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  221. package/fesm2022/cmat-components-drawer.mjs +8 -8
  222. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  223. package/fesm2022/cmat-components-fullscreen.mjs +16 -73
  224. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  225. package/fesm2022/cmat-components-highlight.mjs +7 -7
  226. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  227. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  228. package/fesm2022/cmat-components-masonry.mjs +4 -4
  229. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  230. package/fesm2022/cmat-components-material-color-picker.mjs +21 -11
  231. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  232. package/fesm2022/cmat-components-material-datetimepicker.mjs +189 -195
  233. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  234. package/fesm2022/cmat-components-navigation.mjs +166 -183
  235. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  236. package/fesm2022/cmat-components-pagination.mjs +20 -20
  237. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  238. package/fesm2022/cmat-components-password-strength.mjs +13 -13
  239. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  240. package/fesm2022/cmat-components-popover.mjs +13 -14
  241. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  242. package/fesm2022/cmat-components-progress-bar.mjs +6 -6
  243. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  244. package/fesm2022/cmat-components-rating.mjs +121 -22
  245. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  246. package/fesm2022/cmat-components-select-search.mjs +41 -41
  247. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  248. package/fesm2022/cmat-components-select-tree.mjs +281 -157
  249. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  250. package/fesm2022/cmat-components-timeline.mjs +12 -12
  251. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  252. package/fesm2022/cmat-components-toast.mjs +12 -12
  253. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  254. package/fesm2022/cmat-components-transfer-picker.mjs +33 -33
  255. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  256. package/fesm2022/cmat-components-upload.mjs +366 -0
  257. package/fesm2022/cmat-components-upload.mjs.map +1 -0
  258. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  259. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  260. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  261. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  262. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  263. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  264. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  265. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  266. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  267. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  268. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  269. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  270. package/fesm2022/cmat-pipes-secure.mjs +4 -4
  271. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  272. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  273. package/fesm2022/cmat-services-alert.mjs +6 -6
  274. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  275. package/fesm2022/cmat-services-config.mjs +7 -7
  276. package/fesm2022/cmat-services-config.mjs.map +1 -1
  277. package/fesm2022/cmat-services-confirmation.mjs +11 -11
  278. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  279. package/fesm2022/cmat-services-data.mjs +5 -5
  280. package/fesm2022/cmat-services-data.mjs.map +1 -1
  281. package/fesm2022/cmat-services-loading.mjs +6 -6
  282. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  283. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  284. package/fesm2022/cmat-services-media-watcher.mjs +4 -4
  285. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  286. package/fesm2022/cmat-services-platform.mjs +3 -3
  287. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  288. package/fesm2022/cmat-services-splash-screen.mjs +5 -5
  289. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  290. package/fesm2022/cmat-services-title.mjs +3 -3
  291. package/fesm2022/cmat-services-title.mjs.map +1 -1
  292. package/fesm2022/cmat-services-translation.mjs +3 -3
  293. package/fesm2022/cmat-services-utils.mjs +53 -8
  294. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  295. package/package.json +19 -7
  296. package/pipes/secure/secure-pipe.d.ts +1 -1
  297. package/services/alert/enum.d.ts +1 -1
  298. package/services/confirmation/confirmation.service.d.ts +1 -1
  299. package/services/data/data.service.d.ts +1 -1
  300. package/services/media-watcher/media-watcher.service.d.ts +1 -1
  301. package/services/title/title.service.d.ts +1 -1
  302. package/services/utils/utils.service.d.ts +1 -0
  303. package/styles/components/bundle.scss +18 -5
  304. package/styles/overrides/angular-material.scss +51 -52
  305. package/styles/tailwind.scss +2 -8
  306. package/styles/themes.scss +7 -7
  307. package/styles/user-themes.scss +1 -1
  308. package/tailwind/plugins/utilities.js +1 -1
  309. package/components/fullscreen/fullscreen.types.d.ts +0 -13
  310. package/esm2022/components/fullscreen/fullscreen.types.mjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-components-rating.mjs","sources":["../../../projects/cmat/components/rating/rating.component.ts","../../../projects/cmat/components/rating/rating.component.html","../../../projects/cmat/components/rating/cmat-components-rating.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport {\r\n Component, Input, Output, EventEmitter, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, OnChanges, SimpleChanges, OnInit\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CmatRatingComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'cmat-rating',\r\n templateUrl: './rating.component.html',\r\n styleUrls: ['./rating.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cmatRating',\r\n standalone: true,\r\n imports: [MatIconModule, NgStyle, NgClass]\r\n})\r\nexport class CmatRatingComponent implements ControlValueAccessor, OnInit,OnChanges {\r\n @Input() stars: number = 5;\r\n @Input() readonly: boolean;\r\n @Input() hover: boolean;\r\n @Input() half: boolean;\r\n @Input() color: string;\r\n @Input() value: number;\r\n @Input() showMode: 'horizontal' | 'vertical' = 'horizontal';\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\r\n\r\n starArray: number[];\r\n currentValue: number;\r\n\r\n onModelChange: (value: any) => void = () => { };\r\n onTouchedChange: () => any = () => { };\r\n\r\n ngOnInit(): void {\r\n this.starArray = [];\r\n for (let i = 0; i < this.stars; i++) {\r\n this.starArray.push(i);\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if ('stars' in changes) {\r\n this.starArray = [];\r\n for (let i = 0; i < this.stars; i++) {\r\n this.starArray.push(i);\r\n }\r\n }\r\n }\r\n\r\n writeValue(value: number): void {\r\n if (value) {\r\n this.value = value;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedChange = fn;\r\n }\r\n\r\n isIn(value: number): boolean {\r\n const ex = this.value - value;\r\n return ex > 0 && ex < 1;\r\n }\r\n\r\n onClick(event: any, value: number, half?: boolean): void {\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.value = value + 1;\r\n if (half && this.half) {\r\n this.value -= 0.5;\r\n }\r\n this.currentValue = this.value;\r\n this.valueChange.emit(this.value);\r\n this.onModelChange(this.value);\r\n }\r\n }\r\n\r\n onMouseover(event: any, value: number, half?: boolean): void {\r\n event.stopPropagation();\r\n if (this.hover && !this.readonly) {\r\n this.value = value + 1;\r\n if (half && this.half) {\r\n this.value -= 0.5;\r\n }\r\n }\r\n }\r\n\r\n onMouseleave(): void {\r\n this.value = this.currentValue;\r\n }\r\n\r\n onFocus(): void {\r\n\r\n }\r\n}\r\n\r\n","<div [class.cmat-rating-readonly]=\"readonly\" class=\"flex\"\n [ngClass]=\"{'flex-col':showMode==='vertical','flex-row':showMode==='horizontal'}\" (mouseleave)=\"onMouseleave()\">\n @for (star of starArray; track star; let i = $index) {\n <div class=\"cmat-rating-item\">\n @if (half) {\n <div role=\"presentation\" class=\"cmat-rating-half\" [ngStyle]=\"{'opacity': isIn(i)?1:0}\"\n (focus)=\"onFocus()\" (mouseover)=\"onMouseover($event, i, true)\" (click)=\"onClick($event, i, true)\">\n <mat-icon [ngClass]=\"{'text-current': !color}\" [color]=\"color\" [svgIcon]=\"'mat_outline:'+((!value || i >= value)?'star_border':'star')\">\n </mat-icon>\n </div>\n }\n <div role=\"presentation\" (focus)=\"onFocus()\" (mouseover)=\"onMouseover($event, i)\" (click)=\"onClick($event, i)\">\n <mat-icon [color]=\"color\" [ngClass]=\"{'text-current': !color}\"\n [svgIcon]=\"'mat_outline:'+((half && isIn(i)) || (!value || i >= value)?'star_border':'star')\">\n </mat-icon>\n </div>\n </div>\n }\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-components-rating.mjs","sources":["../../../projects/cmat/components/rating/rating.component.ts","../../../projects/cmat/components/rating/rating.component.html","../../../projects/cmat/components/rating/cmat-components-rating.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/member-ordering */\r\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport {\r\n Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, OnChanges, SimpleChanges, OnInit, ChangeDetectorRef,\r\n Optional,\r\n Self,\r\n ElementRef,\r\n HostBinding,\r\n ViewChild,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { Subject } from 'rxjs';\r\n\r\nlet NEXT_ID = 0;\r\n\r\n@Component({\r\n selector: 'cmat-rating',\r\n templateUrl: './rating.component.html',\r\n styleUrls: ['./rating.component.scss'],\r\n providers: [{ provide: MatFormFieldControl, useExisting: CmatRatingComponent }],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cmatRating',\r\n standalone: true,\r\n imports: [MatIconModule, NgStyle, NgClass]\r\n})\r\nexport class CmatRatingComponent implements MatFormFieldControl<any>, ControlValueAccessor, OnInit, OnChanges, OnDestroy {\r\n @HostBinding('attr.id')\r\n @Input()\r\n public id = `cmat-chip-input-${NEXT_ID++}`;\r\n\r\n @ViewChild('rating', { static: false }) private _ratingElementRef: ElementRef<HTMLDivElement>;\r\n\r\n @Input() stars: number = 5;\r\n @Input() readonly: boolean = false;\r\n @Input() hover: boolean;\r\n @Input() half: boolean;\r\n @Input() color?: string;\r\n @Input() showMode?: 'horizontal' | 'vertical' = 'horizontal';\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\r\n\r\n starArray: number[];\r\n currentValue: number;\r\n\r\n readonly stateChanges: Subject<void> = new Subject<void>();\r\n focused: boolean = false;\r\n touched: boolean = false;\r\n controlType: string = 'cmat-rating';\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _changeDetectorRef: ChangeDetectorRef) {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n onModelChange: (value: any) => void = () => { };\r\n onTouchedChange: () => any = () => { };\r\n\r\n ngOnInit(): void {\r\n this.starArray = [];\r\n for (let i = 0; i < this.stars; i++) {\r\n this.starArray.push(i);\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if ('stars' in changes) {\r\n this.starArray = [];\r\n for (let i = 0; i < this.stars; i++) {\r\n this.starArray.push(i);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateChanges.complete();\r\n }\r\n\r\n onFocus(): void {\r\n\r\n }\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string = '';\r\n\r\n @Input()\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(value: any) {\r\n if (value !== this.value) {\r\n this._value = value;\r\n\r\n this.stateChanges.next();\r\n\r\n this.onModelChange(value);\r\n }\r\n }\r\n protected _value: any;\r\n\r\n get empty(): boolean {\r\n return !this._value;\r\n }\r\n\r\n get errorState(): boolean {\r\n if (this.ngControl == null)\r\n return false;\r\n\r\n return (this.touched && this.ngControl?.invalid) ?? false;\r\n }\r\n\r\n get shouldLabelFloat(): boolean {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input()\r\n get required(): boolean { return this._required; }\r\n set required(value: any) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n protected _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n if (this.ngControl && this.ngControl.disabled !== null) {\r\n return this.ngControl.disabled;\r\n }\r\n return this.readonly;\r\n }\r\n set disabled(value: BooleanInput) {\r\n this.readonly = coerceBooleanProperty(value);\r\n\r\n if (this.focused) {\r\n this.focused = false;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n writeValue(value: number): void {\r\n if (value) {\r\n this.value = value;\r\n this.currentValue = value;\r\n\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedChange = fn;\r\n }\r\n\r\n setDescribedByIds(ids: string[]): void {\r\n if (ids.length) {\r\n this._ratingElementRef?.nativeElement.setAttribute('aria-describedby', ids.join(' '));\r\n } else {\r\n this._ratingElementRef?.nativeElement.removeAttribute('aria-describedby');\r\n }\r\n }\r\n\r\n onContainerClick(): void {\r\n if (!this.focused) {\r\n this._ratingElementRef.nativeElement.focus();\r\n }\r\n }\r\n\r\n isIn(value: number): boolean {\r\n const ex = this.value - value;\r\n return ex > 0 && ex < 1;\r\n }\r\n\r\n onClick(event: any, value: number, half?: boolean): void {\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.value = value + 1;\r\n if (half && this.half) {\r\n this.value -= 0.5;\r\n }\r\n this.currentValue = this.value;\r\n this.valueChange.emit(this.currentValue);\r\n this.onModelChange(this.currentValue);\r\n }\r\n }\r\n\r\n onMouseover(event: any, value: number, half?: boolean): void {\r\n event.stopPropagation();\r\n if (this.hover && !this.readonly) {\r\n this.value = value + 1;\r\n if (half && this.half) {\r\n this.value -= 0.5;\r\n }\r\n }\r\n }\r\n\r\n onMouseleave(): void {\r\n if (this.value !== this.currentValue) {\r\n this.value = this.currentValue;\r\n }\r\n }\r\n}\r\n\r\n","<div [class.cmat-rating-readonly]=\"readonly||disabled\" class=\"flex\" #rating (focus)=\"onFocus()\"\n [ngClass]=\"{'flex-col':showMode==='vertical','flex-row':showMode==='horizontal'}\" (mouseleave)=\"onMouseleave()\">\n @for (star of starArray; track star; let i = $index) {\n <div class=\"cmat-rating-item\">\n @if (half) {\n <div role=\"presentation\" class=\"cmat-rating-half\" [ngStyle]=\"{'opacity': isIn(i)?1:0}\" (focus)=\"onFocus()\"\n (mouseover)=\"onMouseover($event, i, true)\" (click)=\"onClick($event, i, true)\">\n <mat-icon [ngClass]=\"{'text-current': !color}\" [color]=\"color\"\n [svgIcon]=\"'mat_outline:'+((!value || i >= value)?'star_border':'star')\">\n </mat-icon>\n </div>\n }\n <div role=\"presentation\" (mouseover)=\"onMouseover($event, i)\" (click)=\"onClick($event, i)\" (focus)=\"onFocus()\">\n <mat-icon [color]=\"color\" [ngClass]=\"{'text-current': !color}\"\n [svgIcon]=\"'mat_outline:'+((half && isIn(i)) || (!value || i >= value)?'star_border':'star')\">\n </mat-icon>\n </div>\n </div>\n }\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,54 +1,30 @@
1
+ import { NgClass, AsyncPipe } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { Directive, InjectionToken, EventEmitter, forwardRef, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, Input, Output, ViewChild, ContentChild, HostBinding } from '@angular/core';
3
+ import { InjectionToken, Directive, EventEmitter, forwardRef, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, Input, Output, ViewChild, ContentChild, HostBinding } from '@angular/core';
3
4
  import * as i7 from '@angular/forms';
4
5
  import { FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import * as i10 from '@angular/material/select';
6
- import { MatSelect } from '@angular/material/select';
7
- import { BehaviorSubject, of, Subject, combineLatest } from 'rxjs';
8
- import { map, startWith, switchMap, delay, takeUntil, take, filter, tap } from 'rxjs/operators';
6
+ import * as i9 from '@angular/material/button';
7
+ import { MatButtonModule } from '@angular/material/button';
8
+ import * as i4 from '@angular/material/checkbox';
9
+ import { MatCheckboxModule } from '@angular/material/checkbox';
9
10
  import * as i11 from '@angular/material/core';
10
11
  import { _countGroupLabelsBeforeOption, MatOption } from '@angular/material/core';
11
12
  import * as i3 from '@angular/material/form-field';
12
13
  import { MatFormField, MatFormFieldModule } from '@angular/material/form-field';
13
- import * as i9 from '@angular/material/button';
14
- import { MatButtonModule } from '@angular/material/button';
15
- import * as i8 from '@angular/material/progress-spinner';
16
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
17
14
  import * as i6 from '@angular/material/icon';
18
15
  import { MatIconModule } from '@angular/material/icon';
19
- import * as i5 from '@angular/material/tooltip';
20
- import { MatTooltipModule } from '@angular/material/tooltip';
21
- import * as i4 from '@angular/material/checkbox';
22
- import { MatCheckboxModule } from '@angular/material/checkbox';
23
- import { NgClass, AsyncPipe } from '@angular/common';
24
16
  import * as i2 from '@angular/material/input';
25
17
  import { MatInputModule } from '@angular/material/input';
18
+ import * as i8 from '@angular/material/progress-spinner';
19
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
20
+ import * as i10 from '@angular/material/select';
21
+ import { MatSelect } from '@angular/material/select';
22
+ import * as i5 from '@angular/material/tooltip';
23
+ import { MatTooltipModule } from '@angular/material/tooltip';
24
+ import { BehaviorSubject, of, Subject, combineLatest } from 'rxjs';
25
+ import { map, startWith, switchMap, delay, takeUntil, take, filter, tap } from 'rxjs/operators';
26
26
  import * as i1 from '@angular/cdk/scrolling';
27
27
 
28
- class CmatSelectSearchClearDirective {
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatSelectSearchClearDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: CmatSelectSearchClearDirective, isStandalone: true, selector: "[cmatSelectSearchClear]", ngImport: i0 }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatSelectSearchClearDirective, decorators: [{
33
- type: Directive,
34
- args: [{
35
- selector: '[cmatSelectSearchClear]',
36
- standalone: true
37
- }]
38
- }] });
39
-
40
- class CmatSelectNoEntriesFoundDirective {
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatSelectNoEntriesFoundDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: CmatSelectNoEntriesFoundDirective, isStandalone: true, selector: "[cmatSelectNoEntriesFound]", ngImport: i0 }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatSelectNoEntriesFoundDirective, decorators: [{
45
- type: Directive,
46
- args: [{
47
- selector: '[cmatSelectNoEntriesFound]',
48
- standalone: true
49
- }]
50
- }] });
51
-
52
28
  /** List of inputs of CmatSelectSearchComponent that can be configured with a global default. */
53
29
  const configurableDefaultOptions = [
54
30
  'ariaLabel',
@@ -64,6 +40,30 @@ const configurableDefaultOptions = [
64
40
  ];
65
41
  const MAT_SELECTSEARCH_DEFAULT_OPTIONS = new InjectionToken('mat-selectsearch-default-options');
66
42
 
43
+ class CmatSelectNoEntriesFoundDirective {
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatSelectNoEntriesFoundDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.7", type: CmatSelectNoEntriesFoundDirective, isStandalone: true, selector: "[cmatSelectNoEntriesFound]", ngImport: i0 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatSelectNoEntriesFoundDirective, decorators: [{
48
+ type: Directive,
49
+ args: [{
50
+ selector: '[cmatSelectNoEntriesFound]',
51
+ standalone: true
52
+ }]
53
+ }] });
54
+
55
+ class CmatSelectSearchClearDirective {
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatSelectSearchClearDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.7", type: CmatSelectSearchClearDirective, isStandalone: true, selector: "[cmatSelectSearchClear]", ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatSelectSearchClearDirective, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[cmatSelectSearchClear]',
63
+ standalone: true
64
+ }]
65
+ }] });
66
+
67
67
  const SELECT_PANEL_MAX_HEIGHT = 256;
68
68
  class CmatSelectSearchComponent {
69
69
  constructor(matSelect, _changeDetectorRef, _viewportRuler, _matOption = null, matFormField = null, _defaultOptions) {
@@ -428,8 +428,8 @@ class CmatSelectSearchComponent {
428
428
  }
429
429
  }
430
430
  }
431
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatSelectSearchComponent, deps: [{ token: MatSelect }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: MatOption, optional: true }, { token: MatFormField, optional: true }, { token: MAT_SELECTSEARCH_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
432
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CmatSelectSearchComponent, isStandalone: true, selector: "cmat-select-search", inputs: { placeholderLabel: "placeholderLabel", type: "type", noEntriesFoundLabel: "noEntriesFoundLabel", showNoFoundLabel: "showNoFoundLabel", clearSearchInput: "clearSearchInput", searching: "searching", disableInitialFocus: "disableInitialFocus", enableClearOnEscapePressed: "enableClearOnEscapePressed", preventHomeEndKeyPropagation: "preventHomeEndKeyPropagation", disableScrollToActiveOnOptionsChanged: "disableScrollToActiveOnOptionsChanged", ariaLabel: "ariaLabel", showToggleAllCheckbox: "showToggleAllCheckbox", toggleAllCheckboxChecked: "toggleAllCheckboxChecked", toggleAllCheckboxIndeterminate: "toggleAllCheckboxIndeterminate", toggleAllCheckboxTooltipMessage: "toggleAllCheckboxTooltipMessage", toggleAllCheckboxTooltipPosition: "toggleAllCheckboxTooltipPosition", hideClearSearchButton: "hideClearSearchButton", alwaysRestoreSelectedOptionsMulti: "alwaysRestoreSelectedOptionsMulti" }, outputs: { toggleAll: "toggleAll" }, host: { properties: { "class.cmat-select-search-inside-mat-option": "this.isInsideMatOption" } }, providers: [
431
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatSelectSearchComponent, deps: [{ token: MatSelect }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: MatOption, optional: true }, { token: MatFormField, optional: true }, { token: MAT_SELECTSEARCH_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
432
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: CmatSelectSearchComponent, isStandalone: true, selector: "cmat-select-search", inputs: { placeholderLabel: "placeholderLabel", type: "type", noEntriesFoundLabel: "noEntriesFoundLabel", showNoFoundLabel: "showNoFoundLabel", clearSearchInput: "clearSearchInput", searching: "searching", disableInitialFocus: "disableInitialFocus", enableClearOnEscapePressed: "enableClearOnEscapePressed", preventHomeEndKeyPropagation: "preventHomeEndKeyPropagation", disableScrollToActiveOnOptionsChanged: "disableScrollToActiveOnOptionsChanged", ariaLabel: "ariaLabel", showToggleAllCheckbox: "showToggleAllCheckbox", toggleAllCheckboxChecked: "toggleAllCheckboxChecked", toggleAllCheckboxIndeterminate: "toggleAllCheckboxIndeterminate", toggleAllCheckboxTooltipMessage: "toggleAllCheckboxTooltipMessage", toggleAllCheckboxTooltipPosition: "toggleAllCheckboxTooltipPosition", hideClearSearchButton: "hideClearSearchButton", alwaysRestoreSelectedOptionsMulti: "alwaysRestoreSelectedOptionsMulti" }, outputs: { toggleAll: "toggleAll" }, host: { properties: { "class.cmat-select-search-inside-mat-option": "this.isInsideMatOption" } }, providers: [
433
433
  {
434
434
  provide: NG_VALUE_ACCESSOR,
435
435
  useExisting: forwardRef(() => CmatSelectSearchComponent),
@@ -437,7 +437,7 @@ class CmatSelectSearchComponent {
437
437
  }
438
438
  ], queries: [{ propertyName: "clearIcon", first: true, predicate: CmatSelectSearchClearDirective, descendants: true }, { propertyName: "noEntriesFound", first: true, predicate: CmatSelectNoEntriesFoundDirective, descendants: true }], viewQueries: [{ propertyName: "searchSelectInput", first: true, predicate: ["searchSelectInput"], descendants: true, read: ElementRef, static: true }, { propertyName: "innerSelectSearch", first: true, predicate: ["innerSelectSearch"], descendants: true, read: ElementRef, static: true }], exportAs: ["cmatSelectSearch"], ngImport: i0, template: "<input matInput class=\"cmat-select-search-input cmat-select-search-hidden\" />\n\n<div #innerSelectSearch class=\"cmat-select-search-inner mat-typography mat-tab-header\"\n [ngClass]=\"{'cmat-select-search-inner-multiple': matSelect.multiple, 'cmat-select-search-inner-toggle-all': isToggleAllCheckboxVisible() }\">\n\n @if (isToggleAllCheckboxVisible()) {\n <mat-checkbox [color]=\"matFormField?.color\"\n class=\"cmat-select-search-toggle-all-checkbox -mr-4\" [checked]=\"toggleAllCheckboxChecked\"\n [indeterminate]=\"toggleAllCheckboxIndeterminate\" [matTooltip]=\"toggleAllCheckboxTooltipMessage\"\n matTooltipClass=\"cmat-select-search-toggle-all-tooltip\" [matTooltipPosition]=\"toggleAllCheckboxTooltipPosition\"\n (change)=\"emitSelectAllBooleanToParent($event.checked)\">\n </mat-checkbox>\n }\n <span matPrefix class=\"flex flex-col justify-center pl-2\">\n <mat-icon class=\"cmat-select-search-icon\" color=\"primary\" svgIcon=\"heroicons_outline:magnifying-glass\"></mat-icon>\n </span>\n <input matInput class=\"cmat-select-search-input cmat-input-element\" autocomplete=\"off\" [type]=\"type\"\n [formControl]=\"formControl\" #searchSelectInput (keydown)=\"handleKeydown($event)\" (keyup)=\"handleKeyup($event)\"\n (blur)=\"onBlur()\" [placeholder]=\"placeholderLabel\" [attr.aria-label]=\"ariaLabel\" />\n @if (searching) {\n <mat-spinner class=\"cmat-select-search-spinner\" diameter=\"16\"></mat-spinner>\n }\n\n @if (!hideClearSearchButton && value && !searching) {\n <button type=\"button\" mat-icon-button aria-label=\"Clear\"\n (click)=\"reset(true)\" class=\"cmat-select-search-clear\">\n @if (clearIcon) {\n <ng-content select=\"[cmatSelectSearchClear]\"></ng-content>\n } @else {\n <mat-icon svgIcon=\"mat_outline:close\"></mat-icon>\n }\n </button>\n }\n\n <ng-content select=\".cmat-select-search-custom-header-content\"></ng-content>\n </div>\n\n @if (showNoEntriesFound$ | async) {\n <div class=\"cmat-select-search-no-entries-found\">\n @if (noEntriesFound) {\n <ng-content select=\"[cmatSelectNoEntriesFound]\"></ng-content>\n } @else {\n {{noEntriesFoundLabel}}\n }\n </div>\n }", styles: ["cmat-select-search .cmat-select-search-hidden{visibility:hidden}cmat-select-search .cmat-select-search-inner{position:absolute;top:0;left:0;width:100%;z-index:100;font-size:inherit;box-shadow:none;display:flex;border-bottom-width:1px;border-bottom-style:solid}cmat-select-search .cmat-select-search-inner.cmat-select-search-inner-multiple.cmat-select-search-inner-toggle-all{display:flex;align-items:center}cmat-select-search .cmat-select-search-inner .cmat-input-element{flex-basis:auto;vertical-align:middle!important}cmat-select-search .cmat-select-search-input{box-sizing:border-box;width:100%;border:none;font-family:inherit;font-size:inherit;color:currentColor;outline:none;background:none;padding:0 44px 0 16px;height:47px;line-height:47px}:host-context([dir=rtl]) cmat-select-search .cmat-select-search-input{padding-right:16px;padding-left:44px}cmat-select-search .cmat-select-search-no-entries-found{padding-top:8px}cmat-select-search .cmat-select-search-clear{position:absolute;right:4px;top:5px}:host-context([dir=rtl]) cmat-select-search .cmat-select-search-clear{right:auto;left:4px}cmat-select-search .cmat-select-search-spinner{position:absolute;right:16px;top:calc(50% - 8px)}:host-context([dir=rtl]) cmat-select-search .cmat-select-search-spinner{right:auto;left:16px}cmat-select-search .cmat-select-search-toggle-all-checkbox{padding-left:5px;padding-bottom:2px}:host-context([dir=rtl]) cmat-select-search .cmat-select-search-toggle-all-checkbox{padding-left:0;padding-right:5px}.mat-mdc-option[aria-disabled=true].contains-cmat-select-search{position:sticky;top:0;z-index:1;opacity:1;pointer-events:all;background:var(--mat-select-panel-background-color)}.mat-mdc-option[aria-disabled=true].contains-cmat-select-search .mat-icon{margin-right:0;margin-left:0}.mat-mdc-option[aria-disabled=true].contains-cmat-select-search mat-pseudo-checkbox{display:none}.mat-mdc-option[aria-disabled=true].contains-cmat-select-search .mdc-list-item__primary-text{opacity:1}.mat-mdc-option[aria-disabled=true].contains-cmat-select-search.cmat-select-search-no-entries-found{height:96px}.cmat-select-search-panel{transform:none!important;overflow-x:hidden;position:relative;padding:0!important}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
439
439
  }
440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatSelectSearchComponent, decorators: [{
440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatSelectSearchComponent, decorators: [{
441
441
  type: Component,
442
442
  args: [{ selector: 'cmat-select-search', providers: [
443
443
  {
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-components-select-search.mjs","sources":["../../../projects/cmat/components/select-search/select-search-clear.directive.ts","../../../projects/cmat/components/select-search/select-no-entries-found.directive.ts","../../../projects/cmat/components/select-search/default-options.ts","../../../projects/cmat/components/select-search/select-search.component.ts","../../../projects/cmat/components/select-search/select-search.component.html","../../../projects/cmat/components/select-search/cmat-components-select-search.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\r\n selector: '[cmatSelectSearchClear]',\r\n standalone: true\r\n})\nexport class CmatSelectSearchClearDirective { }\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cmatSelectNoEntriesFound]',\r\n standalone: true\r\n})\r\nexport class CmatSelectNoEntriesFoundDirective { }\r\n","import { InjectionToken } from '@angular/core';\r\nimport { CmatSelectSearchComponent } from './select-search.component';\r\n\r\n/** List of inputs of CmatSelectSearchComponent that can be configured with a global default. */\r\nexport const configurableDefaultOptions = [\r\n 'ariaLabel',\r\n 'clearSearchInput',\r\n 'disableInitialFocus',\r\n 'disableScrollToActiveOnOptionsChanged',\r\n 'enableClearOnEscapePressed',\r\n 'hideClearSearchButton',\r\n 'noEntriesFoundLabel',\r\n 'placeholderLabel',\r\n 'preventHomeEndKeyPropagation',\r\n 'searching',\r\n] as const;\r\n\r\nexport type ConfigurableDefaultOptions = typeof configurableDefaultOptions[number];\r\n\r\nexport const MAT_SELECTSEARCH_DEFAULT_OPTIONS = new InjectionToken<MatSelectSearchOptions>('mat-selectsearch-default-options');\r\n\r\n/** Global configurable options for MatSelectSearch. */\r\nexport type MatSelectSearchOptions = Readonly<Partial<Pick<CmatSelectSearchComponent, ConfigurableDefaultOptions>>>;\r\n","import {\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component, ElementRef, EventEmitter, forwardRef, Inject, Input, OnDestroy, OnInit, QueryList,\r\n ViewChild,\r\n ContentChild, Optional, HostBinding, Output, ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { ViewportRuler } from '@angular/cdk/scrolling';\r\nimport { BehaviorSubject, combineLatest, Observable, of, Subject } from 'rxjs';\r\nimport { delay, filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { CmatSelectSearchClearDirective } from './select-search-clear.directive';\r\nimport { MatOption, _countGroupLabelsBeforeOption } from '@angular/material/core';\r\nimport { MatFormField, MatFormFieldModule } from '@angular/material/form-field';\r\nimport { CmatSelectNoEntriesFoundDirective } from './select-no-entries-found.directive';\r\nimport { configurableDefaultOptions, MatSelectSearchOptions, MAT_SELECTSEARCH_DEFAULT_OPTIONS } from './default-options';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { NgClass, AsyncPipe } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nconst SELECT_PANEL_MAX_HEIGHT = 256;\r\n\r\n@Component({\r\n selector: 'cmat-select-search',\r\n templateUrl: './select-search.component.html',\r\n styleUrls: ['./select-search.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CmatSelectSearchComponent),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n exportAs: 'cmatSelectSearch',\r\n imports: [MatInputModule, NgClass, MatCheckboxModule, MatTooltipModule, MatFormFieldModule, MatIconModule,\r\n FormsModule, ReactiveFormsModule, MatProgressSpinnerModule, MatButtonModule, AsyncPipe]\r\n})\r\nexport class CmatSelectSearchComponent implements OnInit, OnDestroy, ControlValueAccessor {\r\n\r\n @Input() placeholderLabel = '查询';\r\n\r\n @Input() type = 'text';\r\n\r\n @Input() noEntriesFoundLabel = '无结果';\r\n\r\n @Input() showNoFoundLabel = true;\r\n\r\n @Input() clearSearchInput = true;\r\n\r\n @Input() searching = false;\r\n\r\n @Input() disableInitialFocus = false;\r\n\r\n @Input() enableClearOnEscapePressed = false;\r\n\r\n @Input() preventHomeEndKeyPropagation = false;\r\n\r\n @Input() disableScrollToActiveOnOptionsChanged = false;\r\n\r\n @Input() ariaLabel = '下拉查询';\r\n\r\n /** Whether to show Select All Checkbox (for mat-select[multi=true]) */\r\n @Input() showToggleAllCheckbox = false;\r\n\r\n /** select all checkbox checked state */\r\n @Input() toggleAllCheckboxChecked = false;\r\n\r\n /** select all checkbox indeterminate state */\r\n @Input() toggleAllCheckboxIndeterminate = false;\r\n\r\n @Input() toggleAllCheckboxTooltipMessage = '';\r\n\r\n @Input() toggleAllCheckboxTooltipPosition: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' = 'below';\r\n\r\n @Input() hideClearSearchButton = false;\r\n\r\n @Input() alwaysRestoreSelectedOptionsMulti = false;\r\n\r\n /** Output emitter to send to parent component with the toggle all boolean */\r\n @Output() toggleAll = new EventEmitter<boolean>();\r\n\r\n @ViewChild('searchSelectInput', { read: ElementRef, static: true }) searchSelectInput: ElementRef;\r\n\r\n @ViewChild('innerSelectSearch', { read: ElementRef, static: true }) innerSelectSearch: ElementRef;\r\n @ContentChild(CmatSelectSearchClearDirective, { static: false }) clearIcon: CmatSelectSearchClearDirective;\r\n @ContentChild(CmatSelectNoEntriesFoundDirective) noEntriesFound: CmatSelectNoEntriesFoundDirective;\r\n formControl: FormControl = new FormControl('');\r\n\r\n private _options$: BehaviorSubject<QueryList<MatOption> | null> = new BehaviorSubject<QueryList<MatOption> | null>(null);\r\n private _lastExternalInputValue?: string;\r\n\r\n private _optionsList$: Observable<MatOption[] | null> = this._options$.pipe(\r\n switchMap(_options => _options ?\r\n _options.changes.pipe(\r\n map(options => options.toArray()),\r\n startWith<MatOption[]>(_options.toArray()),\r\n ) : of(null)\r\n )\r\n );\r\n\r\n private _optionsLength$: Observable<number> = this._optionsList$.pipe(\r\n map(options => options ? options.length : 0)\r\n );\r\n\r\n private _previousSelectedValues: any[];\r\n private _onDestroy = new Subject<void>();\r\n /** Reference to active descendant for ARIA Support. */\r\n private _activeDescendant?: HTMLElement;\r\n\r\n constructor(@Inject(MatSelect) protected matSelect: MatSelect,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _viewportRuler: ViewportRuler,\r\n @Optional() @Inject(MatOption) private _matOption: MatOption | null = null,\r\n @Optional() @Inject(MatFormField) protected matFormField: MatFormField | null = null,\r\n @Optional() @Inject(MAT_SELECTSEARCH_DEFAULT_OPTIONS) private _defaultOptions?: MatSelectSearchOptions\r\n ) {\r\n this._applyDefaultOptions(this._defaultOptions);\r\n }\r\n\r\n /** whether to show the no entries found message */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n showNoEntriesFound$: Observable<boolean> = combineLatest([\r\n this.formControl.valueChanges,\r\n this._optionsLength$\r\n ]).pipe(\r\n map(([value, optionsLength]) => this.noEntriesFoundLabel && value\r\n && optionsLength === this._getOptionsLengthOffset())\r\n );\r\n\r\n @HostBinding('class.cmat-select-search-inside-mat-option')\r\n get isInsideMatOption(): boolean {\r\n return !!this._matOption;\r\n }\r\n\r\n get value(): string {\r\n return this.formControl.value;\r\n }\r\n\r\n public get _options(): QueryList<MatOption> | null {\r\n return this._options$.getValue();\r\n }\r\n public set _options(_options: QueryList<MatOption>) {\r\n this._options$.next(_options);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouched: () => any = () => { };\r\n\r\n ngOnInit(): void {\r\n const panelClass = 'cmat-select-search-panel';\r\n if (this.matSelect.panelClass) {\r\n if (Array.isArray(this.matSelect.panelClass)) {\r\n (this.matSelect.panelClass as string[]).push(panelClass);\r\n } else if (typeof this.matSelect.panelClass === 'string') {\r\n this.matSelect.panelClass = [this.matSelect.panelClass, panelClass];\r\n } else if (typeof this.matSelect.panelClass === 'object') {\r\n this.matSelect.panelClass.entries[panelClass] = true;\r\n }\r\n } else {\r\n this.matSelect.panelClass = panelClass;\r\n }\r\n\r\n if (this._matOption) {\r\n this._matOption.disabled = true;\r\n this._matOption._getHostElement().classList.add('contains-cmat-select-search');\r\n this._matOption._getHostElement().setAttribute('aria-hidden', 'true');\r\n } else {\r\n console.error('<cmat-select-search> must be placed inside a <mat-option> element');\r\n }\r\n\r\n\r\n this.matSelect.openedChange\r\n .pipe(\r\n delay(1),\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe((opened) => {\r\n if (opened) {\r\n this.updateInputWidth();\r\n if (!this.disableInitialFocus) {\r\n this.focus();\r\n }\r\n } else {\r\n if (this.clearSearchInput) {\r\n this.reset();\r\n }\r\n }\r\n });\r\n\r\n this.matSelect.openedChange\r\n .pipe(take(1))\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n if (this.matSelect._keyManager) {\r\n this.matSelect._keyManager.change.pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => this._adjustScrollTopToFitActiveOptionIntoView());\r\n } else {\r\n console.log('_keyManager was not initialized.');\r\n }\r\n\r\n this._options = this.matSelect.options;\r\n let previousFirstOption = this._options.toArray()[this._getOptionsLengthOffset()];\r\n\r\n this._options.changes\r\n .pipe(\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe(() => {\r\n // avoid \"expression has been changed\" error\r\n setTimeout(() => {\r\n if (this._options) {\r\n // Convert the QueryList to an array\r\n const options = this._options.toArray();\r\n\r\n // The true first item is offset by 1\r\n const currentFirstOption = options[this._getOptionsLengthOffset()];\r\n\r\n const keyManager = this.matSelect._keyManager;\r\n if (keyManager && this.matSelect.panelOpen) {\r\n\r\n // set first item active and input width\r\n\r\n // Check to see if the first option in these changes is different from the previous.\r\n const firstOptionIsChanged = !this.matSelect.compareWith(previousFirstOption, currentFirstOption);\r\n\r\n if (firstOptionIsChanged\r\n || !keyManager.activeItem\r\n || !options.find(option => this.matSelect.compareWith(option, keyManager.activeItem))) {\r\n keyManager.setFirstItemActive();\r\n }\r\n\r\n // wait for panel width changes\r\n setTimeout(() => {\r\n this.updateInputWidth();\r\n });\r\n\r\n if (!this.disableScrollToActiveOnOptionsChanged) {\r\n this._adjustScrollTopToFitActiveOptionIntoView();\r\n }\r\n }\r\n\r\n // Update our reference\r\n previousFirstOption = currentFirstOption;\r\n }\r\n });\r\n });\r\n });\r\n\r\n // add or remove css class depending on whether to show the no entries found message\r\n // note: this is hacky\r\n this.showNoEntriesFound$.pipe(\r\n takeUntil(this._onDestroy)\r\n ).subscribe((showNoEntriesFound) => {\r\n // set no entries found class on mat option\r\n if (this._matOption) {\r\n if (showNoEntriesFound) {\r\n this._matOption._getHostElement().classList.add('cmat-select-search-no-entries-found');\r\n } else {\r\n this._matOption._getHostElement().classList.remove('cmat-select-search-no-entries-found');\r\n }\r\n }\r\n });\r\n\r\n // resize the input width when the viewport is resized, i.e. the trigger width could potentially be resized\r\n this._viewportRuler.change()\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n if (this.matSelect.panelOpen) {\r\n this.updateInputWidth();\r\n }\r\n });\r\n\r\n this._initMultipleHandling();\r\n\r\n this._optionsList$.pipe(\r\n takeUntil(this._onDestroy)\r\n ).subscribe(() => {\r\n // update view when available options change\r\n this._changeDetectorRef.markForCheck();\r\n });\r\n }\r\n\r\n emitSelectAllBooleanToParent(state: boolean): void {\r\n this.toggleAll.emit(state);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._onDestroy.next(void 0);\r\n this._onDestroy.complete();\r\n }\r\n\r\n isToggleAllCheckboxVisible(): boolean {\r\n return this.matSelect.multiple && this.showToggleAllCheckbox;\r\n }\r\n\r\n handleKeydown(event: KeyboardEvent): void {\r\n if ((event.key && event.key.length === 1) ||\r\n (event.code === 'KeyA') || (event.code === 'KeyB') || (event.code === 'KeyC') || (event.code === 'KeyD') || (event.code === 'KeyE') || (event.code === 'KeyF')\r\n || (event.code === 'KeyG') || (event.code === 'KeyH') || (event.code === 'KeyI') || (event.code === 'KeyJ') || (event.code === 'KeyK') || (event.code === 'KeyL')\r\n || (event.code === 'KeyM') || (event.code === 'KeyN') || (event.code === 'KeyO') || (event.code === 'KeyP') || (event.code === 'KeyQ') || (event.code === 'KeyR')\r\n || (event.code === 'KeyS') || (event.code === 'KeyT') || (event.code === 'KeyU') || (event.code === 'KeyV') || (event.code === 'KeyW')\r\n || (event.code === 'KeyX') || (event.code === 'KeyY') || (event.code === 'KeyZ') || (event.code === 'Digit0') || (event.code === 'Digit1')\r\n || (event.code === 'Digit2') || (event.code === 'Digit3') || (event.code === 'Digit4') || (event.code === 'Digit5') || (event.code === 'Digit6')\r\n || (event.code === 'Digit7') || (event.code === 'Digit8') || (event.code === 'Digit9')\r\n || (event.code === 'Space')\r\n || (this.preventHomeEndKeyPropagation && (event.code === 'Home' || event.code === 'End'))\r\n ) {\r\n event.stopPropagation();\r\n }\r\n\r\n if (this.matSelect.multiple && event.key && event.code === 'Enter') {\r\n // Regain focus after multiselect, so we can further type\r\n setTimeout(() => this.focus());\r\n }\r\n\r\n // Special case if click Escape, if input is empty, close the dropdown, if not, empty out the search field\r\n if (this.enableClearOnEscapePressed === true && event.code === 'Escape' && this.value) {\r\n this.reset(true);\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n /**\r\n * Handles the key up event with MatSelect.\r\n * Allows e.g. the announcing of the currently activeDescendant by screen readers.\r\n */\r\n handleKeyup(event: KeyboardEvent): void {\r\n if (event.code === 'ArrowUp' || event.code === 'ArrowDown') {\r\n const ariaActiveDescendantId = this.matSelect._getAriaActiveDescendant();\r\n const index = this._options?.toArray().findIndex(item => item.id === ariaActiveDescendantId);\r\n if (index && index !== -1) {\r\n this._unselectActiveDescendant();\r\n this._activeDescendant = this._options?.toArray()[index]._getHostElement();\r\n this._activeDescendant?.setAttribute('aria-selected', 'true');\r\n this.searchSelectInput.nativeElement.setAttribute('aria-activedescendant', ariaActiveDescendantId);\r\n }\r\n }\r\n }\r\n\r\n writeValue(value: string): void {\r\n this._lastExternalInputValue = value;\r\n this.formControl.setValue(value);\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n onBlur(): void {\r\n this._unselectActiveDescendant();\r\n this.onTouched();\r\n }\r\n\r\n registerOnChange(fn: (value: string) => void): void {\r\n this.formControl.valueChanges.pipe(\r\n filter(value => value !== this._lastExternalInputValue),\r\n tap(() => this._lastExternalInputValue = undefined),\r\n takeUntil(this._onDestroy)\r\n ).subscribe(fn);\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public focus(): void {\r\n if (!this.searchSelectInput || !this.matSelect.panel) {\r\n return;\r\n }\r\n const panel = this.matSelect.panel.nativeElement;\r\n const scrollTop = panel.scrollTop;\r\n\r\n this.searchSelectInput.nativeElement.focus();\r\n\r\n panel.scrollTop = scrollTop;\r\n }\r\n\r\n public reset(focus?: boolean): void {\r\n this.formControl.setValue('');\r\n if (focus) {\r\n this.focus();\r\n }\r\n }\r\n\r\n public updateInputWidth(): void {\r\n if (!this.innerSelectSearch || !this.innerSelectSearch.nativeElement) {\r\n return;\r\n }\r\n const element: HTMLElement = this.innerSelectSearch.nativeElement;\r\n let panelElement: HTMLElement | void = void 0;\r\n while (element === element.parentElement) {\r\n if (element.classList.contains('mat-select-panel')) {\r\n panelElement = element;\r\n break;\r\n }\r\n }\r\n if (panelElement) {\r\n this.innerSelectSearch.nativeElement.style.width = panelElement.clientWidth + 'px';\r\n }\r\n }\r\n\r\n private _getMatOptionHeight(): number {\r\n if (this.matSelect.options.length > 0) {\r\n return this.matSelect.options.first._getHostElement().getBoundingClientRect().height;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n private _getOptionsLengthOffset(): number {\r\n if (this._matOption) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n private _unselectActiveDescendant(): void {\r\n this._activeDescendant?.removeAttribute('aria-selected');\r\n this.searchSelectInput.nativeElement.removeAttribute('aria-activedescendant');\r\n }\r\n private _applyDefaultOptions(defaultOptions?: MatSelectSearchOptions): void {\r\n if (!defaultOptions) {\r\n return;\r\n }\r\n for (const key of configurableDefaultOptions) {\r\n if (Object.prototype.hasOwnProperty.call(defaultOptions, key)) {\r\n (this[key] as any) = defaultOptions[key];\r\n }\r\n }\r\n }\r\n /*\r\n * Initializes handling <mat-select [multiple]=\"true\">\r\n * Note: to improve this code, mat-select should be extended to allow disabling resetting the selection while filtering.\r\n */\r\n private _initMultipleHandling(): void {\r\n if (!this.matSelect.ngControl) {\r\n if (this.matSelect.multiple) {\r\n // note: the access to matSelect.ngControl (instead of matSelect.value / matSelect.valueChanges)\r\n // is necessary to properly work in multi-selection mode.\r\n console.error('the mat-select containing cmat-select-search must have a ngModel or formControl directive when multiple=true');\r\n }\r\n return;\r\n }\r\n // if <mat-select [multiple]=\"true\">\r\n // store previously selected values and restore them when they are deselected\r\n // because the option is not available while we are currently filtering\r\n this._previousSelectedValues = this.matSelect.ngControl.value;\r\n\r\n this.matSelect.ngControl.valueChanges?.pipe(takeUntil(this._onDestroy))\r\n .subscribe((values) => {\r\n let restoreSelectedValues = false;\r\n if (this.matSelect.multiple) {\r\n if ((this.alwaysRestoreSelectedOptionsMulti || (this.formControl.value && this.formControl.value.length))\r\n && this._previousSelectedValues && Array.isArray(this._previousSelectedValues)) {\r\n if (!values || !Array.isArray(values)) {\r\n values = [];\r\n }\r\n const optionValues = this.matSelect.options.map(option => option.value);\r\n this._previousSelectedValues.forEach((previousValue) => {\r\n if (!values.some((v: any) => this.matSelect.compareWith(v, previousValue))\r\n && !optionValues.some(v => this.matSelect.compareWith(v, previousValue))) {\r\n // if a value that was selected before is deselected and not found in the options, it was deselected\r\n // due to the filtering, so we restore it.\r\n values.push(previousValue);\r\n restoreSelectedValues = true;\r\n }\r\n });\r\n }\r\n }\r\n this._previousSelectedValues = values;\r\n\r\n if (restoreSelectedValues) {\r\n this.matSelect._onChange(values);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Scrolls the currently active option into the view if it is not yet visible.\r\n */\r\n private _adjustScrollTopToFitActiveOptionIntoView(): void {\r\n if (this.matSelect.panel && this.matSelect.options.length > 0) {\r\n const matOptionHeight = this._getMatOptionHeight();\r\n const activeOptionIndex = this.matSelect._keyManager.activeItemIndex || 0;\r\n const labelCount = _countGroupLabelsBeforeOption(activeOptionIndex, this.matSelect.options, this.matSelect.optionGroups);\r\n // If the component is in a MatOption, the activeItemIndex will be offset by one.\r\n const indexOfOptionToFitIntoView = (this._matOption ? -1 : 0) + labelCount + activeOptionIndex;\r\n const currentScrollTop = this.matSelect.panel.nativeElement.scrollTop;\r\n\r\n const searchInputHeight = this.innerSelectSearch.nativeElement.offsetHeight;\r\n const amountOfVisibleOptions = Math.floor((SELECT_PANEL_MAX_HEIGHT - searchInputHeight) / matOptionHeight);\r\n\r\n const indexOfFirstVisibleOption = Math.round((currentScrollTop + searchInputHeight) / matOptionHeight) - 1;\r\n\r\n if (indexOfFirstVisibleOption >= indexOfOptionToFitIntoView) {\r\n this.matSelect.panel.nativeElement.scrollTop = indexOfOptionToFitIntoView * matOptionHeight;\r\n } else if (indexOfFirstVisibleOption + amountOfVisibleOptions <= indexOfOptionToFitIntoView) {\r\n this.matSelect.panel.nativeElement.scrollTop = (indexOfOptionToFitIntoView + 1) * matOptionHeight\r\n - (SELECT_PANEL_MAX_HEIGHT - searchInputHeight);\r\n }\r\n }\r\n }\r\n}\r\n","<input matInput class=\"cmat-select-search-input cmat-select-search-hidden\" />\n\n<div #innerSelectSearch class=\"cmat-select-search-inner mat-typography mat-tab-header\"\n [ngClass]=\"{'cmat-select-search-inner-multiple': matSelect.multiple, 'cmat-select-search-inner-toggle-all': isToggleAllCheckboxVisible() }\">\n\n @if (isToggleAllCheckboxVisible()) {\n <mat-checkbox [color]=\"matFormField?.color\"\n class=\"cmat-select-search-toggle-all-checkbox -mr-4\" [checked]=\"toggleAllCheckboxChecked\"\n [indeterminate]=\"toggleAllCheckboxIndeterminate\" [matTooltip]=\"toggleAllCheckboxTooltipMessage\"\n matTooltipClass=\"cmat-select-search-toggle-all-tooltip\" [matTooltipPosition]=\"toggleAllCheckboxTooltipPosition\"\n (change)=\"emitSelectAllBooleanToParent($event.checked)\">\n </mat-checkbox>\n }\n <span matPrefix class=\"flex flex-col justify-center pl-2\">\n <mat-icon class=\"cmat-select-search-icon\" color=\"primary\" svgIcon=\"heroicons_outline:magnifying-glass\"></mat-icon>\n </span>\n <input matInput class=\"cmat-select-search-input cmat-input-element\" autocomplete=\"off\" [type]=\"type\"\n [formControl]=\"formControl\" #searchSelectInput (keydown)=\"handleKeydown($event)\" (keyup)=\"handleKeyup($event)\"\n (blur)=\"onBlur()\" [placeholder]=\"placeholderLabel\" [attr.aria-label]=\"ariaLabel\" />\n @if (searching) {\n <mat-spinner class=\"cmat-select-search-spinner\" diameter=\"16\"></mat-spinner>\n }\n\n @if (!hideClearSearchButton && value && !searching) {\n <button type=\"button\" mat-icon-button aria-label=\"Clear\"\n (click)=\"reset(true)\" class=\"cmat-select-search-clear\">\n @if (clearIcon) {\n <ng-content select=\"[cmatSelectSearchClear]\"></ng-content>\n } @else {\n <mat-icon svgIcon=\"mat_outline:close\"></mat-icon>\n }\n </button>\n }\n\n <ng-content select=\".cmat-select-search-custom-header-content\"></ng-content>\n </div>\n\n @if (showNoEntriesFound$ | async) {\n <div class=\"cmat-select-search-no-entries-found\">\n @if (noEntriesFound) {\n <ng-content select=\"[cmatSelectNoEntriesFound]\"></ng-content>\n } @else {\n {{noEntriesFoundLabel}}\n }\n </div>\n }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-components-select-search.mjs","sources":["../../../projects/cmat/components/select-search/default-options.ts","../../../projects/cmat/components/select-search/select-no-entries-found.directive.ts","../../../projects/cmat/components/select-search/select-search-clear.directive.ts","../../../projects/cmat/components/select-search/select-search.component.ts","../../../projects/cmat/components/select-search/select-search.component.html","../../../projects/cmat/components/select-search/cmat-components-select-search.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { CmatSelectSearchComponent } from './select-search.component';\r\n\r\n/** List of inputs of CmatSelectSearchComponent that can be configured with a global default. */\r\nexport const configurableDefaultOptions = [\r\n 'ariaLabel',\r\n 'clearSearchInput',\r\n 'disableInitialFocus',\r\n 'disableScrollToActiveOnOptionsChanged',\r\n 'enableClearOnEscapePressed',\r\n 'hideClearSearchButton',\r\n 'noEntriesFoundLabel',\r\n 'placeholderLabel',\r\n 'preventHomeEndKeyPropagation',\r\n 'searching',\r\n] as const;\r\n\r\nexport type ConfigurableDefaultOptions = typeof configurableDefaultOptions[number];\r\n\r\nexport const MAT_SELECTSEARCH_DEFAULT_OPTIONS = new InjectionToken<MatSelectSearchOptions>('mat-selectsearch-default-options');\r\n\r\n/** Global configurable options for MatSelectSearch. */\r\nexport type MatSelectSearchOptions = Readonly<Partial<Pick<CmatSelectSearchComponent, ConfigurableDefaultOptions>>>;\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cmatSelectNoEntriesFound]',\r\n standalone: true\r\n})\r\nexport class CmatSelectNoEntriesFoundDirective { }\r\n","import { Directive } from '@angular/core';\n\n@Directive({\r\n selector: '[cmatSelectSearchClear]',\r\n standalone: true\r\n})\nexport class CmatSelectSearchClearDirective { }\n","import { ViewportRuler } from '@angular/cdk/scrolling';\r\nimport { NgClass, AsyncPipe } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component, ElementRef, EventEmitter, forwardRef, Inject, Input, OnDestroy, OnInit, QueryList,\r\n ViewChild,\r\n ContentChild, Optional, HostBinding, Output, ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatOption, _countGroupLabelsBeforeOption } from '@angular/material/core';\r\nimport { MatFormField, MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { BehaviorSubject, combineLatest, Observable, of, Subject } from 'rxjs';\r\nimport { delay, filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators';\r\nimport { configurableDefaultOptions, MatSelectSearchOptions, MAT_SELECTSEARCH_DEFAULT_OPTIONS } from './default-options';\r\nimport { CmatSelectNoEntriesFoundDirective } from './select-no-entries-found.directive';\r\nimport { CmatSelectSearchClearDirective } from './select-search-clear.directive';\r\n\r\nconst SELECT_PANEL_MAX_HEIGHT = 256;\r\n\r\n@Component({\r\n selector: 'cmat-select-search',\r\n templateUrl: './select-search.component.html',\r\n styleUrls: ['./select-search.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CmatSelectSearchComponent),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n exportAs: 'cmatSelectSearch',\r\n imports: [MatInputModule, NgClass, MatCheckboxModule, MatTooltipModule, MatFormFieldModule, MatIconModule,\r\n FormsModule, ReactiveFormsModule, MatProgressSpinnerModule, MatButtonModule, AsyncPipe]\r\n})\r\nexport class CmatSelectSearchComponent implements OnInit, OnDestroy, ControlValueAccessor {\r\n\r\n @Input() placeholderLabel = '查询';\r\n\r\n @Input() type = 'text';\r\n\r\n @Input() noEntriesFoundLabel = '无结果';\r\n\r\n @Input() showNoFoundLabel = true;\r\n\r\n @Input() clearSearchInput = true;\r\n\r\n @Input() searching = false;\r\n\r\n @Input() disableInitialFocus = false;\r\n\r\n @Input() enableClearOnEscapePressed = false;\r\n\r\n @Input() preventHomeEndKeyPropagation = false;\r\n\r\n @Input() disableScrollToActiveOnOptionsChanged = false;\r\n\r\n @Input() ariaLabel = '下拉查询';\r\n\r\n /** Whether to show Select All Checkbox (for mat-select[multi=true]) */\r\n @Input() showToggleAllCheckbox = false;\r\n\r\n /** select all checkbox checked state */\r\n @Input() toggleAllCheckboxChecked = false;\r\n\r\n /** select all checkbox indeterminate state */\r\n @Input() toggleAllCheckboxIndeterminate = false;\r\n\r\n @Input() toggleAllCheckboxTooltipMessage = '';\r\n\r\n @Input() toggleAllCheckboxTooltipPosition: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' = 'below';\r\n\r\n @Input() hideClearSearchButton = false;\r\n\r\n @Input() alwaysRestoreSelectedOptionsMulti = false;\r\n\r\n /** Output emitter to send to parent component with the toggle all boolean */\r\n @Output() toggleAll = new EventEmitter<boolean>();\r\n\r\n @ViewChild('searchSelectInput', { read: ElementRef, static: true }) searchSelectInput: ElementRef;\r\n\r\n @ViewChild('innerSelectSearch', { read: ElementRef, static: true }) innerSelectSearch: ElementRef;\r\n @ContentChild(CmatSelectSearchClearDirective, { static: false }) clearIcon: CmatSelectSearchClearDirective;\r\n @ContentChild(CmatSelectNoEntriesFoundDirective) noEntriesFound: CmatSelectNoEntriesFoundDirective;\r\n formControl: FormControl = new FormControl('');\r\n\r\n private _options$: BehaviorSubject<QueryList<MatOption> | null> = new BehaviorSubject<QueryList<MatOption> | null>(null);\r\n private _lastExternalInputValue?: string;\r\n\r\n private _optionsList$: Observable<MatOption[] | null> = this._options$.pipe(\r\n switchMap(_options => _options ?\r\n _options.changes.pipe(\r\n map(options => options.toArray()),\r\n startWith<MatOption[]>(_options.toArray()),\r\n ) : of(null)\r\n )\r\n );\r\n\r\n private _optionsLength$: Observable<number> = this._optionsList$.pipe(\r\n map(options => options ? options.length : 0)\r\n );\r\n\r\n private _previousSelectedValues: any[];\r\n private _onDestroy = new Subject<void>();\r\n /** Reference to active descendant for ARIA Support. */\r\n private _activeDescendant?: HTMLElement;\r\n\r\n constructor(@Inject(MatSelect) protected matSelect: MatSelect,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _viewportRuler: ViewportRuler,\r\n @Optional() @Inject(MatOption) private _matOption: MatOption | null = null,\r\n @Optional() @Inject(MatFormField) protected matFormField: MatFormField | null = null,\r\n @Optional() @Inject(MAT_SELECTSEARCH_DEFAULT_OPTIONS) private _defaultOptions?: MatSelectSearchOptions\r\n ) {\r\n this._applyDefaultOptions(this._defaultOptions);\r\n }\r\n\r\n /** whether to show the no entries found message */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n showNoEntriesFound$: Observable<boolean> = combineLatest([\r\n this.formControl.valueChanges,\r\n this._optionsLength$\r\n ]).pipe(\r\n map(([value, optionsLength]) => this.noEntriesFoundLabel && value\r\n && optionsLength === this._getOptionsLengthOffset())\r\n );\r\n\r\n @HostBinding('class.cmat-select-search-inside-mat-option')\r\n get isInsideMatOption(): boolean {\r\n return !!this._matOption;\r\n }\r\n\r\n get value(): string {\r\n return this.formControl.value;\r\n }\r\n\r\n public get _options(): QueryList<MatOption> | null {\r\n return this._options$.getValue();\r\n }\r\n public set _options(_options: QueryList<MatOption>) {\r\n this._options$.next(_options);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouched: () => any = () => { };\r\n\r\n ngOnInit(): void {\r\n const panelClass = 'cmat-select-search-panel';\r\n if (this.matSelect.panelClass) {\r\n if (Array.isArray(this.matSelect.panelClass)) {\r\n (this.matSelect.panelClass as string[]).push(panelClass);\r\n } else if (typeof this.matSelect.panelClass === 'string') {\r\n this.matSelect.panelClass = [this.matSelect.panelClass, panelClass];\r\n } else if (typeof this.matSelect.panelClass === 'object') {\r\n this.matSelect.panelClass.entries[panelClass] = true;\r\n }\r\n } else {\r\n this.matSelect.panelClass = panelClass;\r\n }\r\n\r\n if (this._matOption) {\r\n this._matOption.disabled = true;\r\n this._matOption._getHostElement().classList.add('contains-cmat-select-search');\r\n this._matOption._getHostElement().setAttribute('aria-hidden', 'true');\r\n } else {\r\n console.error('<cmat-select-search> must be placed inside a <mat-option> element');\r\n }\r\n\r\n\r\n this.matSelect.openedChange\r\n .pipe(\r\n delay(1),\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe((opened) => {\r\n if (opened) {\r\n this.updateInputWidth();\r\n if (!this.disableInitialFocus) {\r\n this.focus();\r\n }\r\n } else {\r\n if (this.clearSearchInput) {\r\n this.reset();\r\n }\r\n }\r\n });\r\n\r\n this.matSelect.openedChange\r\n .pipe(take(1))\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n if (this.matSelect._keyManager) {\r\n this.matSelect._keyManager.change.pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => this._adjustScrollTopToFitActiveOptionIntoView());\r\n } else {\r\n console.log('_keyManager was not initialized.');\r\n }\r\n\r\n this._options = this.matSelect.options;\r\n let previousFirstOption = this._options.toArray()[this._getOptionsLengthOffset()];\r\n\r\n this._options.changes\r\n .pipe(\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe(() => {\r\n // avoid \"expression has been changed\" error\r\n setTimeout(() => {\r\n if (this._options) {\r\n // Convert the QueryList to an array\r\n const options = this._options.toArray();\r\n\r\n // The true first item is offset by 1\r\n const currentFirstOption = options[this._getOptionsLengthOffset()];\r\n\r\n const keyManager = this.matSelect._keyManager;\r\n if (keyManager && this.matSelect.panelOpen) {\r\n\r\n // set first item active and input width\r\n\r\n // Check to see if the first option in these changes is different from the previous.\r\n const firstOptionIsChanged = !this.matSelect.compareWith(previousFirstOption, currentFirstOption);\r\n\r\n if (firstOptionIsChanged\r\n || !keyManager.activeItem\r\n || !options.find(option => this.matSelect.compareWith(option, keyManager.activeItem))) {\r\n keyManager.setFirstItemActive();\r\n }\r\n\r\n // wait for panel width changes\r\n setTimeout(() => {\r\n this.updateInputWidth();\r\n });\r\n\r\n if (!this.disableScrollToActiveOnOptionsChanged) {\r\n this._adjustScrollTopToFitActiveOptionIntoView();\r\n }\r\n }\r\n\r\n // Update our reference\r\n previousFirstOption = currentFirstOption;\r\n }\r\n });\r\n });\r\n });\r\n\r\n // add or remove css class depending on whether to show the no entries found message\r\n // note: this is hacky\r\n this.showNoEntriesFound$.pipe(\r\n takeUntil(this._onDestroy)\r\n ).subscribe((showNoEntriesFound) => {\r\n // set no entries found class on mat option\r\n if (this._matOption) {\r\n if (showNoEntriesFound) {\r\n this._matOption._getHostElement().classList.add('cmat-select-search-no-entries-found');\r\n } else {\r\n this._matOption._getHostElement().classList.remove('cmat-select-search-no-entries-found');\r\n }\r\n }\r\n });\r\n\r\n // resize the input width when the viewport is resized, i.e. the trigger width could potentially be resized\r\n this._viewportRuler.change()\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n if (this.matSelect.panelOpen) {\r\n this.updateInputWidth();\r\n }\r\n });\r\n\r\n this._initMultipleHandling();\r\n\r\n this._optionsList$.pipe(\r\n takeUntil(this._onDestroy)\r\n ).subscribe(() => {\r\n // update view when available options change\r\n this._changeDetectorRef.markForCheck();\r\n });\r\n }\r\n\r\n emitSelectAllBooleanToParent(state: boolean): void {\r\n this.toggleAll.emit(state);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._onDestroy.next(void 0);\r\n this._onDestroy.complete();\r\n }\r\n\r\n isToggleAllCheckboxVisible(): boolean {\r\n return this.matSelect.multiple && this.showToggleAllCheckbox;\r\n }\r\n\r\n handleKeydown(event: KeyboardEvent): void {\r\n if ((event.key && event.key.length === 1) ||\r\n (event.code === 'KeyA') || (event.code === 'KeyB') || (event.code === 'KeyC') || (event.code === 'KeyD') || (event.code === 'KeyE') || (event.code === 'KeyF')\r\n || (event.code === 'KeyG') || (event.code === 'KeyH') || (event.code === 'KeyI') || (event.code === 'KeyJ') || (event.code === 'KeyK') || (event.code === 'KeyL')\r\n || (event.code === 'KeyM') || (event.code === 'KeyN') || (event.code === 'KeyO') || (event.code === 'KeyP') || (event.code === 'KeyQ') || (event.code === 'KeyR')\r\n || (event.code === 'KeyS') || (event.code === 'KeyT') || (event.code === 'KeyU') || (event.code === 'KeyV') || (event.code === 'KeyW')\r\n || (event.code === 'KeyX') || (event.code === 'KeyY') || (event.code === 'KeyZ') || (event.code === 'Digit0') || (event.code === 'Digit1')\r\n || (event.code === 'Digit2') || (event.code === 'Digit3') || (event.code === 'Digit4') || (event.code === 'Digit5') || (event.code === 'Digit6')\r\n || (event.code === 'Digit7') || (event.code === 'Digit8') || (event.code === 'Digit9')\r\n || (event.code === 'Space')\r\n || (this.preventHomeEndKeyPropagation && (event.code === 'Home' || event.code === 'End'))\r\n ) {\r\n event.stopPropagation();\r\n }\r\n\r\n if (this.matSelect.multiple && event.key && event.code === 'Enter') {\r\n // Regain focus after multiselect, so we can further type\r\n setTimeout(() => this.focus());\r\n }\r\n\r\n // Special case if click Escape, if input is empty, close the dropdown, if not, empty out the search field\r\n if (this.enableClearOnEscapePressed === true && event.code === 'Escape' && this.value) {\r\n this.reset(true);\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n /**\r\n * Handles the key up event with MatSelect.\r\n * Allows e.g. the announcing of the currently activeDescendant by screen readers.\r\n */\r\n handleKeyup(event: KeyboardEvent): void {\r\n if (event.code === 'ArrowUp' || event.code === 'ArrowDown') {\r\n const ariaActiveDescendantId = this.matSelect._getAriaActiveDescendant();\r\n const index = this._options?.toArray().findIndex(item => item.id === ariaActiveDescendantId);\r\n if (index && index !== -1) {\r\n this._unselectActiveDescendant();\r\n this._activeDescendant = this._options?.toArray()[index]._getHostElement();\r\n this._activeDescendant?.setAttribute('aria-selected', 'true');\r\n this.searchSelectInput.nativeElement.setAttribute('aria-activedescendant', ariaActiveDescendantId);\r\n }\r\n }\r\n }\r\n\r\n writeValue(value: string): void {\r\n this._lastExternalInputValue = value;\r\n this.formControl.setValue(value);\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n onBlur(): void {\r\n this._unselectActiveDescendant();\r\n this.onTouched();\r\n }\r\n\r\n registerOnChange(fn: (value: string) => void): void {\r\n this.formControl.valueChanges.pipe(\r\n filter(value => value !== this._lastExternalInputValue),\r\n tap(() => this._lastExternalInputValue = undefined),\r\n takeUntil(this._onDestroy)\r\n ).subscribe(fn);\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public focus(): void {\r\n if (!this.searchSelectInput || !this.matSelect.panel) {\r\n return;\r\n }\r\n const panel = this.matSelect.panel.nativeElement;\r\n const scrollTop = panel.scrollTop;\r\n\r\n this.searchSelectInput.nativeElement.focus();\r\n\r\n panel.scrollTop = scrollTop;\r\n }\r\n\r\n public reset(focus?: boolean): void {\r\n this.formControl.setValue('');\r\n if (focus) {\r\n this.focus();\r\n }\r\n }\r\n\r\n public updateInputWidth(): void {\r\n if (!this.innerSelectSearch || !this.innerSelectSearch.nativeElement) {\r\n return;\r\n }\r\n const element: HTMLElement = this.innerSelectSearch.nativeElement;\r\n let panelElement: HTMLElement | void = void 0;\r\n while (element === element.parentElement) {\r\n if (element.classList.contains('mat-select-panel')) {\r\n panelElement = element;\r\n break;\r\n }\r\n }\r\n if (panelElement) {\r\n this.innerSelectSearch.nativeElement.style.width = panelElement.clientWidth + 'px';\r\n }\r\n }\r\n\r\n private _getMatOptionHeight(): number {\r\n if (this.matSelect.options.length > 0) {\r\n return this.matSelect.options.first._getHostElement().getBoundingClientRect().height;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n private _getOptionsLengthOffset(): number {\r\n if (this._matOption) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n private _unselectActiveDescendant(): void {\r\n this._activeDescendant?.removeAttribute('aria-selected');\r\n this.searchSelectInput.nativeElement.removeAttribute('aria-activedescendant');\r\n }\r\n private _applyDefaultOptions(defaultOptions?: MatSelectSearchOptions): void {\r\n if (!defaultOptions) {\r\n return;\r\n }\r\n for (const key of configurableDefaultOptions) {\r\n if (Object.prototype.hasOwnProperty.call(defaultOptions, key)) {\r\n (this[key] as any) = defaultOptions[key];\r\n }\r\n }\r\n }\r\n /*\r\n * Initializes handling <mat-select [multiple]=\"true\">\r\n * Note: to improve this code, mat-select should be extended to allow disabling resetting the selection while filtering.\r\n */\r\n private _initMultipleHandling(): void {\r\n if (!this.matSelect.ngControl) {\r\n if (this.matSelect.multiple) {\r\n // note: the access to matSelect.ngControl (instead of matSelect.value / matSelect.valueChanges)\r\n // is necessary to properly work in multi-selection mode.\r\n console.error('the mat-select containing cmat-select-search must have a ngModel or formControl directive when multiple=true');\r\n }\r\n return;\r\n }\r\n // if <mat-select [multiple]=\"true\">\r\n // store previously selected values and restore them when they are deselected\r\n // because the option is not available while we are currently filtering\r\n this._previousSelectedValues = this.matSelect.ngControl.value;\r\n\r\n this.matSelect.ngControl.valueChanges?.pipe(takeUntil(this._onDestroy))\r\n .subscribe((values) => {\r\n let restoreSelectedValues = false;\r\n if (this.matSelect.multiple) {\r\n if ((this.alwaysRestoreSelectedOptionsMulti || (this.formControl.value && this.formControl.value.length))\r\n && this._previousSelectedValues && Array.isArray(this._previousSelectedValues)) {\r\n if (!values || !Array.isArray(values)) {\r\n values = [];\r\n }\r\n const optionValues = this.matSelect.options.map(option => option.value);\r\n this._previousSelectedValues.forEach((previousValue) => {\r\n if (!values.some((v: any) => this.matSelect.compareWith(v, previousValue))\r\n && !optionValues.some(v => this.matSelect.compareWith(v, previousValue))) {\r\n // if a value that was selected before is deselected and not found in the options, it was deselected\r\n // due to the filtering, so we restore it.\r\n values.push(previousValue);\r\n restoreSelectedValues = true;\r\n }\r\n });\r\n }\r\n }\r\n this._previousSelectedValues = values;\r\n\r\n if (restoreSelectedValues) {\r\n this.matSelect._onChange(values);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Scrolls the currently active option into the view if it is not yet visible.\r\n */\r\n private _adjustScrollTopToFitActiveOptionIntoView(): void {\r\n if (this.matSelect.panel && this.matSelect.options.length > 0) {\r\n const matOptionHeight = this._getMatOptionHeight();\r\n const activeOptionIndex = this.matSelect._keyManager.activeItemIndex || 0;\r\n const labelCount = _countGroupLabelsBeforeOption(activeOptionIndex, this.matSelect.options, this.matSelect.optionGroups);\r\n // If the component is in a MatOption, the activeItemIndex will be offset by one.\r\n const indexOfOptionToFitIntoView = (this._matOption ? -1 : 0) + labelCount + activeOptionIndex;\r\n const currentScrollTop = this.matSelect.panel.nativeElement.scrollTop;\r\n\r\n const searchInputHeight = this.innerSelectSearch.nativeElement.offsetHeight;\r\n const amountOfVisibleOptions = Math.floor((SELECT_PANEL_MAX_HEIGHT - searchInputHeight) / matOptionHeight);\r\n\r\n const indexOfFirstVisibleOption = Math.round((currentScrollTop + searchInputHeight) / matOptionHeight) - 1;\r\n\r\n if (indexOfFirstVisibleOption >= indexOfOptionToFitIntoView) {\r\n this.matSelect.panel.nativeElement.scrollTop = indexOfOptionToFitIntoView * matOptionHeight;\r\n } else if (indexOfFirstVisibleOption + amountOfVisibleOptions <= indexOfOptionToFitIntoView) {\r\n this.matSelect.panel.nativeElement.scrollTop = (indexOfOptionToFitIntoView + 1) * matOptionHeight\r\n - (SELECT_PANEL_MAX_HEIGHT - searchInputHeight);\r\n }\r\n }\r\n }\r\n}\r\n","<input matInput class=\"cmat-select-search-input cmat-select-search-hidden\" />\n\n<div #innerSelectSearch class=\"cmat-select-search-inner mat-typography mat-tab-header\"\n [ngClass]=\"{'cmat-select-search-inner-multiple': matSelect.multiple, 'cmat-select-search-inner-toggle-all': isToggleAllCheckboxVisible() }\">\n\n @if (isToggleAllCheckboxVisible()) {\n <mat-checkbox [color]=\"matFormField?.color\"\n class=\"cmat-select-search-toggle-all-checkbox -mr-4\" [checked]=\"toggleAllCheckboxChecked\"\n [indeterminate]=\"toggleAllCheckboxIndeterminate\" [matTooltip]=\"toggleAllCheckboxTooltipMessage\"\n matTooltipClass=\"cmat-select-search-toggle-all-tooltip\" [matTooltipPosition]=\"toggleAllCheckboxTooltipPosition\"\n (change)=\"emitSelectAllBooleanToParent($event.checked)\">\n </mat-checkbox>\n }\n <span matPrefix class=\"flex flex-col justify-center pl-2\">\n <mat-icon class=\"cmat-select-search-icon\" color=\"primary\" svgIcon=\"heroicons_outline:magnifying-glass\"></mat-icon>\n </span>\n <input matInput class=\"cmat-select-search-input cmat-input-element\" autocomplete=\"off\" [type]=\"type\"\n [formControl]=\"formControl\" #searchSelectInput (keydown)=\"handleKeydown($event)\" (keyup)=\"handleKeyup($event)\"\n (blur)=\"onBlur()\" [placeholder]=\"placeholderLabel\" [attr.aria-label]=\"ariaLabel\" />\n @if (searching) {\n <mat-spinner class=\"cmat-select-search-spinner\" diameter=\"16\"></mat-spinner>\n }\n\n @if (!hideClearSearchButton && value && !searching) {\n <button type=\"button\" mat-icon-button aria-label=\"Clear\"\n (click)=\"reset(true)\" class=\"cmat-select-search-clear\">\n @if (clearIcon) {\n <ng-content select=\"[cmatSelectSearchClear]\"></ng-content>\n } @else {\n <mat-icon svgIcon=\"mat_outline:close\"></mat-icon>\n }\n </button>\n }\n\n <ng-content select=\".cmat-select-search-custom-header-content\"></ng-content>\n </div>\n\n @if (showNoEntriesFound$ | async) {\n <div class=\"cmat-select-search-no-entries-found\">\n @if (noEntriesFound) {\n <ng-content select=\"[cmatSelectNoEntriesFound]\"></ng-content>\n } @else {\n {{noEntriesFoundLabel}}\n }\n </div>\n }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}