@ng-matero/extensions 18.4.1 → 19.0.1

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 (286) hide show
  1. package/_index.scss +3 -1
  2. package/alert/_alert-theme.scss +19 -8
  3. package/alert/alert.d.ts +1 -2
  4. package/button/button-loading.d.ts +1 -2
  5. package/checkbox-group/checkbox-group.d.ts +12 -4
  6. package/colorpicker/_colorpicker-theme.scss +19 -8
  7. package/colorpicker/colorpicker-input.d.ts +1 -3
  8. package/colorpicker/colorpicker-toggle.d.ts +3 -3
  9. package/colorpicker/colorpicker.d.ts +4 -7
  10. package/column-resize/column-resize-directives/column-resize-flex.d.ts +2 -1
  11. package/column-resize/column-resize-directives/column-resize.d.ts +2 -1
  12. package/column-resize/column-resize-notifier.d.ts +0 -1
  13. package/column-resize/column-resize.d.ts +1 -1
  14. package/column-resize/event-dispatcher.d.ts +0 -9
  15. package/column-resize/overlay-handle.d.ts +1 -1
  16. package/column-resize/resizable.d.ts +1 -1
  17. package/column-resize/resize-strategy.d.ts +4 -4
  18. package/core/datetime/datetime-adapter.d.ts +1 -2
  19. package/core/datetime/native-datetime-adapter.d.ts +3 -3
  20. package/core/style/_button-common.scss +18 -0
  21. package/core/theming/_config-validation.scss +4 -4
  22. package/core/theming/_definition.scss +12 -2
  23. package/core/theming/prebuilt/azure-blue.scss +10 -22
  24. package/core/theming/prebuilt/cyan-orange.scss +10 -22
  25. package/core/theming/prebuilt/magenta-violet.scss +10 -22
  26. package/core/theming/prebuilt/rose-red.scss +10 -22
  27. package/core/tokens/_m3-system.scss +273 -0
  28. package/core/tokens/_m3-tokens.scss +8 -151
  29. package/core/tokens/_token-utils.scss +102 -43
  30. package/core/tokens/m2/_index.scss +2 -0
  31. package/core/tokens/m3/definitions/_index.scss +1 -0
  32. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +51 -0
  33. package/core/tokens/m3/index.scss +2 -0
  34. package/core/tokens/m3/mdc/_plain-tooltip.scss +15 -0
  35. package/core/tokens/m3/mtx/_alert.scss +14 -14
  36. package/core/tokens/m3/mtx/_colorpicker.scss +2 -2
  37. package/core/tokens/m3/mtx/_datetimepicker.scss +2 -2
  38. package/core/tokens/m3/mtx/_drawer.scss +2 -2
  39. package/core/tokens/m3/mtx/_grid.scss +2 -2
  40. package/core/tokens/m3/mtx/_loader.scss +2 -2
  41. package/core/tokens/m3/mtx/_popover.scss +2 -2
  42. package/core/tokens/m3/mtx/_progress.scss +2 -2
  43. package/core/tokens/m3/mtx/_select.scss +2 -2
  44. package/core/tokens/m3/mtx/_split.scss +2 -2
  45. package/datetimepicker/_datetimepicker-theme.scss +23 -10
  46. package/datetimepicker/calendar-body.d.ts +26 -4
  47. package/datetimepicker/calendar-body.scss +58 -9
  48. package/datetimepicker/calendar.d.ts +31 -31
  49. package/datetimepicker/clock.d.ts +11 -5
  50. package/datetimepicker/datetimepicker-actions.d.ts +9 -5
  51. package/datetimepicker/datetimepicker-content.scss +15 -0
  52. package/datetimepicker/datetimepicker-input.d.ts +4 -5
  53. package/datetimepicker/datetimepicker-module.d.ts +2 -2
  54. package/datetimepicker/datetimepicker-toggle.d.ts +4 -3
  55. package/datetimepicker/datetimepicker.d.ts +12 -8
  56. package/datetimepicker/month-view.d.ts +22 -7
  57. package/datetimepicker/multi-year-view.d.ts +20 -20
  58. package/datetimepicker/public-api.d.ts +2 -2
  59. package/datetimepicker/{time.d.ts → time-view.d.ts} +21 -9
  60. package/datetimepicker/{time.scss → time-view.scss} +1 -1
  61. package/datetimepicker/year-view.d.ts +21 -11
  62. package/dialog/dialog-container.d.ts +1 -2
  63. package/dialog/dialog.d.ts +0 -1
  64. package/drawer/_drawer-theme.scss +19 -8
  65. package/drawer/drawer-container.d.ts +2 -5
  66. package/drawer/drawer.d.ts +3 -5
  67. package/fesm2022/mtxAlert.mjs +15 -15
  68. package/fesm2022/mtxAlert.mjs.map +1 -1
  69. package/fesm2022/mtxButton.mjs +13 -14
  70. package/fesm2022/mtxButton.mjs.map +1 -1
  71. package/fesm2022/mtxCheckboxGroup.mjs +51 -31
  72. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  73. package/fesm2022/mtxColorpicker.mjs +91 -109
  74. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  75. package/fesm2022/mtxColumnResize.mjs +79 -96
  76. package/fesm2022/mtxColumnResize.mjs.map +1 -1
  77. package/fesm2022/mtxCore.mjs +31 -36
  78. package/fesm2022/mtxCore.mjs.map +1 -1
  79. package/fesm2022/mtxDatetimepicker.mjs +1181 -1093
  80. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  81. package/fesm2022/mtxDialog.mjs +30 -41
  82. package/fesm2022/mtxDialog.mjs.map +1 -1
  83. package/fesm2022/mtxDrawer.mjs +36 -52
  84. package/fesm2022/mtxDrawer.mjs.map +1 -1
  85. package/fesm2022/mtxGrid.mjs +168 -204
  86. package/fesm2022/mtxGrid.mjs.map +1 -1
  87. package/fesm2022/mtxLoader.mjs +12 -12
  88. package/fesm2022/mtxLoader.mjs.map +1 -1
  89. package/fesm2022/mtxPhotoviewer.mjs +11 -12
  90. package/fesm2022/mtxPhotoviewer.mjs.map +1 -1
  91. package/fesm2022/mtxPopover.mjs +106 -119
  92. package/fesm2022/mtxPopover.mjs.map +1 -1
  93. package/fesm2022/mtxProgress.mjs +8 -8
  94. package/fesm2022/mtxProgress.mjs.map +1 -1
  95. package/fesm2022/mtxSelect.mjs +157 -169
  96. package/fesm2022/mtxSelect.mjs.map +1 -1
  97. package/fesm2022/mtxSplit.mjs +39 -40
  98. package/fesm2022/mtxSplit.mjs.map +1 -1
  99. package/fesm2022/mtxTooltip.mjs +105 -91
  100. package/fesm2022/mtxTooltip.mjs.map +1 -1
  101. package/grid/_grid-theme.scss +23 -10
  102. package/grid/cell.d.ts +1 -4
  103. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -1
  104. package/grid/column-resize/column-resize-directives/column-resize.d.ts +0 -1
  105. package/grid/column-resize/overlay-handle.d.ts +1 -2
  106. package/grid/column-resize/resizable-directives/resizable.d.ts +2 -3
  107. package/grid/column-resize/resize-strategy.d.ts +2 -4
  108. package/grid/grid-pipes.d.ts +0 -2
  109. package/grid/grid.d.ts +5 -5
  110. package/grid/grid.scss +5 -6
  111. package/loader/_loader-theme.scss +19 -8
  112. package/loader/loader.d.ts +0 -2
  113. package/package.json +11 -47
  114. package/photoviewer/photoviewer.d.ts +1 -2
  115. package/popover/_popover-theme.scss +19 -8
  116. package/popover/popover-content.d.ts +1 -1
  117. package/popover/popover-target.d.ts +1 -2
  118. package/popover/popover-trigger.d.ts +5 -6
  119. package/popover/popover.d.ts +1 -2
  120. package/prebuilt-themes/azure-blue.css +1 -1
  121. package/prebuilt-themes/cyan-orange.css +1 -1
  122. package/prebuilt-themes/deeppurple-amber.css +1 -1
  123. package/prebuilt-themes/indigo-pink.css +1 -1
  124. package/prebuilt-themes/magenta-violet.css +1 -1
  125. package/prebuilt-themes/pink-bluegrey.css +1 -1
  126. package/prebuilt-themes/purple-green.css +1 -1
  127. package/prebuilt-themes/rose-red.css +1 -1
  128. package/progress/_progress-theme.scss +23 -10
  129. package/select/_select-theme.scss +23 -10
  130. package/select/option.d.ts +0 -1
  131. package/select/select-intl.d.ts +2 -4
  132. package/select/select.d.ts +8 -7
  133. package/select/select.scss +3 -3
  134. package/select/templates.d.ts +0 -12
  135. package/split/_split-theme.scss +19 -8
  136. package/split/split-pane.d.ts +3 -4
  137. package/split/split.d.ts +4 -4
  138. package/split/split.scss +1 -1
  139. package/tooltip/_tooltip-theme.scss +11 -4
  140. package/tooltip/tooltip.d.ts +17 -9
  141. package/tooltip/tooltip.scss +8 -3
  142. package/esm2022/alert/alert-module.mjs +0 -17
  143. package/esm2022/alert/alert.mjs +0 -46
  144. package/esm2022/alert/mtxAlert.mjs +0 -5
  145. package/esm2022/alert/public-api.mjs +0 -3
  146. package/esm2022/button/button-loading.mjs +0 -66
  147. package/esm2022/button/button-module.mjs +0 -19
  148. package/esm2022/button/mtxButton.mjs +0 -5
  149. package/esm2022/button/public-api.mjs +0 -3
  150. package/esm2022/checkbox-group/checkbox-group-module.mjs +0 -20
  151. package/esm2022/checkbox-group/checkbox-group.mjs +0 -222
  152. package/esm2022/checkbox-group/interfaces.mjs +0 -2
  153. package/esm2022/checkbox-group/mtxCheckboxGroup.mjs +0 -5
  154. package/esm2022/checkbox-group/public-api.mjs +0 -4
  155. package/esm2022/colorpicker/colorpicker-animations.mjs +0 -16
  156. package/esm2022/colorpicker/colorpicker-input.mjs +0 -228
  157. package/esm2022/colorpicker/colorpicker-module.mjs +0 -64
  158. package/esm2022/colorpicker/colorpicker-toggle.mjs +0 -102
  159. package/esm2022/colorpicker/colorpicker.mjs +0 -363
  160. package/esm2022/colorpicker/mtxColorpicker.mjs +0 -5
  161. package/esm2022/colorpicker/public-api.mjs +0 -6
  162. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +0 -40
  163. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +0 -40
  164. package/esm2022/column-resize/column-resize-directives/constants.mjs +0 -21
  165. package/esm2022/column-resize/column-resize-module.mjs +0 -28
  166. package/esm2022/column-resize/column-resize-notifier.mjs +0 -52
  167. package/esm2022/column-resize/column-resize.mjs +0 -82
  168. package/esm2022/column-resize/column-size-store.mjs +0 -20
  169. package/esm2022/column-resize/event-dispatcher.mjs +0 -70
  170. package/esm2022/column-resize/mtxColumnResize.mjs +0 -5
  171. package/esm2022/column-resize/overlay-handle.mjs +0 -146
  172. package/esm2022/column-resize/polyfill.mjs +0 -19
  173. package/esm2022/column-resize/public-api.mjs +0 -13
  174. package/esm2022/column-resize/resizable.mjs +0 -199
  175. package/esm2022/column-resize/resize-ref.mjs +0 -17
  176. package/esm2022/column-resize/resize-strategy.mjs +0 -238
  177. package/esm2022/column-resize/selectors.mjs +0 -13
  178. package/esm2022/core/datetime/datetime-adapter.mjs +0 -132
  179. package/esm2022/core/datetime/datetime-formats.mjs +0 -3
  180. package/esm2022/core/datetime/datetime.module.mjs +0 -38
  181. package/esm2022/core/datetime/index.mjs +0 -6
  182. package/esm2022/core/datetime/native-datetime-adapter.mjs +0 -138
  183. package/esm2022/core/datetime/native-datetime-formats.mjs +0 -20
  184. package/esm2022/core/mtxCore.mjs +0 -5
  185. package/esm2022/core/pipes/index.mjs +0 -4
  186. package/esm2022/core/pipes/is-template-ref.pipe.mjs +0 -14
  187. package/esm2022/core/pipes/pipes.module.mjs +0 -18
  188. package/esm2022/core/pipes/to-observable.pipe.mjs +0 -15
  189. package/esm2022/core/public-api.mjs +0 -3
  190. package/esm2022/datetimepicker/calendar-body.mjs +0 -77
  191. package/esm2022/datetimepicker/calendar.mjs +0 -661
  192. package/esm2022/datetimepicker/clock.mjs +0 -362
  193. package/esm2022/datetimepicker/datetimepicker-actions.mjs +0 -88
  194. package/esm2022/datetimepicker/datetimepicker-animations.mjs +0 -44
  195. package/esm2022/datetimepicker/datetimepicker-errors.mjs +0 -8
  196. package/esm2022/datetimepicker/datetimepicker-filtertype.mjs +0 -7
  197. package/esm2022/datetimepicker/datetimepicker-input.mjs +0 -349
  198. package/esm2022/datetimepicker/datetimepicker-intl.mjs +0 -63
  199. package/esm2022/datetimepicker/datetimepicker-module.mjs +0 -116
  200. package/esm2022/datetimepicker/datetimepicker-toggle.mjs +0 -105
  201. package/esm2022/datetimepicker/datetimepicker-types.mjs +0 -2
  202. package/esm2022/datetimepicker/datetimepicker.mjs +0 -580
  203. package/esm2022/datetimepicker/month-view.mjs +0 -148
  204. package/esm2022/datetimepicker/mtxDatetimepicker.mjs +0 -5
  205. package/esm2022/datetimepicker/multi-year-view.mjs +0 -215
  206. package/esm2022/datetimepicker/public-api.mjs +0 -17
  207. package/esm2022/datetimepicker/time.mjs +0 -470
  208. package/esm2022/datetimepicker/year-view.mjs +0 -139
  209. package/esm2022/dialog/dialog-config.mjs +0 -2
  210. package/esm2022/dialog/dialog-container.mjs +0 -43
  211. package/esm2022/dialog/dialog-module.mjs +0 -40
  212. package/esm2022/dialog/dialog.mjs +0 -75
  213. package/esm2022/dialog/mtxDialog.mjs +0 -5
  214. package/esm2022/dialog/public-api.mjs +0 -5
  215. package/esm2022/drawer/drawer-animations.mjs +0 -18
  216. package/esm2022/drawer/drawer-config.mjs +0 -35
  217. package/esm2022/drawer/drawer-container.mjs +0 -88
  218. package/esm2022/drawer/drawer-module.mjs +0 -21
  219. package/esm2022/drawer/drawer-ref.mjs +0 -99
  220. package/esm2022/drawer/drawer.mjs +0 -144
  221. package/esm2022/drawer/mtxDrawer.mjs +0 -5
  222. package/esm2022/drawer/public-api.mjs +0 -7
  223. package/esm2022/grid/cell.mjs +0 -132
  224. package/esm2022/grid/column-menu.mjs +0 -133
  225. package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +0 -38
  226. package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +0 -38
  227. package/esm2022/grid/column-resize/column-resize-directives/common.mjs +0 -27
  228. package/esm2022/grid/column-resize/column-resize-module.mjs +0 -42
  229. package/esm2022/grid/column-resize/index.mjs +0 -8
  230. package/esm2022/grid/column-resize/overlay-handle.mjs +0 -66
  231. package/esm2022/grid/column-resize/resizable-directives/common.mjs +0 -29
  232. package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +0 -64
  233. package/esm2022/grid/column-resize/resize-strategy.mjs +0 -47
  234. package/esm2022/grid/expansion-toggle.mjs +0 -65
  235. package/esm2022/grid/grid-module.mjs +0 -151
  236. package/esm2022/grid/grid-pipes.mjs +0 -129
  237. package/esm2022/grid/grid-utils.mjs +0 -56
  238. package/esm2022/grid/grid.mjs +0 -644
  239. package/esm2022/grid/interfaces.mjs +0 -2
  240. package/esm2022/grid/mtxGrid.mjs +0 -5
  241. package/esm2022/grid/public-api.mjs +0 -18
  242. package/esm2022/grid/selectable-cell.mjs +0 -53
  243. package/esm2022/loader/loader-module.mjs +0 -19
  244. package/esm2022/loader/loader.mjs +0 -57
  245. package/esm2022/loader/mtxLoader.mjs +0 -5
  246. package/esm2022/loader/public-api.mjs +0 -3
  247. package/esm2022/ng-matero-extensions.mjs +0 -5
  248. package/esm2022/photoviewer/mtxPhotoviewer.mjs +0 -5
  249. package/esm2022/photoviewer/photoviewer-module.mjs +0 -16
  250. package/esm2022/photoviewer/photoviewer.mjs +0 -64
  251. package/esm2022/photoviewer/public-api.mjs +0 -3
  252. package/esm2022/popover/mtxPopover.mjs +0 -5
  253. package/esm2022/popover/popover-animations.mjs +0 -25
  254. package/esm2022/popover/popover-content.mjs +0 -91
  255. package/esm2022/popover/popover-errors.mjs +0 -27
  256. package/esm2022/popover/popover-interfaces.mjs +0 -2
  257. package/esm2022/popover/popover-module.mjs +0 -39
  258. package/esm2022/popover/popover-target.mjs +0 -18
  259. package/esm2022/popover/popover-trigger.mjs +0 -480
  260. package/esm2022/popover/popover-types.mjs +0 -2
  261. package/esm2022/popover/popover.mjs +0 -325
  262. package/esm2022/popover/public-api.mjs +0 -9
  263. package/esm2022/progress/mtxProgress.mjs +0 -5
  264. package/esm2022/progress/progress-module.mjs +0 -17
  265. package/esm2022/progress/progress.mjs +0 -43
  266. package/esm2022/progress/public-api.mjs +0 -3
  267. package/esm2022/public-api.mjs +0 -5
  268. package/esm2022/select/mtxSelect.mjs +0 -5
  269. package/esm2022/select/option.mjs +0 -52
  270. package/esm2022/select/public-api.mjs +0 -6
  271. package/esm2022/select/select-intl.mjs +0 -32
  272. package/esm2022/select/select-module.mjs +0 -89
  273. package/esm2022/select/select.mjs +0 -611
  274. package/esm2022/select/templates.mjs +0 -135
  275. package/esm2022/split/interfaces.mjs +0 -2
  276. package/esm2022/split/mtxSplit.mjs +0 -5
  277. package/esm2022/split/public-api.mjs +0 -6
  278. package/esm2022/split/split-module.mjs +0 -18
  279. package/esm2022/split/split-pane.mjs +0 -161
  280. package/esm2022/split/split.mjs +0 -634
  281. package/esm2022/split/utils.mjs +0 -219
  282. package/esm2022/tooltip/mtxTooltip.mjs +0 -5
  283. package/esm2022/tooltip/public-api.mjs +0 -4
  284. package/esm2022/tooltip/tooltip-animations.mjs +0 -17
  285. package/esm2022/tooltip/tooltip-module.mjs +0 -41
  286. package/esm2022/tooltip/tooltip.mjs +0 -915
@@ -1 +1 @@
1
- {"version":3,"file":"mtxSelect.mjs","sources":["../../../projects/extensions/select/option.ts","../../../projects/extensions/select/templates.ts","../../../projects/extensions/select/select-intl.ts","../../../projects/extensions/select/select.ts","../../../projects/extensions/select/select.html","../../../projects/extensions/select/select-module.ts","../../../projects/extensions/select/mtxSelect.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n booleanAttribute,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'mtx-option',\n exportAs: 'mtxOption',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`,\n standalone: true,\n})\nexport class MtxOption implements OnChanges, AfterViewChecked, OnDestroy {\n @Input() value: any;\n\n @Input({ transform: booleanAttribute }) disabled = false;\n\n get label() {\n return (this.elementRef.nativeElement.textContent || '').trim();\n }\n private _previousLabel?: string;\n\n readonly stateChange$ = new Subject<{\n value: any;\n disabled: boolean;\n label?: string;\n }>();\n\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this.disabled,\n });\n }\n }\n\n ngAfterViewChecked() {\n if (this.label !== this._previousLabel) {\n this._previousLabel = this.label;\n this.stateChange$.next({\n value: this.value,\n disabled: this.disabled,\n label: this.elementRef.nativeElement.innerHTML,\n });\n }\n }\n\n ngOnDestroy() {\n this.stateChange$.complete();\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[ng-option-tmp]', standalone: true })\nexport class MtxSelectOptionTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-optgroup-tmp]', standalone: true })\nexport class MtxSelectOptgroupTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-label-tmp]', standalone: true })\nexport class MtxSelectLabelTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-multi-label-tmp]', standalone: true })\nexport class MtxSelectMultiLabelTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-header-tmp]', standalone: true })\nexport class MtxSelectHeaderTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-footer-tmp]', standalone: true })\nexport class MtxSelectFooterTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-notfound-tmp]', standalone: true })\nexport class MtxSelectNotFoundTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-typetosearch-tmp]', standalone: true })\nexport class MtxSelectTypeToSearchTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-loadingtext-tmp]', standalone: true })\nexport class MtxSelectLoadingTextTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-tag-tmp]', standalone: true })\nexport class MtxSelectTagTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-loadingspinner-tmp]', standalone: true })\nexport class MtxSelectLoadingSpinnerTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n\n@Directive({ selector: '[ng-placeholder-tmp]', standalone: true })\nexport class MtxSelectPlaceholderTemplate {\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { MTX_SELECT_DEFAULT_OPTIONS, MtxSelectDefaultOptions } from './select';\n\n@Injectable({ providedIn: 'root' })\nexport class MtxSelectIntl {\n constructor(\n @Optional()\n @Inject(MTX_SELECT_DEFAULT_OPTIONS)\n private _defaultOptions?: MtxSelectDefaultOptions\n ) {}\n\n /**\n * Stream to emit from when labels are changed. Use this to notify components when the labels have\n * changed after initialization.\n */\n readonly changes = new Subject<void>();\n\n placeholder = this._defaultOptions?.placeholder;\n notFoundText = this._defaultOptions?.notFoundText ?? 'No items found';\n typeToSearchText = this._defaultOptions?.typeToSearchText ?? 'Type to search';\n addTagText = this._defaultOptions?.addTagText ?? 'Add item';\n loadingText = this._defaultOptions?.loadingText ?? 'Loading...';\n clearAllText = this._defaultOptions?.clearAllText ?? 'Clear all';\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Self,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormGroupDirective,\n FormsModule,\n NgControl,\n NgForm,\n Validators,\n} from '@angular/forms';\nimport { ErrorStateMatcher, _ErrorStateTracker } from '@angular/material/core';\nimport { MAT_FORM_FIELD, MatFormField, MatFormFieldControl } from '@angular/material/form-field';\nimport { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { MtxOption } from './option';\nimport { MtxSelectIntl } from './select-intl';\nimport {\n MtxSelectFooterTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectLabelTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectPlaceholderTemplate,\n MtxSelectTagTemplate,\n MtxSelectTypeToSearchTemplate,\n} from './templates';\n\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AddTagFn = (term: string) => any;\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (\n key: string | Record<string, any>,\n children: any[]\n) => string | Record<string, any>;\nexport type SearchFn = (term: string, item: any) => boolean;\nexport type TrackByFn = (item: any) => any;\n\n/**\n * Represents the default options for the select that can be configured\n * using the `MTX_SELECT_DEFAULT_OPTIONS` injection token.\n */\nexport interface MtxSelectDefaultOptions {\n placeholder?: string;\n notFoundText?: string;\n typeToSearchText?: string;\n addTagText?: string;\n loadingText?: string;\n clearAllText?: string;\n appendTo?: string;\n bindValue?: string;\n bindLabel?: string;\n openOnEnter?: boolean;\n clearSearchOnAdd?: boolean;\n virtualScroll?: boolean;\n fixedPlaceholder?: boolean;\n deselectOnClick?: boolean;\n}\n\n/** Injection token that can be used to specify default select options. */\nexport const MTX_SELECT_DEFAULT_OPTIONS = new InjectionToken<MtxSelectDefaultOptions>(\n 'mtx-select-default-options'\n);\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'mtx-select',\n exportAs: 'mtxSelect',\n host: {\n 'role': 'combobox',\n 'aria-autocomplete': 'none',\n '[attr.id]': 'id',\n '[attr.aria-expanded]': 'panelOpen',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.aria-labelledby]': '_getAriaLabelledby()',\n '[attr.aria-describedby]': '_ariaDescribedby || null',\n '[attr.aria-required]': 'required.toString()',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.aria-invalid]': 'errorState',\n '[class.mtx-select-floating]': 'shouldLabelFloat',\n '[class.mtx-select-disabled]': 'disabled',\n '[class.mtx-select-invalid]': 'errorState',\n '[class.mtx-select-required]': 'required',\n '[class.mtx-select-empty]': 'empty',\n '[class.mtx-select-multiple]': 'multiple',\n 'class': 'mtx-select',\n },\n templateUrl: './select.html',\n styleUrl: './select.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MatFormFieldControl, useExisting: MtxSelect }],\n standalone: true,\n imports: [NgSelectModule, FormsModule, NgTemplateOutlet],\n})\nexport class MtxSelect\n implements\n OnInit,\n OnDestroy,\n DoCheck,\n AfterViewInit,\n ControlValueAccessor,\n MatFormFieldControl<any>\n{\n @ViewChild('ngSelect', { static: true }) ngSelect!: NgSelectComponent;\n\n @ContentChild(MtxSelectOptionTemplate, { read: TemplateRef })\n optionTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectOptgroupTemplate, { read: TemplateRef })\n optgroupTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLabelTemplate, { read: TemplateRef })\n labelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectMultiLabelTemplate, { read: TemplateRef })\n multiLabelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectHeaderTemplate, { read: TemplateRef })\n headerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectFooterTemplate, { read: TemplateRef })\n footerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectNotFoundTemplate, { read: TemplateRef })\n notFoundTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTypeToSearchTemplate, { read: TemplateRef })\n typeToSearchTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingTextTemplate, { read: TemplateRef })\n loadingTextTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTagTemplate, { read: TemplateRef })\n tagTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingSpinnerTemplate, { read: TemplateRef })\n loadingSpinnerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectPlaceholderTemplate, { read: TemplateRef })\n placeholderTemplate!: TemplateRef<any>;\n\n @ContentChildren(MtxOption, { descendants: true })\n mtxOptions!: QueryList<MtxOption>;\n\n @Input() addTag: boolean | AddTagFn = false;\n @Input() addTagText?: string;\n @Input() appearance = 'underline';\n @Input() appendTo = this._defaultOptions?.appendTo ?? 'body';\n @Input() bindLabel = this._defaultOptions?.bindLabel;\n @Input() bindValue = this._defaultOptions?.bindValue;\n @Input({ transform: booleanAttribute }) closeOnSelect = true;\n @Input() clearAllText?: string;\n @Input({ transform: booleanAttribute }) clearable = true;\n @Input({ transform: booleanAttribute }) clearOnBackspace = true;\n @Input() compareWith!: CompareWithFn;\n @Input() dropdownPosition: DropdownPosition = 'auto';\n @Input() groupBy!: string | ((value: any) => any);\n @Input() groupValue!: GroupValueFn;\n @Input() bufferAmount = 4;\n @Input({ transform: booleanAttribute }) selectableGroup = false;\n @Input({ transform: booleanAttribute }) selectableGroupAsModel = true;\n @Input({ transform: booleanAttribute }) hideSelected = false;\n @Input({ transform: booleanAttribute }) loading = false;\n @Input() loadingText?: string;\n @Input() labelForId: string | null = null;\n @Input({ transform: booleanAttribute }) markFirst = true;\n @Input() maxSelectedItems!: number;\n @Input({ transform: booleanAttribute }) multiple = false;\n @Input() notFoundText?: string;\n @Input({ transform: booleanAttribute }) searchable = true;\n @Input({ transform: booleanAttribute }) readonly = false;\n @Input() searchFn: SearchFn | null = null;\n @Input({ transform: booleanAttribute }) searchWhileComposing = true;\n @Input({ transform: booleanAttribute }) selectOnTab = false;\n @Input() trackByFn: TrackByFn | null = null;\n @Input() inputAttrs: { [key: string]: string } = {};\n @Input() tabIndex!: number;\n @Input({ transform: booleanAttribute }) openOnEnter = this._defaultOptions?.openOnEnter ?? true;\n @Input() minTermLength = 0;\n @Input({ transform: booleanAttribute }) editableSearchTerm = false;\n @Input() keyDownFn = (_: KeyboardEvent) => true;\n @Input({ transform: booleanAttribute }) virtualScroll =\n this._defaultOptions?.virtualScroll ?? false;\n @Input() typeToSearchText?: string;\n @Input() typeahead!: Subject<string>;\n @Input() isOpen?: boolean;\n @Input({ transform: booleanAttribute }) fixedPlaceholder =\n this._defaultOptions?.fixedPlaceholder ?? false;\n @Input({ transform: booleanAttribute }) deselectOnClick =\n this._defaultOptions?.deselectOnClick ?? false;\n\n @Output('blur') blurEvent = new EventEmitter();\n @Output('focus') focusEvent = new EventEmitter();\n @Output('change') changeEvent = new EventEmitter();\n @Output('open') openEvent = new EventEmitter();\n @Output('close') closeEvent = new EventEmitter();\n @Output('search') searchEvent = new EventEmitter<{ term: string; items: any[] }>();\n @Output('clear') clearEvent = new EventEmitter();\n @Output('add') addEvent = new EventEmitter();\n @Output('remove') removeEvent = new EventEmitter();\n @Output('scroll') scroll = new EventEmitter<{ start: number; end: number }>();\n @Output('scrollToEnd') scrollToEnd = new EventEmitter();\n\n @Input()\n get clearSearchOnAdd() {\n return this._clearSearchOnAdd ?? this.closeOnSelect;\n }\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n }\n private _clearSearchOnAdd = this._defaultOptions?.clearSearchOnAdd;\n\n @Input()\n get items() {\n return this._items;\n }\n set items(value: any[]) {\n this._itemsAreUsed = true;\n this._items = value;\n }\n private _items: any[] = [];\n private _itemsAreUsed = false;\n\n /** Emits whenever the component is destroyed. */\n private readonly _destroy$ = new Subject<void>();\n\n /** Value of the select control. */\n @Input()\n get value(): any {\n return this._value;\n }\n set value(newValue: any) {\n const hasAssigned = this._assignValue(newValue);\n\n if (hasAssigned) {\n this._onChange(newValue);\n }\n }\n private _value = null;\n\n /** Implemented as part of MatFormFieldControl. */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /** Unique id of the element. */\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value || this._uid;\n this.stateChanges.next();\n }\n private _id!: string;\n\n /** Unique id for this select. */\n private _uid = `mtx-select-${nextUniqueId++}`;\n\n /** Placeholder to be shown if value is empty. */\n @Input()\n get placeholder(): string {\n return this._placeholder!;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n private _placeholder!: string;\n\n /** Whether the select is focused. */\n get focused(): boolean {\n return this._focused;\n }\n private _focused = false;\n\n /** Whether the select has a value. */\n get empty(): boolean {\n return this.value == null || (Array.isArray(this.value) && this.value.length === 0);\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n /** Whether the select is disabled. */\n @Input({ transform: booleanAttribute })\n disabled: boolean = false;\n\n /** Whether the component is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;\n }\n set required(value: boolean) {\n this._required = value;\n this.stateChanges.next();\n }\n private _required: boolean | undefined;\n\n /** Object used to control when error messages are shown. */\n @Input()\n get errorStateMatcher() {\n return this._errorStateTracker.matcher;\n }\n set errorStateMatcher(value: ErrorStateMatcher) {\n this._errorStateTracker.matcher = value;\n }\n\n /** Aria label of the select. */\n @Input('aria-label') ariaLabel: string = '';\n\n /** Input that can be used to specify the `aria-labelledby` attribute. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** The aria-describedby attribute on the select for improved a11y. */\n _ariaDescribedby: string | null = null;\n\n /** A name for this control that can be used by `mat-form-field`. */\n controlType = 'mtx-select';\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when select has been touched` */\n _onTouched = () => {};\n\n /** ID for the DOM node containing the select's value. */\n _valueId = `mtx-select-value-${nextUniqueId++}`;\n\n /** Whether or not the overlay panel is open. */\n get panelOpen(): boolean {\n return !!this.ngSelect.isOpen;\n }\n\n /**\n * Keeps track of the previous form control assigned to the select.\n * Used to detect if it has changed.\n */\n private _previousControl: AbstractControl | null | undefined;\n\n /** Tracks the error state of the select. */\n private _errorStateTracker: _ErrorStateTracker;\n\n /** Whether the select is in an error state. */\n get errorState() {\n return this._errorStateTracker.errorState;\n }\n set errorState(value: boolean) {\n this._errorStateTracker.errorState = value;\n }\n\n private _intlChangesSubscription = Subscription.EMPTY;\n\n constructor(\n protected _intl: MtxSelectIntl,\n protected _changeDetectorRef: ChangeDetectorRef,\n protected _elementRef: ElementRef,\n protected _focusMonitor: FocusMonitor,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() @Inject(MAT_FORM_FIELD) protected _parentFormField?: MatFormField,\n @Optional()\n @Inject(MTX_SELECT_DEFAULT_OPTIONS)\n protected _defaultOptions?: MtxSelectDefaultOptions\n ) {\n this._intlChangesSubscription = this._intl.changes.subscribe(() => {\n this._changeDetectorRef.detectChanges();\n });\n\n _focusMonitor.monitor(this._elementRef, true).subscribe(origin => {\n if (this._focused && !origin) {\n this._onTouched();\n }\n this._focused = !!origin;\n this.stateChanges.next();\n });\n\n if (this.ngControl) {\n // Note: we provide the value accessor through here, instead of\n // the `providers` to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n this._errorStateTracker = new _ErrorStateTracker(\n defaultErrorStateMatcher,\n ngControl,\n parentFormGroup,\n parentForm,\n this.stateChanges\n );\n\n // Force setter to be called in case id was not specified.\n // eslint-disable-next-line no-self-assign\n this.id = this.id;\n }\n\n ngOnInit() {\n // Fix compareWith warning of undefined value\n // https://github.com/ng-select/ng-select/issues/1537\n if (this.compareWith) {\n this.ngSelect.compareWith = this.compareWith;\n }\n }\n\n ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this.ngSelect.escapeHTML = false;\n this._setItemsFromMtxOptions();\n }\n }\n\n ngDoCheck(): void {\n const ngControl = this.ngControl;\n if (this.ngControl) {\n // The disabled state might go out of sync if the form group is swapped out. See #17860.\n if (this._previousControl !== ngControl.control) {\n if (\n this._previousControl !== undefined &&\n ngControl.disabled !== null &&\n ngControl.disabled !== this.disabled\n ) {\n this.disabled = ngControl.disabled;\n }\n\n this._previousControl = ngControl.control;\n }\n\n this.updateErrorState();\n }\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._intlChangesSubscription.unsubscribe();\n }\n\n /** Gets the value for the `aria-labelledby` attribute of the inputs. */\n _getAriaLabelledby() {\n if (this.ariaLabel) {\n return null;\n }\n\n const labelId = this._parentFormField?.getLabelId();\n let value = (labelId ? labelId + ' ' : '') + this._valueId;\n\n if (this.ariaLabelledby) {\n value += ' ' + this.ariaLabelledby;\n }\n\n return value;\n }\n\n /** Implemented as part of MatFormFieldControl. */\n setDescribedByIds(ids: string[]) {\n this._ariaDescribedby = ids.length ? ids.join(' ') : null;\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n\n /** Implemented as part of MatFormFieldControl. */\n onContainerClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (/mat-mdc-form-field|mtx-select/g.test(target.parentElement?.classList[0] || '')) {\n this.focus();\n this.open();\n }\n }\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n this._assignValue(value);\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** Refreshes the error state of the select. */\n updateErrorState() {\n this._errorStateTracker.updateErrorState();\n }\n\n /** Assigns a specific value to the select. Returns whether the value has changed. */\n private _assignValue(newValue: any | any[]): boolean {\n // Always re-assign an array, because it might have been mutated.\n if (newValue !== this._value || (this.multiple && Array.isArray(newValue))) {\n this._value = newValue;\n this._changeDetectorRef.markForCheck();\n return true;\n }\n return false;\n }\n\n /** NgSelect's `_setItemsFromNgOptions` */\n private _setItemsFromMtxOptions() {\n const mapMtxOptions = (options: QueryList<MtxOption>) => {\n this.items = options.map(option => ({\n $ngOptionValue: option.value,\n $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n disabled: option.disabled,\n }));\n this.ngSelect.itemsList.setItems(this.items);\n if (this.ngSelect.hasValue) {\n this.ngSelect.itemsList.mapSelectedItems();\n }\n this.ngSelect.detectChanges();\n };\n\n const handleOptionChange = () => {\n const changedOrDestroyed = merge(this.mtxOptions.changes, this._destroy$);\n merge(...this.mtxOptions.map(option => option.stateChange$))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(option => {\n const item = this.ngSelect.itemsList.findItem(option.value);\n item.disabled = option.disabled;\n item.label = option.label || item.label;\n this.ngSelect.detectChanges();\n });\n };\n\n this.mtxOptions.changes\n .pipe(startWith(this.mtxOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n mapMtxOptions(options);\n handleOptionChange();\n });\n }\n\n open() {\n this.ngSelect.open();\n }\n\n close() {\n this.ngSelect.close();\n }\n\n focus() {\n this.ngSelect.focus();\n }\n\n blur() {\n this.ngSelect.blur();\n }\n\n openChange() {\n this.openEvent.emit();\n\n // TODO: The ng-select has no `panelClass` prop, so we can add the theme color by the following way.\n setTimeout(() => {\n const dropdownEl = document.getElementById(this.ngSelect.dropdownId);\n dropdownEl?.classList.add('mat-' + this._parentFormField?.color);\n });\n }\n}\n","<ng-select #ngSelect\n [class.ng-select-invalid]=\"errorState\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder || _intl.placeholder!\"\n [items]=\"items\"\n [addTag]=\"addTag\"\n [addTagText]=\"addTagText || _intl.addTagText\"\n [appendTo]=\"appendTo\"\n [appearance]=\"appearance\"\n [bindLabel]=\"bindLabel!\"\n [bindValue]=\"bindValue!\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearAllText]=\"clearAllText || _intl.clearAllText\"\n [clearable]=\"clearable\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [hideSelected]=\"hideSelected\"\n [isOpen]=\"isOpen\"\n [inputAttrs]=\"inputAttrs\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText || _intl.loadingText\"\n [labelForId]=\"labelForId\"\n [markFirst]=\"markFirst\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [multiple]=\"multiple\"\n [notFoundText]=\"notFoundText || _intl.notFoundText\"\n [readonly]=\"readonly || disabled\"\n [typeahead]=\"typeahead\"\n [typeToSearchText]=\"typeToSearchText || _intl.typeToSearchText\"\n [trackByFn]=\"trackByFn\"\n [searchable]=\"searchable\"\n [searchFn]=\"searchFn\"\n [searchWhileComposing]=\"searchWhileComposing\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [selectOnTab]=\"selectOnTab\"\n [tabIndex]=\"tabIndex\"\n [openOnEnter]=\"openOnEnter\"\n [minTermLength]=\"minTermLength\"\n [editableSearchTerm]=\"editableSearchTerm\"\n [keyDownFn]=\"keyDownFn\"\n [virtualScroll]=\"virtualScroll\"\n [fixedPlaceholder]=\"fixedPlaceholder\"\n [deselectOnClick]=\"deselectOnClick\"\n (blur)=\"blurEvent.emit($event)\"\n (focus)=\"focusEvent.emit($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openChange()\"\n (close)=\"closeEvent.emit()\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scroll.emit($event)\"\n (scrollToEnd)=\"scrollToEnd.emit()\">\n\n @if (optionTemplate) {\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (optgroupTemplate) {\n <ng-template ng-optgroup-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optgroupTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (labelTemplate) {\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" let-label=\"label\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, clear: clear, label: label }\">\n </ng-template>\n </ng-template>\n }\n\n @if (multiLabelTemplate) {\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template [ngTemplateOutlet]=\"multiLabelTemplate\"\n [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-template>\n </ng-template>\n }\n\n @if (headerTemplate) {\n <ng-template ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (footerTemplate) {\n <ng-template ng-footer-tmp>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (notFoundTemplate) {\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"notFoundTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (typeToSearchTemplate) {\n <ng-template ng-typetosearch-tmp>\n <ng-template [ngTemplateOutlet]=\"typeToSearchTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (loadingTextTemplate) {\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"loadingTextTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (tagTemplate) {\n <ng-template ng-tag-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"tagTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (loadingSpinnerTemplate) {\n <ng-template ng-loadingspinner-tmp>\n <ng-template [ngTemplateOutlet]=\"loadingSpinnerTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (placeholderTemplate) {\n <ng-template ng-placeholder-tmp>\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate\"></ng-template>\n </ng-template>\n }\n\n</ng-select>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { MtxSelect } from './select';\nimport {\n MtxSelectFooterTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectLabelTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectPlaceholderTemplate,\n MtxSelectTagTemplate,\n MtxSelectTypeToSearchTemplate,\n} from './templates';\nimport { MtxOption } from './option';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n MtxSelect,\n MtxOption,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectLabelTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectFooterTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectTypeToSearchTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectTagTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectPlaceholderTemplate,\n ],\n exports: [\n MtxSelect,\n MtxOption,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectLabelTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectFooterTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectTypeToSearchTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectTagTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectPlaceholderTemplate,\n ],\n})\nexport class MtxSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.MtxSelectIntl"],"mappings":"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"}
1
+ {"version":3,"file":"mtxSelect.mjs","sources":["../../../projects/extensions/select/option.ts","../../../projects/extensions/select/select-intl.ts","../../../projects/extensions/select/templates.ts","../../../projects/extensions/select/select.ts","../../../projects/extensions/select/select.html","../../../projects/extensions/select/select-module.ts","../../../projects/extensions/select/mtxSelect.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'mtx-option',\n exportAs: 'mtxOption',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-content></ng-content>\n `,\n})\nexport class MtxOption implements OnChanges, AfterViewChecked, OnDestroy {\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @Input() value: any;\n\n @Input({ transform: booleanAttribute }) disabled = false;\n\n get label() {\n return (this.elementRef.nativeElement.textContent || '').trim();\n }\n private _previousLabel?: string;\n\n readonly stateChange$ = new Subject<{\n value: any;\n disabled: boolean;\n label?: string;\n }>();\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this.disabled,\n });\n }\n }\n\n ngAfterViewChecked() {\n if (this.label !== this._previousLabel) {\n this._previousLabel = this.label;\n this.stateChange$.next({\n value: this.value,\n disabled: this.disabled,\n label: this.elementRef.nativeElement.innerHTML,\n });\n }\n }\n\n ngOnDestroy() {\n this.stateChange$.complete();\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { MTX_SELECT_DEFAULT_OPTIONS, MtxSelectDefaultOptions } from './select';\n\n@Injectable({ providedIn: 'root' })\nexport class MtxSelectIntl {\n private _defaultOptions = inject<MtxSelectDefaultOptions>(MTX_SELECT_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n /**\n * Stream to emit from when labels are changed. Use this to notify components when the labels have\n * changed after initialization.\n */\n readonly changes = new Subject<void>();\n\n placeholder = this._defaultOptions?.placeholder;\n notFoundText = this._defaultOptions?.notFoundText ?? 'No items found';\n typeToSearchText = this._defaultOptions?.typeToSearchText ?? 'Type to search';\n addTagText = this._defaultOptions?.addTagText ?? 'Add item';\n loadingText = this._defaultOptions?.loadingText ?? 'Loading...';\n clearAllText = this._defaultOptions?.clearAllText ?? 'Clear all';\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({ selector: '[ng-option-tmp]' })\nexport class MtxSelectOptionTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-optgroup-tmp]' })\nexport class MtxSelectOptgroupTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-label-tmp]' })\nexport class MtxSelectLabelTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-multi-label-tmp]' })\nexport class MtxSelectMultiLabelTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-header-tmp]' })\nexport class MtxSelectHeaderTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-footer-tmp]' })\nexport class MtxSelectFooterTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-notfound-tmp]' })\nexport class MtxSelectNotFoundTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-typetosearch-tmp]' })\nexport class MtxSelectTypeToSearchTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-loadingtext-tmp]' })\nexport class MtxSelectLoadingTextTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-tag-tmp]' })\nexport class MtxSelectTagTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-loadingspinner-tmp]' })\nexport class MtxSelectLoadingSpinnerTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({ selector: '[ng-placeholder-tmp]' })\nexport class MtxSelectPlaceholderTemplate {\n template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormGroupDirective,\n FormsModule,\n NgControl,\n NgForm,\n Validators,\n} from '@angular/forms';\nimport { ErrorStateMatcher, _ErrorStateTracker } from '@angular/material/core';\nimport { MAT_FORM_FIELD, MatFormField, MatFormFieldControl } from '@angular/material/form-field';\nimport { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { MtxOption } from './option';\nimport { MtxSelectIntl } from './select-intl';\nimport {\n MtxSelectFooterTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectLabelTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectPlaceholderTemplate,\n MtxSelectTagTemplate,\n MtxSelectTypeToSearchTemplate,\n} from './templates';\n\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AddTagFn = (term: string) => any;\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (\n key: string | Record<string, any>,\n children: any[]\n) => string | Record<string, any>;\nexport type SearchFn = (term: string, item: any) => boolean;\nexport type TrackByFn = (item: any) => any;\n\n/**\n * Represents the default options for the select that can be configured\n * using the `MTX_SELECT_DEFAULT_OPTIONS` injection token.\n */\nexport interface MtxSelectDefaultOptions {\n placeholder?: string;\n notFoundText?: string;\n typeToSearchText?: string;\n addTagText?: string;\n loadingText?: string;\n clearAllText?: string;\n appendTo?: string;\n bindValue?: string;\n bindLabel?: string;\n openOnEnter?: boolean;\n clearSearchOnAdd?: boolean;\n virtualScroll?: boolean;\n fixedPlaceholder?: boolean;\n deselectOnClick?: boolean;\n}\n\n/** Injection token that can be used to specify default select options. */\nexport const MTX_SELECT_DEFAULT_OPTIONS = new InjectionToken<MtxSelectDefaultOptions>(\n 'mtx-select-default-options'\n);\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'mtx-select',\n exportAs: 'mtxSelect',\n host: {\n 'role': 'combobox',\n 'aria-autocomplete': 'none',\n '[attr.id]': 'id',\n '[attr.aria-expanded]': 'panelOpen',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.aria-labelledby]': '_getAriaLabelledby()',\n '[attr.aria-describedby]': '_ariaDescribedby || null',\n '[attr.aria-required]': 'required.toString()',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.aria-invalid]': 'errorState',\n '[class.mtx-select-floating]': 'shouldLabelFloat',\n '[class.mtx-select-disabled]': 'disabled',\n '[class.mtx-select-invalid]': 'errorState',\n '[class.mtx-select-required]': 'required',\n '[class.mtx-select-empty]': 'empty',\n '[class.mtx-select-multiple]': 'multiple',\n 'class': 'mtx-select',\n },\n templateUrl: './select.html',\n styleUrl: './select.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MatFormFieldControl, useExisting: MtxSelect }],\n imports: [NgSelectModule, FormsModule, NgTemplateOutlet],\n})\nexport class MtxSelect\n implements\n OnInit,\n OnDestroy,\n DoCheck,\n AfterViewInit,\n ControlValueAccessor,\n MatFormFieldControl<any>\n{\n protected _intl = inject(MtxSelectIntl);\n protected _changeDetectorRef = inject(ChangeDetectorRef);\n protected _elementRef = inject(ElementRef);\n protected _focusMonitor = inject(FocusMonitor);\n ngControl = inject(NgControl, { optional: true, self: true });\n protected _parentFormField? = inject<MatFormField>(MAT_FORM_FIELD, { optional: true });\n protected _defaultOptions? = inject<MtxSelectDefaultOptions>(MTX_SELECT_DEFAULT_OPTIONS, {\n optional: true,\n });\n private _document = inject(DOCUMENT);\n\n @ViewChild('ngSelect', { static: true }) ngSelect!: NgSelectComponent;\n\n @ContentChild(MtxSelectOptionTemplate, { read: TemplateRef })\n optionTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectOptgroupTemplate, { read: TemplateRef })\n optgroupTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLabelTemplate, { read: TemplateRef })\n labelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectMultiLabelTemplate, { read: TemplateRef })\n multiLabelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectHeaderTemplate, { read: TemplateRef })\n headerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectFooterTemplate, { read: TemplateRef })\n footerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectNotFoundTemplate, { read: TemplateRef })\n notFoundTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTypeToSearchTemplate, { read: TemplateRef })\n typeToSearchTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingTextTemplate, { read: TemplateRef })\n loadingTextTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTagTemplate, { read: TemplateRef })\n tagTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingSpinnerTemplate, { read: TemplateRef })\n loadingSpinnerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectPlaceholderTemplate, { read: TemplateRef })\n placeholderTemplate!: TemplateRef<any>;\n\n @ContentChildren(MtxOption, { descendants: true })\n mtxOptions!: QueryList<MtxOption>;\n\n @Input() addTag: boolean | AddTagFn = false;\n @Input() addTagText?: string;\n @Input() appearance = 'underline';\n @Input() appendTo = this._defaultOptions?.appendTo ?? 'body';\n @Input() bindLabel = this._defaultOptions?.bindLabel;\n @Input() bindValue = this._defaultOptions?.bindValue;\n @Input({ transform: booleanAttribute }) closeOnSelect = true;\n @Input() clearAllText?: string;\n @Input({ transform: booleanAttribute }) clearable = true;\n @Input({ transform: booleanAttribute }) clearOnBackspace = true;\n @Input() compareWith!: CompareWithFn;\n @Input() dropdownPosition: DropdownPosition = 'auto';\n @Input() groupBy!: string | ((value: any) => any);\n @Input() groupValue!: GroupValueFn;\n @Input() bufferAmount = 4;\n @Input({ transform: booleanAttribute }) selectableGroup = false;\n @Input({ transform: booleanAttribute }) selectableGroupAsModel = true;\n @Input({ transform: booleanAttribute }) hideSelected = false;\n @Input({ transform: booleanAttribute }) loading = false;\n @Input() loadingText?: string;\n @Input() labelForId: string | null = null;\n @Input({ transform: booleanAttribute }) markFirst = true;\n @Input() maxSelectedItems!: number;\n @Input({ transform: booleanAttribute }) multiple = false;\n @Input() notFoundText?: string;\n @Input({ transform: booleanAttribute }) searchable = true;\n @Input({ transform: booleanAttribute }) readonly = false;\n @Input() searchFn: SearchFn | null = null;\n @Input({ transform: booleanAttribute }) searchWhileComposing = true;\n @Input({ transform: booleanAttribute }) selectOnTab = false;\n @Input() trackByFn: TrackByFn | null = null;\n @Input() inputAttrs: { [key: string]: string } = {};\n @Input() tabIndex!: number;\n @Input({ transform: booleanAttribute }) openOnEnter = this._defaultOptions?.openOnEnter ?? true;\n @Input() minTermLength = 0;\n @Input({ transform: booleanAttribute }) editableSearchTerm = false;\n @Input() keyDownFn = (_: KeyboardEvent) => true;\n @Input({ transform: booleanAttribute }) virtualScroll =\n this._defaultOptions?.virtualScroll ?? false;\n @Input() typeToSearchText?: string;\n @Input() typeahead!: Subject<string>;\n @Input() isOpen?: boolean;\n @Input({ transform: booleanAttribute }) fixedPlaceholder =\n this._defaultOptions?.fixedPlaceholder ?? false;\n @Input({ transform: booleanAttribute }) deselectOnClick =\n this._defaultOptions?.deselectOnClick ?? false;\n\n @Output('blur') blurEvent = new EventEmitter();\n @Output('focus') focusEvent = new EventEmitter();\n @Output('change') changeEvent = new EventEmitter();\n @Output('open') openEvent = new EventEmitter();\n @Output('close') closeEvent = new EventEmitter();\n @Output('search') searchEvent = new EventEmitter<{ term: string; items: any[] }>();\n @Output('clear') clearEvent = new EventEmitter();\n @Output('add') addEvent = new EventEmitter();\n @Output('remove') removeEvent = new EventEmitter();\n @Output('scroll') scroll = new EventEmitter<{ start: number; end: number }>();\n @Output('scrollToEnd') scrollToEnd = new EventEmitter();\n\n @Input()\n get clearSearchOnAdd() {\n return this._clearSearchOnAdd ?? this.closeOnSelect;\n }\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n }\n private _clearSearchOnAdd = this._defaultOptions?.clearSearchOnAdd;\n\n @Input()\n get items() {\n return this._items;\n }\n set items(value: any[]) {\n this._itemsAreUsed = true;\n this._items = value;\n }\n private _items: any[] = [];\n private _itemsAreUsed = false;\n\n /** Emits whenever the component is destroyed. */\n private readonly _destroy$ = new Subject<void>();\n\n /** Value of the select control. */\n @Input()\n get value(): any {\n return this._value;\n }\n set value(newValue: any) {\n const hasAssigned = this._assignValue(newValue);\n\n if (hasAssigned) {\n this._onChange(newValue);\n }\n }\n private _value = null;\n\n /** Implemented as part of MatFormFieldControl. */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /** Unique id of the element. */\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value || this._uid;\n this.stateChanges.next();\n }\n private _id!: string;\n\n /** Unique id for this select. */\n private _uid = `mtx-select-${nextUniqueId++}`;\n\n /** Placeholder to be shown if value is empty. */\n @Input()\n get placeholder(): string {\n return this._placeholder!;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n private _placeholder!: string;\n\n /** Whether the select is focused. */\n get focused(): boolean {\n return this._focused;\n }\n private _focused = false;\n\n /** Whether the select has a value. */\n get empty(): boolean {\n return this.value == null || (Array.isArray(this.value) && this.value.length === 0);\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n /** Whether the select is disabled. */\n @Input({ transform: booleanAttribute })\n disabled: boolean = false;\n\n /** Whether the component is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;\n }\n set required(value: boolean) {\n this._required = value;\n this.stateChanges.next();\n }\n private _required: boolean | undefined;\n\n /** Object used to control when error messages are shown. */\n @Input()\n get errorStateMatcher() {\n return this._errorStateTracker.matcher;\n }\n set errorStateMatcher(value: ErrorStateMatcher) {\n this._errorStateTracker.matcher = value;\n }\n\n /** Aria label of the select. */\n @Input('aria-label') ariaLabel: string = '';\n\n /** Input that can be used to specify the `aria-labelledby` attribute. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** The aria-describedby attribute on the select for improved a11y. */\n _ariaDescribedby: string | null = null;\n\n /** A name for this control that can be used by `mat-form-field`. */\n controlType = 'mtx-select';\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when select has been touched` */\n _onTouched = () => {};\n\n /** ID for the DOM node containing the select's value. */\n _valueId = `mtx-select-value-${nextUniqueId++}`;\n\n /** Whether or not the overlay panel is open. */\n get panelOpen(): boolean {\n return !!this.ngSelect.isOpen;\n }\n\n /**\n * Keeps track of the previous form control assigned to the select.\n * Used to detect if it has changed.\n */\n private _previousControl: AbstractControl | null | undefined;\n\n /** Tracks the error state of the select. */\n private _errorStateTracker: _ErrorStateTracker;\n\n /** Whether the select is in an error state. */\n get errorState() {\n return this._errorStateTracker.errorState;\n }\n set errorState(value: boolean) {\n this._errorStateTracker.errorState = value;\n }\n\n private _intlChangesSubscription = Subscription.EMPTY;\n\n constructor() {\n const _focusMonitor = this._focusMonitor;\n const defaultErrorStateMatcher = inject(ErrorStateMatcher);\n const parentForm = inject(NgForm, { optional: true });\n const parentFormGroup = inject(FormGroupDirective, { optional: true });\n const ngControl = this.ngControl;\n\n this._intlChangesSubscription = this._intl.changes.subscribe(() => {\n this._changeDetectorRef.detectChanges();\n });\n\n _focusMonitor.monitor(this._elementRef, true).subscribe(origin => {\n if (this._focused && !origin) {\n this._onTouched();\n }\n this._focused = !!origin;\n this.stateChanges.next();\n });\n\n if (this.ngControl) {\n // Note: we provide the value accessor through here, instead of\n // the `providers` to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n this._errorStateTracker = new _ErrorStateTracker(\n defaultErrorStateMatcher,\n ngControl,\n parentFormGroup,\n parentForm,\n this.stateChanges\n );\n\n // Force setter to be called in case id was not specified.\n // eslint-disable-next-line no-self-assign\n this.id = this.id;\n }\n\n ngOnInit() {\n // Fix compareWith warning of undefined value\n // https://github.com/ng-select/ng-select/issues/1537\n if (this.compareWith) {\n this.ngSelect.compareWith = this.compareWith;\n }\n }\n\n ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this.ngSelect.escapeHTML = false;\n this._setItemsFromMtxOptions();\n }\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n const ngControl = this.ngControl;\n // The disabled state might go out of sync if the form group is swapped out. See #17860.\n if (this._previousControl !== ngControl.control) {\n if (\n this._previousControl !== undefined &&\n ngControl.disabled !== null &&\n ngControl.disabled !== this.disabled\n ) {\n this.disabled = ngControl.disabled;\n }\n\n this._previousControl = ngControl.control;\n }\n\n this.updateErrorState();\n }\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._intlChangesSubscription.unsubscribe();\n }\n\n /** Gets the value for the `aria-labelledby` attribute of the inputs. */\n _getAriaLabelledby() {\n if (this.ariaLabel) {\n return null;\n }\n\n const labelId = this._parentFormField?.getLabelId();\n let value = (labelId ? labelId + ' ' : '') + this._valueId;\n\n if (this.ariaLabelledby) {\n value += ' ' + this.ariaLabelledby;\n }\n\n return value;\n }\n\n /** Implemented as part of MatFormFieldControl. */\n setDescribedByIds(ids: string[]) {\n this._ariaDescribedby = ids.length ? ids.join(' ') : null;\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n\n /** Implemented as part of MatFormFieldControl. */\n onContainerClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (/mat-mdc-form-field|mtx-select/g.test(target.parentElement?.classList[0] || '')) {\n this.focus();\n this.open();\n }\n }\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n this._assignValue(value);\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** Refreshes the error state of the select. */\n updateErrorState() {\n this._errorStateTracker.updateErrorState();\n }\n\n /** Assigns a specific value to the select. Returns whether the value has changed. */\n private _assignValue(newValue: any | any[]): boolean {\n // Always re-assign an array, because it might have been mutated.\n if (newValue !== this._value || (this.multiple && Array.isArray(newValue))) {\n this._value = newValue;\n this._changeDetectorRef.markForCheck();\n return true;\n }\n return false;\n }\n\n /** NgSelect's `_setItemsFromNgOptions` */\n private _setItemsFromMtxOptions() {\n const mapMtxOptions = (options: QueryList<MtxOption>) => {\n this.items = options.map(option => ({\n $ngOptionValue: option.value,\n $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n disabled: option.disabled,\n }));\n this.ngSelect.itemsList.setItems(this.items);\n if (this.ngSelect.hasValue) {\n this.ngSelect.itemsList.mapSelectedItems();\n }\n this.ngSelect.detectChanges();\n };\n\n const handleOptionChange = () => {\n const changedOrDestroyed = merge(this.mtxOptions.changes, this._destroy$);\n merge(...this.mtxOptions.map(option => option.stateChange$))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(option => {\n const item = this.ngSelect.itemsList.findItem(option.value);\n item.disabled = option.disabled;\n item.label = option.label || item.label;\n this.ngSelect.detectChanges();\n });\n };\n\n this.mtxOptions.changes\n .pipe(startWith(this.mtxOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n mapMtxOptions(options);\n handleOptionChange();\n });\n }\n\n open() {\n this.ngSelect.open();\n }\n\n close() {\n this.ngSelect.close();\n }\n\n focus() {\n this.ngSelect.focus();\n }\n\n blur() {\n this.ngSelect.blur();\n }\n\n openChange() {\n this.openEvent.emit();\n\n // TODO: The ng-select has no `panelClass` prop, so we can add the theme color by the following way.\n setTimeout(() => {\n const dropdownEl = this._document.getElementById(this.ngSelect.dropdownId);\n dropdownEl?.classList.add('mat-' + this._parentFormField?.color);\n });\n }\n}\n","<ng-select #ngSelect\n [class.ng-select-invalid]=\"errorState\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder || _intl.placeholder!\"\n [items]=\"items\"\n [addTag]=\"addTag\"\n [addTagText]=\"addTagText || _intl.addTagText\"\n [appendTo]=\"appendTo\"\n [appearance]=\"appearance\"\n [bindLabel]=\"bindLabel!\"\n [bindValue]=\"bindValue!\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearAllText]=\"clearAllText || _intl.clearAllText\"\n [clearable]=\"clearable\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [hideSelected]=\"hideSelected\"\n [isOpen]=\"isOpen\"\n [inputAttrs]=\"inputAttrs\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText || _intl.loadingText\"\n [labelForId]=\"labelForId\"\n [markFirst]=\"markFirst\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [multiple]=\"multiple\"\n [notFoundText]=\"notFoundText || _intl.notFoundText\"\n [readonly]=\"readonly || disabled\"\n [typeahead]=\"typeahead\"\n [typeToSearchText]=\"typeToSearchText || _intl.typeToSearchText\"\n [trackByFn]=\"trackByFn\"\n [searchable]=\"searchable\"\n [searchFn]=\"searchFn\"\n [searchWhileComposing]=\"searchWhileComposing\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [selectOnTab]=\"selectOnTab\"\n [tabIndex]=\"tabIndex\"\n [openOnEnter]=\"openOnEnter\"\n [minTermLength]=\"minTermLength\"\n [editableSearchTerm]=\"editableSearchTerm\"\n [keyDownFn]=\"keyDownFn\"\n [virtualScroll]=\"virtualScroll\"\n [fixedPlaceholder]=\"fixedPlaceholder\"\n [deselectOnClick]=\"deselectOnClick\"\n (blur)=\"blurEvent.emit($event)\"\n (focus)=\"focusEvent.emit($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openChange()\"\n (close)=\"closeEvent.emit()\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scroll.emit($event)\"\n (scrollToEnd)=\"scrollToEnd.emit()\">\n\n @if (optionTemplate) {\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (optgroupTemplate) {\n <ng-template ng-optgroup-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optgroupTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (labelTemplate) {\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" let-label=\"label\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, clear: clear, label: label }\">\n </ng-template>\n </ng-template>\n }\n\n @if (multiLabelTemplate) {\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template [ngTemplateOutlet]=\"multiLabelTemplate\"\n [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-template>\n </ng-template>\n }\n\n @if (headerTemplate) {\n <ng-template ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (footerTemplate) {\n <ng-template ng-footer-tmp>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (notFoundTemplate) {\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"notFoundTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (typeToSearchTemplate) {\n <ng-template ng-typetosearch-tmp>\n <ng-template [ngTemplateOutlet]=\"typeToSearchTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (loadingTextTemplate) {\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"loadingTextTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (tagTemplate) {\n <ng-template ng-tag-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"tagTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n }\n\n @if (loadingSpinnerTemplate) {\n <ng-template ng-loadingspinner-tmp>\n <ng-template [ngTemplateOutlet]=\"loadingSpinnerTemplate\"></ng-template>\n </ng-template>\n }\n\n @if (placeholderTemplate) {\n <ng-template ng-placeholder-tmp>\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate\"></ng-template>\n </ng-template>\n }\n\n</ng-select>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { MtxSelect } from './select';\nimport {\n MtxSelectFooterTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectLabelTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectPlaceholderTemplate,\n MtxSelectTagTemplate,\n MtxSelectTypeToSearchTemplate,\n} from './templates';\nimport { MtxOption } from './option';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n MtxSelect,\n MtxOption,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectLabelTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectFooterTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectTypeToSearchTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectTagTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectPlaceholderTemplate,\n ],\n exports: [\n MtxSelect,\n MtxOption,\n MtxSelectOptgroupTemplate,\n MtxSelectOptionTemplate,\n MtxSelectLabelTemplate,\n MtxSelectMultiLabelTemplate,\n MtxSelectHeaderTemplate,\n MtxSelectFooterTemplate,\n MtxSelectNotFoundTemplate,\n MtxSelectTypeToSearchTemplate,\n MtxSelectLoadingTextTemplate,\n MtxSelectTagTemplate,\n MtxSelectLoadingSpinnerTemplate,\n MtxSelectPlaceholderTemplate,\n ],\n})\nexport class MtxSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, EventEmitter, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Input, Output, ViewChildren, Directive, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, NgZone, ElementRef, ChangeDetectorRef, Renderer2, EventEmitter, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ViewChildren, Directive, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { Observable, Subject } from 'rxjs';
5
5
  import { debounceTime } from 'rxjs/operators';
@@ -344,12 +344,14 @@ class MtxSplit {
344
344
  get transitionEnd() {
345
345
  return new Observable(subscriber => (this.transitionEndSubscriber = subscriber)).pipe(debounceTime(20));
346
346
  }
347
- constructor(ngZone, elRef, cdRef, renderer, _defaultOptions) {
348
- this.ngZone = ngZone;
349
- this.elRef = elRef;
350
- this.cdRef = cdRef;
351
- this.renderer = renderer;
352
- this._defaultOptions = _defaultOptions;
347
+ constructor() {
348
+ this.ngZone = inject(NgZone);
349
+ this.elRef = inject(ElementRef);
350
+ this.cdRef = inject(ChangeDetectorRef);
351
+ this.renderer = inject(Renderer2);
352
+ this._defaultOptions = inject(MTX_SPLIT_DEFAULT_OPTIONS, {
353
+ optional: true,
354
+ });
353
355
  this._direction = 'horizontal';
354
356
  this._unit = 'percent';
355
357
  this._gutterSize = 4;
@@ -378,15 +380,18 @@ class MtxSplit {
378
380
  this.displayedAreas = [];
379
381
  this.hidedAreas = [];
380
382
  this._clickTimeout = null;
381
- this.color = _defaultOptions?.color ?? 'primary';
382
- this.direction = _defaultOptions?.direction ?? 'horizontal';
383
- this.dir = _defaultOptions?.dir ?? 'ltr';
384
- this.unit = _defaultOptions?.unit ?? 'percent';
385
- this.gutterDblClickDuration = _defaultOptions?.gutterDblClickDuration ?? 0;
386
- this.gutterSize = _defaultOptions?.gutterSize ?? 4;
387
- this.gutterStep = _defaultOptions?.gutterStep ?? 1;
388
- this.restrictMove = _defaultOptions?.restrictMove ?? false;
389
- this.useTransition = _defaultOptions?.useTransition ?? false;
383
+ const _defaultOptions = this._defaultOptions;
384
+ if (_defaultOptions) {
385
+ this.color = _defaultOptions.color ?? 'primary';
386
+ this.direction = _defaultOptions.direction ?? 'horizontal';
387
+ this.dir = _defaultOptions.dir ?? 'ltr';
388
+ this.unit = _defaultOptions.unit ?? 'percent';
389
+ this.gutterDblClickDuration = _defaultOptions.gutterDblClickDuration ?? 0;
390
+ this.gutterSize = _defaultOptions.gutterSize ?? 4;
391
+ this.gutterStep = _defaultOptions.gutterStep ?? 1;
392
+ this.restrictMove = _defaultOptions.restrictMove ?? false;
393
+ this.useTransition = _defaultOptions.useTransition ?? false;
394
+ }
390
395
  }
391
396
  ngAfterViewInit() {
392
397
  this.ngZone.runOutsideAngular(() => {
@@ -801,20 +806,15 @@ class MtxSplit {
801
806
  ngOnDestroy() {
802
807
  this.stopDragging();
803
808
  }
804
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxSplit, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: MTX_SPLIT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
805
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: MtxSplit, isStandalone: true, selector: "mtx-split", inputs: { color: "color", direction: "direction", unit: "unit", gutterSize: "gutterSize", gutterStep: "gutterStep", restrictMove: ["restrictMove", "restrictMove", booleanAttribute], useTransition: ["useTransition", "useTransition", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], dir: "dir", gutterDblClickDuration: "gutterDblClickDuration" }, outputs: { dragStart: "dragStart", dragEnd: "dragEnd", gutterClick: "gutterClick", gutterDblClick: "gutterDblClick", transitionEnd: "transitionEnd" }, host: { classAttribute: "mtx-split" }, viewQueries: [{ propertyName: "gutterEls", predicate: ["gutterEls"], descendants: true }], exportAs: ["mtxSplit"], ngImport: i0, template: "<ng-content></ng-content>\r\n@for (area of displayedAreas; track area; let index = $index; let last = $last) {\r\n @if (!last) {\r\n <div #gutterEls class=\"mtx-split-gutter\" [class]=\"color ? 'mat-' + color : ''\"\r\n [style.flex-basis.px]=\"gutterSize\"\r\n [style.order]=\"index * 2 + 1\"\r\n (mousedown)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (touchstart)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (mouseup)=\"clickGutter($event, index + 1)\"\r\n (touchend)=\"clickGutter($event, index + 1)\">\r\n <div class=\"mtx-split-gutter-handle\"></div>\r\n </div>\r\n }\r\n}\r\n", styles: [".mtx-split{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}.mtx-split>.mtx-split-gutter{position:relative;display:flex;flex-grow:0;flex-shrink:0;align-items:center;justify-content:center;background-color:var(--mtx-split-gutter-background-color, var(--mat-app-outline-variant))}.mtx-split>.mtx-split-gutter:hover{background-color:var(--mtx-split-gutter-hover-state-background-color, var(--mat-app-primary))}.mtx-split>.mtx-split-gutter>.mtx-split-gutter-handle{position:absolute;opacity:0}.mtx-split>.mtx-split-pane{flex-grow:0;flex-shrink:0;overflow:hidden auto}.mtx-split>.mtx-split-pane.mtx-split-pane-hidden{flex:0 1 0!important;overflow:hidden hidden}.mtx-split.mtx-split-horizontal{flex-direction:row}.mtx-split.mtx-split-horizontal>.mtx-split-gutter{flex-direction:row;height:100%;cursor:col-resize}.mtx-split.mtx-split-horizontal>.mtx-split-gutter>.mtx-split-gutter-handle{width:8px;height:100%;left:-2px;right:2px}.mtx-split.mtx-split-horizontal>.mtx-split-pane{height:100%}.mtx-split.mtx-split-vertical{flex-direction:column}.mtx-split.mtx-split-vertical>.mtx-split-gutter{flex-direction:column;width:100%;cursor:row-resize}.mtx-split.mtx-split-vertical>.mtx-split-gutter>.mtx-split-gutter-handle{width:100%;height:8px;top:-2px;bottom:2px}.mtx-split.mtx-split-vertical>.mtx-split-pane{width:100%}.mtx-split.mtx-split-vertical>.mtx-split-pane.mtx-split-pane-hidden{max-width:0}.mtx-split.mtx-split-disabled>.mtx-split-gutter{cursor:default}.mtx-split.mtx-split-disabled>.mtx-split-gutter .mtx-split-gutter-handle{background-image:none}.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-gutter,.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-pane{transition:flex-basis .3s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
809
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: MtxSplit, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
810
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: MtxSplit, isStandalone: true, selector: "mtx-split", inputs: { color: "color", direction: "direction", unit: "unit", gutterSize: "gutterSize", gutterStep: "gutterStep", restrictMove: ["restrictMove", "restrictMove", booleanAttribute], useTransition: ["useTransition", "useTransition", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], dir: "dir", gutterDblClickDuration: "gutterDblClickDuration" }, outputs: { dragStart: "dragStart", dragEnd: "dragEnd", gutterClick: "gutterClick", gutterDblClick: "gutterDblClick", transitionEnd: "transitionEnd" }, host: { classAttribute: "mtx-split" }, viewQueries: [{ propertyName: "gutterEls", predicate: ["gutterEls"], descendants: true }], exportAs: ["mtxSplit"], ngImport: i0, template: "<ng-content></ng-content>\r\n@for (area of displayedAreas; track area; let index = $index; let last = $last) {\r\n @if (!last) {\r\n <div\r\n #gutterEls\r\n class=\"mtx-split-gutter\"\r\n [class]=\"color ? 'mat-' + color : ''\"\r\n [style.flex-basis.px]=\"gutterSize\"\r\n [style.order]=\"index * 2 + 1\"\r\n (mousedown)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (touchstart)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (mouseup)=\"clickGutter($event, index + 1)\"\r\n (touchend)=\"clickGutter($event, index + 1)\"\r\n >\r\n <div class=\"mtx-split-gutter-handle\"></div>\r\n </div>\r\n }\r\n}\r\n", styles: [".mtx-split{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}.mtx-split>.mtx-split-gutter{position:relative;display:flex;flex-grow:0;flex-shrink:0;align-items:center;justify-content:center;background-color:var(--mtx-split-gutter-background-color, var(--mat-sys-outline-variant))}.mtx-split>.mtx-split-gutter:hover{background-color:var(--mtx-split-gutter-hover-state-background-color, var(--mat-sys-primary))}.mtx-split>.mtx-split-gutter>.mtx-split-gutter-handle{position:absolute;opacity:0}.mtx-split>.mtx-split-pane{flex-grow:0;flex-shrink:0;overflow:hidden auto}.mtx-split>.mtx-split-pane.mtx-split-pane-hidden{flex:0 1 0!important;overflow:hidden}.mtx-split.mtx-split-horizontal{flex-direction:row}.mtx-split.mtx-split-horizontal>.mtx-split-gutter{flex-direction:row;height:100%;cursor:col-resize}.mtx-split.mtx-split-horizontal>.mtx-split-gutter>.mtx-split-gutter-handle{width:8px;height:100%;left:-2px;right:2px}.mtx-split.mtx-split-horizontal>.mtx-split-pane{height:100%}.mtx-split.mtx-split-vertical{flex-direction:column}.mtx-split.mtx-split-vertical>.mtx-split-gutter{flex-direction:column;width:100%;cursor:row-resize}.mtx-split.mtx-split-vertical>.mtx-split-gutter>.mtx-split-gutter-handle{width:100%;height:8px;top:-2px;bottom:2px}.mtx-split.mtx-split-vertical>.mtx-split-pane{width:100%}.mtx-split.mtx-split-vertical>.mtx-split-pane.mtx-split-pane-hidden{max-width:0}.mtx-split.mtx-split-disabled>.mtx-split-gutter{cursor:default}.mtx-split.mtx-split-disabled>.mtx-split-gutter .mtx-split-gutter-handle{background-image:none}.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-gutter,.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-pane{transition:flex-basis .3s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
806
811
  }
807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxSplit, decorators: [{
812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: MtxSplit, decorators: [{
808
813
  type: Component,
809
814
  args: [{ selector: 'mtx-split', exportAs: 'mtxSplit', host: {
810
815
  class: 'mtx-split',
811
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-content></ng-content>\r\n@for (area of displayedAreas; track area; let index = $index; let last = $last) {\r\n @if (!last) {\r\n <div #gutterEls class=\"mtx-split-gutter\" [class]=\"color ? 'mat-' + color : ''\"\r\n [style.flex-basis.px]=\"gutterSize\"\r\n [style.order]=\"index * 2 + 1\"\r\n (mousedown)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (touchstart)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (mouseup)=\"clickGutter($event, index + 1)\"\r\n (touchend)=\"clickGutter($event, index + 1)\">\r\n <div class=\"mtx-split-gutter-handle\"></div>\r\n </div>\r\n }\r\n}\r\n", styles: [".mtx-split{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}.mtx-split>.mtx-split-gutter{position:relative;display:flex;flex-grow:0;flex-shrink:0;align-items:center;justify-content:center;background-color:var(--mtx-split-gutter-background-color, var(--mat-app-outline-variant))}.mtx-split>.mtx-split-gutter:hover{background-color:var(--mtx-split-gutter-hover-state-background-color, var(--mat-app-primary))}.mtx-split>.mtx-split-gutter>.mtx-split-gutter-handle{position:absolute;opacity:0}.mtx-split>.mtx-split-pane{flex-grow:0;flex-shrink:0;overflow:hidden auto}.mtx-split>.mtx-split-pane.mtx-split-pane-hidden{flex:0 1 0!important;overflow:hidden hidden}.mtx-split.mtx-split-horizontal{flex-direction:row}.mtx-split.mtx-split-horizontal>.mtx-split-gutter{flex-direction:row;height:100%;cursor:col-resize}.mtx-split.mtx-split-horizontal>.mtx-split-gutter>.mtx-split-gutter-handle{width:8px;height:100%;left:-2px;right:2px}.mtx-split.mtx-split-horizontal>.mtx-split-pane{height:100%}.mtx-split.mtx-split-vertical{flex-direction:column}.mtx-split.mtx-split-vertical>.mtx-split-gutter{flex-direction:column;width:100%;cursor:row-resize}.mtx-split.mtx-split-vertical>.mtx-split-gutter>.mtx-split-gutter-handle{width:100%;height:8px;top:-2px;bottom:2px}.mtx-split.mtx-split-vertical>.mtx-split-pane{width:100%}.mtx-split.mtx-split-vertical>.mtx-split-pane.mtx-split-pane-hidden{max-width:0}.mtx-split.mtx-split-disabled>.mtx-split-gutter{cursor:default}.mtx-split.mtx-split-disabled>.mtx-split-gutter .mtx-split-gutter-handle{background-image:none}.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-gutter,.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-pane{transition:flex-basis .3s}\n"] }]
812
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
813
- type: Optional
814
- }, {
815
- type: Inject,
816
- args: [MTX_SPLIT_DEFAULT_OPTIONS]
817
- }] }], propDecorators: { color: [{
816
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n@for (area of displayedAreas; track area; let index = $index; let last = $last) {\r\n @if (!last) {\r\n <div\r\n #gutterEls\r\n class=\"mtx-split-gutter\"\r\n [class]=\"color ? 'mat-' + color : ''\"\r\n [style.flex-basis.px]=\"gutterSize\"\r\n [style.order]=\"index * 2 + 1\"\r\n (mousedown)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (touchstart)=\"startDragging($event, index * 2 + 1, index + 1)\"\r\n (mouseup)=\"clickGutter($event, index + 1)\"\r\n (touchend)=\"clickGutter($event, index + 1)\"\r\n >\r\n <div class=\"mtx-split-gutter-handle\"></div>\r\n </div>\r\n }\r\n}\r\n", styles: [".mtx-split{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}.mtx-split>.mtx-split-gutter{position:relative;display:flex;flex-grow:0;flex-shrink:0;align-items:center;justify-content:center;background-color:var(--mtx-split-gutter-background-color, var(--mat-sys-outline-variant))}.mtx-split>.mtx-split-gutter:hover{background-color:var(--mtx-split-gutter-hover-state-background-color, var(--mat-sys-primary))}.mtx-split>.mtx-split-gutter>.mtx-split-gutter-handle{position:absolute;opacity:0}.mtx-split>.mtx-split-pane{flex-grow:0;flex-shrink:0;overflow:hidden auto}.mtx-split>.mtx-split-pane.mtx-split-pane-hidden{flex:0 1 0!important;overflow:hidden}.mtx-split.mtx-split-horizontal{flex-direction:row}.mtx-split.mtx-split-horizontal>.mtx-split-gutter{flex-direction:row;height:100%;cursor:col-resize}.mtx-split.mtx-split-horizontal>.mtx-split-gutter>.mtx-split-gutter-handle{width:8px;height:100%;left:-2px;right:2px}.mtx-split.mtx-split-horizontal>.mtx-split-pane{height:100%}.mtx-split.mtx-split-vertical{flex-direction:column}.mtx-split.mtx-split-vertical>.mtx-split-gutter{flex-direction:column;width:100%;cursor:row-resize}.mtx-split.mtx-split-vertical>.mtx-split-gutter>.mtx-split-gutter-handle{width:100%;height:8px;top:-2px;bottom:2px}.mtx-split.mtx-split-vertical>.mtx-split-pane{width:100%}.mtx-split.mtx-split-vertical>.mtx-split-pane.mtx-split-pane-hidden{max-width:0}.mtx-split.mtx-split-disabled>.mtx-split-gutter{cursor:default}.mtx-split.mtx-split-disabled>.mtx-split-gutter .mtx-split-gutter-handle{background-image:none}.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-gutter,.mtx-split.mtx-split-transition.mtx-split-init:not(.mtx-dragging)>.mtx-split-pane{transition:flex-basis .3s}\n"] }]
817
+ }], ctorParameters: () => [], propDecorators: { color: [{
818
818
  type: Input
819
819
  }], direction: [{
820
820
  type: Input
@@ -916,11 +916,11 @@ class MtxSplitPane {
916
916
  this.renderer.addClass(this.elRef.nativeElement, 'mtx-split-pane-hidden');
917
917
  }
918
918
  }
919
- constructor(ngZone, elRef, renderer, split) {
920
- this.ngZone = ngZone;
921
- this.elRef = elRef;
922
- this.renderer = renderer;
923
- this.split = split;
919
+ constructor() {
920
+ this.ngZone = inject(NgZone);
921
+ this.renderer = inject(Renderer2);
922
+ this.split = inject(MtxSplit);
923
+ this.elRef = inject(ElementRef);
924
924
  this._order = null;
925
925
  this._size = null;
926
926
  this._minSize = null;
@@ -983,17 +983,16 @@ class MtxSplitPane {
983
983
  }
984
984
  this.split.removeArea(this);
985
985
  }
986
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxSplitPane, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MtxSplit }], target: i0.ɵɵFactoryTarget.Directive }); }
987
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: MtxSplitPane, isStandalone: true, selector: "mtx-split-pane, [mtx-split-pane]", inputs: { order: "order", size: "size", minSize: "minSize", maxSize: "maxSize", lockSize: ["lockSize", "lockSize", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, exportAs: ["mtxSplitPane"], ngImport: i0 }); }
986
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: MtxSplitPane, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
987
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.4", type: MtxSplitPane, isStandalone: true, selector: "mtx-split-pane, [mtx-split-pane]", inputs: { order: "order", size: "size", minSize: "minSize", maxSize: "maxSize", lockSize: ["lockSize", "lockSize", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, exportAs: ["mtxSplitPane"], ngImport: i0 }); }
988
988
  }
989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxSplitPane, decorators: [{
989
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: MtxSplitPane, decorators: [{
990
990
  type: Directive,
991
991
  args: [{
992
992
  selector: 'mtx-split-pane, [mtx-split-pane]',
993
993
  exportAs: 'mtxSplitPane',
994
- standalone: true,
995
994
  }]
996
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: MtxSplit }], propDecorators: { order: [{
995
+ }], ctorParameters: () => [], propDecorators: { order: [{
997
996
  type: Input
998
997
  }], size: [{
999
998
  type: Input
@@ -1010,11 +1009,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1010
1009
  }] } });
1011
1010
 
1012
1011
  class MtxSplitModule {
1013
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxSplitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1014
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: MtxSplitModule, imports: [CommonModule, MtxSplit, MtxSplitPane], exports: [MtxSplit, MtxSplitPane] }); }
1015
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxSplitModule, imports: [CommonModule] }); }
1012
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: MtxSplitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1013
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: MtxSplitModule, imports: [CommonModule, MtxSplit, MtxSplitPane], exports: [MtxSplit, MtxSplitPane] }); }
1014
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: MtxSplitModule, imports: [CommonModule] }); }
1016
1015
  }
1017
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxSplitModule, decorators: [{
1016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: MtxSplitModule, decorators: [{
1018
1017
  type: NgModule,
1019
1018
  args: [{
1020
1019
  imports: [CommonModule, MtxSplit, MtxSplitPane],